BOKUのブログ

ジャンルにこだわらず、ノートの感じで書いてます

Scratch(スクラッチ)(5)/星を描く(正五角形の応用で描けるよ)

f:id:arakan_no_boku:20200824233948p:plain

正五角形を描くScratchプログラムを元に、星を描いてみます。用語などでわからない部分があれば、以下の記事を参照ください。

arakan-pgm-ai.hatenablog.com

正五角形を描く復習

星と正五角形の描き方は同じです。動く角度が違うだけです。なので、復習をかねて、まずは上向きの正五角形を描いてみます。正五角形は、72度ずつ回転させて、線をひくと描けます。回転方向は左です。右回しすると下向きの五角形になります。

  • 左回し
  • 回してから動かす

f:id:arakan_no_boku:20200903224409p:plain

初期化する部分は以下のようにします。

  • 開始位置を、X座標=50、Y座標=0にする。

f:id:arakan_no_boku:20200903224503p:plain
これで描かれるのは。

f:id:arakan_no_boku:20200829231233p:plain

こんな五角形です。これが、星を描くベースです。

角度を144度にすると星が描けるよ

正五角形の描き方で回転する角度を変えれば星が描けます。回転する角度を、72度 → 144度(72度×2)にしてみます。 

f:id:arakan_no_boku:20200903224635p:plain

こうすると、以下のような星が描けます。

f:id:arakan_no_boku:20200903223721p:plain

回転角度を216度にするとさらにきれいな星が描けるよ

さらに角度を変更してみます。72度 → 216度(72×3)にします。

f:id:arakan_no_boku:20200903224749p:plain

すると、もっときれいな星になります。

f:id:arakan_no_boku:20200903224904p:plain

いい感じです。 

変数を使って、角度と繰り返し回数を変えられるようにしてみよう

角度を適切に変えると星が描けました。ただ、毎回スクリプトを修正するのもベタな話です。実行画面で、動かす歩数や繰り返し回数をあれこれ変えて試せるように変数を使ってみます。 変数の定義の仕方とかは以下を参照ください。

arakan-pgm-ai.hatenablog.com

今回は以下を作ります。

f:id:arakan_no_boku:20200903232402p:plain

初期状態の場所を示す「X」と「Y}。あとは、言葉のまんまです。それぞれの数字を変数に置き換えるとこんな感じです。

f:id:arakan_no_boku:20200903232535p:plain

初期状態に戻す部分もこんな感じ

f:id:arakan_no_boku:20200903232636p:plain

 

遊びやすいように、スライダーを選んで、変数の値を変更できるようにします。

f:id:arakan_no_boku:20200903232951p:plain

変数を右クリックして「スライダーの指定範囲を変更」を選んで、以下のように範囲設定をします。

f:id:arakan_no_boku:20200903233424p:plain

今回は、以下のようにしてみました。

  • X: 0 ~ 50
  • Y: -50 ~ 50
  • 動かす歩数: 100 ~ 120
  • 回す角度: 72 ~ 216
  • 繰り返し回数: 5 ~ 50

これでスライダーを動かして、値を変えれば、いろいろ試せるようになります。

値を変えてどんな形ができるかあそんでみよう

値を動かすと形が変わります。ほとんどは無茶苦茶になりますが(笑)たまに、おっと思うような星が描けます。ちなみに。自分のおすすめは、繰り返し回数=50回、回す角度=188度です。

f:id:arakan_no_boku:20200903234308p:plain

これを動かすと、Gaboくんがグルグル動きながら、ウニみたいな図形を描きます。

f:id:arakan_no_boku:20200903234412p:plain

よくないですかね(笑)

プロジェクトは公開しています

例によって、このプロジェクトも以下のリンクで公開しています。

https://scratch.mit.edu/projects/421165619

f:id:arakan_no_boku:20200903235112p:plain

動かしてみたり、「中を見る」ボタンでプログラムを確認したり・・ご自由にどうぞ。

今回はこんなところで。