三维空间中点到平面的投影点坐标


代码:

 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