opengl - 计算具有 4 个顶点的面法线

标签 opengl vertex plane

我似乎找不到计算 3D 4 顶点平面法线的方程。给定 4 个顶点(x1,y1,z1),(x2,y2,z2)等。如何计算它们创建的表面的法线?我了解它如何与三角形函数配合使用,但我不确定如何使其适应 4 个顶点

最佳答案

您需要将四边形分成两个三角形(无论哪种方式),计算两个法线并对它们求平均值。理想情况下,无论如何,两个法线都是相同的,而在其他情况下,您将获得最佳的近似值。

原因是三角形必然是平面的(没有其他可能),但对于四边形则没有这样的保证。因此,您根本不可能知道单一法线的存在。

对两个子三角形的法线进行平均并不理想,但是对于中间有“折叠”的图元,您还能做什么。

关于opengl - 计算具有 4 个顶点的面法线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410143/

相关文章:

math - 检查空间中的 4 个点是否是矩形的角点

opengl - Unity Shader 高亮重叠

python - 如何在 python 中使用 igraph 从边缘获取顶点?

OpenGL:使用顶点着色器添加顶点

Python 飞行距离和时间计算器

plot - gnuplot 中参数平面的大小

opengl - 如何使用 glDebugMessageControl

opengl - GLSL - 使用自定义输出属性而不是 gl_Position

c - SDL 可调整大小的程序无法正确绘制 OpenGL

string - Lua 使用 string.gsub 进行多个字符串替换