1, линейное расстояние между точкой плоскости:
Код:
структура Точка { двойные х; двойной у; } Структура PlaneEquation { двойной А; двойной В; двойной С; } // 计算点到面距离 двойной расстояние (точка & пт, PlaneEquation & ре) // Расстояние между точкой и плоскостью { двойной дт = 0,0 ; двойной мА, тВ, тС, Mx, My; мА = pe.A; тВ = pe.B; мК = pe.C; тЙ = pt.x; МОИ= Pt.Y; ЕСЛИ (мА + мА * * МБ МБ MC + Мс) // Если мА * мА + тВ * MB + мК * мК == 0 усадке точка описывается прямой { дт = ABS (Mx + мА * мК * + МОИ МБ) / SQRT (мА + мА * * МБ МБ); } в другое { STD :: COUT << " коэффициенты уравнения :: входной ошибки равны нулю !!!! " ; дт = pt.mod () ; } // из сводится к плоскости Origin Point (Pt) до точки (ZERO) Расстояние .. возвращение дт; }
2, расстояние прямой линии между точкой пространства:
// использование пространства линейной двухточечной (X0 Y0 Z0) для прямой внешней точки Хс = (X2-X1) * Т + Х1; YC = (У2-Y1) * Т + Y1; Zc = (Z2-Z1) * Т + Z1; // педаль Т = ((Х1-Х2) * (Х1-X0) + (YL-У2) * (Y0-ил) + (ZL-Z2 , из) * (Z0 из-Zl)) / ((Х2 Х1) * (Х1-Х2) + (YL-У2) * (YL-У2) + (ZL-Z2 , из) * (Z2- Zl)) D = SQRT ((Х0-Хс) * (Х0-Хс) + ( Ус-Y0) * (Y0-Ус) + (Z0 из-Zc) * (Z0 из-Zc)) // решение два-нормы