[RUBY] Dessinez un cœur en rubis avec PyCall

Aperçu

C'est le troisième d'une série qui dessine un cœur. Cette fois, le code Python du deuxième Dessiner un cœur avec Python Partie 2 (SymPy Edition) est utilisé comme PyCall. J'ai essayé de le porter en code Ruby en utilisant un Gem appelé / mrkn / pycall).

Veuillez noter que PyCall a installé la dernière version `0.1.0.alpha.20170419 '' pour le moment (24/04/2017 à 23h30).

code

Port de (Python)

draw_heart.py


from sympy.plotting import plot_parametric
from sympy import Symbol, cos, sin


def draw_heart():
  t = Symbol('t')
  x = 16 * sin(t)**3
  y = 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t)

  plot_parametric(x, y,
                  autoscale=True, title='cœur', line_color='pink')


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

Porto (rubis)

draw_heart.rb


require 'pycall/import'
include PyCall::Import

pyimport 'sympy'
pyfrom 'sympy', import: %i[cos sin]
pyfrom 'sympy.plotting', import: :plot_parametric

def draw_heart
  t = sympy.Symbol.('t')
  x = 16 * sin.(t)**3
  y = 13 * cos.(t) - 5 * cos.(2 * t) - 2 * cos.(3 * t) - cos.(4 * t)

  plot_parametric.(x, y, autoscale: true, title: 'cœur', line_color: 'pink')
end

draw_heart

Résultat d'exécution

figure_1.png

Cela a fonctionné: heart_eyes:

Actuellement, il n'y a pas de documentation sur la façon de l'utiliser dans README.md dans le référentiel officiel, donc je l'ai écrit en référence à Exemples de code. Il s'est déplacé de manière inattendue en douceur! Il est étrange que le code Python fonctionne presque exactement dans Ruby: sparkles:

Recommended Posts

Dessinez un cœur en rubis avec PyCall
Dessinez un cœur en Python
Dessiner un cœur avec Python Partie 2 (SymPy Edition)
Dessinez un graphique avec des étiquettes japonaises dans Jupyter
Dessinez un graphique avec NetworkX
Dessinez un graphique avec networkx
Tracez un graphe avec Julia + PyQtGraph (2)
Dessinez une matrice de diagramme de dispersion avec python
Dessinez un graphique lâche avec matplotlib
Dessinez un beau cercle avec numpy
Tracez un graphique avec Julia + PyQtGraph (1)
Dessinez un graphique avec Julia + PyQtGraph (3)
Dessinez un graphique avec des pandas + XlsxWriter
Dessinez un diagramme CNN en Python
Dessinez un graphique avec l'interface graphique PySimple
Dessinez facilement une carte avec matplotlib.basemap
Dessinez une illusion d'aquarelle avec détection des contours en Python3 et openCV3
Dessinez Nozomi Sasaki dans Excel avec python
Dessinez un ensemble de Mandelbrot avec Brainf * ck
Dessinez une structure arborescente en Python 3 à l'aide de graphviz
Dessinez un graphique avec PyQtGraph Part 1-Drawing
(Matplotlib) Je veux dessiner un graphique avec une taille spécifiée en pixels
Dessinez une surface plane avec un graphique 3D matplotlib
Dessiner un graphique d'une fonction quadratique en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Comment dessiner un graphique à 2 axes avec pyplot
Dessinez une "courbe de seins" dans un graphique 3D (1)
Supprimer des données dans un modèle avec Redis Cluster
Démarrez Django dans un environnement virtuel à l'aide de Pipenv
Dessinez un graphique en traitant avec Pandas groupby
[Python] Dessinez un graphe orienté avec Dash Cytoscape
Essayez de dessiner une courbe de vie avec python
Créer un environnement virtuel avec conda avec Python
Créez un environnement Django avec Vagrant en 5 minutes
[Python] Dessinez un Mickey Mouse avec une tortue [Débutant]
Cloner avec une branche / balise spécifique dans GitPython
Dessinez un graphique avec les paramètres PyQtGraph Part 4-PlotItem
Janken en Ruby
Travaillez dans un environnement virtuel avec Python virtualenv.
Créer une nouvelle page en confluence avec Python
Une histoire remplie de valeurs absolues de numpy.ndarray
Dessinez un graphique avec PyQtGraph Partie 6 - Affichage d'une légende
[Python] Comment dessiner un histogramme avec Matplotlib
Dessinez une "courbe de seins" dans un graphique 3D (2)
Configurer un module avec plusieurs fichiers dans Django
Dessinez plusieurs photos de plusieurs dossiers sur un graphique
Dessinez un graphique avec PyQtGraph Partie 5-Augmentez l'axe Y
Dessine un graphique avec Julia ... j'ai essayé une petite analyse
[Python] Dessinez un diagramme de relation de balises Qiita avec NetworkX
Comment convertir / restaurer une chaîne avec [] en python
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Je veux faire la transition avec un bouton sur le ballon
Jouer avec l'API d'intelligence artificielle locale de l'utilisateur en Python
Créez un Slackbot simple avec un bouton interactif en python
Essayez d'incorporer Python dans un programme C ++ avec pybind11
Dessiner une structure arborescente avec D3.js dans Jupyter Notebook
Dessinez de force quelque chose comme un organigramme avec Python, matplotlib
Je veux travailler avec un robot en python.