交点計算(直線−直線)

CASIO fx-4850P版 測量計算ソフト プログラムソース




FX-603P版はこちらです→FX-603P 交点計算(直線−直線)

交点計算(直線−直線)

 二直線の交点(P)の座標(Px,Py)を計算します。
 直線データの入力は、2点座標と、1点座標と方向角の2通りの方法があります。

交点計算(直線−直線)画面

交点計算(直線−直線) 【ファイル名:P5】
   Fixm:Defm 10:M=0:N=0:Cls
Lbl 0:"<KOUTEN_S-S>"
Lbl 1:{A,B}
   A"A1X_":B"A1Y_"
   Cls:{M,K}
   "A-LINE_INPUT"
   "__ZAHYO___⇒0"
   M"__HOKOKAKU⇒1_"
   M≠0⇒Cls:K"A-HOKOKAKU_":Goto 2△
   Cls:{C,D}
   C"A2X_":D"A2Y_"
   T=A:U=B:V=C:W=D
   Prog "ZA.SUB"
   Z=999⇒Cls:Goto 1△
   K=Y
Lbl 2:Cls:{E,F}
   E"B1X_":F"B1Y_"
   Cls:{N,L}
   "B-LINE_INPUT"
   "__ZAHYO___⇒0"
   N"__HOKOKAKU⇒1_"
   N≠0⇒Cls:L"B-HOKOKAKU_":Goto 3△
   Cls:{G,H}
   G"B2X_":H"B2Y_"
   T=E:U=F:V=G:W=H
   Prog "ZA.SUB"
   Z=999⇒Cls:Goto 2△
   L=Y
Lbl 3:(K−L)=0⇒Prog "ER.SUB":Cls:Goto 1△
   Abs (K-L)=180⇒Prog "ER.SUB":Cls:Goto 1△
   T=A:U=B:V=E:W=F
   Prog "ZA.SUB"
   Z=999⇒Cls:Goto 1△
   K=90⇒Goto 4△
   K=270⇒Goto 4△
   L=90⇒Goto 5△
   L=270⇒Goto 5△
   O=tan K
   P=tan L
   Q=(P×E−O×A+B−F)÷(P−O)
   R=O×(Q−A)+B
   Goto 6
Lbl 4:Q=A
   R=tan L×(Q−E)+F
   Goto 6
Lbl 5:Q=E
   R=tan K×(Q−A)+B
Lbl 6:Cls
   "PX=":Q:Pause 0
   "PY=":R▲
Lbl 7:Cls:S=0
   {S}
   "CONTINUE__⇒0"
   S"TOP⇒2__END⇒9_"
   S=0⇒Goto 2△
   S=2⇒Cls:Goto 0△
   S≠9⇒Goto 7△

エラー表示サブルーチン 【ファイル名:ER.SUB】
   Z=999
   "DATA_ERROR"
   Pause 3
   Cls

座標変換サブルーチン 【ファイル名:ZA.SUB】
   Fixm:Z=0
   (T-V)≠0⇒Goto 1△
   (U-W)≠0⇒Goto 1△
   Prog "ER.SUB":Goto 2
Lbl 1:X=W-U:Y=V-T
   Deg:Pol(Y,X):J≦0⇒J=J+360△
   X=I:Y=J
Lbl 2

ご注意下さい
  • 上記プログラムソースは見やすいようにインデントされていますが、fx-4850Pに入力する際には、インデントを無視してください。
  • ファイル名は変更可能ですが、ソフト起動プログラム(QUICK RUN)を利用する場合には変更しないでください。
  • サブルーチンは他のプログラムと共用しますのでファイル名を変更しないでください。
  • プログラムの入力やファイル名の変更は、fx-4850Pの取扱説明書をよくお読みになってから行ってください。
  • アルファベットの「O」と数字の「0」を区別するため、アルファベットの「 O 」にアンダーラインを入れて表示しています。
  • fx-4850Pのプログラムには通常のテキストでは忠実に表現できないものがあります。本プログラムリストでは下表の通り表現していますのでご注意ください。