杂文:关于直线对称的处理 (点关于直线对称,直线关于直线对称,垂直平分线,角平分线)
前言:一种看直线的观点
我们都采用一般式 \(Ax+By+C\) 来研究
它有一个观点:可以看成是向量 \((A,B)\) 点乘向量 \((x,y)\) 为定值 \(-C\)
容易想象出来:和定向量 \(\vec{u}\) 点乘为定值的点,其轨迹为 垂直 \(\vec{u}\) 的直线
所以 \((x,y)\) 的轨迹是垂直 \((A,B)\) 的直线。也就是说 \((A,B)\) 为直线的法向量。
则其单位法向量为 \(\vec{n}=\dfrac{(A,B)}{\sqrt{A^2+B^2}}\)
这件事情非常有用!因此后面说 \(\vec{n}\) 默认指 单位 法向量
你可以用它来轻易的得到点到直线距离公式。
点关于直线对称
考虑求点 \(P(x,y)\) 关于 \(l:Ax+By+C\) 的对称点 \(P'(x',y')\)
我们不妨求向量 \(\vec{v} = \vec{PP'}\),显然它和直线 \(l\) 垂直
因此它应该平行于单位法向量 \(\vec{n}\)
再考虑其长度,显然为两倍的 \(P\) 到 \(l\) 距离,距离记为 \(d\)
所以 \(\vec{v}\) 应该是 \(2d \vec{n}\),可是方向呢?
考虑 点到直线的有向距离:
- 定义为,和 \(\vec{n}\) 同向为正,反向为负;绝对值和距离相等
- 其表达式很简单,其实就是 \(\dfrac{Ax+By+C}{\sqrt{A^2+B^2}}\)
我们重新定义 \(d\),为 \(l\) 到 \(P\) 的有向距离为。那显然从 \(P\) 到 \(P'\) 的方向,和 \(P\) 的有向距离的方向,应该相反
所以 \(\vec{v}=-2d\vec{n}\)
所以 \(P'=(x,y)-2d\vec{n}\)
\(=(x,y)-\dfrac{2(Ax+By+C)}{A^2+B^2}\cdot(A,B)\)
已知两点求对称轴 (垂直平分线)
考虑上述问题的另一个视角。已知两点,求其对称轴。当然,就是垂直平分线
假设是 \((x_1,y_1), (x_2,y_2)\)
首先直线要和两点连线垂直,所以法向量为 \(\vec{v}=(x_1-x_2,y_1-y_2)\)
其次,要过中点 \((x_m, y_m)=(\dfrac{x_1+x_2}{2}, \dfrac{y_1+y_2}{2})\)
因此方程为 \((x_1-x_2)(x-x_m)+(y_1-y_2)(y-y_m)=0\)
展开得到:\((x_1-x_2)x+(y_1-y_2)y=\dfrac{1}{2}(x_1^2-x_2^2+y_1^2-y_2^2)\)
还挺优雅
直线关于直线对称
考虑直线 \(ax+by+c\) 关于 \(Ax+By+C\) 的对称直线
该直线上的点满足:若对称回去,则在 \(ax+by+c\) 上
可以写出方程:\(ax'+by'+c\),其中 \((x',y')\) 就是上文中点到直线的对称
代入那个 \(P'\) 的表达式,可以得到:
\((ax+by)-\dfrac{2(Ax+By+C)}{A^2+B^2}(aA+bB)+c=0\)
可以做一下整理,得到:
\((ax+by+c)-\dfrac{2(aA+bB)}{A^2+B^2}(Ax+By+C)=0\)
已知两直线求对称轴 (角平分线,两条)
假如要求 \(a_1x+b_1y+c_1\) 和 \(a_2x+b_2y+c_2\) 的对称轴
观察上面,直线关于直线对称的式子:假设求出来的是 \(a'x+b'y+c'\)
那么 \((a',b')=(a,b)-\dfrac{2(a,b)\cdot (A,B)}{|(A,B)|^2}(A,B)\)
它其实是 \((a,b)\) 关于 \((A,B)\) 的对称向量,的相反向量
因此:\((a',b')\) 和 \((a,b)\) 的模长相同
所以:我们调整系数 \(k\),使得 \((a_1,b_1)\) 和 \(k(a_2,b_2)\) 模长相等
\(k\) 可以取 \(\pm \dfrac{\sqrt{a_1^2+b_1^2}}{\sqrt{a_2^2+b_2^2}}\)
那么:\((a_1x+b_1y+c_1)-k(a_2x+b_2y+c_2)\) 就是 \(Ax+By+C\) 的若干倍
发现,“若干倍” 对于直线方程没有影响
那就是说:这样直接减出来,得到的就是角平分线!
因此角平分线的方程(两条)就是:
\((a_1x+b_1y+c_1)\pm \dfrac{\sqrt{a_1^2+b_1^2}}{\sqrt{a_2^2+b_2^2}}(a_2x+b_2y+c_2)=0\)
浙公网安备 33010602011771号