#Python #Jupyter #TuringPattern

https://mathtod.online/@satie/851335

でsatieさんにチューリングパターンに関するJupyter notebook (Python)について教えてもらいました。私も試してみました。

http://www.degeneratestate.org/posts/2017/May/05/turing-patterns/
https://github.com/ijmbarr/turing-patterns

「モニョモニョ動く」動画は例えば In [6] の下の静止画をクリックすれば見れます。

すべての静止画についてGIF動画へのリンクがついているわけではありません。

しかし、自分で作るのは簡単です。

plot_evolution_outcome("2dRD.png", n_steps=150)

のような部分を

plot_evolution_outcome("2dRD.gif", n_steps=300)

のように書き直して実行するだけです。n_stepsも増やしてあります。

satie on mathtod.online

Jupyter notebook に新しいノート作って写した。動く。でも肝心なのが静止画。どうすればモニョモニョ動くのを見ることができるのやろ。いわゆるベーシックみたいな処理して描いて見せて処理してではないので全部終わってから見ることしかできそうにないけどそれでいいから動くところが見たい。どうすれば良いだろう。

mathtod.online

#Python #Jupyter #TuringPattern

https://github.com/ijmbarr/turing-patterns
で公開されている Jupyter notebook では notebook の外にある tutils.py の内容が本質的です。

そこに動画と静止画作成のためのコードが書いてあります。

簡単なコードなので Julia 言語に移植するのも難しくないと思いました。(私はやりませんが。)

動画作成は本質的に単純作業です。1コマ1コマ画像を作ってそれを順番に表示するための動画ファイルを作成するだけ。

matplotlib.animationを使えば各コマを作成するコードを書くだけでアニメーションを作れます。

みんなが使っているプログラミング言語を使用した方が仕事のやり方に関する情報が検索によって得られやすいので、可能ならば教育現場でもそういう言語を使えたらよいなと個人的には思います。

しかし、問題は環境構築のややこしさ。

ijmbarr/turing-patterns

turing-patterns - Exploring the patterns created by reaction-diffusion equations

#Python #Jupyter #TuringPattern

訂正:GIF動画を作成したい人は、正しくは以下の手続きに従って下さい。

plot_evolution_outcome("2dRD.png", n_steps=150)

のような部分を

plot_time_evolution("2dRD.gif", n_steps=300)

のように書き直して実行する。

ポイントは

* plot_evolution_outcome を plot_time_evolution に書き直すことと、

* ファイル名の *.png を *.gif に書き直すこと

です。n_stepsも増やしておくと長めの動画になります。

どうしてこれでよいかについては

https://github.com/ijmbarr/turing-patterns/blob/master/tutils.py

を読めばわかります。

ijmbarr/turing-patterns

turing-patterns - Exploring the patterns created by reaction-diffusion equations

#Jupyter

https://mathtod.online/@satie/914452

Jupyter notebookの使い方

* 各セルを実行するには、マウスでクリックして選択した後に Shift+Enter もしくは Ctrl+Enter とする。Shift+Enter で次のセルに進み、Ctrl+Enter で次のセルに進まずに実行。

* ライブラリの読み込みや函数の定義などのセルは最初に実行しておく。

* 私はダウンロードした Jupyter notebook は内容をざっと確認して危険がないことを確認した後に、すべてを実行して、正常に動くかどうかを確認します。

* セルの複製はハサミボタンの右のボタンをクリック→さらにその右のボタンをクリック。セルを書き変える前に常にそのセルの複製を作っておく癖をつけておくと色々安全。

* 適当にあちこちクリックして試してみることが基本。ノートブックを壊してもネット上にオリジナルがあるので困らない。

https://mathtod.online/media/iVMBnoC9Kih9m6KAfWw

satie on mathtod.online

@genkuroki たまにしか使わないので毎度色々忘れていて判らなくなるのが辛いです。 さて, 1. MacBookでANACONDAを立ち上げる 2. Homeでjupyter notebookをクリックすると,Safariが立ち上がり,jupyter notebookが 3. Files で例えばダウンロードのフォルダを開くと,そこにダウンロードしたnotebookのファイル(拡張子が,ipynb : iPython?のnotebookの略?)があるのでそれを開く。 4. すると,GitHubに公開されているnotebookがそのまま再現され開かれる。 5. ...ここで判らないのは,開かれたノートには $\TeX$ なども使われたテキストな部分と,Pythonのソースなどが,ブロックに分かれて表示されるのですが,「実行」に関してはどうなっているのだろうかと。 つまり,何やら色々ライブラリやらプログラムを読み込む部分を先に実行する?そもそも全て選んで実行すれば良い? 結構時間がかかる? など。日曜プログラマ?的にはなかなか捗らない。

mathtod.online

#Jupyter

どうせ、オリジナルのJupyter notebook は再ダウンロードできるので、あちこちクリックして大胆に色々試してみた方が、使い方を早く習得できると思います。びびって何もしないと苦しくなる。

何もわからない場合に最初にクリックするべきなのはHelpボタン。

適当に探せば、セルの実行のためのショートカットが何であるかがわかります。

https://mathtod.online/media/S40Fut9LvOw0rNbHZFw
https://mathtod.online/media/UasbyttxBuEmqT8QqTw

#Jupyter

実際には Help ボタンを押して説明を読まなくても、

▶アイコンのボタン

は我々の文化における「再生ボタン」を意味することになっているので、▶ボタンをクリックすればコードを実行できそうなことに気付きます。

実際には▶の右に縦棒がくっついているのですが。

ぎょぎょぎょ、▶←絵文字に変わる!

#Jupyter

Markdownのセルをダブルクリックして編集できるようにして、

![diffusion](http://www.degeneratestate.org/static/turing-patterns/diffusion.gif)

のような部分を

![diffusion](diffusion.gif)

に書き換えれば、自前で作ったGIFファイルを表示してくれるようになります。

静止画を表示している部分についても同様に処理すればいいです。「同様」の意味がわからない場合はわかるまでググり続ける。

ただし、自動的に表示されるようにはならないので、GIFファイル作成後にリロードしなければいけない。

この手の話題は「どれだけ時間をかけて調べるか」のような単に地道な話題です。調べることに時間をかけないと何もできなくなる。地道に調べることが基本。

RPG系のゲームだと思ってやると気持ちが楽になります。

コピーしたセルを以上のように書き直したものを後でGistに投稿しておきます。

#Python #Jupyter #TuringPattern

GIFアニメを生成するように書き換えたJupyter notebook

https://gist.github.com/genkuroki/e1b67ede17207881e3b0204cb0522cca

すべてを実行して、save して reload すれば生成したGIFアニメを閲覧できます。

turing-patterns-creating-animated-gifs.ipynb

turing-patterns-creating-animated-gifs.ipynb