クリエイター手抜きプロジェクト[624]IoT Orange pico編 タートルグラフィックスに挑戦(2)
── 古籏一浩 ──

投稿:  著者:



今回は、Orange pico(Orangino)のタートルグラフィックスとプログラムを組み合わせて、図形を描いてみます。

まずは手軽な四角形(正方形)を描いてみましょう。タートルを描画開始座標に移動させたら、moveで描く辺の長さを指定します。次にturnで90度回転します。これを残り3辺に対して行います。

実際のプログラムは以下のようになります。





10 cls
20 turtle 1,160,80,1,0
30 for i=0 to 3
40 move 50
50 turn 90
60 next

三角形の場合は、角度と描画する辺の数を変えます。

10 cls
20 turtle 1,160,80,1,0
30 for i=0 to 2
40 move 50
50 turn 120
60 next

五角形の場合も同様に、描画する辺の数と角度を変えるだけです。この手法で六角形でも二十角形でも描くことができます。

10 cls
20 turtle 1,160,80,1,0
30 for i=0 to 4
40 move 50
50 turn 72
60 next

角度を1度ずつにすれば、円を描くこともできます。なお、円の半径はmove 1の部分で調整します。if i%2=0 then move 1とすると、小さい円が描かれます。i%2の値を大きくすればするほど小さい円になります。

10 cls
20 turtle 1,160,40,1,0
30 for i=0 to 360
40 move 1
50 turn 1
60 next

角度を一定にして移動距離を増やしていくと、渦巻きを描くことができます。

10 cls
20 r=1
30 turtle 1,160,100,1,0
40 for i=0 to 460
50 move r
60 turn 15
70 if i%10=0 then r=r+1
80 next

以下のようにすると、立方体・花びらっぽい図形を描くことができます。

10 cls
20 length=100
30 turtle 1,160,100,1,0
40 for i=0 to 5
50 move length/4
60 for j=0 to 6
70 turn 60
80 move length/4
90 next
100 next

五角形の星を描く場合は、以下のようになります。

10 cls
20 turtle 1,160,100,1,0
30 for i=0 to 5
40 move 15
50 turn -72
60 move 30
70 turn 144
80 move 15
90 next

タートルグラフィックスはプログラム側で再帰ができると、他にもいろいろな線を描くことができます。BASICでは標準で簡単に再帰ができないので、工夫しないといけません。チャレンジしてみたい人は、やってみると面白いかもしれません。

・再帰・再帰呼び出し(リカーシブコール)
https://ja.wikipedia.org/wiki/再帰


【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/

「早く家猫になりた〜い」

みたいな感じですり寄ってくる猫、マイケル。しかし、彼にはもう一匹ライバルがいたのだ。彼の名は平蔵。前々からいる白茶猫だけど、とりあえず竹中平蔵っぽい事をするので、そういう名前になったのだった(「鬼平犯科帳」の長谷川平蔵とまぎらわしいという意見も来たけど気にしない)。

体はマイケルの方が1.5倍くらい大きいのだが、気が弱いので体の小さい平蔵が来ると、そそくさと庭の草陰に隠れてしまう。果たして、マイケルが平蔵猫に勝てる日は来るのか?

・創って学ぼうプログラミング
https://news.mynavi.jp/series/makeprogram

・8K/4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/

・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/