Heute habe ich beschlossen, eine mit einem Programm (matplotlib) in Graffiti geschriebene Figur zu zeichnen, also habe ich sie mit Python gezeichnet.
fractal.py
import matplotlib.pyplot as plt
import matplotlib.collections as mc
import numpy as np
import math
def return_point(p1, p2):
point = (p2-p1)*0.08 + p1
return point
N = 1000
x = np.linspace(-1, 1, N)
x_point = [0, 100, 200]
y_point = [0, math.sqrt(3)*100, 0]
for i in range (N):
new_x_point = return_point(x_point[i], x_point[i+1])
new_y_point = return_point(y_point[i], y_point[i+1])
x_point.append(new_x_point)
y_point.append(new_y_point)
fractal = [[(x_point[i], y_point[i]), (x_point[i+1], y_point[i+1])] for i in range(N)]
lc = mc.LineCollection(fractal, colors='#333333', linewidths=1, antialiased=True)
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(1,1,1)
#↓ Nicht wesentliche Einstellungen
ax.set_axis_bgcolor('#f3f3f3')
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['left'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['bottom'].set_visible(False)
plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False)
#↑ Nicht wesentliche Einstellungen
ax.add_collection(lc)
ax.autoscale()
plt.savefig('./fractal.png')
Es macht auch Spaß, den Wert von "0,08" in der 7. Zeile "Punkt = (p2-p1) * 0,08 + p1" zu ändern.
Oh, wunderschön (wahrscheinlich auf einer CD-Hülle) (Übrigens, wenn Sie einen Namen haben, lassen Sie es mich bitte im Kommentarbereich wissen)
Genau genommen dachte ich, es sei keine fraktale Figur, also änderte ich den Titel von "Ich habe versucht, eine fraktale Figur mit Python zu zeichnen" in "Ich habe versucht, eine pseudo-fraktale Figur mit Python zu zeichnen".
Vielen Dank.
** Erstelle eine fraktale Figur mit Python Teil1 (Shelpinsky's Gasket) ** https://qiita.com/okakatsuo/items/f2e79fc501ed9f799734
** Wie zeichnet man mit Matplotlib mehrere Linien ** https://omedstu.jimdofree.com/2019/10/04/matplotlibで複数の線集合を描画する方法/
** Eine sehr Zusammenfassung von Matplotlib ** https://qiita.com/nkay/items/d1eb91e33b9d6469ef51#2-グラフaxesの作成
Recommended Posts