欢迎来到天天文库
浏览记录
ID:53256833
大小:70.50 KB
页数:2页
时间:2020-04-02
《点到直线的垂足算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、点到直线的垂足算法//二维空间点到直线的垂足structPoint{ doublex,y;}PointGetFootOfPerpendicular(constPoint&pt,//直线外一点constPoint&begin,//直线开始点constPoint&end)//直线结束点{PointretVal;doubledx=begin.x-end.x;doubledy=begin.y-end.y;if(abs(dx)<0.00000001&&abs(dy)<0.00000001){retVal=begin;returnretVa
2、l;}doubleu=(pt.x-begin.x)*(begin.x-end.x)+(pt.y-begin.y)*(begin.y-end.y);u=u/((dx*dx)+(dy*dy));retVal.x=begin.x+u*dx;retVal.y=begin.y+u*dy;returnretVal;}//三维空间点到直线的垂足structPoint{ doublex,y,z;}PointGetFootOfPerpendicular(constPoint&pt,//直线外一点constPoint&begin,//直线开始点co
3、nstPoint&end)//直线结束点{PointretVal;doubledx=begin.x-end.x;doubledy=begin.y-end.y; doubledz=begin.z-end.z;if(abs(dx)<0.00000001&&abs(dy)<0.00000001&&abs(dz)<0.00000001){retVal=begin;returnretVal;}doubleu=(pt.x-begin.x)*(begin.x-end.x)+(pt.y-begin.y)*(begin.y-end.y)+(pt.
4、z-begin.z)*(begin.z-end.z);u=u/((dx*dx)+(dy*dy)+(dz*dz));retVal.x=begin.x+u*dx;retVal.y=begin.y+u*dy; retVal.y=begin.z+u*dz; returnretVal;}
此文档下载收益归作者所有