Ich habe versucht, mit Python eine Pseudofraktalfigur zu zeichnen

Heute habe ich beschlossen, eine mit einem Programm (matplotlib) in Graffiti geschriebene Figur zu zeichnen, also habe ich sie mit Python gezeichnet.

Programm, das dieses Mal verwendet werden soll

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.

Nach der Ausführung

fractal.png

Oh, wunderschön (wahrscheinlich auf einer CD-Hülle) (Übrigens, wenn Sie einen Namen haben, lassen Sie es mich bitte im Kommentarbereich wissen)

[Zusatz]

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".

Artikel, auf die verwiesen wird

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

Ich habe versucht, mit Python eine Pseudofraktalfigur zu zeichnen
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich habe versucht, Python (3) anstelle eines Funktionsrechners zu verwenden
Ich habe einen Line-Bot mit Python gemacht!
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Ich habe versucht, mit Python ein Tippspiel zu spielen
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
Ich habe versucht, Pythonect, eine Programmiersprache für den Datenfluss, zu verwenden.
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe versucht, ein Python 3-Modul in C hinzuzufügen
Ich habe versucht, alembic auszuführen, ein Migrationstool für Python
Ich habe versucht, die Datenbank (sqlite3) mit kivy zu verwenden
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe Python> Decorator ausprobiert
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
[Python] Deep Learning: Ich habe versucht, Deep Learning (DBN, SDA) ohne Verwendung einer Bibliothek zu implementieren.
[Python] Ich habe sofort versucht, die VS-Code-Erweiterung von Pylance zu verwenden.
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
Ich habe versucht, Python aus einer Bat-Datei auszuführen
Ich habe versucht, ein Beispielmodell von Pytorch mit TorchServe zu hosten
Ich habe versucht, Daten aus einer Datei mit Node.js zu lesen.
Python: Ich habe es mit Lügner und Ehrlichkeit versucht