记号约定:
- \(\displaystyle {x \brack y}\):向量 \((x, y)\)。
1. 直线
一些定义:
- 方向向量:与直线 \(l\) 平行的向量。
- 倾斜角:直线 \(l\) 与 \(y\) 轴正方向同向的方向向量,与 \(x\) 轴正方向的夹角。
- 形式化的,设直线 \(l\) 的方向向量 \(\bold{v}\) 满足 \(\displaystyle \bold{v} \cdot {0 \brack 1} \ge 0\),则 \(l\) 的倾斜角为 \(\bold{v}\) 与 \(\displaystyle {1 \brack 0}\) 的夹角。
一些约定:
- 直线 \(l_1\) 和 \(l_2\) 重合也算做 \(l_1 \parallel l_2\)。
1.1 表示方法
1.1.1 斜截式
可以用 \(l : y = kx + b\) 表示一个直线,其中 \(k\) 为该直线的斜率,\(b\) 为截距。
容易发现,这种形式不能表示形如 \(x = c\) 的直线,因为此时没有对应的 \(k\)。
考虑 \(k\) 的几何意义。我们发现,当 \(x\) 增大 \(h\) 时,\(y\) 增大 \(kh\)。设 \(l\) 的倾斜角为 \(\theta\),画图可得 \(k = \tan(\theta)\)。
1.1.2 点斜式
如果已知 \(l\) 的斜率 \(k\),和 \(l\) 上一点 \((x_0, y_0)\),则 \(l : y = kx + (y_0 - kx_0)\)。
移项得 \(y - y_0 = k(x - x_0)\)。不要写成 \(\dfrac{y - y_0}{x - x_0} = k\),因为这样会缩小定义域。
容易发现,这种形式不能表示形如 \(x = c\) 的直线,因为此时没有对应的 \(k\)。其实所有用到斜率的表示方法都有这个问题。
1.1.3 两点式
如果已知 \(l\) 上两点 \((x_1, y_1) \neq (x_2, y_2)\),则 \(l : (x_2 - x_1)(y - y_1) = (y_2 - y_1)(x - x_1)\)。
其实就是 \((x, y)\) 与 \((x_1, y_1)\) 的斜率和 \((x_2, y_2)\) 与 \((x_1, y_1)\) 的斜率相等。或着也可以想成 \(\displaystyle {x - x_1 \brack y - y_1} = \lambda {x_2 - x_1 \brack y_2 - y_1}\)。
有一个特例,如果已知 \(l\) 上两点 \((0, y_0), (x_0, 0)\),则 \(l : x_0 y + y_0 x - x_0 y_0 = 0\)。
1.1.4 一般式
这玩意儿用处不大。
可以用 \(ax + by + c = 0\) 描述一个直线(\(a, b\) 不同时为 \(0\)),容易发现该直线的斜率为 \(-\dfrac{a}{b}\)。
因为 \(x\) 增加 \(b\) 会让 \(y\) 增加 \(-a\),所以这个直线的方向向量为 \(\displaystyle {b \brack -a}\) 或 \(\displaystyle {-b \brack a}\)。
那么这个直线的法向量为 \(\displaystyle {a \brack b}\) 或 \(\displaystyle {-a \brack -b}\)。方法也很简单,把 \(y\) 坐标取相反数后,再和 \(x\) 坐标交换。
证明:复数 \(z\) 逆时针旋转 \(90 \degree\) 后为 \(z {\rm i}\)。
则 \(a + b {\rm i}\) 逆时针旋转 \(90 \degree\) 后为 \((a + b {\rm i}) {\rm i} = -b + a {\rm i}\)。
则 \(\displaystyle {a \brack b}\) 逆时针旋转 \(90 \degree\) 后为 \(\displaystyle {-b \brack a}\)。\(\square\)
1.1.5 参数式
如果已知 \(l\) 的倾斜角 \(\theta\) 与 \(l\) 上一点 \((x_0, y_0)\),则:
注:在这个式子中把 \(t\) 和 \(\theta\) 交换,就可以得到圆的参数式。直线的是固定角度,圆的是固定长度。
1.2 位置关系
设 \(l_1 : a_1 x + b_1 y + c_1 = 0\),\(l_2 : a_2 x + b_2 y + c_2 = 0\)。
垂直关系
注意到,\(l_1 \perp l_2\) 等价于它们的法向量垂直,即 \(\displaystyle {a_1 \brack b_1} \cdot {a_2 \brack b_2} = 0\),即 \(a_1 a_2 + b_1 b_2 = 0\)。移项可得 \(\left( -\dfrac{a_1}{b_1} \right) \left( -\dfrac{a_2}{b_2} \right) = -1\),即 \(k_{l_1} k_{l_2} = -1\)。
平行关系
然后是平行。我们照葫芦画瓢,把 \(l_1 \parallel l_2\) 转换成它们的法向量平行。发现这样并不好做,因为没有简单的确定的条件。
既然几何法走不通,那就考虑代数法。注意到,\(l_1 \parallel l_2\) 等价于方程组 \(a_1 x + b_1 y + c_1 = 0, a_2 x + b_2 y + c_2 = 0\) 无解或有无穷组解。容易发现,充要条件为 \(a_1 b_2 = a_2 b_1\)。
移项得 \(a_1 b_2 - a_2 b_1 = 0\),这个形式好熟悉啊。于是我们可以感知出几何法所需要的“简单的确定的条件”:两个法向量围成的三角形面积为 \(0\),即 \(\displaystyle {a_1 \brack b_1} \times {a_2 \brack b_2} = 0\),即 \(a_1 b_2 - a_2 b_1 = 0\)。
所以说,共线可以考虑三角形的面积 \(= 0\),垂直可以考虑两向量点乘 \(= 0\)。
一般关系
先搞清楚一般在哪?观察前面两个特例,我们发现夹角在改变,所以这里我们探究 \(l_1, l_2\) 的夹角 \(\theta\) 与 \(l_1, l_2\) 的关系。这里令 \(\theta \in [0, \pi / 2]\)。
接着用法向量。我们发现,如果选择 \(l_1, l_2\) 合适的法向量 \(\bold{u}, \bold{v}\),则 \(\bold{u}, \bold{v}\) 的夹角 \(= \theta\)。
由于我们也不知道什么向量合适,所以先令 \(\displaystyle \bold{u} = {a_1 \brack b_1}, \bold{v} = {a_2 \brack b_2}\)。此时:
接下来调整一下结果。因为 \(\cos(\pi - x) = -\cos(x)\),所以:
1.3 数量关系
1.3.1 点与直线
点与直线之间的数量关系也只有距离了。设点 \(A(x_0, y_0)\),\(l : y = kx + b\),我们想求 \(A\) 与 \(l\) 的距离 \(d\)。
肯定要做过 \(A\) 的垂线。设 \(l \perp l_{\perp}\) 于 \(B\),且 \(l_{\perp}\) 过 \(A\),则 \(l_{\perp} : y = -\dfrac{1}{k} x + \left( y_0 + \dfrac{x_0}{k} \right)\)。那么 \(B = \left( -\dfrac{bk - k y_0 - x_0}{k^2 + 1}, \dfrac{b + k^2 y_0 + k x_0}{k^2 + 1} \right)\)。
那么 \(AB = \sqrt{(x_A - x_B)^2 + (y_A - y_B)^2} = \dfrac{|k x_0 - y_0 + b|}{\sqrt{k^2 + 1}}\)。
1.3.2 直线与直线
从距离开始。如果想求 \(l_1, l_2\) 的距离(\(l_1 \parallel l_2\)),那么只需在 \(l_1\) 上取一点,然后使用 1.3.1 的公式即可。