什么是垂心?
三角形的垂心,是三条高相交于的那一个点。所谓“高”,是指从某个顶点向对边(必要时延长对边)所作的垂线。由于任意两条高就能确定这个交点,因此本计算器只需对其中两条高求交点即可得出垂心。垂心的位置会随三角形形状而变化:锐角三角形时落在内部,直角三角形时正好与直角顶点重合,钝角三角形时则落在三角形之外。
如何使用本计算器
分别输入三个顶点 A、B、C 的 x、y 坐标,点击计算,即可得到垂心坐标 H =(x, y)。坐标可以是负数,也可以带小数。如果三个点恰好在同一条直线上,它们就无法构成三角形,此时垂心会被标记为“无定义”。
公式详解
从 A 引出的高与边 BC 垂直,而 BC 的方向向量为(\(x_C - x_B\), \(y_C - y_B\))。过 A 点且垂直于该边的直线,可用点积方程表示为 \((x_C - x_B)(x - x_A) + (y_C - y_B)(y - y_A) = 0\)。对从 B 引出的高(垂直于 AC)写出同样形式的方程,便得到一个 2×2 的线性方程组,我们用克拉默法则求解。这里采用点积形式而非斜率,可以避免某条边为竖直方向时出现“除以零”的问题,从而保证任何合法的三角形都能正确处理。
$$\begin{gathered} \begin{cases} (C_x - B_x)\,x + (C_y - B_y)\,y = (C_x - B_x)A_x + (C_y - B_y)A_y \\ (C_x - A_x)\,x + (C_y - A_y)\,y = (C_x - A_x)B_x + (C_y - A_y)B_y \end{cases} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} A &= \left(\text{A}_x,\ \text{A}_y\right) \\ B &= \left(\text{B}_x,\ \text{B}_y\right) \\ C &= \left(\text{C}_x,\ \text{C}_y\right) \end{aligned} \right. \end{gathered}$$计算实例
设 A(0, 0)、B(4, 0)、C(1, 3)。边 BC 的方向为(−3, 3),因此从 A 引出的高为 \(-3x + 3y = 0\),即 \(y = x\)。边 AC 的方向为(1, 3),因此从 B 引出的高为 \(x + 3y = (1)(4) + (3)(0) = 4\)。代入 \(y = x\) 得 \(x + 3x = 4\),解得 \(x = 1\),\(y = 1\)。所以垂心为 (1, 1)。
常见问题
垂心会落在三角形外面吗?会——对于钝角三角形,垂心位于三角形之外。
直角三角形的垂心在哪里?正好在直角所在的那个顶点上。
如果三个点在同一条直线上会怎样?这种情况下它们无法构成三角形,三条高互相平行,垂心也就没有定义。