三角形的重心、垂心、外心 、九點心及內心

程式由網友 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: xy

 

例題: 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

 

返回 CASIO fx-50FH、fx-3650P II、fx-50FH II及fx-50F PLUS 程式集