三角形重心、垂心、外心及內心(I)

程式由網友 roviury 提供。已知三角形三頂點的坐標,程式可計算三角形的重心、垂心、外心及內心的坐標。

更新程式日期: 2010年7月12日

程式需要在 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。

程式一 (171bytes,分數版(重心、垂心、外心較大機會直接得出分數答案))

?→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

(B+D+y-Y)┘2◢ A , B ; Pol(x-C , y -D) + 0Pol(x-A , y-B DT:

C , D ; X DT: x y
 

程式二 (167bytes,小數版)

?→X: ?→Y: ?→A: ?→B: ?→C: ?→D: 3-1(A+C+X◢

3-1(B+D+Y◢ 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◢ . 5(A+C+x-X◢

. 5(B+D+y-Y◢ A , B ; Pol(x-C , y -D) + 0Pol(x-A , y-B DT:

C , D ; X DT: x y

 

程式三 (159bytes,小數簡化版)

?→A: ?→B: ?→X: ?→Y: ?→C: ?→D: 3-1(A+C+X◢

3-1(B+D+Y◢ FreqOn: X , Y ; Pol(B-D , A-C DT

tan(Y→Y: B - y: C + Ans(Yx+y-YC-D) ÷

(x+AnsY-A→X◢ y+xY-XY→Y◢ . 5(A+C+x-X◢

. 5(B+D+y-Y◢ 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 (顯示1,所以內心 = (3 , 1))

 

註1: 若兩點的y坐標相同,程式有可能會出現Math ERROR,只要改為輸入第一點及第三點的y坐標不同即可。

註2: 外心亦是三點共圓的圓心。

 

參考資料:

http://agutie.homestead.com/files/center/nine_point_center_euler.html

 

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

 

 

程式舊版

ClrStat: ?→A: ?→B: ?→C: ?→D: ?→X: ?→Y:

X , Y DT: (A + C + X)┘3◢ (B + D + Y)┘3◢

(X - A)┘(B - Y→M: D - MC→X: (C - A)┘(B - D→Y:

(Σy - YΣx - X)┘(M - Y→Y◢ AnsM + X→M◢

(A + C + Σx - Y)┘2◢ (B + D + Σy - M)┘2◢

Pol( A-C , B-D→M: Pol(C-Σx , D-Σy: √( (A - Σx)2 + (B - Σy)2→Y:

(AX+CY+ΣxM)┘(X+Y+M◢ (BX+DY+ΣyM)┘(X+Y+M