交点計算(円−直線)

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




fx-4850P版はこちらです→fx-4850P 交点計算(円−直線)

マニュアル、操作手順書のサンプルはこちらです→交点計算(円−直線)

交点計算(円−直線)

 円と直線の交点(P),(Q)の座標(Px,Py),(Qx,Qy)を計算します。
 円の入力データは中心点(O)の座標(Xo,Yo)と半径(R)だけですが、直線の入力データは、「一点の座標と方向角」,「二点の座標」の二種類から選択できます。


交点計算(円−直線) 【プログラム番号:P6】
   AC 999 MinF 1 Min71
LBL0 0 Min50 Min9F MR51 "Xo ?" HLT
   Min51 MR52 "Yo ?" HLT
   Min52
LBL9 MR53 "R ?" HLT
   Min53 +/- X>=0 GOTO9
LBL2 1 +/- Min50 MR71 "(1P1A[RTA]1 2P[RTA]2) ?" HLT
   M+50 MR50 X=0 GOTO1
   MR50 - 1 = X=0 GOTO1
   GOTO2
LBL1 MR54 "Ax ?" HLT
   Min54 Min91 MR55 "Ay ?" HLT
   Min55 Min92 MR50 X=0 GOTO3
   MR56 "Bx ?" HLT
   Min56 Min93 MR57 "By ?" HLT
   Min57 Min94 GSBP19
   MR9F X=F GOTO0
   MR96 Min58 GOTO4
LBL3 MR58 SDMS "Hoko ?" HLT
   Min58
LBL4 MR54 - MR51 = Min59 MR55 - MR52 = Min60 MR58 - 90
   = X=0 GOTO6
   MR58 - 270 = X=0 GOTO6
   MR58 TAN Min61 * MR59 - MR60 = Min62 * MR61 = Min63
   MR53 X^2 * ( MR61 X^2 + 1 ) - MR62 X^2 = X>=0 GOTO5
   GSBP18
   MR9F X=F GOTO0
LBL5 SQR Min64 MR61 X^2 + 1 = Min65 ( MR63 + MR64 ) / MR65 =
   Min66 + MR51 = Min67 MR66 * MR61 - MR62 + MR52 = Min68
   ( MR63 - MR64 ) / MR65 = Min66 + MR51 = Min69 MR66 * MR61
   - MR62 + MR52 = Min70 GOTO8
LBL6 MR53 - MR59 ABS = X>=0 GOTO7
   GSBP18
   MR9F X=F GOTO0
LBL7 MR54 Min67 Min69 MR53 X^2 - MR59 X^2 = SQR Min66
   + MR52 = Min68 MR52 - MR66 = Min70
LBL8 "Px=" MR67 HLT
   "Py=" MR68 HLT
   "Qx=" MR69 HLT
   "Qy=" MR70 HLT
   GOTO1

エラー表示サブルーチン 【プログラム番号:P18】
   999 Min9F 0 " DATA ERROR" PAUSE

座標変換サブルーチン 【プログラム番号:P19】
   0 Min9F MR91 - MR93 = X=0 GOTO1
   GOTO3
LBL1 MR92 - MR94 = X=0 GOTO2
   GOTO3
LBL2 GSBP18
   GOTO5
LBL3 MR93 - MR91 = R>P ( MR94 - MR92 ) = Min95 X<>Y X>=0 GOTO4
   + 360 =
LBL4 Min96
LBL5

ご注意下さい
  • 上記プログラムソースは見やすいようにインデント・改行されていますが、FX-603Pに入力する際には、インデント・改行を無視してください。
  • サブルーチンは他のプログラムと共用しますのでプログラム番号を変更しないでください。
  • 当プラグラムソースはASCIIコードで書かれていますので、実際の表現とは違う部分があります。表現の違いは下表の通りです。