理系の理系による理系のためのブログ

理系以外の人も大歓迎です。

Scratchで円周率を求めよう!

皆さんこんにちは。
里得木です。

今回は、Scratch(https://scratch.mit.edu/studios/1168062)で円周率を求めてみたいと思います。

円の面積が半径×半径×πで求めれることから、直径(一辺)が等しい円と正方形の面積比は4:πになるといえます。
どうやって面積比を求めるかというと、モンテカルロ法(シミュレーションや数値計算を乱数を用いて行う手法)を使います。

 

本日の計画

 

拡張機能の追加

まず、Scratchのページで+新しいプロジェクトをクリックします。
すると、以下のような画面になります。

左下の拡張機能を追加をクリックします。
そして、ペンの拡張機能を追加します。

 

②正方形と円の描画

こちらが正方形を描くコードです。

無事、一辺が300の正方形が書けました。

次に、円を描くコードです。
ネットで調べたのを実行すると、、、

円(中身無し)が書けました。
困りましたね、、、

少しいじったコードがこちらです。

先ほど150で固定していた値を変数にすることで解決しました。(日本の国旗に見えたのは僕だけじゃないはず)

下準備が完了しました。
それでは円周率を求めていきましょう。


③実際に円周率を求め方

最初に考えた方法がこちらです。
必要最低限のブロックは入っています。

その後、正方形に当たった回数が試行回数を超える問題(赤と青の間で落ちたときに2倍になっていることが原因)を解決するために、黒いやつをめっちゃ小さくしました。

他にもいろいろあって、このコードで実行することにしました。

 

スペースキーをポチッ。

~約30分後~

今日より円周率は3.141018です(笑)

 

見ていただきありがたいです。
読者登録と星はもっとありがたいです。

Xも始めたので、フォローしてくれるとうれしいです。

twitter.com

今回の作品はhttps://scratch.mit.edu/projects/886574100/で遊べます。