这个计算器能做什么
本工具用来求一个点关于一条直线的镜像(对称点)。只要给出任意一点 (x, y),以及一条用一般式 ax + by + c = 0 表示的直线,它就会返回对称点 (x', y')——也就是位于直线另一侧、到直线垂直距离相等的那个点。
使用方法
先输入待求点的坐标,再依次填入直线的三个系数 a、b、c。如果你的直线是斜截式 y = mx + k,请先改写成 mx − y + k = 0,此时 a = m、b = −1、c = k。竖直线 x = 5 则写成 1·x + 0·y − 5 = 0。
公式详解
带符号的量 d = (ax + by + c) / (a² + b²) 衡量该点偏离直线的程度,并用直线系数进行了归一化。沿法向量 (a, b) 反向走两倍这个距离,恰好落到镜像点上:
x' = x − 2a·d,y' = y − 2b·d。如果该点本就在直线上,那么 ax + by + c = 0,于是它映射为自身。
实例演算
求 (3, 4) 关于直线 x − y = 0(a = 1,b = −1,c = 0)的对称点。此时 a² + b² = 2,ax + by + c = 3 − 4 = −1,所以 d = −1/2。于是 x' = 3 − 2(1)(−0.5) = 4,y' = 4 − 2(−1)(−0.5) = 3。(3, 4) 关于 y = x 的对称点就是 (4, 3)——正如预期,坐标互换。
常见问题
a、b、c 可以为 0 吗?可以。唯一不允许的是 a = b = 0,因为此时根本不存在直线;计算器会对此做防护,避免除以零。
直线一定要过原点吗?不必。常数项 c 会平移直线,公式对任意位置都适用。
如果直线是 y = mx + k 怎么办?把它转换成 m·x − 1·y + k = 0,即 a = m、b = −1、c = k。