将AB写成参数式A+tv(v为向量AB),设Q的参数为t。, 那么Q=A+vt。,由点积为0可得Dot(v,p-(A+vt。)) = 0,这样就可以解出t。
Point getlineprojection(Point P, Point A, Point B){
Vector v = B-A;
return A+v*(Dot(v,P-A) / Dot(v,v));
}
将AB写成参数式A+tv(v为向量AB),设Q的参数为t。, 那么Q=A+vt。,由点积为0可得Dot(v,p-(A+vt。)) = 0,这样就可以解出t。
Point getlineprojection(Point P, Point A, Point B){
Vector v = B-A;
return A+v*(Dot(v,P-A) / Dot(v,v));
}
本文标题:点在直线上的投影
本文链接:https://www.haomeiwen.com/subject/ibxheftx.html
网友评论