gpt4 book ai didi

c# - Triangle - 三角形相交测试

转载 作者:行者123 更新时间:2023-11-30 13:13:59 25 4
gpt4 key购买 nike

我想知道是否有一些教程或指南来理解和实现 3D 环境中的三角形-三角形相交测试。 (我不需要知道交叉点发生的确切位置,但只需要知道交叉点已经发生)

我打算按照理论 pdf 来实现它,但我很困在

  1. 计算三角形2的平面方程。
  2. 如果三角形 1 的所有点都在同一侧,则拒绝为平凡。
  3. 计算三角形1的平面方程。
  4. 如果三角形 2 的所有点都在同一侧,则拒绝为平凡。
  5. 计算交线并投影到最大轴上。
  6. 计算每个三角形的间隔。
  7. 相交区间。

本指南的第 5 点。我真的不知道在问什么(所有 5,6 和 7)。 XD

因为我没有很高的数学知识(好吧,我知道大学的几次考试给了我(我是一个原始程序员XD)),请尽量简单我。 :D(我试图在谷歌上搜索,但大多数链接指向大约 4-5 页的公式,我真的不想知道,我也不明白。)

感谢帮助

最佳答案

你说:

I'd like to know if there is out there some tutorial or guide to understand and implement a Triangle-Triangle intersection test in a 3D Environment.

然后你说:

most of the links point to some 4-5 pages full of formulas I don't really care to know

我注意到这两个陈述完全相互矛盾。那是哪一个?您想了解三角形-三角形交集的工作原理,还是您只是想要一个可行但您不了解的实现?

并不是所有的网页都充满了不必要的数学。所有的数学知识对于理解交集算法的工作原理都是必需的。从头开始,了解它是如何工作的。

一旦您知道这些词的含义,第 5、6 和 7 步就很容易理解。相交线是由两个平面相交而成的线。每个三角形都位于一个平面内。分三种情况:

  • 平面平行且不相交。三角形显然不相交。
  • 飞机是同一架飞机。三角形可能相交,也可能不相交。
  • 这些平面是在一条直线上相交的两个不同的平面。如果三角形相交,它们显然必须在那条线上相交。

假设我们处于第三种情况。计算包含在第一个三角形中的相交线段。计算第二个三角形中的相交线段。现在的问题是“这些部分是否重叠?”

您可以通过将线段投影到一个方便的轴上,并查看该轴上的线段是否重叠来解决这个问题。基本上,它的工作原理是这样的:假设您将光线照射到线段上,这样它们的阴影就会落在一个轴上。如果轴上的阴影相交,则线段必须相交。如果轴上的阴影之间有间隙,那么显然线段之间一定有间隙,因此三角形不相交。

如果您想了解它是如何工作的,那么您将需要了解所有这些东西——所有计算出平面如何相交以及如何投影的代数,这是无法回避的事实到轴上工作。这都是必要的。所有这些东西都是基本构建 block ,可以从中构建更复杂的转换、投影等,因此如果您想走得更远,请彻底了解基础知识。

关于c# - Triangle - 三角形相交测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1903258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com