プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。
今回は「ペン」をつかった応用作品についてお届けします。
対象は小学校高学年のお子さん向けになっています。小学校低学年のお子さんは、保護者がまず作り、お子さんがプログラムを改造するという方法がおすすめです。
前回はバラ曲線をつくりましたが、今回はまた別の幾何学模様2種類を作ってみます。
1. マウラーローズ(Maurer Rose)でアート作品を作ろう
「マウラーローズ?なにそれ?」と初めて聞く方もおおいと思いますが、変数の組み合わせでとっても綺麗な曲線が描けますよ。
1-1. マウラーローズ(Maurer Rose)って何?
前回描いたバラ曲線(Rose Curve:ローズカーブ)上の点を結んだ直線で構成される図形です。直線しか使っていないのに出来上がる図形はなぜか立体的で曲線的に見える不思議な模様に。式はこちらです。
今回も難しくてよくわかりませんが(笑)上の式をScratchの数式に当てはめるだけです。またnとdの値を変えると模様が変化しますよ。そして、θは0から360までの範囲しか動かしません。出来上がりはイメージはこちら。
n=5, d=97で作った模様
1-2. マウラーローズ(Maurer Rose)の式をScratchで表そう
前回の記事同様に式をScratchで表現します。変数n、d、シータをあらかじめ作っておきましょう。
まずrの式はこちらです。
こちらをScratchで表現すると
次にxとyです。上記のrを複製して使いましょう。

赤枠の部分がrです。上がx座標、下がy座標を表す式です。

1-3. 線を描くプログラムを作る
絵のないスプライトを用意しましょう。絵のないスプライトに対して、次のようなプログラムを作ります。
シータは0から360まで変化させます。上記の式そのままだと描かれる曲線が小さ過ぎるので100をかけて大きさを100倍にしています。
1-4. その他のプログラムを作る
ここまでできたら、nやdを設定するプログラムやペンの色を設定するプログラムなどを調整しながら追加していきましょう。
今回もnとdをキャラクターが尋ねる形式にしました。
1-5. いろいろな模様を描いてみよう
nとdの組み合わせを変えるといろいろな模様ができますよ。試してみてくださいね。下に例を記載しておきます。
n=2、d=39
n=3、d=47
n=40、d=29

以下の表の組み合わせで、美しい模様ができるようです。試してみてくださいね。
マウラーローズ(Maurer rose)のプログラムはこちらです。
https://scratch.mit.edu/projects/217244320/
2. スピログラフ
つづいてはスピログラフです。スピログラフってそもそもどんな図形なのか?定義からご確認ください。
2-1. スピログラフって何?
スピログラフは、歯車の穴にペンを入れてぐるぐる回して模様を描くおもちゃのこと。スピログラフで描ける曲線は、正式にはハイポトコロイドという曲線と呼ぶそうです。
半径rcの円の内側を半径rmの円がぐるぐるまわります。その時、緑の円の中にある赤い点(中心からの距離がrd)の軌道を描いたのがスピログラフで描ける曲線ということになります。
xとyの座標を表す式はこちらです。
2-2. スピログラフの式をScratchで表そう
rcは外側の円の大きさなので、今回は150で固定します。
rdとrmを自由に設定できるようにしておきましょう。
まず変数を4つ作成します。つくるのはrc、rm、rd、シータです。
そして、x座標とy座標の式を作ります。
シータがずっと1づつ変わるようにしてペンで線を引くプログラムを作ります。
背景の色やペンの濃度の調整などを行うと・・・こんな模様が描けました!
スライダーでrmとrdの値をいろいろ変えて、どのような模様になるか試してみてくださいね。
サンプルプロジェクトはこちらです。ぜひ試してみてください。
https://scratch.mit.edu/projects/216952722/
ペン編(5)まとめ
今回はマウラーローズとスピログラフを作ってみました。基本さえわかってしまえば、作るのは簡単ですね。
アート作品としてつくるためには下記のポイントも調整してみましょう。
・ペンの色の変え方を調整する
・背景の色を調整する
・ペンの濃さを調整する
数値を変えることで毎回違った形が生まれるのもとても楽しい作品です。ぜひいろいろな組み合わせをためしてみて、綺麗な模様を探し出してみてください。