Python PR

【Pyxel】Pythonで物理シミュレーションをしよう! 総集編 -まるっと1週間チュートリアル-

pyxelで物理シミュレーション
記事内に商品プロモーションを含む場合があります

こんにちは!

くるる
くるる
人気フクロウの”くるる”@kururu_owl だよー
はやぶさ
はやぶさ
現役エンジニアの”はやぶさ”@Cpp_Learningです

本記事は『Pythonで物理シミュレーションをしよう!』シリーズの総集編です!

本シリーズは、以下の読者を想定して書きました。

【対象読者】

  • Pythonで物理シミュレーションを学びたい人
  • 物理シミュレーションをアニメーションで可視化したい人
  • 数学・物理を学び、実践としてプログラミングまでしたい人
  • (Pyxelの基本的な使い方が分かる人)
くるる
くるる
物理なーんも分からん状態だった”くるる”と一緒に勉強してくれる人も!

”まるっと1週間のチュートリアル”を終えると、簡単な物理シミュレーションを自作できるようになります!

例えば、以下の全6種の物理シミュレーションについて、「数式」から「ソースコード」まで丁寧に説明し、自作できるところまでガイドします!

Pythonで自由落下の物理シミュレーション Pythonで自由落下の物理シミュレーション Pythonで反発の物理シミュレーション Pythonでトランポリンの物理シミュレーション Pythonでバンジージャンプの物理シミュレーション Pythonでバンジージャンプの物理シミュレーション

一日ごとにステップアップできるようにDay1~Day6のチュートリアルを用意しました。

【シリーズ構成】

  • Day1~Day3:基礎編
  • Day4~Day6:応用編

本シリーズでは「答え」を教えるだけでなく「考え方」や「遊び心」など、私のマインドをギュッと詰め込んで…

はやぶさ
はやぶさ
あらゆる課題を解決できる人に成長してほしい!

という願いを込めて作成しました。

本シリーズで、楽しく勉強してくれたら嬉しいし、勉強に対するモチベーションが向上したら最高に嬉しいです!楽しんでねー(*・ω・)ノ♪

本シリーズは「物理」や「プログラミング」に苦手意識のある人でも、楽しく勉強できるチュートリアルです。基礎から丁寧に学び、最終的には物理シミュレーションを自作できるところまでガイドします!

Day0 -Pyxelの使い方-

本シリーズではPython向けレトロゲームエンジンのpyxelを使って物理シミュレーションを実践します。pyxelの基本的な使い方が学べるチュートリアルも用意していますので、併せて参考にして頂ければと思います。

Pyxelでレトロゲームを作る 総集編
【Pyxel】Pythonでレトロゲームを作ろう! 総集編 -まるっと1週間でゲーム開発入門-Python向けのレトロゲームエンジン:pyxelを用いたゲーム開発入門チュートリアル(ソースコード付き)を書きました。画像処理・数学・物理・制御について学び、実践としてゲームプログラミングまで行います。...
くるる
くるる
『Pythonでレトロゲームを作ろう!』シリーズもすごく楽しいよ♪

本サイトで公開中のPyxelを用いたソースコードは、以下のバージョンで動作確認しています。

  • Python 3.6.5
  • Pyxel 1.0.2

Day1 -自由落下

Day1では物理の基礎を学びます。

Day1で学ぶ内容
  • 物理(力学)の基礎
  • 物理シミュレーションの『雛形ソースコード』の作り方
  • 自由落下運動の物理シミュレーションをPyxelでアニメーション化

最初の重たい一歩ですが、楽しく学んでくれると嬉しいです。

pyxelで物理シミュレーション
【Pyxel】Pythonで物理シミュレーションをしよう! Day 1 -自由落下-こんにちは! 以前『Pythonでレトロゲームを作ろう!』シリーズの記事を書きました。 https://cp...
スポンサーリンク

Day2-衝突

Day2では物体同士が衝突したときの物理シミュレーションを実践するための基礎を学びます。

Day2で学ぶ内容
  • 物理同士が衝突したことを判定する『当たり判定』の考え方
  • 『当たり判定』を取り入れた物理シミュレーションの作り方

落下物が地面に衝突したことを判定する『条件式』について丁寧に説明します。

pyxelで物理シミュレーション
【Pyxel】Pythonで物理シミュレーションをしよう! Day 2 -衝突-こんにちは! 前回こんな記事を書きました↓ https://cpp-learning.com/pyxel_p...

Day3-反発

Day3では物体が反発する物理シミュレーションについて学びます。

Day3で学ぶ内容
  • 『反発係数』の考え方
  • ソフトウェア作成手順のヒント

反発係数の式を”1”から作るところから説明します。

pyxelで物理シミュレーション
【Pyxel】Pythonで物理シミュレーションをしよう! Day 3 -反発-こんにちは! 前回こんな記事を書きました↓ https://cpp-learning.com/pyxel_p...

以降から【応用編】です。

Day4-復元力

Day4では「トランポリンで弾む猫」の物理シミュレーションについて学びます。

Day4で学ぶ内容
  • 『ばねの特性』と『復元力』の考え方
  • 理論(手計算)とシミュレーションによる勉強方法
  • 復習および基礎の重要性

『復元力』について丁寧に説明します。

pyxelで物理シミュレーション
【Pyxel】Pythonで物理シミュレーションをしよう! Day 4 -復元力-こんにちは! 前回こんな記事を書きました↓ https://cpp-learning.com/pyxel_p...

Day5-復元力2

Day5では「バンジージャンプする猫」の物理シミュレーションについて学びます。

Day5で学ぶ内容
  • Day4と同じ題材『復元力』を多角的に理解する
  • 『力の向き』の考え方
  • 『失敗してもOK!』というマインド

Day4と同じ『復元力』が題材だけど、学びがあるはずです。

pyxelで物理シミュレーション
【Pyxel】Pythonで物理シミュレーションをしよう! Day 5 -復元力2-こんにちは! 前回こんな記事を書きました↓ https://cpp-learning.com/pyxel_p...
スポンサーリンク

Day6-減衰力

Day6では「バンジージャンプする猫(減衰あり)」の物理シミュレーションについて学びます。

Day6で学ぶ内容
  • 『減衰力』の考え方
  • ”答え”の分からない課題を解くときのヒント

『減衰力』について丁寧に説明します。また、最終回の最後に私からのメッセージ(あとがき)があるため、最後まで読んでくれると嬉しいです。

pyxelで物理シミュレーション
【Pyxel】Pythonで物理シミュレーションをしよう! Day 6 -減衰力-こんにちは! 前回こんな記事を書きました↓ https://cpp-learning.com/pyxel_p...

Day1~Day6で学べる内容

本シリーズは、pyxelを使って、楽しく「物理」や「プログラミング」の勉強ができると良いなーという軽い気持ちで書き始めましたが…

はやぶさ
はやぶさ
本シリーズを読んでくれた全ての人が、自力で課題を解決できる(自走できる)人になってほしい!

という想いが強くなり、最終的には全記事で熱量たっぷりの内容に仕上げました!

チュートリアルの題材は「物理シミュレーション」ですが、「考え方」などのマインドは、あらゆる課題を解く上で参考になると思います。

くるる
くるる
『基礎が大事』・『技術や知識の積み重ねが大事』などのマインドを本シリーズで体感できた!はやぶさ先生に感謝♪

人によって「勉強方法」・「研究プロセス」・「仕事の進め方」のベストは異なると感じていますが、本シリーズに詰め込んだマインドが参考になるかもしれません。

自分のペースで楽しくレベルアップして下さいね(*・ω・)ノ♪

おまけ -本ブログのサポートについて-

本シリーズ『pythonで物理シミュレーションをしよう』の記事は有料noteで書く予定でした。

しかし、お金のない学生さんにも読んでほしい!という想いから、無料公開にしました。

無料でも手は抜かず、むしろ多くの手間と時間をかけて書き上げました。

もし、本チュートリアルが参考になり、ブログ『はやぶさの技術ノート』をサポートしたいという人がいれば、以下の方法でサポートして頂けると嬉しいです!

本ブログのサポート方法

私のプロフィールにも書いていますが、学生さんや勉強したい人の”学び”を支援したいと考えています。

ブログ『はやぶさの技術ノート』では、本記事も含め、多くのチュートリアル記事を無料で公開しています。SNSなどで友達にも教えてあげてほしいです!

また、応援メッセージなどを頂けると、次も良い記事書きたいな!というモチベーションに繋がります。Twitterなどで気軽にコメントして頂けると嬉しいです。

くるる
くるる
”くるる”はフクロウグッズが世界中で使われてほしい!

小っちゃくて可愛いい”くるる”ちゃんの野望はワールドワイド!笑

はやぶさ
はやぶさ
理系応援ブロガー”はやぶさ”@Cpp_Learningは頑張る理系を応援します!

PICK UP BOOKS

  • 数理モデル入門
    数理モデル
  • Jetoson Nano 超入門
    Jetoson Nano
  • 図解速習DEEP LEARNING
    DEEP LEARNING
  • Pythonによる因果分析
    Python