You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求已知顶点坐标的三角形垂心通用计算公式

求已知顶点坐标的三角形垂心通用计算公式

嘿,太懂你这种找不到垂心简洁公式的郁闷了——毕竟重心(三个顶点坐标直接平均)、内心(按边长加权平均)的公式都直观得很,垂心因为要算三条高线的交点,推导过程里的代数化简确实容易绕晕,手动算个三次出错太正常了!

先给你两种靠谱的方式:一种是经过验证的通用公式,另一种是不容易出错的分步计算法,你可以按需选择。

通用公式(行列式形式,准确但需注意符号)

假设三角形三个顶点为 $A=(x_1, y_1), \ B=(x_2, y_2) , \ C=(x_3, y_3)$,先通过联立两条高线的方程,用克莱姆法则推导得出垂心 $H=(x_h, y_h)$ 的坐标:

首先写出两条高线的线性方程组:
$$
\begin{cases}
(x_2 - x_3)x + (y_2 - y_3)y = (x_2 - x_3)x_1 + (y_2 - y_3)y_1 \
(x_1 - x_3)x + (y_1 - y_3)y = (x_1 - x_3)x_2 + (y_1 - y_3)y_2
\end{cases}
$$

用行列式求解的最终形式为:
$$
x_h = \frac{ \begin{vmatrix} (x_2 - x_3)x_1 + (y_2 - y_3)y_1 & y_2 - y_3 \ (x_1 - x_3)x_2 + (y_1 - y_3)y_2 & y_1 - y_3 \end{vmatrix} }{ \begin{vmatrix} x_2 - x_3 & y_2 - y_3 \ x_1 - x_3 & y_1 - y_3 \end{vmatrix} }
$$
$$
y_h = \frac{ \begin{vmatrix} x_2 - x_3 & (x_2 - x_3)x_1 + (y_2 - y_3)y_1 \ x_1 - x_3 & (x_1 - x_3)x_2 + (y_1 - y_3)y_2 \end{vmatrix} }{ \begin{vmatrix} x_2 - x_3 & y_2 - y_3 \ x_1 - x_3 & y_1 - y_3 \end{vmatrix} }
$$

这个公式准确,但手动计算时容易在行列式展开时出错,更推荐下面的分步方法。

分步计算法(新手友好,不易出错)

比起硬记复杂公式,分步计算两条高线的交点反而更稳妥,步骤如下:

  1. 求第一条高线的方程

    • 计算边 $BC$ 的斜率:$k_{BC} = \frac{y_3 - y_2}{x_3 - x_2}$(如果 $x_3 = x_2$,说明BC是竖线,过A的高线就是水平线,方程为 $y = y_1$)
    • 过A点的高线与BC垂直,斜率为 $k_{hA} = -\frac{x_3 - x_2}{y_3 - y_2}$(如果 $y_3 = y_2$,BC是水平线,高线就是竖线,方程为 $x = x_1$)
    • 用点斜式写出高线方程:$y - y_1 = k_{hA}(x - x_1)$
  2. 求第二条高线的方程

    • 计算边 $AC$ 的斜率:$k_{AC} = \frac{y_3 - y_1}{x_3 - x_1}$(如果 $x_3 = x_1$,AC是竖线,过B的高线就是水平线,方程为 $y = y_2$)
    • 过B点的高线斜率为 $k_{hB} = -\frac{x_3 - x_1}{y_3 - y_1}$(如果 $y_3 = y_1$,AC是水平线,高线就是竖线,方程为 $x = x_2$)
    • 写出高线方程:$y - y_2 = k_{hB}(x - x_2)$
  3. 联立方程求解

    • 把两个高线方程联立,解出 $x$ 和 $y$,就是垂心的坐标。

验证小技巧

每次计算完,用简单三角形测试:比如直角三角形(垂心在直角顶点)、等边三角形(垂心与重心重合),能快速发现错误。比如直角三角形 $A(0,0), B(3,0), C(0,4)$,联立过B的水平线 $y=0$ 和过A的高线 $y=\frac{3}{4}x$,就能得到垂心 $(0,0)$,和预期一致。

我之前推导垂心公式时也栽过好几次符号错误的坑,后来就习惯用分步计算+简单案例验证的方法,再也没出错啦!

备注:内容来源于stack exchange,提问作者pie

火山引擎 最新活动