如何繪制這些圓形結構:

uj5u.com熱心網友回復:
以報告鏈接中的第一個示例為例:

所以你必須做一個k從 1 到的 for 回圈N = 14000,在每次迭代中,你畫一個半徑R和中心在(X, Y)上面等式中定義的圓:
N = 14000
for k in range(1, N 1):
X = cos(10*pi*k/N)*(1 - 1/2*(cos(16*pi*k/N))**2)
Y = sin(10*pi*k/N)*(1 - 1/2*(cos(16*pi*k/N))**2)
R = 1/200 1/10*(sin(52*pi*k/N))**4
此時你有圓心的坐標和它的半徑,但還沒有圓本身,所以你必須計算它。首先,您必須定義一個theta從0to的角度2*pi,然后計算圓的點:
N = 14000
theta = np.linspace(0, 2*pi, 361)
for k in range(1, N 1):
X = cos(10*pi*k/N)*(1 - 1/2*(cos(16*pi*k/N))**2)
Y = sin(10*pi*k/N)*(1 - 1/2*(cos(16*pi*k/N))**2)
R = 1/200 1/10*(sin(52*pi*k/N))**4
x = R*np.cos(theta) X
y = R*np.sin(theta) Y
最后,您可以在每次迭代中繪制圓圈。
完整代碼
import numpy as np
import matplotlib.pyplot as plt
from math import sin, cos, pi
N = 14000
theta = np.linspace(0, 2*pi, 361)
fig, ax = plt.subplots(figsize = (10, 10))
for k in range(1, N 1):
X = cos(10*pi*k/N)*(1 - 1/2*(cos(16*pi*k/N))**2)
Y = sin(10*pi*k/N)*(1 - 1/2*(cos(16*pi*k/N))**2)
R = 1/200 1/10*(sin(52*pi*k/N))**4
x = R*np.cos(theta) X
y = R*np.sin(theta) Y
ax.plot(x, y, color = 'blue', linewidth = 0.1)
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/412184.html
標籤:
下一篇:計算特征向量時沒有得到預期的輸出
