Dlaczego słonecznik obraca każde nasienie o 137,5°
Obracaj każde nowe nasienie o 137,5°, a pojawi się słonecznik. Zmień kąt o jeden stopień, a wzór się rozpadnie.
Film gra z YouTube po kliknięciu.
Każde nowe nasienie jest obrócone o 137,5° względem poprzedniego i leży trochę dalej od środka. Ten kąt nigdy nie trafia sam w siebie, więc nasiona nie układają się w rzędy: wypełniają kwiat równo, bez luk i bez ścisku.
Weź jako tapetę, za darmo w 4K →Spróbuj: zmień regułę
137,5° nigdy nie trafia sam w siebie. Żadne dwa nasiona nie leżą na jednym ramieniu, więc równo wypełniają tarczę: to słonecznik.
Dlaczego to działa
Każde nowe nasienie jest obrócone o 137,5° względem poprzedniego i leży trochę dalej od środka. Ten kąt nigdy nie trafia sam w siebie, więc nasiona nie układają się w rzędy: wypełniają kwiat równo, bez luk i bez ścisku.
θₙ = n × 137,508°rₙ = c · √n137,508° = 360° ÷ φ²
Zbuduj to w Pythonie
Python 3 · numpy · matplotlib1000 nasion, cała reguła w jednej linijce, kolory według numeru nasienia.
"""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)
Spróbuj: Zmień golden na np.radians(144) i uruchom jeszcze raz: pięć prostych ramion.
Poznaj ten skrypt linijka po linijce, z zadaniami i quizem → · uruchom go w Google Colab (po angielsku) →
Dla nauczycieli: karta lekcji na 45 minut i karta pracy na trzech poziomach →