|
> No.4419[元記事へ]
yoshipyutaさんへのお返事です。
> 数学研究ノートさんにある次の2つのUBASICプログラムを十進BASICに変換できますか。よろしくお願いいたします。UBASICは計算はすぐれていますがグラフィックが扱いずらい。
>
> (1)1/Zの絶対値模様
>
> 130 screen 3:locate 0,27:R=10^3
> 200 ' complex number
> 220 for X=0 to 400
> 230 for Y=0 to 400
> 250 Z=(X-200)/R+#i*(Y-200)/R
> 350 if Z<>0 then pset (X,Y),int(abs(1/Z))@7
> 370 next
> 380 next
(1)は次のように移植できます。
十進BASICとは違うカラーコードを採用しているようで、色の並びが違っています。
色もそろえたい場合は、十進BASICの[ヘルプ][グラフィックス][色指標]を参考にして色指標を変更してください。
(1)1/Zの絶対値模様
OPTION ARITHMETIC COMPLEX
SET POINT STYLE 1
130 SET BITMAP SIZE 401,401
SET WINDOW 0,400,0,400
LET R=10^3
200 ! complex number
220 for X=0 to 400
230 for Y=0 to 400
250 LET Z=COMPLEX((X-200)/R,(Y-200)/R)
350 if Z<>0 then
SET POINT COLOR MOD(int(abs(1/Z)),7)+1
PLOT POINTS: X,Y
end if
370 next Y
380 next X
END
(2)も同様にして移植できますが、十進BASICでは色指標が0~255の範囲になければならないので、
pset (X,Y),round(abs(Z^2))@4096
の部分は、
SET POINT COLOR MOD(round(abs(Z^2)),256)
PLOT POINTS: X,Y
で対応します。
4096色がほしい場合は、[ヘルプ][グラフィックス][Color Mode(独自拡張)]にある24ビットの色指標を利用すればできます。
|
|