Fibo/FiboPoint.py
2025-03-04 00:01:52 +09:00

28 lines
622 B
Python

import numpy as np
import matplotlib.pyplot as plt
# 參數設定
a = 1 # 初始半徑
b = np.log((1 + np.sqrt(5)) / 2) / (np.pi / 2) # 黃金比例相關的 b 值
# 角度範圍 (0 到 4π 讓螺旋轉兩圈)
theta = np.linspace(0, 4 * np.pi, 1000)
r = a * np.exp(b * theta)
# 轉換為笛卡爾座標
x = r * np.cos(theta)
y = r * np.sin(theta)
# 繪製黃金螺旋
plt.figure(figsize=(6, 6))
plt.plot(x, y, color='gold', linewidth=2)
# 設定視圖範圍與標籤
plt.axis('equal') # 保持比例
plt.title("黃金螺旋 (Golden Spiral)", fontsize=14)
plt.xlabel("X")
plt.ylabel("Y")
# 顯示圖像
plt.show()