已知三点求平面方程、平面法向量和点到平面的距离(转载) 平面方程求法向量

已知三点求平面方程、平面法向量和点到平面的距离(转载) 平面方程求法向量

已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程

关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1),p1p3(x3-x1,y3-y1,z3-z1),平面法线和这两个向量垂直,因此法向量n:

平面方程:a(x-x1)+b(y-y1)+c(z-z1)=0;

d=-a*x1-b*y1-c*z1。

平面平面方程为ax+by+cz+d=0。

[cpp]viewplaincopy
  1. //已知3点坐标,求平面ax+by+cz+d=0;
  2. voidget_panel(Pointp1,Pointp2,Pointp3,double&a,double&b,double&c,double&d)
  3. {
  4. a=((p2.y-p1.y)*(p3.z-p1.z)-(p2.z-p1.z)*(p3.y-p1.y));
  5. b=((p2.z-p1.z)*(p3.x-p1.x)-(p2.x-p1.x)*(p3.z-p1.z));
  6. c=((p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.x-p1. x));
  7. d=(0-(a*p1.x+b*p1.y+c*p1.z));
  8. }
  9. //已知三点坐标,求法向量
  10. Vec3get_Normal(Pointp1,Pointp2,Pointp3)
  11. {
  12. a=((p2.y-p1.y)*(p3.z-p1.z)-(p2.z-p1.z)*(p3.y-p1.y));
  13. b=((p2.z-p1.z)*(p3.x-p1.x)-(p2.x-p1.x)*(p3.z-p1.z));
  14. c=((p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.x-p1.x));
  15. returnVec3(a,b,c);
  16. }
  17. //点到平面距离
  18. doubledis_pt2panel(Pointpt,doublea,doubleb,doublec,doubled){
  19. returnf_abs(a*pt.x+b*pt.y+c*pt.z+d)/sqrt(a*a+b*b+c*c);
  20. }

参考:http://blog.csdn.net/pvpishard/article/details/7912511

http://mathinsight.org/distance_point_plane

http://blog.csdn.net/threewind/article/details/5980613

http://blog.sina.com.cn/s/blog_648868460100o5ll.html

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/319784.html

更多阅读

子网掩码怎么计算 已知ip地址求子网掩码

子网掩码怎么计算——简介业务的发展常常会导致许多单位面临这样一个问题:工作站数量越来越多,管理单一的大型网络也变得越来越艰难。如果将一个单一的大型网络划分为多个子网,通过对每个子网进行单独管理,可以明显地提高整个网络的性能

单反相机入门机、中端机和高端机的区别 入门单反相机推荐2016

其实对于这个问题,我没有太多想说的话,因为我觉得摄影这个东西,用什么器材无所谓,重要的是相机后面那个脑袋,很多摄影大赛的获奖作品都是手机拍摄,本人虽然是专业摄影师出身,但至今还寒酸的用着几年前买的佳能500D这个入门机,对各种机器的了

声明:《已知三点求平面方程、平面法向量和点到平面的距离(转载) 平面方程求法向量》为网友从未停步分享!如侵犯到您的合法权益请联系我们删除