2016年5月29日日曜日

Scratchでコンピュータグラフィックス01

Scratchでコンピュータグラフィックス

最近何かと話題のプログラミングツール「Scratch」。
簡単に子供でもプログラムが出来るという事で注目され、現在では外部に接続したロボットなどのマイコンプログラムも出来るようになったりと話題ですが、今回はもっと簡単な内容で「Scratch」を用いた「アルゴリズムを用いたコンピュータグラフィックス」をレクチャーしてみたいと思います。


Scratchの画面(Ver.2)

Scratchは様々な命令が記述されたブロックを組み合わせるような形でプログラミングをするソフトです。
画面右側がプログラムを記述する部分ですが、色々な色のブロックを組み合わせたものがあります。これがプログラム構文です。
様々な命令文は中央に並んでおり、ここから必要な物を右へドラッグしてくっ付けて行きます。
プログラムの結果は左の猫のイラストのある画面で表示されます。
今回はこの猫のイラストにプログラムで様々な命令をして動かしてみたいと思います。


線を描く

実際に画面上に線を引くプログラムを書いてみましょう。
まずは中央の「スクリプト」のところで「イベント」の項目を項目をクリックします。
下に表示されたブロックの中から「緑の旗がクリックされたとき」をマウスでドラッグして右の枠内に置きます。
これは左側のキャラクターが置かれている画面(ステージと言います)の右上にある緑の旗のマークを押すと、これ以下に接続される命令を実行するという「イベント」を表します。
では、画面に絵を描きますので、「スクリプト」の「ペン」から「ペンを下す」というブロックをドラッグして先ほどのブロックの下にくっ付けます。
そうすると、旗のマークがクリックされると絵を描くためにペンを用意するという一連の動作がプログラムできました。
このように「AをすればBをする」というような関係性を構築して行くのです。


では、更にペンの設定、つまり「どのようなペンを使うのか」を指定して行きます。
「スクリプト」の「ペン」から更に以下のように追加します。
「ペンの色を・・・にする」は描画色を選ぶ事ができます。
間の四角の部分をクリックすると、マウスポインタの先にある色をクリックで取る事ができます。(今回は「スクリプト」の「その他」をクリックしました。)
「ペンの太さを・・・にする」はペン先の太さの設定ができます。
数字を変更すれば太くも細くもできます。


更にこのように続けます。
「スクリプト」から「動き」の項目の中の「・・・歩動かす」を追加します。
これは、線を引くとき手にペンを持って「動かす」ようにペン先を移動させてその軌跡を描画するために追加します。
このスクリプトは初期状態ではステージ上の猫のキャラクタに記述されていますので、実行すると猫が現在位置から10歩移動して、その後に線が描かれるという事になります。


最後に以下のように続けます。
「スクリプト」の「制御」の項から「すべてを止める」と指定します。
これで一連の動作を終了して、プログラムを停止する事ができます。
この時にプログラムは終了するのですが、キャラクタの位置は実行後のままですので、繰り返して緑の旗をクリックすると、どんどん右の方向へキャラクタが移動してその後に線が描画されるのが確認できるはずです。

このように「どのような手順で結果を導き出すのか」という事を何らかの形にしたものを「アルゴリズム」と言い、Scratchではブロックの重ね方でその「手順」を作成して行くのです。

0 件のコメント:

コメントを投稿