広告は消しゴムで消すべし

そろそろ更新しようと思う(やる気)

processing.jsでローレンツ・アトラクタを書く-プログラミングはYouTube動画で学ぶ-

f:id:yosinex:20170211184750j:plain

 第二回 Processingの勉強

前回に引き続き、The Coding Trainの動画を見ながら作ってみました。今回は3Dを扱うためp5.jsではなく3D描写に有利なprocessing.jsを使ってます。

完成品

動画を見て少しアレンジしたものがこちらです。(重たくなって来たら</>ボタンを押して再生を止めてください。)

うう、時間が経つにつれて重くなってくる...

60行にも満たないコードで面白い軌道が描けるなんて不思議ですね。

今回つくったものは?

www.youtube.com

 今回の教材はローレンツ・アトラクタです。

 正直、ローレンツ方程式とかカオス理論とかなんのこっちゃ分からないのですが、wikipediaの説明によると

ローレンツ方程式 (ローレンツほうていしき)は、カオス的ふるまいを示す非線型方程式の一つである。次に式を示す。

{\frac  {dx}{dt}}=-px+py
{\frac  {dy}{dt}}=-xz+rx-y
{\frac  {dz}{dt}}=xy-bz

x, y, zの3つの変数についての方程式で、システムのふるまいは、3つの定数p, r, bにより決まる。

引用:ローレンツ方程式 - Wikipedia

 うん、さっぱりわからん。

 式を提唱したローレンツ博士は大気変動モデルを研究していたそうです。ローレンツ博士が論文でp=10、r=28、b=8/3と定めており、その定数に基づいて計算した軌道をローレンツ・アトラクタと呼んでいるそうです。

 

ちなみにコードの貼り付けにはOpenProcessingというProcessingのコードを公開・共有ができるサービスを使っています。便利なサービスなのでprocessingを使って何か作ってみた方はぜひ使ってみることをオススメします。

なぜYouTubeで学ぶのか

私がYouTubeで学ぶ理由は3つ

  • お金がかからない
  • 動画の方が分かりやすい
  • 熟練のプログラマが動画を出している

YouTubeで学ぶ利点

 プログラミング学習と検索すると必ずWebスクールを紹介する記事が最初にでてきますが、優れたプログラマの中にWebスクールで学んだ人なんていないと思います。優れたプログラマの人達は小さいころからPCが好きで、脳が成熟してしまう前からPCで遊んでいたので自然と知識や扱い方が身についた人たちです。私はそういう人達を自分の講師としたいと思いました。YouTubeには動画投稿で収益を稼ごうと思っている熟練のプログラマ達がいます。また、

  • 本での独学よりも動画の方が分かりやすい
  • 応用的な内容の動画が多い

というのもYouTube学ぶ理由です。

 プログラミング独学用の本だとint型の書き方とかswitch文の書き方とか、基礎的なことばかりが本の半分を占め、読んでいてまったく楽しくありませんでした。YouTubeで収入を得ると考えた時に、つまらない基礎的な内容よりも応用的な内容を扱い、なおかつ楽しく動画が見れるように工夫しようとするのが自然です。ありがたいことに、それによって私たち学習者はモチベーションを保つことができます。

YouTubeで学ぶ欠点

逆にYouTubeで学ぶ欠点としては、

  • 言語の問題
  • 実力にあった動画があるか

いいなと思った人がロシア語で動画を出していたら、大抵の日本人は字幕の英語でしか理解できないし、そもそも英語が分からなければ日本語の字幕がある動画しか教材になりません。そして、学習を進めるうえで今の実力よりちょっとだけ難しい問題を解いていくのが良いとされますが、そういう動画を探すのが難しいです。

まとめ

 今の私にできるのは、自分がスゴイと思ったプログラマ達の動画を探して紹介することであると思い、この記事を書いています。この記事が少しでもあなたの役に立てたのならうれしいです。

 関連記事