主题:坐标投影问题
donhchha
[专家分:0] 发布于 2010-10-13 22:45:00
已知三个点分别为a(x1,y1),b(x2,y2),c(x3,y3)
如何求b点在直线ac上的投影坐标?
回复列表 (共6个回复)
沙发
jstzhurj [专家分:4680] 发布于 2010-10-13 22:56:00
是指b在ac上的垂足吗?
板凳
dongyuanxun [专家分:7180] 发布于 2010-10-13 23:06:00
解析几何问题
求垂直直线(斜率乘积为-1)
然后联立求解交点
3 楼
jstzhurj [专家分:4680] 发布于 2010-10-13 23:34:00
纯粹数学问题,推导如下,可能有误,请检验。
ac直线方程:(x-x1)/(x3-x1)=(y-y1)/(y3-y1) 即 A*x+B*y+C=0
A=y3-y1
B=x1-x3
C=y1(x3-x1)-x1(y3-y1)
点(x2,y2)到该直线垂足(x0,y0)满足
A*x0+B*y0+C=0
(y2-y0)/(x2-x0) = B/A
解得:x0=(B**2*x2-A*B*y2-A*C)/(A**2+B**2)
y0=(-A*B*x2+A**2*y2-B*C)/(A**2+B**2)
文本模式下,公式比较难写。
4 楼
yeg001 [专家分:14390] 发布于 2010-10-13 23:47:00
似乎是数学问题多于程序问题, 可否回去复习一下二维的解析几何?
5 楼
jstzhurj [专家分:4680] 发布于 2010-10-14 08:01:00
[quote]纯粹数学问题,推导如下,可能有误,请检验。
ac直线方程:(x-x1)/(x3-x1)=(y-y1)/(y3-y1) 即 A*x+B*y+C=0
A=y3-y1
B=x1-x3
C=y1(x3-x1)-x1(y3-y1)
点(x2,y2)到该直线垂足(x0,y0)满足
A*x0+B*y0+C=0
(y2-y0)/(x2-x0) = B/A
解得:x0=(B**2*x2-A*B*y2-A*C)/(A**2+B**2)
y0=(-A*B*x2+A**2*y2-B*C)/(A**2+B**2)
文本模式下,公式比较难写。[/quote]
用特列简单验证一下,
A=0时: x0=x2
y0=-C/B
B=0时: x0=-C/A
y0=y2
特例似乎证明了推导没错。[em12]
6 楼
cgl_lgs [专家分:21040] 发布于 2010-10-14 15:46:00
單位化、點乘、求和。
我来回复