void CalNormal3D(const double* v1, const double* v2, const double* v3, double* vn)
{
//平面方程: na * (x – n1) + nb * (y – n2) + nc * (z – n3) = 0 ;
double na = (v2[1] - v1[1]) * (v3[2] - v1[2]) - (v2[2] - v1[2]) * (v3[1] - v1[1]);
double nb = (v2[2] - v1[2]) * (v3[0] - v1[0]) - (v2[0] - v1[0]) * (v3[2] - v1[2]);
double nc = (v2[0] - v1[0]) * (v3[1] - v1[1]) - (v2[1] - v1[1]) * (v3[0] - v1[0]);
//平面法向量
vn[0] = na;
vn[1] = nb;
vn[2] = nc;
}
三点计算平面法向量
最新推荐文章于 2024-09-20 20:18:31 发布