
BASIC/98での、arctan(Y/X)の算術関数ATN(X/Y)の演算結果は、
-π/2~π/2の値となります。従って、上図の図1の、第一及び第四象限では、算術関数ATN(X/Y)は、そのままの値で問題はない。問題となるのは、第二及び第三象限の場合である。
第二及び第三象限の場合でのθ=arctan(Y/X)の計算方法は、いくつか考えられるが、其のいくつかの方法を試みた結果、私は、現在、上図方法で計算している。
この方法が、現在のところ、全象限での画像の連続性は最も良い。
これは経験上のことで未だ理屈として正しいのかどうか確信はない。
もっと理屈にかなったθ=arctan(Y/X)の計算方法が有るかも知れない。
--------------------------------------------------
私は、θ=arctan(Y/X)の計算は下記のようなプログラムでサブルーチン化している。
5000 REM θの計算:file name ARCTAN3A
5010 IF X=0 THEN 5020 ELSE 5050
5020 IF Y=0 THEN TH=0 :GOTO 5090
5030 IF Y>0 THEN TH=P/2 ELSE TH=-P/2
5040 GOTO 5090
5050 AA=Y/X
5060 IF X>0 THEN TH=ATN(AA) :GOTO 5090
5070 IF X<0 AND Y>0 THEN TH=ATN(AA)+P :GOTO 5090
5080 IF X<0 AND Y<0 THEN TH=ATN(AA)-P
5090 RETURN