如何快速求一个点关于一条直线的对称点的坐标?
如何快速求一个点关于一条直线的对称点的坐标?(二维)以此类推:
如何快速求一个点关于一条平面的对称点的坐标?(三维) 最快的方法是公式法,事先推导,然后牢牢记住。
可是谁愿意记它呢? 可以通过解方程。
比如已知直线方程为Ax+By+C=0
已知点为$(x_0,y_0)$,设对称点为$(x_1,y_1)$
那么我们知道向量$(x_1-x_0,y_1-y_0)$同直线垂直,由此得到$(x_1-x_0)B-(y_1-y_0)A=0$
另外我们知道两点中点在直线上,得到$A(x_1+x_0)+B(y_1+y_0)+2C=0$
解方程组可以得到$x_1,y_1$.同样对于三维情况类似 此题用向量方法来解决,最简单、明了,计算速度也快。如下:
(1)设直线方程为:Ax+By+C=0,其垂直的向量t 为: t =(A/sqrt(A*A+B*B),B/sqrt(A*A+B*B))= ( Xt,Yt );
(2)设点P(x1,y1),那P到(1)中的直线距 D = (A*x1+B*y1+C) / sqrt(A*A+B*B);
(3)对称点 P' (x',y'): x' = x1 - Xt * 2*D; y' = y1 - Xt *2* D.
例子:
设直线方程x+y-1=0,点P(2,2),那么:t=(sqrt(2)/2,sqrt(2)/2); D = 3/sqrt(2);故P' = (-1,-1).
空间的方法类似。详细的证明稍长,可以找我要,QQ:745015139。 有时向量法确实比解析法三角法等更有优势,
比如前不久我在工作中开发CNC刀具补偿算法时,全局采用矢量法,
避免了解析法的繁琐,且全过程不含一条三角函数或反三角函数,
使速度和精度提高了好几个等级。 就这个问题来说,解析法与向量法的效果是一样的,因为最终的公式都是一样的。
只是向量法中途有些特定意义的变量,比如单位法向(切向)向量等,
当问题非常复杂时,它可以有助于推导,思路会比较清晰,且过程便于编程。 此题用向量方法来解决,最简单、明了,计算速度也快。如下:
(1)设直线方程为:Ax+By+C=0,其垂直的向量t 为: t =(A/sqrt(A*A+B*B),B/sqrt(A*A+B*B))= ( Xt,Yt );
(2)设点P(x1,y1),那P到(1)中的直线距...
程敏 发表于 2012-7-20 12:25 http://bbs.emath.ac.cn/images/common/back.gif
(1)求的是单位法向量,而且还是正方向的单位法向量!!!!!!!!!
(2)求的是有向距离,如果点在正方向,那么
距离大于零,如果点在负方向,那么距离小雨零 http://mathworld.wolfram.com/Point-PlaneDistance.html Point-Plane Distance
http://mathworld.wolfram.com/Point-PlaneDistance.html 突然间觉得这个问题问得特别的弱智!!!!!!!!!!!!!!!
页:
[1]
2