El codigo Python:
from math import sqrt
import random
import matplotlib.pyplot as plt
n = 10000
p=q=0
plt.figure(figsize=(7,7))
for i in range(n):
p = random.random() * 8 - 4
q = random.random() * 8 - 4
r = sqrt(p ** 2 + q ** 2)
if 2<r<4:
x,y=p,q
plt.plot(x,y,'o',markersize=1)
plt.show()
El resultado de ese codigo:
En el código utilizamos coordenadas cartesianas para saber en qué lugar van a estar los puntos, generamos aleatoriamente las variables
x
e y
que pondrá los puntos aleatoriamente por toda la pantalla, no sin antes usando un if
para filtrar los puntos que son impresos en la pantalla, aquí es donde podemos elegir la forma de la figura que se termine de imprimir en pantalla.En nuestro caso esto es la parte que crea esa forma de donut.
p = random.random() * 8 - 4
q = random.random() * 8 - 4
r = sqrt(p ** 2 + q ** 2)
if 2<r<4:
x,y=p,q
plt.plot(x,y,'o',markersize=1)
random.random()
, como esto solo genera números entre uno y cero la multiplicarlo por ocho y restarle cuatro le damos los márgenes que queremos para las coordenadas cartesianas. Luego aplicamos el teorema de Pitágoras para saber a qué distancia está ese punto desde el centro del plano.
Esta imagen puede que ayude a entender lo que estamos intentando hacer:
Y luego usando un
if
, si ese punto está dentro de las coordenadas dos y cuatro entonces les paso los valores de p,q
y x,y
para añadirlo al plot
y luego imprimirlo.Nota: Si ejecutas este código en algunos editores de código como PyCharm, al importar la librería
matplotlib
no solo tendrás que importarla escribiéndola en el código si no que tendrás que importarla desde el propio editor. Aquí os enseñamos cómo hacerlo: https://www.youtube.com/watch?v=aROm4KYHXLI&feature=youtu.be
No hay comentarios:
Publicar un comentario