2019.10.24スポンサーリンク本記事ではランダムに針を落として円周率の近似値を求めるプログラムについて紹介しています。ビュフォンの針をシュミレーションしたものです。JavaScriptを使っています。動画もアップしてあるので、そちらもぜひご覧ください。参考資料ビュフォンの針による円周率の求め方DEMOまず始めにこちらが完成品です。ビュフォンの針とは、もし床に多数の平行線を引き、そこに針を落としたら線と針が交差する確率はどのようになるかという数学の問題のことを言います。この方法を使い、モンテカルロ法で円周率の近似値を求めることができます。針を落とすという円周率とは全く関係ないように見えることからπの近似値を求めることができるのは面白いです。このビュフォンの針というものについて詳しく理解したい方は高校数学の美しい物語というサイトのこのページをご覧ください。確率の導出など分かりやすく解説されています。ファイルを作成します。500×500の背景が黒のキャンバスを描画します。実際に点を打つ範囲を定義しています。一つ一つの線の間隔について。係数を綺麗にするために針の長さは線の間隔の2分の1。範囲でランダムな数を生成しています。いう関数は線を描画するためのもの。y)メソッドで終了地点を決め、直前の座標と指定座標を結ぶ直線を引いています。関数では針の描画を行っています。y)メソッドで線(針)の描画をしています。グリッドを描き下準備。間隔ごとに上から線を引いています。いうメソッドを使いゲームループの作成。π)を生成し、その角度を使って、針の両端の座標を求めています。分を使い、針の中心から一番近い線を探す動作。\[\frac{needleLength}{2}\sin\phi\]より大きい値なら針が線に当たっているということになります。いう針が線に当たった回数をカウントする変数を1ずつプラスしています。針が線を交差していない場合は針の色は緑。πは\[\frac{全ての針の数}{線に当たった針の数}\]で求めることができます。GitHubのコード以上がビュフォンの針についてのソースコードです。乱数というランダムな数を使い、円周率の近似値を求めています。ビュフォンの針ご質問・ご感想はツイッターやお問い合わせからいただけるとうれしいです。最後まで読んでくれてありがとうございます。ツイッターのフォローもお願いします。それではまた!YouTubeチャンネルを開設しました。プログラミングについて配信をしています。フーリエ解析とラプラス変換-海外理系学生がおすすめする参考書フーリエ解析、ラプラス変換のおすすめ参考書紹介。フーリエ解析、ラプラス変換の本。フーリエ展開の証明、フーリエ変換とは?、ラプラス変換とは?などを分かりやすく解説している本です。例題もたくさんあり、複素数型のフーリエ級数展開もバッチリ。独学で問題なしのかなりおすすめ大学数学入門書。7セグメントディスプレイプログラミングでヌメロン(数当てゲーム)を作りました。7セグメントディスプレイで数字を表示しています。JavaScript【プログラミング】ボタンを押し音声ファイルを再生(YouTuberの効果音とBGMを鳴らす)JavaScriptでの音声ファイルを再生する方法について。読み込んだ画像をボタンにし、クリックされたときに音声を鳴らすようにしています。効果音かBGMモードかを選択し、音を鳴らします。有名YouTuberの効果音やBGMを使用しました。プログラミング【初心者】ネットワークおすすめ本ーエンジニア必読参考書ネットワークについてのおすすめ参考書をまとめました。ネットワークの本について。エンジニア必読のTCP/IP入門編や、ネットワークはなぜつながるのかなどをご紹介。初心者の方でも読める。Tracerというソフトを使い勉強するのをおすすめします。プログラミング【C言語】ファイル読み込みと書き込み-ソースコードありC言語のファイル処理についての解説。ファイル読み込みと書き込みについての記事。fopen,fclose,fprintfの使い方まとめ。入出力の処理もこれで完璧。情報系の科目、プログラミング(C、C++、Java、Python等)を勉強できる書籍まとめ。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト上に表示された文字を入力してください。(6)しょう都内の文系の大学を卒業。その後もう一回ふり出しに戻り理転して理系の大学に入学。プログラミングなどの理系科目について。留学情報、ポーランドのことについて書いています。