プログラミング:Pythonでリサージュ曲線の描画

数日間さぼっていたのは実はpythonの勉強をしていたからなのです。以下ソースコード。

import math
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig = plt.figure()
delta = math.pi / 4

ims = []
for rad in range(0,360,15):

x = np.sin((2*math.radians(rad))+delta)
y = np.sin(3*math.radians(rad))
im = plt.scatter(x,y,s=100,c=”black”)
x2 = np.sin((2*math.radians(rad-7))+delta)
y2 = np.sin(3*math.radians(rad-7))
im2 = plt.scatter(x2,y2,s=95,c=”black”)
x3 = np.sin((2*math.radians(rad-14))+delta)
y3 = np.sin(3*math.radians(rad-14))
im3 = plt.scatter(x3,y3,s=90,c=”black”)
x4 = np.sin((2*math.radians(rad-21))+delta)
y4 = np.sin(3*math.radians(rad-21))
im4 = plt.scatter(x4,y4,s=85,c=”black”)
x5 = np.sin((2*math.radians(rad-28))+delta)
y5 = np.sin(3*math.radians(rad-28))
im5 = plt.scatter(x5,y5,s=80,c=”black”)

x6 = np.sin((2*math.radians(rad-35))+delta)
y6 = np.sin(3*math.radians(rad-35))
im6 = plt.scatter(x6,y6,s=75,c=”black”)
x7 = np.sin((2*math.radians(rad-42))+delta)
y7 = np.sin(3*math.radians(rad-42))
im7 = plt.scatter(x7,y7,s=70,c=”black”)
x8 = np.sin((2*math.radians(rad-49))+delta)
y8 = np.sin(3*math.radians(rad-49))
im8 = plt.scatter(x8,y8,s=65,c=”black”)
x9 = np.sin((2*math.radians(rad-56))+delta)
y9 = np.sin(3*math.radians(rad-56))
im9 = plt.scatter(x9,y9,s=60,c=”black”)
x10 = np.sin((2*math.radians(rad-62))+delta)
y10 = np.sin(3*math.radians(rad-62))
im10 = plt.scatter(x10,y10,s=55,c=”black”)

ims.append([im,im2,im3,im4,im5,im6,im7,im8,im9,im10])

ani = animation.ArtistAnimation(fig, ims, interval=70, blit=True, repeat_delay=0)
plt.show()

リサージュ曲線の図式ですが…。かなり頭の悪いコードです、サーセン。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA