fea*_*l87 3 c# math physics collision-detection collision
我想知道是否有一些教程或指南来理解和实现3D环境中的三角形 - 三角形交叉测试.(我不需要知道交叉点发生的确切位置,但只知道交叉点已经发生)
我打算按照理论上的pdf来实现它,但我很沮丧
本指南的第5点.我真的不知道要问的是什么(全部是5,6和7).XD
因为我对数学知之甚少(嗯,我知道大学的几门考试给了我(我是一名原始程序员XD)),请尽量让我尽可能简单.:D(我试图在谷歌搜索,但大多数链接指向大约4-5页的公式,我真的不知道,我不明白.)
谢谢您的帮助
Eri*_*ert 12
你说:
我想知道是否有一些教程或指南来理解和实现3D环境中的三角形 - 三角形交叉测试.
然后你说:
大多数链接指向大约4-5页的公式,我真的不在乎
我注意到这两个陈述完全相互矛盾.那是哪个呢?您想了解三角形 - 三角形交叉点的工作原理,还是只想要一个有效但无法理解的实现?
这并不像所有那些网页都充满了不必要的数学.所有数学都是理解交集算法如何工作所必需的.从头开始,了解所有工作原理.
一旦你知道单词的含义,步骤5,6和7就很容易理解.交叉线是两个平面的交点所形成的线.每个三角形都在一个平面上.有三种情况:
假设我们处于第三种情况.计算第一个三角形中包含的交叉线的线段.计算第二个三角形中的交叉线的线段.现在的问题是"这些细分是否重叠?"
您可以通过将线段投影到方便的轴上,并查看该轴上的线段是否重叠来解决这个问题.基本上,它的工作方式如下:想象一下你在线段上照射一个光线,使它们的阴影落在一个轴上.如果轴上的阴影相交,则线段必须相交.如果轴上的阴影之间存在间隙,则显然线段之间必须存在间隙,因此三角形不相交.
如果你想了解它是如何工作的,那么就无法理解你需要了解所有这些东西 - 所有代数都能解决平面如何相交以及项目如何在轴上工作.这一切都是必要的.所有这些东西都是基本构建块,其中将构建更复杂的转换,投影等,因此如果您想要更进一步,请彻底了解基础知识.