めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

Jupyterで高校物理のアニメーション

何の話かというと

JupyterでGIFアニメが作成できるようにしたので、高校物理で出てきそうな動画を作成してみました。

Jupyterが動作するDockerイメージを用意してあるので、環境準備は、CentOS7なら下記の手順でOKです。

# yum -y install docker
# systemctl enable docker.service
# systemctl start docker.service
# mkdir ~/data
# chcon -Rt svirt_sandbox_file_t ~/data
# docker run -itd --name jupyter -p 8888:8888 -v ~/data:/root/notebook -e PASSWORD=hogehoge enakai00/jupyter_tensorflow:latest

下記はサンプルコードです。

ani.save()を実行すると、~/data/以下にGIFファイルが作成されます。

ボールを投げてみたり・・・・

連星を回してみたり・・・・(シミュレーションの精度が荒いので角運動量が保存してませんが・・・・)

花火で遊んだりできます。

もうちょっと違う例で、(ありがちですが・・・)波の合成のサンプルコードです。

うん。楽しい。

補足説明

おそらく、高校の先生で、こういうアニメーションを作って授業で見せている方はいると思いますが、前述のサンプルコードであれば、一般的な高校生でも十分に理解して、自分でコードを作成・改変して遊べる気がします。連星のコードなどは、それなりにパラメーター(初期条件)をチューニングしないと綺麗に回ってくれないので、自分でコードを書きながら物理学を理解するのは、結構面白いんじゃないかと。。。いかがでしょ?