スクラッチで関数を描く(楕円篇)

ゲーム作りのテクニック

今回作るもの

今回はスクラッチで楕円の軌道を描いていきます。スクラッチで関数を描くことに慣れると、関数をより身近に感じることができるようになると思います。楕円の関数は高校生で学習する難易度の高いものですが是非チャレンジしてみてください。

緑の旗を押してみてください。楕円が描かれるのがわかります。

楕円の関数

横長の楕円を考えた場合、長い方の半径をa、短い方の半径をbとすると楕円の方程式は以下のようになります。aとbが同じ長さの時は円になるということです。

スクラッチで関数を描く(楕円篇)

楕円の関数をコードで書く

では楕円の関数をコードで書いてみましょう。今回はボールのスプライトを使っています。

軌道がわかりやすいようにスタンプを活用しています。
xを-100〜100まで移動させ、それぞれのxに対するyの値を求めていくことになります。

上半分を描くときと下半分を描くときでyの±が変わるのがポイントです。

スクラッチで関数を描く(楕円篇)

これで、楕円の軌道が描けます。楕円軌道ブロックの引数(150,100の部分)を変更することで異なった形の楕円を作ることができます

実際に緑の旗を押してみましょう。原点を中心とした楕円が描けます。

楕円の中心を原点からずらす

楕円の中心を原点(0,0)からずらした場合の関数も紹介します。

スクラッチで関数を描く(楕円篇)

こちらもコードにすると以下の通りとなります。

ブロックの引数に、a,bに加え、中心の座標(Tx,Ty)も追加します。

スクラッチで関数を描く(楕円篇)
スクラッチで関数を描く(楕円篇)

緑の旗を押してみてください。

中心をずらした楕円が描けるようになります。

すべてのコード

すべてのコードはこちらからも確認できます。

楕円の軌道