三點求三角形面積
程式二及程式三由網友 roviury提供。
更新日期: 2012年5月16日
程式一 (45 bytes,使用記憶為A, B, C, X, Y及D)
?→A: ?→B: ?→C: ?→X: ?→Y: ?→D:
Abs( AX+CD+YB-CB-YX-AD ) ┘2
程式二需要在 CMPLX 模式下執行,因此在選擇新程式位置後,按 2 選用CMPLX模式 ,而坐標資料會以複數形式輸入。
程式二(33 bytes,使用記憶為A, B及C)
?→A:?→B:?→C:
AConjg(B)+BConjg(C)+CConjg(A:
4-1Abs(Ans-Conjg(Ans
程式三需要在 CMPLX 模式下執行,因此在選擇新程式位置後,按 2 選用CMPLX模式,而坐標資料會以複數形式輸入。
程式三(33 bytes,使用記憶為A, B及C)
?→A:?→B:?→C: B-A:
. 5Abs( Ans(C-A) sin( arg( Ans÷(C-A
例題: 己知三點分別為(2,3),(4,5)及(3,7),求三角形面積。
程式一的按法:
按 Prog 1 再按 2 EXE 3 EXE 4 EXE 5 EXE 3 EXE 7 EXE (顯示面積為3)
程式二或程式三的按法:
按 Prog 1 再按 2 + 3i EXE 4 + 5i EXE 3 + 7i EXE (顯示面積為3)
附錄: 程式計算數學原理 (由網友roviury提供)
程式2:
A=a+bi
B=c+di
C=e+fi
AConjg(B)=(a+bi)(c-di)=ac+bd+bci-dai
Im( AConjg(B) ) = bc-da
Im( BConjg(C) ) = de-fc
Im( CConjg(A) ) = fa-be
Im( AConjg(B)+BConjg(C)+CConjg(A) ) = bc+de+fa-da-fc-be
(abs. prevent closewise input)
程式3:
arg( (B-A)/(C-A) ) = BA與CA的夾角
|B-A| = AB的長度
|(B-A)(C-A)sin [ arg( (B-A)/(C-A) ) ] |
=|B-A||C-A||sin[ arg( (B-A)/(C-A) ) ] ( 在象限I,II, sin 必為正 )