VC++实现点到平面的距离函数:
平面的方程:AX + BY + CZ + D = 0;
点坐标:X, Y, Z
double getPointToPlaneDistance(double X, double Y, double Z, double A, double B, double C, double D)
{
double d = (A*X + B*Y + C*Z + D) / sqrt(A*A + B*B + C*C);
return d;
}
上述函数返回的是带正负的距离,如需都为正值的距离,则有如下函数:
double getPointToPlaneDistance(double X, double Y, double Z, double A, double B, double C, double D)
{
double d = fabs(A*X + B*Y + C*Z + D) / sqrt(A*A + B*B + C*C);
return d;
}