こんにちは!
本記事は『Pythonで物理シミュレーションをしよう!』シリーズの総集編です!
本シリーズは、以下の読者を想定して書きました。
【対象読者】
- Pythonで物理シミュレーションを学びたい人
- 物理シミュレーションをアニメーションで可視化したい人
- 数学・物理を学び、実践としてプログラミングまでしたい人
- (Pyxelの基本的な使い方が分かる人)
”まるっと1週間のチュートリアル”を終えると、簡単な物理シミュレーションを自作できるようになります!
例えば、以下の全6種の物理シミュレーションについて、「数式」から「ソースコード」まで丁寧に説明し、自作できるところまでガイドします!
一日ごとにステップアップできるようにDay1~Day6のチュートリアルを用意しました。
【シリーズ構成】
- Day1~Day3:基礎編
- Day4~Day6:応用編
本シリーズでは「答え」を教えるだけでなく「考え方」や「遊び心」など、私のマインドをギュッと詰め込んで…
という願いを込めて作成しました。
本シリーズで、楽しく勉強してくれたら嬉しいし、勉強に対するモチベーションが向上したら最高に嬉しいです!楽しんでねー(*・ω・)ノ♪
本シリーズは「物理」や「プログラミング」に苦手意識のある人でも、楽しく勉強できるチュートリアルです。基礎から丁寧に学び、最終的には物理シミュレーションを自作できるところまでガイドします!
Contents
Day0 -Pyxelの使い方-
本シリーズではPython向けレトロゲームエンジンのpyxelを使って物理シミュレーションを実践します。pyxelの基本的な使い方が学べるチュートリアルも用意していますので、併せて参考にして頂ければと思います。
本サイトで公開中のPyxelを用いたソースコードは、以下のバージョンで動作確認しています。
- Python 3.6.5
- Pyxel 1.0.2
Day1 -自由落下–
Day1では物理の基礎を学びます。
- 物理(力学)の基礎
- 物理シミュレーションの『雛形ソースコード』の作り方
- 自由落下運動の物理シミュレーションをPyxelでアニメーション化
最初の重たい一歩ですが、楽しく学んでくれると嬉しいです。
Day2-衝突–
Day2では物体同士が衝突したときの物理シミュレーションを実践するための基礎を学びます。
- 物理同士が衝突したことを判定する『当たり判定』の考え方
- 『当たり判定』を取り入れた物理シミュレーションの作り方
落下物が地面に衝突したことを判定する『条件式』について丁寧に説明します。
Day3-反発–
Day3では物体が反発する物理シミュレーションについて学びます。
- 『反発係数』の考え方
- ソフトウェア作成手順のヒント
反発係数の式を”1”から作るところから説明します。
以降から【応用編】です。
Day4-復元力–
Day4では「トランポリンで弾む猫」の物理シミュレーションについて学びます。
- 『ばねの特性』と『復元力』の考え方
- 理論(手計算)とシミュレーションによる勉強方法
- 復習および基礎の重要性
『復元力』について丁寧に説明します。
Day5-復元力2–
Day5では「バンジージャンプする猫」の物理シミュレーションについて学びます。
- Day4と同じ題材『復元力』を多角的に理解する
- 『力の向き』の考え方
- 『失敗してもOK!』というマインド
Day4と同じ『復元力』が題材だけど、学びがあるはずです。
Day6-減衰力–
Day6では「バンジージャンプする猫(減衰あり)」の物理シミュレーションについて学びます。
- 『減衰力』の考え方
- ”答え”の分からない課題を解くときのヒント
『減衰力』について丁寧に説明します。また、最終回の最後に私からのメッセージ(あとがき)があるため、最後まで読んでくれると嬉しいです。
Day1~Day6で学べる内容
本シリーズは、pyxelを使って、楽しく「物理」や「プログラミング」の勉強ができると良いなーという軽い気持ちで書き始めましたが…
という想いが強くなり、最終的には全記事で熱量たっぷりの内容に仕上げました!
チュートリアルの題材は「物理シミュレーション」ですが、「考え方」などのマインドは、あらゆる課題を解く上で参考になると思います。
人によって「勉強方法」・「研究プロセス」・「仕事の進め方」のベストは異なると感じていますが、本シリーズに詰め込んだマインドが参考になるかもしれません。
自分のペースで楽しくレベルアップして下さいね(*・ω・)ノ♪
おまけ -本ブログのサポートについて-
本シリーズ『pythonで物理シミュレーションをしよう』の記事は有料noteで書く予定でした。
しかし、お金のない学生さんにも読んでほしい!という想いから、無料公開にしました。
無料でも手は抜かず、むしろ多くの手間と時間をかけて書き上げました。
もし、本チュートリアルが参考になり、ブログ『はやぶさの技術ノート』をサポートしたいという人がいれば、以下の方法でサポートして頂けると嬉しいです!
- 本ブログの記事をSNS(Twitterやfacebookなど)でシェア
- LINEスタンプ 購入
- 【くるるの野望ショップ】でフクロウグッズ購入
私のプロフィールにも書いていますが、学生さんや勉強したい人の”学び”を支援したいと考えています。
ブログ『はやぶさの技術ノート』では、本記事も含め、多くのチュートリアル記事を無料で公開しています。SNSなどで友達にも教えてあげてほしいです!
また、応援メッセージなどを頂けると、次も良い記事書きたいな!というモチベーションに繋がります。Twitterなどで気軽にコメントして頂けると嬉しいです。
小っちゃくて可愛いい”くるる”ちゃんの野望はワールドワイド!笑