Scratchプログラミング言語 

任意の円描画

Scratch には,円を描く手続きは準備されていないので,円を描く原理に従ってプログラムを書く必要がある.

 sin θ 値に対して,その cos θ 値を0〜360° プロットすると円が描かれることを以前紹介した(下図参照).各点 a, b, c, d, e ・・・・は 0° , 45° , 90° , 135° , 180° ,・・・・における sin 値, cos 値のその組み合わせによる座標を括弧内に示した.8点だけでも円状に見えるが,32,64と点数を増やすと綺麗な円に見えるようになる.

sin, cos 値は 0~1.0 間の値なので,大きく拡大しないと円には見えない.実際のプログラムでは,適当なスケールを掛けて拡大して表示する必要がある.

 拡大するスケールの大きさを指定することにより,任意の大きさの円を描くことができる.左側のプログラムは,実行すると半径を入力するように促されるので,適当な数値を入力し,リターンキーを押下するとキャンバスの中心に円が描かれる.

右側のプログラムは,キャンパスの任意の位置に任意の半径で赤ペンで円を描く.ペンの色も変えるようにするには対話形式で入力すればよい.

 両方のプログラムとも,「180回繰り返す」にしたため,x,yは2すつ変えるようになっている.「1ずつ変える」を360回繰り返してもよいが,描画に時間がかかる.「4ずつ変えるを90回繰り返す」にすると点線になってしまう.

注)値円を描くにはX軸,Y軸にそれぞれ異なる係数を掛けてやる必要がある.