c++ - 具有一定运动的 3D 三角形碰撞检测

标签 c++ algorithm geometry

我正在寻找一种非常简单的算法来检测两个三维三角形的碰撞,它们可以不断移动(如果也可以加速则更好)。我找到了解决这个问题的方法,但是这很难解决两个三维三角形的移动问题。

最佳答案

首先澄清一些术语:

Intersection detection will tell you if two things are intersecting.

Collision detection will tell if two things will collide.

这里有区别。如果一个对象 [多边形 A] 快速移动,并且您正在使用相交测试,它可能不相交,移动经过多边形 B,然后在另一侧,同样不相交。

另一方面,碰撞检测会说“多边形 A 将与多边形 B 发生碰撞”。两者之间存在细微差别,因此说“碰撞......有一些运动”有点多余。

进行碰撞检测最直观的方法是在时间步长的过程中扫除多边形,并与生成的多边形进行相交测试。

无论如何:

This page包含很多关于确定两个形状是否相交的信息。

This page专门介绍射线、平面和三角形,并包含源代码。

关于c++ - 具有一定运动的 3D 三角形碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116733/

相关文章:

opencv - opencv正方形检测辐射地板概率

c++ - 生成 boost::hana::set 的常量表达式问题

c++ - 将 constexpr 字节数组与缓冲区的一部分(指向数据的指针)进行比较

algorithm - 如何查找 union find 操作的 id

sql - 顺序模式 - 数据挖掘

java - 我需要画一个中间有文字的圆圈,请帮忙

c++ - FAT32 实际上不符合 Microsoft 的文档

c++ - 尝试调用虚拟析构函数时出现段错误

algorithm - Dijkstra 和 Prim 算法

ios - 如何将触摸手势添加到 map 但忽略引脚和注释上的触摸?