天行健 君子当自强而不息

几何检测

下载源程序

 

几何检测(6)      摘要: 前面都提到了cAABB3类,它代表的是3D中的轴对齐矩形边界框(AABB),这里给出类的完整定义和实现。  

 
几何检测(5)      摘要: 检测两个静止AABB的相交性是很简单的,只需要在每一维上单独检查它们的重合程度即可。如果在所有维上都没有重合,那么这两个AABB就不会相交。intersectAABBs()就是用这项技术来实现的。

AABB间的动态测试稍微复杂一些。考虑一个由极值点smin和smax定义的静止AABB和一个由mmin和mmax定义的运动AABB。运动AABB的运动由向量d给出,t从0变换到1。 
 
几何检测(4)      摘要: 球和平面的静态检测相对容易一些,可以用公式12.14来计算球心到平面的距离。如果距离小于球半径,那么它们相交。实际上还能作一种更灵活的检测,这种检测把相交分为球完全在平面正面,完全在背面,跨平面等三种情况。仔细分析程序清单13.2: 
 
几何检测(3)      摘要: 考虑3D中由极值点pmin和pmax定义的AABB和以标准方式定义的平面:p . n = d,其中n为单位向量,平面与AABB必须处于相同的坐标系中。

一种简单的静态测试方法是,计算矩形边界框顶点和n的点积,通过比较点积和d,来检测边界框的顶点是否完全在平面的一边,或是在另外一边。如果所有点积都大于d,那么整个边界框就在平面的正面所指的一侧;如果所有的点积都小于d,那么整个边界框就在平面的反面所指的一侧。  
 
几何检测(2)      摘要: 相交性测试的目的是检测两个几何图元是否相交,在某些情况下还要求出相交部分,这些基本测试构成了碰撞检测系统的基础。碰撞检测用来防止物体互相穿越,或者使物体看起来好像互相被弹开。

我们将讨论两种不同类型的相交性测试:

(1)静态测试检测两个静止图元是否相交。它是一种布尔型测试----也就是说,测试结果只有真(相交时)或假(不相交时)。如果两个图元相交,则可以获取更多的信息。但一般来说,这种测试的目的只是返回一个布尔值。  
 
几何检测(1)      摘要: 考虑2D中的直线L,L由所有满足p . n = d的点p组成。

其中n是单位向量,我们的目标是对任意点q,找出直线L上距q距离最短的点q',它是q投影到L上的结果。让我们画一条经过q平行于L的辅助线 M,如图13.1所示。设nM和dM分别为直线方程的法向量和d值。因为L和M平行,所以它们的法向量相等:nM=n。又因为q在M上,所以dM为 q.n。  

posted on 2008-02-28 11:51 lovedday 阅读(1451) 评论(1)  编辑 收藏 引用 所属分类: ■ 3D Math Basis

评论

# re: 几何检测 2008-09-04 22:21 昂扬

请问楼主 几何检测这门技术工作好不好哦!!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论