roombaの日記

読書・非線形科学・プログラミング・アート・etc...

ヒマワリと黄金比の関係をインタラクティブなアニメーションにする【Javascript】【Canvas】

はじめに

先日、『数学で生命の謎を解く』という本を読みました。この本の第4章「花の中にみつかるフィボナッチ」には、植物の葉・ヒマワリの種子・パイナップルの模様がフィボナッチ数列*1と深く関わっていることが説明されています。

「花の中のフィボナッチ」は数学と生命科学の関係を述べた文章に必ずと言っていいほど登場する鉄板ネタなのですが、本書には以下のような興味深いモデル(フォーゲルのモデル)が紹介されていました。

1979年にミュンヘン工業大学のヘルムート・フォーゲルが、ヒマワリの種子が取る幾何の単純な数学的表現を考え、それを使って、そのような配置に黄金角が特別適している理由を説明した。*2
フォーゲルのモデルでは、n番目の原基は137.5度のn倍の角度に置かれ、中心からの距離はnの平方根に比例する。これらの二つの数によって原基の位置が決定し、ホフマイスターの生長らせんは、中心から外側へ行くにつれ巻き方がきつくなる、フェルマーらせんと呼ばれるものであることが分かる。
フォーゲルはこのモデルを用いて、同じ生長らせんを使いながらも黄金角137.5度からわずかにずらしたときに、花頭がどうなるかを導き出した。結果は、(中略)黄金角を使ったときにだけ、種子は隙間や重なりを作らずにびっしり並ぶのだ。角度を10分の1度変えただけで、パターンが壊れて一種類のらせんだけになり、種子のあいだに隙間ができてしまう。


数学で生命の謎を解く』p59 (太字は引用者による)

これを自分で実装し、アニメーションにしてみました!

*1:フィボナッチ数 - Wikipedia

*2:Vogel, Helmut. "A better way to construct the sunflower head." Mathematical biosciences 44.3 (1979): 179-189.

続きを読む

テオ・ヤンセン機構の計算【詳細版】

はじめに

前回の記事ではテオ・ヤンセン機構のアニメーションを行いました。その際のリンク機構の詳細な動きに関する説明は省略していたのですが、思いのほかブックマークが沢山ついたのでここで説明してみます。


テオ・ヤンセン機構をHTML5 Canvasでアニメーションに - roombaの日記

結構面倒ですが、やっていることは点A~点Gの座標を計算しているだけです(前回の記事中プログラムのdraw_jansen関数に対応)。それさえできてしまえば、あとはその点どうしを線で結ぶだけでリンク機構が描けることになります。そこで、点A~点Gの座標の計算方法を以下で順に説明します。

前提知識:三角関数余弦定理

続きを読む

テオ・ヤンセン機構をHTML5 Canvasでアニメーションに

はじめに

オランダのアーティストであるTheo Jansen(テオ・ヤンセン)氏は、風力によって歩行する巨大な脚「ストランドビースト」をつくったことで有名です。「ストランドビースト」には特殊なリンク機構(Jansen's Linkage)が用いられており、これによって風力による回転運動を生物のように生き生きとした脚の動きに変換しています。


Theo Jansen Japan
Jansen's linkage - Wikipedia, the free encyclopedia

以下のような組み立てキットも発売されています。私も持っていますが楽しいです。

この動きをアニメーションにしてみようというのが今回のテーマです。
下記記事と同様にHTML5 Canvasを用い、ブラウザ上で動くようにします。

続きを読む

今話題の「異人種住み分け」をシミュレーションにしてみる

はじめに

最近、移民に関連して「居住区は人種ごとに分けたほうが良い」というような発言が話題となっています。
曽野綾子さん「移民を受け入れ、人種で分けて居住させるべき」産経新聞で主張

その是非は誰かに考えてもらうとして、これをきっかけに人種ごとの住み分けに関する興味深いモデルを思い出したのでシミュレーションを行ってみることにしました。この記事上で自由に動かすことができます!

続きを読む