如果多面体的所有节点(可能是非凸的)及其坐标已知,面的点按顺序给出(绕外法线逆时针或顺时针),如何获得每个面的外法向量脸?
这是凸多面体的一种方法:计算面法线和缠绕 https://stackoverflow.com/questions/40454789/computing-face-normals-and-winding
一个可以是非凸的一般多面体怎么样?
这是一种方法。修复多面体的一个面 F0 的方向P。你还不知道这是否
从外部看是逆时针方向,因此右手定则给出
从叉积法向向外指向。
现在将相邻面 F1 定向为与 F0 的方向兼容,因为
共享边在 F0 中面向 →,在 F1 中面向 ←。继续宣传
面的方向,直到每个面P与F0一致。所以现在一切正常
要么指向内,要么全部指向外。
现在计算体积P通过对有符号的四面体体积求和。音量
如果所有面都逆时针方向,则为正,否则为负
如果都是顺时针。如果结果为负,则反转所有面部方向。
网络上到处都有计算签名量的信息,包括这里:C 语言计算几何 http://cs.smith.edu/~jorourke/books/compgeom.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)