mathematica 发表于 2012-7-19 10:39:48

如何快速求一个点关于一条直线的对称点的坐标?

如何快速求一个点关于一条直线的对称点的坐标?(二维)
以此类推:
如何快速求一个点关于一条平面的对称点的坐标?(三维)

hujunhua 发表于 2012-7-19 17:59:51

最快的方法是公式法,事先推导,然后牢牢记住。
可是谁愿意记它呢?

mathe 发表于 2012-7-20 08:16:54

可以通过解方程。
比如已知直线方程为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$.同样对于三维情况类似

程敏 发表于 2012-7-20 12:25:08

此题用向量方法来解决,最简单、明了,计算速度也快。如下:
(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。

gxqcn 发表于 2012-7-20 13:13:04

有时向量法确实比解析法三角法等更有优势,
比如前不久我在工作中开发CNC刀具补偿算法时,全局采用矢量法,
避免了解析法的繁琐,且全过程不含一条三角函数或反三角函数,
使速度和精度提高了好几个等级。

gxqcn 发表于 2012-7-20 13:18:04

就这个问题来说,解析法与向量法的效果是一样的,因为最终的公式都是一样的。
只是向量法中途有些特定意义的变量,比如单位法向(切向)向量等,
当问题非常复杂时,它可以有助于推导,思路会比较清晰,且过程便于编程。

mathematica 发表于 2012-7-20 14:39:42

此题用向量方法来解决,最简单、明了,计算速度也快。如下:
(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)求的是有向距离,如果点在正方向,那么
距离大于零,如果点在负方向,那么距离小雨零

mathematica 发表于 2012-7-20 14:42:53

http://mathworld.wolfram.com/Point-PlaneDistance.html

mathematica 发表于 2012-7-20 14:43:12

Point-Plane Distance
http://mathworld.wolfram.com/Point-PlaneDistance.html

mathematica 发表于 2012-7-20 14:45:35

突然间觉得这个问题问得特别的弱智!!!!!!!!!!!!!!!
页: [1] 2
查看完整版本: 如何快速求一个点关于一条直线的对称点的坐标?