开发者

Calculating face normals with 4 vertices

I can't seem to find what the equation is for calculating the normal of a 4 vertex pl开发者_开发知识库ane in 3D. Given 4 vertices, (x1, y1, z1), (x2, y2, z2), etc. How do I calculate the normal of the surface they create? I understand how it would work with a triangle shaped function, but I don't know for sure how to adapt it to 4 vertices


You will need to split the quad into two triangles (does not matter which way), calculate two normals and average them. Ideally, both normals are the same anyway, and in the other case you have a best possible approximation.

The reason is that a triangle is necessarily planar (there is no other way it could be), but for a quad you have no such guarantee. Therefore, you cannot possibly know that a single normal exists at all.

Averaging the normals of two sub-triangles is not ideal, but what else can you do on a primitive that has a "fold" in the middle.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜