对于我正在开发的 3D 游戏引擎,我需要计算两个 3D 三角形是否在同一平面上以相应地显示它。如何计算 3D 空间中三角形的角度?
计算表面法线并比较这些法线会给我两个等效的法线吗?
最佳答案
你为什么要这样做?您希望测试的三角形数量是多少?对于实时渲染算法来说似乎有点复杂!
反正:
计算法线 n
的三角形。然后计算平面方程:a.x + b.y + c.z + d = 0
与 (a,b,c)
作为你的三角形法线和 d = - dot(n,P)
(P 是你的三角形顶点之一)。对第二个三角形做同样的事情。
如果四个值 abcd
,则两个平面相同相等或相反(全部在一起)。
关于3d - 计算两个 3D 三角形是否在同一平面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3725630/