J'ai essayé de dessiner une pseudo figure fractale en utilisant Python

Aujourd'hui, j'ai décidé de dessiner une figure écrite en graffiti avec un programme (matplotlib), alors je l'ai dessinée en Python.

Programme à utiliser cette fois

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)

#↓ Paramètres non essentiels
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)
#↑ Paramètres non essentiels

ax.add_collection(lc)
ax.autoscale()
plt.savefig('./fractal.png')

Il est également amusant de changer la valeur de «0,08» dans la 7ème ligne «point = (p2-p1) * 0,08 + p1».

Après exécution

fractal.png

Oh, magnifique (probablement sur une pochette de CD) (Au fait, si vous avez un nom, merci de me le faire savoir dans la section commentaires)

[Une addition]

Strictement parlant, je pensais que ce n'était pas une figure fractale, donc j'ai changé le titre de "J'ai essayé de dessiner une figure fractale en utilisant Python" en "J'ai essayé de dessiner une figure pseudo fractale en utilisant Python".

Articles référencés

Merci beaucoup.

** Créez une figure fractale avec python part1 (Shelpinsky's Gasket) ** https://qiita.com/okakatsuo/items/f2e79fc501ed9f799734

** Comment dessiner plusieurs lignes avec Matplotlib ** https://omedstu.jimdofree.com/2019/10/04/matplotlibで複数の線集合を描画する方法/

** Un très résumé de matplotlib ** https://qiita.com/nkay/items/d1eb91e33b9d6469ef51#2-グラフaxesの作成

Recommended Posts

J'ai essayé de dessiner une pseudo figure fractale en utilisant Python
J'ai essayé de dessiner une ligne en utilisant une tortue
J'ai essayé de lire un fichier CSV en utilisant Python
J'ai essayé d'implémenter un pseudo pachislot en Python
J'ai essayé d'utiliser Python (3) au lieu d'un calculateur de fonctions
J'ai fait un Line-bot avec Python!
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
J'ai essayé d'utiliser l'optimisation bayésienne de Python
J'ai essayé de créer une expression régulière de "date" en utilisant Python
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé de créer une application todo en utilisant une bouteille avec python
J'ai essayé d'utiliser pipenv, alors prenez note
J'ai créé un exemple pour accéder à Salesforce en utilisant Python et Bottle
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé la détection d'objets en utilisant Python et OpenCV
J'ai essayé de jouer à un jeu de frappe avec Python
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
J'ai essayé d'utiliser Pythonect, un langage de programmation de flux de données.
J'ai essayé d'utiliser le module Datetime de Python
J'ai essayé d'ajouter un module Python 3 en C
J'ai essayé d'exécuter alembic, un outil de migration pour Python
J'ai essayé d'utiliser la base de données (sqlite3) avec kivy
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser Summpy
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé Python> décorateur
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
[Python] Deep Learning: J'ai essayé d'implémenter Deep Learning (DBN, SDA) sans utiliser de bibliothèque.
[Python] J'ai immédiatement essayé d'utiliser l'extension VS Code de Pylance.
J'ai effectué un processus de connexion / déconnexion en utilisant Python's Bottle.
J'ai essayé d'exécuter python à partir d'un fichier chauve-souris
J'ai essayé d'héberger un exemple de modèle de Pytorch en utilisant TorchServe
J'ai essayé de lire les données d'un fichier en utilisant Node.js.
Python: j'ai essayé menteur et honnête