ひまわりはなぜ種を137.5°ずつ回すのか
ルール
新しい種をひとつ置くたびに137.5°回すと、ひまわりが現れます。角度を1度変えるだけで、形は崩れてしまいます。
クリックするとYouTubeから再生されます。
Why Does a Sunflower Have 21 and 34 Spirals?
新しい種はどれも、ひとつ前の種から137.5°回り、少しだけ外側に置かれます。この角度は決して自分自身と重ならないので、種が列をつくることはありません。すき間も混み合いもなく、花を均等に埋めていきます。
壁紙にする(4K、無料) →ライブデモ · ブラウザで動きます
試してみよう:ルールを変える
137.5°は、決して自分自身と重なりません。同じ筋に並ぶ種はふたつとなく、種は円盤を均等に埋めます。これがひまわりです。
なぜそうなるのか
新しい種はどれも、ひとつ前の種から137.5°回り、少しだけ外側に置かれます。この角度は決して自分自身と重ならないので、種が列をつくることはありません。すき間も混み合いもなく、花を均等に埋めていきます。
θₙ = n × 137.508°rₙ = c · √n137.508° = 360° ÷ φ²
自分で作る
Python 3 · numpy · matplotlib種1,000個。ルール全体が1行で、色は種の番号で決まります。
"""Golden angle: seed n at the angle n x 137.5 degrees and the distance sqrt(n) (Vogel, 1979).
Run: python golden-angle.py (needs: pip install numpy matplotlib)
"""
import numpy as np
import matplotlib.pyplot as plt
plt.style.use("dark_background")
n = np.arange(1, 1001) # seed numbers
golden = np.pi * (3 - np.sqrt(5)) # 137.5 degrees in radians: 360 / phi**2
theta, r = n * golden, np.sqrt(n) # the whole rule
x, y = r * np.cos(theta), r * np.sin(theta)
plt.figure(figsize=(6, 6))
plt.scatter(x, y, s=8, c=n, cmap="viridis")
plt.axis("equal")
plt.axis("off")
plt.show()
# Try: golden = np.radians(144) -> five straight spokes (144 degrees is 2/5 of a turn)
試してみよう: golden を np.radians(144) に変えて、もう一度実行してみましょう。まっすぐな筋が5本できます。
このスクリプトを1行ずつ、練習問題とクイズで学ぶ → · Google Colabで実行(英語) →
先生向け: 45分の授業カードと3段階のワークシート →