acm模版
設三角形的三條邊為a, b, c, 且不妨假設a <= b <= c.
三角形面積可以根據海**式求得:
s = sqrt(p * (p - a) * (p - b) * (p - c));費馬點p = (a + b + c) / 2;
該點到三角形三個頂點的距離之和最小。
有個有趣的結論:
若三角形的三個內角均小於120度,那麼該點連線三個頂點形成的三個角均為120度;若三角形存在乙個內角大於120度,則該頂點就是費馬點。
計算公式如下:
若有乙個內角大於120度(這裡假設為角c),則距離為a + b
;若三個內角均小於120度,則距離為sqrt((a * a + b * b + c * c + 4 * sqrt(3.0) * s) / 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)
。
重心中線的交點。
計算公式如下:
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))。
垂心垂線的交點。
計算公式如下:
3 * (c / 2 / sqrt(1 - cosc * cosc))
。
外心三點求圓心座標。
point waixin(point a, point b, point c)
三角形相關
面積公式 1.s 1 2absinc 1 2acsinb 1 2bcsina 2.s 根號下p p a p b p c 其中p a b c 2 3.s abc 4r r為外接圓的半徑 4.s 1 2 x1 y2 x2 y3 x3 y1 x2 y1 x3 y2 x1 y3 其中三個頂點的座標分別為a ...
三角形相關演算法
1 陣列中能組成三角形的數目 int count vector int s int sum 0 sort s.begin s.end for int i 2 i isize i return sum 2 陣列三角形如下圖示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路徑,使該路徑所經過的...
數字三角形相關解法
解法一 遞迴 max sum i,j 用來計算d i j 到底邊最長路徑之和。用乙個陣列maxsum i j 儲存d i j 到底邊最長路徑之和,避免重複計算,初始值是 1。根據遞迴的原理,遞迴的條件是 maxsum i j max max sum i 1,j max sum i 1,j 1 d i...