警察可以交军人的枪吗:请教一个算垂足坐标的几何题

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 17:45:56
已知点ptStart,ptEnd 为一条直线L的两个端点,坐标为(x1,y1),(x2,y2)
从点pt(x0,y0) 做到直线L 的垂线,求垂足的坐标?

1.若直线L不是水平线
由两点式设L:y-y1=(y2-y1)/(x2-x1)*(x-x1)
k=(y2-y1)/(x2-x1) 与L垂直直线的k'=-1/k=-(x2-x1)/(y2-y1)
则与L垂直且过pt的直线为 y-y0=-(x2-x1)/(y2-y1)*(x-x0)
联立,得
x=[(x0(x1-x2)^2+(x2(-y0+y1)+x1(y0-y2))(y1-y2)]/(x1^2-2x1x2+x2^2+(y1-y2)^2)
y=(x2^2y1+y0y1^2+x0(x1-x2)(y1-y2)+x1^2y2-2y0y1y2+y0y2^2-x1x2(y1+y2))/(x1^2-2x1x2+x2^2+(y1-y2)^2)
垂足的坐标([(x0(x1-x2)^2+(x2(-y0+y1)+x1(y0-y2))(y1-y2)]/(x1^2-2x1x2+x2^2+(y1-y2)^2),(x2^2y1+y0y1^2+x0(x1-x2)(y1-y2)+x1^2y2-2y0y1y2+y0y2^2-x1x2(y1+y2))/(x1^2-2x1x2+x2^2+(y1-y2)^2))
2.若直线L是水平线
k=0
由两点式设L:y-y1=0
则与L垂直且过pt的直线为x-x0=0
垂足的坐标(x0,y1)