N88-BASICでCIRCLE (2回目)

2022/3/10(木)
N88-BASICでCIRCLE (2回目)
 
前回の3点を通る円を円弧にします
3点と中心の位置ベクトルをA,B,C,O
とすると、
ベクトルA-Oとx軸(正方向)のなす角θ
を求めます
 
A-O=(x,y)とすると、 0°≦θ< 360°は、
-90°≦ Tan-1(y/x) ≦ 90°として、
x = 0 のとき、
  不明  (if y = 0)
   90° (if y > 0)
  270° (if y < 0)
x > 0 のとき、
  Tan-1(y/x)        (if y ≧ 0)
  360°+ Tan-1(y/x) (if y < 0)
x < 0 のとき、
  180°+ Tan-1(y/x)
 
3点A,B,Cのどれを始点、間の点、終点
にするかによって、描かれる円弧が
変わります
 
BASICでは角度はラジアン(弧度法)なので
0≦θ<2π
です
 
今回は、A,B,Cの順に点を打つとして、
AからCへBを経由する円弧を描きます
 
A<B<C → A to C
B<C<A → A to C
C<A<B → A to C
A<C<B → C to A
B<A<C → C to A
C<B<A → C to A
 
860 IF W > 0 THEN T = ATN(H / W) - (H < 0) * 2 * PI: RETURN
この行の(H < 0)は、真なら-1、偽なら0になる
 
NL-BASICとblg~.zip(cir002.bas)は
以下のリンクからダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい

 










このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)