難しい曲線の命令の定義が続いたので、少しここで休憩しましょう。
ただの 無向線分は「線」命令で簡単に表せますが、有向線分を表したい場合もあるでしょう。そこで、線に矢尻をつけた矢印を描く命令を作ってみます。
矢尻比率とは数値=0.2
矢角度とは数値=PI/6
# 「100,200から300,400へ矢印」のように使う
●矢印({グループ=?母艦}OBJのX1,Y1からX2,Y2へ)
Rとは数値。θとは数値。ΔXとは数値。ΔYとは数値
OBJのX1,Y1からX2,Y2へ線
ΔX=X1-X2。ΔY=Y1-Y2
ΔX,ΔYをR,θへ極座標変換
Rに矢尻比率を直接掛ける
R,θ+矢角度をΔX,ΔYへデカルト座標変換
OBJのX2,Y2からX2+ΔX,Y2+ΔYへ線
R,θ-矢角度をΔX,ΔYへデカルト座標変換
OBJのX2,Y2からX2+ΔX,Y2+ΔYへ線
●デカルト座標変換(R,θを{参照渡し}X,{参照渡し}Yに|Yへ)
X = R * COS(θ)
Y = R * SIN(θ)
!HALF_PIとは数値=PI/2
●偏角(X,Yの)
もしXが0ならば
もしY>0ならば
HALF_PIを戻す
違えば # もしY≦0ならば
-HALF_PIを戻す
違えば、もしX>0ならば
ARCTAN(Y/X)を戻す
違えば # もしX<0ならば
ARCTAN(Y/X)+PIを戻す
●極座標変換(X,Yを{参照渡し}R,{参照渡し}θへ|θに)
R=HYPOT(X,Y)
θ=X,Yの偏角
中身は3本の線分を組み合わせているだけなので、実に単純です。今まで作った命令を利用して簡潔に記述できていますね。単純な分応用も利かせやすいので、一筆書きの矢印や、両側に矢尻がついた矢印など、色々工夫ができるでしょう。試しに作ってみるのがいいでしょう。