点到空间平面的距离
计算公式::
struct Point{ double x; double y; double z; } struct PlaneEquation{ double A; double B; double C; double D; } //计算点到面距离 double dist(Point &pt, PlaneEquation &pe) //Distance between point and plane { double dt = 0.0; double mA, mB, mC, mD, mX, mY, mZ; mA = pe.A; mB = pe.B; mC = pe.C; mD = pe.D; mX = pt.X; mY = pt.Y; mZ = pt.Z; if (mA*mA + mB*mB + mC*mC)// 如果mA*mA + mB*mB + mC*mC==0 说明面缩成点 { dt = abs(mA*mX + mB*mY + mC*mZ + mD) / sqrt(mA*mA + mB*mB + mC*mC); } else { std::cout << "空间面方程输入错误::系数全为零!!!!"; dt = pt.mod(); } // The plane is reduced to the origin. point(pt) to point(zero) distance. return dt; }