对三角形进行分割,情况比较复杂。
首先,用平面去切割三角形,主要有四种情况:
- 切割面经过,一个顶点 & 该顶点的对边
- 切割面只经过一个顶点
- 切割平面只经过三角形的一条边(即经过三角形的两个顶点)
- 切割平面经过三角形的两条边
需要对三角形分割的,只有1,4两种情况。
不管这两种的哪一种情形,都要注意一个三角形的顶点顺序问题,即三角面片的法向问题。分割出的子三角面片法向必须与原始的三角面片法向一致。三角形顶点顺序确定法线:根据右手定理 & 顶点顺序采用,顺序逆时针
如图,原三角形顶点顺序为: (V0,V1,V2)
法向Normal = (V1-V0).cross(V2-V1); 叉乘计算得出。
则分割以后的两个子三角形顶点序列为:(V0,L1,V2) && (V0,V1,L1)
这样才能保证三者的法向都是朝上的。