小学校・中学校・高校でプログラミング教育が必修科目になったことから分かる通り、現代人にとってプログラミングは必須のスキルになりつつあります。
そして子供のころからプログラミングに慣れ親しんできた学生は、社会人になったときITスキルを駆使して今までの「仕事の形」を大きく変えていくでしょう。
そんな時代はすぐそこまで来ています。「自分はプログラミングが苦手だから…」と勉強を後回しにしている時間はもうありません。最善の一手は、今すぐに勉強を始めることです。
しかし参考書で独学したり、プログラミングスクールに通ったりしても、結局長続きせずに挫折してしまう方が多いのも事実です。ただ文法を暗記したり、興味の湧かない例題を解き続けてもプログラミングスキルは上がっていきません。つまらなくなって勉強が嫌になるだけです。
そこで本コースでは、ゲーム開発などで使われる「物理エンジン」という仕組みを使って、楽しみながらプログラミング学習を続けられる方法をご紹介します。
さらに自分が書いたプログラムでバーチャルな物体を動かしながら、数学・物理学・プログラミングの考え方を同時に身につけられる一石三鳥の内容になっています。
この機会に、本格的なプログラミングの勉強に最初の一歩を踏み出してみてはいかがでしょうか?
このコースの概要が分かります。
社会人の方がプログラミングを学ぶメリットが分かります。
コンピュータを使って物理現象を再現できることが分かります。
物理エンジンという仕組みについて説明しています。
本コースの概要を説明します。
■本コースのスライドをPDF形式で見ることができます。復習などにご利用ください。
スライド.pdf
■ダウンロード資料
01.Unityのインストール方法.pdf
02.物理シミュレーションの始め方.pdf
03.Unityプロジェクト
V-Experiments.unitypackage
Homework.unitypackage
ExperimentLayout.wlt
04.数値積分の比較(相空間).xlsx
本コースではUnityというツールを使って学習を進めます。
物理シミュレーションのメリットが分かります。
アニメーションの仕組みについて学習します。
バーチャル空間で物体を動かす方法が分かります。
Unityを使って実際に物体を動かしてみましょう。
ニュートンの運動方程式をコンピュータで解く方法を学びます。
ニュートンの運動方程式の復習です。
位置、速度、加速度といった基本な考え方を学びます。
運動方程式の解き方の典型的なパターンを学びます。
「無限」を扱えないコンピュータに微分を計算させる方法を学びます。
時刻という考え方をアニメーションのフレーム番号に対応させます。
微分にはただの数学的な計算以上の深い意味があります。
アニメーションを運動方程式を使って更新する方法を学びます。
このセクションのまとめです。
このセクションでは、具体的にプログラミングで物体を動かしてみます。
重心が平行移動する物体の運動を考えます。
位置と速度を更新する方法を学びます。
一定の速度で移動する物体の運動をコンピュータで計算します。
プログラムの内容を見ていきます。
だんだんと速度が変化する運動を計算します。
回転する物体の運動の扱い方を学びます。
回転する物体の運動をコンピュータに計算させる準備をします。
一定の速さで回転する物体の運動を計算します。
だんだんと回転する速さが変化する物体の運動を計算します。
微分をコンピュータで計算する時に必要になるテクニックを学びます。
数値積分をするときのコツを学びます。
運動方程式をコンピュータで解きやすい形に書き直します。
最も直感的な数値積分の方法を学びます。
より計算が安定化する手法を学びます。
計算が安定しているかどうかをチェックする考え方のひとつです。
計算手法によってどれぐらい正確に計算できているかを比較します。
実験に使ったプログラムの解説です。
バーチャル空間で物理実験を行うアプリの作り方です。
どんな実験を行うかをまず見てみましょう。
重力を受けて落下する物体の運動方程式を学びます。
斜めに投げた物体の運動を表す運動方程式を学びます。
実験のプログラムの解説です。
ブランコのように振れる物体の運動方程式を学びます。
ゴムやばねでぶら下げられた物体の運動方程式を学びます。
全体のまとめです。
より精度の高い計算方法を学びます。
例としてばねに繋がれた物体を考えます。
コースの名が出紹介した方法と比較してみます。
ルンゲ・クッタ法のプログラムの説明です。
数値積分の安定性と解析力学の間には密接な関係があります。
解析力学に出てくる相空間という考え方を学びます。
数値積によって相空間に現れる違いについて見てみます。
シンプレクティック数値積分がエネルギー的に安定であることを学びます。
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.