三維空間中點到平面的投影點坐標


代碼:

 struct PlaneEquation {
  double A;
  double B;
  double C;
  double D;
 };

 

 1 PointType RanSac::projectPointToPlane(PointType &pt, PlaneEquation &pe)
 2 {
 3     PointType ptemp;
 4     double abc = pe.A*pe.A + pe.B*pe.B + pe.C*pe.C;
 5 
 6     ptemp.x = ((pe.B*pe.B + pe.C*pe.C)*pt.x - pe.A*(pe.B*pt.y + pe.C*pt.z + pe.D)) / abc;
 7     ptemp.y = ((pe.A*pe.A + pe.C*pe.C)*pt.y - pe.B*(pe.A*pt.x + pe.C*pt.z + pe.D)) / abc;
 8     ptemp.z = ((pe.A*pe.A + pe.B*pe.B)*pt.z - pe.C*(pe.A*pt.x + pe.B*pt.y + pe.D)) / abc;
 9 
10     return ptemp;
11 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM