三角形的重心、垂心、外心 、九點心及內心
程式由網友 roviury 提供。
已知三角形三頂點的坐標,程式可計算三角形的重心 、垂心、外心、九點心及內心的坐標。另外為方便以假分數顯示,建議將計數機預先設定為假分數形式表示(按六次 Mode,再按 2 EXE )。
更新日期: 2012年2月1日
程式需要在 REG Lin 模式下執行,因此在選擇新程式位置後,按 5 1 選用REG Lin模式。
注意: 藍色的英文字為統計模式中的變數(n 按 shift 1 3 ,x為平均x 按 shift 2 1 1,y為平均y 按 shift 2 1 → 1),FreqOn 按 Shift MODE ← ← 1。
程式(191 bytes)
?→X: ?→Y: ?→A: ?→B: ?→C: ?→D: (A+C+X)┘3◢
(B+D+Y)┘3◢ FreqOn: X , Y ;
Pol(A-C , B-D DT:
(x-C)
┘ (y-D→Y: y
- B: C + Ans(YA+B-YC-D) ┘
(A+AnsY-x→X◢
B+AY-XY→Y◢ (A+C+x-X)┘2→M◢
(B+D+y-Y)┘2◢
Ans+Y→Y: (M+X)┘2◢ Y┘2◢
A , B ; Pol(x-C , y -D) + 0Pol(x-A , y-B DT: C , D ; X DT: x◢ y
例題: A、B及C三點的坐標分別為(4 , 3)、(0 , 0) 及 (4 , 0),求三角形ABC的內心、重心、垂心 、外心及九點心坐標。
按 Prog 1 再按 4 EXE 3 EXE 0 EXE 0 EXE 4 EXE 0
EXE (顯示8/3) EXE (顯示1,所以重心=(8/3, 1))
EXE (顯示4) EXE (顯示0,所以垂心=(4, 0))
EXE (顯示2) EXE (顯示3/2,所以外心=(2, 3/2))
EXE (顯示3) EXE (顯示3/4,所以九點心=(3, 3/4))
EXE (顯示3) EXE (顯示1,所以內心 = (3 , 1))
註1: 若兩點的y坐標相同,程式有可能會出現Math ERROR,可以嘗試改變點的先後次序。
註2: 外心亦是三點共圓的圓心。
參考資料:
http://agutie.homestead.com/files/center/nine_point_center_euler.html
附錄程式一(只計算垂心、外心、九點心版本)
?→X: ?→Y: ?→A: ?→B: ?→C: ?→D:
FreqOn: X , Y ;
Pol(A-C , B-D DT:
(x-C)
┘ (y-D→Y: y
- B: C + Ans(YA+B-YC-D) ┘
(A+AnsY-x→X◢
B+AY-XY→Y◢ (A+C+x-X)┘2→M◢
(B+D+y-Y)┘2◢
(M+X)┘2◢ (B+D+y+Y)┘4
附錄程式二(由網友tony200910041及Skwai提供,順序計算重心、垂心、外心、外心圓半徑、內心及九點心 的複數版本)
附錄程式二需要在 CMPLX 模式下執行,因此在選擇新程式位置後,按 2 選用CMPLX模式 ,而坐標資料會以複數形式輸入及顯示答案。
?→A: ?→B: ?→C: A + B + C→X: 3-1Ans◢ arg( A - C ) - arg( B - C→Y:
C+i ( B - A ) tan( 90o - Y→M◢ . 5( X - AnsM+◢
Abs( A - Ans◢ . 5M◢ Abs( A - C )- Abs(A - B:
C + . 5( B - C + 1∠ arg( B - C )Ans )( 1 + i tan( .5Y