我想知道是否有一些教程或指南来理解和在 3D 环境中实现三角形-三角形相交测试。 (我不需要知道交叉点发生在哪里,只需要知道发生了交叉点)
我本来打算按照理论 pdf 来实现它,但我很困惑
- 计算三角形 2 的平面方程。
- 如果三角形 1 的所有点都在同一边,则拒绝为平凡。
- 计算三角形 1 的平面方程。
- 如果三角形 2 的所有点都在同一边,则拒绝为平凡。
- 计算交线并投影到最大轴上。
- 计算每个三角形的间隔。
- 使间隔相交。
本指南的第 5 点。我真的不知道在问什么(都是5,6和7)。 XD
由于我在数学方面没有很高的知识(嗯,我知道大学的几次考试给我带来的结果(我是一个初级程序员XD)),请尝试对我尽可能简单。 :D (我尝试在谷歌上搜索,但大多数链接都指向一些充满公式的 4-5 页,我真的不想知道,也不明白。)
谢谢您的帮助
你说:
我想知道那里是否有
一些教程或指南来理解
并实现一个三角三角
3D 环境中的相交测试。
然后你说:
大多数链接指向一些 4-5
充满公式的页面我真的不知道
关心知道
我注意到这两种说法完全矛盾。那么是哪一个呢?您是否想了解三角形与三角形相交的工作原理,或者您只是想要一个可以工作但您不理解它的实现?
并不是所有这些网页都充满了不必要数学。所有的数学都是必要的了解交集算法的工作原理。从头开始,了解其全部工作原理。
一旦您知道这些词的含义,步骤 5、6 和 7 就很容易理解。相交线是两个平面相交所形成的线。每个三角形都位于一个平面上。有以下三种情况:
- 平面平行且不相交。三角形显然不相交。
- 这些平面是同一平面。三角形可能相交,也可能不相交。
- 这些平面是在一条线上相交的两个不同平面。如果三角形相交,它们显然必须在那条线上相交。
假设我们处于第三种情况。计算第一个三角形中包含的相交线段。计算第二个三角形中的相交线段。现在的问题是“这些部分是否重叠?”
您可以通过将线段投影到方便的轴上并查看该轴上的线段是否重叠来解决此问题。基本上,它的工作原理是这样的:想象一下你正在将光线照射到线段上,使得它们的阴影落在轴上。如果轴上的阴影相交,则线段必须相交。如果轴上的阴影之间存在间隙,那么显然线段之间必然存在间隙,因此三角形不相交。
如果您想了解这是如何工作的,那么您将需要了解这一事实all这些东西——所有计算平面如何相交以及如何投影到轴上的代数。这都是必要的。所有这些东西都是基本构建块,将构建更复杂的转换、投影等,因此如果您想走得更远,请彻底了解基础知识。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)