Fra*_*ger 38
这取决于点的顺序.如果从反向法线的方向以逆时针顺序指定点,则计算起来很简单:
Dir = (B - A) x (C - A)
Norm = Dir / len(Dir)
Run Code Online (Sandbox Code Playgroud)
x交叉产品在哪里.
如果你正在使用OpenTK或XNA(可以访问Vector3类),那么它只是一个问题:
class Triangle {
Vector3 a, b, c;
public Vector3 Normal {
get {
var dir = Vector3.Cross(b - a, c - a);
var norm = Vector3.Normalize(dir);
return norm;
}
}
}
Run Code Online (Sandbox Code Playgroud)