三角形ABC幾個重要的 點

2021-09-05 15:41:57 字數 965 閱讀 4056

三角形abc幾個重要的點

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

三角形的面積可以根據海**式算得,如下:

s = sqrt(p * (p - a) * (p - b) * (p - c)), p = (a + b + c) / 2

下面是計算該點到三角形三個頂點a,b,c的距離之和(從上海交大2004 programming contest

抽取出來的)

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))

判斷點是否在三角形內 畫三角形的重要方法

判斷點是否在三角形內。是畫三角形的重要方法,尤其是做遊戲的程式設計師,這種演算法值得收納。實驗環境 win10 實驗工具 codeblocks 判斷點a是否在三角形bcd內部。只要滿足 ab ac,ac ad和 ad ab同號即可,相當於沿順時針或者逆時針繞三角形一圈時,點a始終出現在同一側。點積 ...

求大三角形中三角形個數

一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...

經典演算法 (三)帕斯卡三角形(楊輝三角形)

楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。簡介 楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在165...