三角形幾個特殊點的計算

 設三角形的三條邊爲a, b, c,且不妨假設a <= b <= c,

三角形的面積可以根據海倫公式算得,如下:
s = sqrt(p * (p - a) * (p - b) * (p - c));
p = (a + b + c) / 2;
下面是計算該點到三角形三個頂點A,B,C的距離之和

1. 費馬點(該點到三角形三個頂點的距離之和最小)
   有個有趣的結論:若三角形的三個內角均小於120度,那麼該點連接
三個頂點形成的三個角均爲120度;若三角形存在一個內角大於120度,
則該頂點就是費馬點)計算公式如下:
若有一個內角大於120度(這裏假設爲角C),則距離爲a + b
若三個內角均小於120度,則距離爲
sqrt((a * a + b * b + c * c + 4 * sqrt(3.0) * s) / 2),其中

2. 內心----角平分線的交點
   令x = (a + b - c) / 2, y = (a - b + c) / 2,
     z = (-a + b + c) / 2, h = s / p. 計算公式爲
sqrt(x*x + h*h) + sqrt(y*y + h*h) + sqrt(z * z + h * h)

3. 重心----中線的交點, 計算公式如下:
   2.0 / 3 * (sqrt((2 * (a * a + b * b) - c * c) / 4)
          + sqrt((2 * (a * a + c * c) - b * b) / 4)
          + sqrt((2 * (b * b + c * c) - a * a) / 4))

4. 垂心----垂線的交點, 計算公式如下:
   3 * (c / 2 / sqrt(1 - cosC * cosC))

 

轉自http://hi.baidu.com/luosiyong/blog/item/349a8f1cba47448e87d6b6ff.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章