Przejdź do zawartości

Złota spirala

Z Wikipedii, wolnej encyklopedii
Przybliżona oraz dokładna złota spirala: zielona spirala jest zbudowana z ćwiartek okręgów, natomiast czerwona spirala jest złotą spiralą. Pokrywające się fragmenty zaznaczono na żółto. Stosunki długości boków kolejnych kwadratów są równe φ.
Samopodobieństwo złotej spirali: spirala ma ten sam kształt przy powiększaniu jej w nieskończoność.

Złota spirala – szczególny przypadek spirali logarytmicznej, w której stały współczynnik zależy od tzw. złotej liczby

Cechą charakterystyczną jest to, że podczas ruchu po spirali z każdym obrotem o 90° jej promień wodzący zwiększa się razy (lub zmniejsza się, gdy porusza się po spirali w kierunku przeciwnym).

Złote spirale są samopodobne, co oznacza, że ich kształt powtarza się w nieskończoność przy powiększaniu. Własność samopodobieństwa jest cechą każdej spirali logarytmicznej.

Znanych jest wiele spirali będących przybliżeniami złotej spirali i często mylonych z nią. Przykładem może być spirala Fibonacciego, która nie jest spiralą logarytmiczną.

Równanie złotej spirali – współrzędne biegunowe

[edytuj | edytuj kod]

Spirala logarytmiczna

[edytuj | edytuj kod]

Ogólny wzór na spiralę logarytmiczną we współrzędnych biegunowych ma postać

lub równoważnie

gdzie:

  • – stałe liczby rzeczywiste
  • – podstawa logarytmu naturalnego
Spirala Fibonacciego zbudowana jest z ćwiartek okręgów, których promienie są kolejnymi liczbami Fibonacciego: Jest przybliżeniem złotej spirali, ale nie jest złotą spiralą.

Złota spirala

[edytuj | edytuj kod]

Złota spirala jest szczególnym przypadkiem spirali logarytmicznej: po obrocie o kąt prosty = (wyrażony w radianach) promień punktu spirali zwiększa się -krotnie, gdzie

jest złotą liczbą, tj. mamy warunek:

Po podstawieniu wzoru na dla spirali logarytmicznej otrzymujemy , skąd mamy:

Podstawiając wartości złotej liczby oraz otrzyma się:

Równanie złotej spirali ma więc postać:

przy czym kąt jest wyrażany w radianach.

Uwagi:

a) Parametr może być także ujemny; wtedy tworzy spiralę obracającą się w przeciwną stroną niż dla

b) Jeżeli kąty wyraża się w stopniach, to wartość bezwzględna parametru wynosi:

na stopień

i równanie spirali ma postać .

Równania parametryczne złotej spirali – współrzędne kartezjańskie

[edytuj | edytuj kod]

Równanie spirali można przekształcić na układ równań parametrycznych we współrzędnych kartezjańskich. Z zależności współrzędnych kartezjańskich od

otrzymamy równania parametryczne spirali logarytmicznej:

gdzie – stałe, – parametr równań.

Podstawiając do tych równań otrzymamy równania parametryczne złotej spirali.

Własności złotej spirali

[edytuj | edytuj kod]

W artykule spirala logarytmiczna zestawiono własności typowe dla wszystkich spirali logarytmicznych. Własności te dotyczą m. in. złotej spirali, która jest spiralą logarytmiczną o parametrze .

Kreślenie spirali

[edytuj | edytuj kod]

Jeśli spirala ma równanie to jej kreślenie spirali można zacząć od punktu . Wtedy mamy cztery możliwe przypadki:

a) Dla oraz promień spirali rośnie do nieskończoności Jeżeli zaczniemy rysowanie spirali od punktu , to dla spirala będzie rozwijać się, oddalając się coraz bardziej od bieguna (przeciwnie do ruchu wskazówek zegara)

Dla oraz promień spirali maleje do zera (). Jeżeli zaczniemy rysowanie spirali od punktu , to dla spirala będzie zwijać się, zbliżając się coraz bardziej do bieguna (zgodnie z ruchem wskazówek zegara)

b) Dla będzie odwrotnie: dla spirala będzie rosła nieograniczenie, ale zgodnie z ruchem wskazówek zegara, a dla będzie zwijać się do środka, ale przeciwnie do ruchu wskazówek zegara.

Kod do wykreślenia złotej spirali

[edytuj | edytuj kod]

Podany niżej kod w języku Python korzysta z biblioteki graficznej Matplotlb i rysuje trzy złote spirale o parametrze i parametrach zadanych w linii 5 kodu. Parametr określa ile razy będzie kreślona połówka skrętu spirali. Zmieniając parametry, można przetestować wyżej podane własności spirali; np. zmieniając znak parametru zmienimy skrętność na przeciwną; dla otrzymamy jeden zwój spirali; 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[0], y[0], 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)

# --- DODANE: legenda symboli pod wykresem ---
plt.text(
    0.5, -0.12,
    "o — start spirali    ▶ — koniec spirali",
    transform=plt.gca().transAxes,
    ha='center',
    fontsize=16
)
plt.tick_params(axis='both', labelsize=18)
plt.show()

Zobacz też

[edytuj | edytuj kod]

Bibliografia

[edytuj | edytuj kod]

W języku polskim:

  • I. N. Bronsztejn, K. A. Siemiendiajew, Poradnik encyklopedyczny Matematyka, PWN, Warszawa 2019, str. 129-130.
  • I. Dziubiński, T. Świątkowski i inni, praca zbiorowa, Poradnik matematyczny cz. 2, Warszawa 1982, Państwowe Wydawnictwo Naukowe, str. 748-749.

W języku angielskim:

Linki zewnętrzne

[edytuj | edytuj kod]
  • Eric W. Weisstein, Golden Spiral, [w:] MathWorld, Wolfram Research (ang.). [dostęp 2025-07-19].
  • Golden Spiral demonstracja autorstwa Yu-Sung Chang, The Wolfram Demonstrations Project