zwiększając zobaczymy, że kreślone są zwoje, które "wchodzą" w stronę środka spirali lub rozwijają się i oddalają od środka w zależności od znaku parametrów .import numpy as np import matplotlib.pyplot as plt # Dane: b = 0.306349 # parametr 'b' dla złotej spirali a = [0.1, 0.15, 0.2] # parametry 'a' dla 3 zotych spirali n = 10 # liczba połówek spirali/2=liczba obrotów c = ['blue', 'orange', 'green'] # kolory 3 spirali
# Obliczenia: t = np.linspace(0, n*np.pi, abs(n)*1000) fig = plt.figure(figsize=(10, 8))
for i, (ai, col) in enumerate(zip(a, c), 1): r = ai * np.exp(b * t) x, y = r*np.cos(t), r*np.sin(t) plt.plot(x, y, color=col, label=f"a = {ai}") plt.scatter(x, y, color=col, s=80, marker='o') # kółka na początku plt.annotate("", xy=(x[-1], y[-1]), xytext=(x[-10], y[-10]), arrowprops=dict(arrowstyle="->", color=col, lw=2))
znak = (r"b > 0, φ > 0 (r → +∞)" if (b > 0 and n > 0) else r"b > 0, φ < 0 (r → 0)" if (b > 0 and n < 0) else r"b < 0, φ > 0 (r → 0)" if (b < 0 and n > 0) else r"b < 0, φ < 0 (r → +∞)")
plt.gca().set_aspect('equal') plt.grid() plt.legend(fontsize=16) plt.title(f"Złote spirale, {znak}", fontsize=20)