Cómo dibujar un corazón con pylab? Busqué en Google formas de dibujar, pero quiero saber cómo dibujarlo con pylab. ¿Alguien puede ayudar? La imagen debe ser similar this:cómo dibujar un corazón con pylab
9
A
Respuesta
8
Utilizando la fórmula vinculada en la otra solución:
import pylab
x = scipy.linspace(-2,2,1000)
y1 = scipy.sqrt(1-(abs(x)-1)**2)
y2 = -3*scipy.sqrt(1-(abs(x)/2)**0.5)
pylab.fill_between(x, y1, color='red')
pylab.fill_between(x, y2, color='red')
pylab.xlim([-2.5, 2.5])
pylab.text(0, -0.4, 'Stack Overflow', fontsize=24, fontweight='bold',
color='white', horizontalalignment='center')
pylab.savefig('heart.png')
+0
El OP enlaces a corazón ** 3D **. – jfs
4
Consejo: Tome un vistazo a ejemplo de Sage: 3D Love Heart:
x, y, z = var('x, y, z')
f(x, y, z) = (x^2+(9/4)*y^2+z^2-1)^3-x^2*z^3-(9/80)*y^2*z^3
P = implicit_plot3d(f, (x, -3, 3), (y, -3, 3), (z, -3, 3),
frame=False, axes=True, figsize=6,color="red")
P.show(viewer='tachyon')
4
Puede ver here, ¿cómo se puede trazar un hogar en 3D.
El autor del artículo han puesto juntas las funciones implícitas trazado can be found here y la función implícita de la chimenea, y obtuvo el código de abajo:
#!/usr/bin/env python3
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np
def heart_3d(x,y,z):
return (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)*y**2*z**3
def plot_implicit(fn, bbox=(-1.5, 1.5)):
''' create a plot of an implicit function
fn ...implicit function (plot where fn==0)
bbox ..the x,y,and z limits of plotted interval'''
xmin, xmax, ymin, ymax, zmin, zmax = bbox*3
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
A = np.linspace(xmin, xmax, 100) # resolution of the contour
B = np.linspace(xmin, xmax, 40) # number of slices
A1, A2 = np.meshgrid(A, A) # grid on which the contour is plotted
for z in B: # plot contours in the XY plane
X, Y = A1, A2
Z = fn(X, Y, z)
cset = ax.contour(X, Y, Z+z, [z], zdir='z', colors=('r',))
# [z] defines the only level to plot
# for this contour for this value of z
for y in B: # plot contours in the XZ plane
X, Z = A1, A2
Y = fn(X, y, Z)
cset = ax.contour(X, Y+y, Z, [y], zdir='y', colors=('red',))
for x in B: # plot contours in the YZ plane
Y, Z = A1, A2
X = fn(x, Y, Z)
cset = ax.contour(X+x, Y, Z, [x], zdir='x',colors=('red',))
# must set plot limits because the contour will likely extend
# way beyond the displayed level. Otherwise matplotlib extends the plot limits
# to encompass all values in the contour.
ax.set_zlim3d(zmin, zmax)
ax.set_xlim3d(xmin, xmax)
ax.set_ylim3d(ymin, ymax)
plt.show()
if __name__ == '__main__':
plot_implicit(heart_3d)
He cambiado la pitón a python3 en la primera fila. Si usa Python 2, necesita volver a configurarlo.
Cuestiones relacionadas
- 1. android cómo dibujar triángulo, estrella, cuadrado, corazón en el lienzo
- 2. Dibujar rectángulo (add_patch) en el modo de pylab
- 3. Dibujar texto dentro de la ventana de figura de pylab
- 4. matplotlib.pyplot/pylab no actualizando figure while isinteractive(), usando ipython -pylab
- 5. uso del corazón de erlang
- 6. Cómo dibujar un QPixmap con transparencia
- 7. Cómo dibujar un arco elíptico con CoreGraphics?
- 8. ¿Cómo guardar una figura de forma remota con pylab?
- 9. C++: impresión de corazón y diamantes ASCII con plataforma independiente
- 10. Cómo dibujar un rectángulo?
- 11. Cómo dibujar 'Biohazard' con swing
- 12. Mezcla alfa variable en pylab
- 13. Cómo dibujar un triángulo programáticamente
- 14. Cómo dibujar un círculo con un color específico en XNA?
- 15. ¿Por qué mi animación pylab se ralentiza con cada actualización?
- 16. python pylab plot distribución normal
- 17. Cómo dibujar un mapa mental
- 18. ¿Cómo dibujar en un JLabel?
- 19. ¿Cómo dibujar un círculo transparente?
- 20. Cómo dibujar un MKPolyline en un MapView?
- 21. OpenGL - Dibujar un cuadrado con glDrawArrays()
- 22. Cómo dibujar un círculo sólido con cocos2d para iPhone
- 23. ¿Cómo dibujar una ruta con un mapa de bits?
- 24. Cómo dibujar un círculo con particionado en Android?
- 25. Cómo dibujar una elipse rellena con un cierto color?
- 26. cómo dibujar una imagen en un lienzo con transparencia/alfa
- 27. Cómo dibujar un png-osm-map con las coordenadas
- 28. OpenGL - Cómo dibujar píxel cuadrado con GL_POINTS
- 29. Cómo dibujar imágenes suaves con C#?
- 30. cómo dibujar líneas de cuadrícula con libgdx
Las ecuaciones para 3D del corazón: http://mathworld.wolfram.com/HeartSurface.html http://www.mathematische-basteleien.de/heart.htm – jfs
se puede decir cardiod? –
publicación relacionada: http://stackoverflow.com/questions/1526898/how-do-i-reproduce-this-heart-shaped-mesh-in-matlab – Paul