3d - 计算两个 3D 三角形是否在同一平面上

标签 3d rotation geometry angle normals

对于我正在开发的 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/

相关文章:

c++ - OpenGL:渲染大量立方体

html - IE竖排文本问题

c++ - 当 OpenGL 相机处于低高度(低 Z 坐标)时,为什么将窗口坐标映射到球体很困难?

python - 处理 xyz 数据的最佳方法

javascript - IE、Mozilla 和 Chrome 支持的 3D Javascript 库

java - 这个四元数旋转代码是如何工作的?

java - 在Android中使用按钮旋转图像

android - 触摸移动手势逻辑...如何确定 2d 中的移动方向?

algorithm - 一条直线可以穿过的最大可能矩形数

math - 合并旋转轴向量