三角形的內心、重心、垂心 、外心、外心圓半徑及圓方程
程式是參考網友 yuen 的程式編寫。
已知三角形三頂點的坐標,程式可計算三角形的內心、重心 、垂心、外心、外心圓半徑及圓方程。另外為方便以假分數顯示,建議將計數機預先設定為假分數形式表示(按六次 Mode,再按 2 EXE )。
更新日期: 2012年1月11日
程式需要在 REG Lin 模式下執行,因此在選擇新程式位置後,按 5 1 選用REG Lin模式。
注意: 藍色的英文字為統計模式中的變數(Σx 按 Shift 1 2,Σy 按 Shift 1 → 2,maxX 按 shift 2 2 2,maxY 按 shift 2 2 → 2,n 按 Shift 1 3)。另外若果不計算外心圓半徑及圓方程,綠色的程式碼可以不輸入,程式長度則變為203 bytes。
程式 (227 bytes / 197 bytes)
FreqOn: ?→A: ?→B: ?→C: ?→D: ?→X: ?→Y:
X , Y ; Pol( A-C , B-D DT:
Pol(C-maxX , D-maxY: √( (A - maxX)2 + (B - maxY)2→Y:
(AX+CY+Σx)┘(X+Y+n◢ (BX+DY+Σy)┘(X+Y+n◢
(A + C + maxX)┘3◢ (B + D + maxY)┘3◢
(maxX - A)┘(B - maxY→M:D - MC→X: (C - A)┘(B - D: (maxY - Ans maxX - X)┘(M - Ans→Y◢
YM + X→M◢ (A + C + maxX - Y)┘2→A◢
(B + D + maxY - M)┘2→B◢ Pol( A - C, B - D◢ -2A◢ -2B◢ A2 + B2 - X2
例題: A、B及C三點的坐標分別為(4 , 3)、(0 , 0) 及 (4 , 0),求三角形ABC的內心、重心 、垂心、外心、外心圓半徑及外心圓方程。
按 Prog 1 再按 4 EXE 3 EXE 0 EXE 0 EXE 4 EXE 0
EXE (顯示3) EXE (顯示1,所以內心 = (3 , 1))
EXE (顯示8/3) EXE (顯示1,所以重心=(8/3, 1))
EXE (顯示4) EXE (顯示0,所以垂心=(4, 0))
EXE (顯示2) EXE (顯示3/2,所以外心=(2, 3/2))
EXE (顯示外心圓半徑為2.5)
EXE (顯示 - 4) EXE (顯示 - 3) EXE (顯示 0)
所以外心圓方程為 x2 + y2 - 4x - 3y = 0
註1: 若兩點的y坐標相同,程式有可能會出現Math ERROR,可以嘗試改變點的先後次序。
註2: 外心亦是三點共圓的圓心。
註3: 如果不計算重心,程式碼 (A + C + Σx)┘3◢ (B + D + Σy)┘3◢ 可以省略。
參考資料:
http://agutie.homestead.com/files/center/nine_point_center_euler.html
附錄程式(三角形的內心、重心 、垂心、外心、九點心、外心圓半徑及圓方程)
由網友 tony200910041提供
程式 (243 bytes)
ClrStat: ?→A: ?→B: ?→C: ?→D: ?→X: ?→Y:
X , Y ; Pol( A-C , B-D DT:
Pol(C-maxX , D-maxY: √( (A - maxX)2 + (B - maxY)2→Y:
(AX+CY+Σx)┘(X+Y+M◢ (BX+DY+Σy)┘(X+Y+M◢
(A + C + maxX)┘3◢ (B + D + maxY)┘3◢
(maxX - A)┘(B - maxY→M:D - MC→X: (C - A)┘(B - D: (maxY - Ans maxX - X)┘(M - Ans→Y◢
YM + X→M◢ (A + C + maxX - Y)┘2→A◢
(B + D + maxY - M)┘2→B◢ (Y + A)┘2◢ (M + B)┘2◢
Pol( A - C, B - D◢ -2A◢ -2B◢ A2 + B2 - X2