Dessinez un cœur en Python

Aperçu

[Introduction aux mathématiques à partir de Python](https://www.amazon.co.jp/Python%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82% J'ai acheté un livre intitulé 81% E3% 82% 8B% E6% 95% B0% E5% AD% A6% E5% 85% A5% E9% 96% 80-Amit-Saha / dp / 4873117682). Comme c'était un gros problème, j'ai décidé de dessiner un graphique en me référant au "Chapitre 2 Visualiser les données avec un graphique". J'ai aimé la jolie silhouette, alors j'ai décidé de dessiner: coeur:.

Tout d'abord, créez un fichier de configuration pour matplotlib comme préparation préliminaire. Il était nécessaire de spécifier backend pour afficher le graphique dans l'environnement macOS, et font.family pour utiliser le japonais pour le titre du graphique.

~/.matplotlib/matplotlibrc


backend : TkAgg
font.family : Ricty Diminished

Passons maintenant au sujet principal du dessin: coeur:. J'ai utilisé la formule sur la page Heart Curve.

x = 16sin^3(t) y = 13cos(t)-5cos(2t)-2cos(3t)-cos(4t)

draw_heart.py


from matplotlib import pyplot as plt
from math import pi, sin, cos


def draw_graph(x, y, title, color):
  plt.title(title)
  plt.plot(x, y, color=color)
  plt.show()


# range()Version à virgule flottante de la fonction
# (référence)Premiers pas avec les mathématiques Commencer avec Python 2.4.2.1 Génération de nombres à virgule flottante équidistants
def frange(start, final, increment=0.01):
  numbers = []

  while start < final:
    numbers.append(start)
    start = start + increment

  return numbers


def draw_heart():
  intervals = frange(0, 2 * pi)
  x = []
  y = []

  for t in intervals:
    x.append(16 * sin(t) ** 3)
    y.append(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))

  draw_graph(x, y, title='cœur', color='#FF6597')


if __name__ == '__main__':
  try:
    draw_heart()
  except KeyboardInterrupt:
    # control +Quittez avec C.
    pass

L'exécution de ce script Python dessinera un beau: heart: graph. Mignon: détendu:

figure_1.png

prime

La fonction frange implémentée dans le script ci-dessus pourrait être remplacée par la fonction arange de NumPy. NumPy a également des fonctions telles que «pi», «sin» et «cos», vous n'avez donc pas besoin du module «math» si vous utilisez ce module.

draw_heart.py


from matplotlib import pyplot as plt
from numpy import arange, pi, sin, cos


def draw_graph(x, y, title, color):
  plt.title(title)
  plt.plot(x, y, color=color)
  plt.show()


def draw_heart():
  intervals = arange(0, 2 * pi, 0.01)
  x = []
  y = []

  for t in intervals:
    x.append(16 * sin(t) ** 3)
    y.append(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))

  draw_graph(x, y, title='cœur', color='#FF6597')


if __name__ == '__main__':
  try:
    draw_heart()
  except KeyboardInterrupt:
    pass

Recommended Posts

Dessinez un cœur en Python
Dessiner un cœur avec Python Partie 2 (SymPy Edition)
Dessinez une matrice de diagramme de dispersion avec python
Dessinez un diagramme CNN en Python
Dessinez une structure arborescente en Python 3 à l'aide de graphviz
Dessiner un graphique avec python
Dessiner un graphique d'une fonction quadratique en Python
[Python] Comment dessiner un histogramme avec Matplotlib
Prendre une capture d'écran en Python
Créer une fonction en Python
Dessiner une forme d'onde mp3 en Python
Créer un dictionnaire en Python
Dessinez le disque de Poancare en Python
Dessiner "Dessiner une fougère par programme" en Python
Créer un bookmarklet en Python
Dessiner la fonction Yin en python
Dessinez des ondes sinusoïdales avec Blender Python
Probablement dans un serpent Nishiki (Titre original: Peut-être en Python)
Ecrire une dichotomie en Python
[python] Gérer les fonctions dans une liste
Appuyez sur une commande en Python (Windows)
Créer un conteneur DI avec Python
Dessinez des nœuds de manière interactive avec Plotly (Python)
Ecrire des algorithmes A * (A-star) en Python
Créer un fichier binaire en Python
Résoudre ABC036 A ~ C avec Python
Ecrire un graphique à secteurs en Python
Ecrire le plugin vim en Python
Écrire une recherche de priorité en profondeur en Python
Implémentation d'un algorithme simple en Python 2
Résoudre ABC037 A ~ C avec Python
Exécutez un algorithme simple en Python
Créer une chaîne aléatoire en Python
Lors de l'écriture d'un programme en Python
Générer une collection de première classe en Python
Quadtree en Python --2
Python en optimisation
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Utiliser l'impression dans l'expression lambda Python2
Un client HTTP simple implémenté en Python
Faites une visite Euler non récursive en Python
Méta-analyse en Python
J'ai fait un programme de gestion de la paie en Python!
Précautions lors du décapage d'une fonction en python
Unittest en Python
Afficher une liste d'alphabets en Python 3
Essayez d'envoyer un paquet SYN en Python
Essayez de dessiner une animation simple en Python
Créer une application GUI simple en Python
Époque en Python
Discord en Python
Ecrire une courte définition de propriété en Python
Allemand en Python
nCr en python
Exécuter l'interpréteur Python dans le script
N-Gram en Python