最近在研究Swept Volume的碰撞检测。
来源:互联网 发布:java开发软件要多少钱 编辑:程序博客网 时间:2024/05/18 00:26
在大多数情况下Swept Volume能获得相当精确的碰撞结果,但是对于高速旋转的物体却没有什么太好的办法。即使如此,Swept Volume仍然是一个非常优秀的碰撞检测模型,尤其是应用于柔体和柔体,或者柔体和刚体之间的碰撞。
那么什么是Swept Volume呢?
在空间中已知道时间t的mesh的位置,和时间t0 = t + dt的位置,当dt比较小的时候,我们可以获得mesh在t0时的位置,由于mesh本身没有变化,所以可以把两个时间段的mesh没个顶点对齐的连在一起,即获得了一个有体积的新mesh,这个新mesh就是swept volume。也就是说,在保存mesh数据的时候,需要储存的不仅仅只是mesh的当前顶点数据,还有上一帧的顶点数据,联系起来组成一个swept volume,那么这个时候的碰撞检测就是基于每个mesh的swept volume来进行判断。
为什么要用swept volume呢?
一般情况下,当模拟3D物体运动的时候,很容易出现一种情况,比如说有一张纸和一个体积很小的物体,那么就非常有可能这一帧这个物体在纸的一边,下一帧就运动到纸的另一边了,当然,在现实生活中这是不可能的,但是在普遍利用Euler Method对物体进行模拟的今天,这种情况太常见了。那么如何选择高效的方法来解决这个问题就显得尤其重要了,swept volume就是其中的解。
数学上定义的swept volume。
当然,swept volume的应用远不止于此,大多数实际应用中swept volume都是一个纯数学的模型,比如之前我所考虑过的椭球体碰撞也是属于swept volume的碰撞,也就是给定空间中的一个点,和三个向量,然后由他们分别绕三条半径的轴旋转一周,得到一个椭球体。如果是球体,则只需要空间中的一个点和一条半径就可以确定一个球。这些实际上也是swept volume的应用。
在碰撞检测中,基于各种swept volume的碰撞检测是一个独立的话题,快速的对其求解将带来3D游戏领域物理模拟方面飞速的进步和发展。
PS,最近在对布料做swept volume的碰撞模型检测,碰上不少麻烦事:)一点点慢慢解决吧。
- 最近在研究Swept Volume的碰撞检测。
- 碰撞检测中的K_DOPS算法的研究
- [郑群 原创]我研究的地形碰撞检测方法
- [郑群 原创]我研究的地形碰撞检测方法
- 成功研究出多边形的碰撞检测算法
- 最近研究目标检测有感
- CharacterControllerr的碰撞检测
- 理论上的碰撞检测
- QGraphicsScene的碰撞检测
- 最近在研究java.util的源码
- Android研究之游戏开发碰撞检测
- 最近在研究osworkflow
- 最近在研究AOP
- 最近在研究BerkeleyDB
- 最近在研究Mythtv
- 最近在研究EOS
- 最近在研究.NET
- 最近在研究车险
- 关于灵感
- 在B/S开发中经常用到的JavaScript技术
- WEB页面中如何自动成比例缩放图片,鼠标滚轮缩放
- js取得剪贴板的文字(text格式)
- WINDOWS系统服务详解
- 最近在研究Swept Volume的碰撞检测。
- IIS5.0(ASP)+sybase网站开发中遇到的BUG!!!
- 用delphi制作dll的方法
- 三个月搞定系花 匿名(很感人的故事)
- 使用继承或委托来定义immutable classes
- AAL:ATM 适配层(AAL0、AAL2、AAL3/4、AAL5)--网络大典
- 大家都不可以不看的一些网站
- AAL0 - AAL5:ATM 适配层类型0-5--网络大典
- 我的c学习心得(零碎收拢) 序: