es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo crear un círculo relleno de blanco en una cuadrícula de malla negra utilizando Python?

Podría crear una ventana rectangular (cuadrada) blanca en un malla de cuadrícula negra utilizando el siguiente fragmento de código:

import numpy as np
import pylab as plt
x = np.zeros(127)
y = np.zeros(127)
x[50:70] = 1
y[50:70] = 1
X, Y = np.meshgrid(x, y)
grating = X*Y
plt.imshow(X*Y)

Utilizando una idea similar, ¿cómo puedo trazar un círculo en el centro con un cierto radio?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para dibujar un círculo en el centro con un radio especificado, puedes modificar el código de la siguiente manera:

    import numpy as np
    import matplotlib.pyplot as plt
    
    # Crea una malla de 200x200 píxeles
    x = np.linspace(-1, 1, 200)
    y = np.linspace(-1, 1, 200)
    X, Y = np.meshgrid(x, y)
    
    # Calcula la distancia desde el centro
    radio = 0.5
    dist = np.sqrt(X**2 + Y**2)
    
    # Crea una máscara booleana para el círculo
    mascara_circulo = dist <= radio
    
    # Dibuja el círculo en blanco sobre una malla negra
    plt.imshow(mascara_circulo, cmap='binary')
    plt.show()
    

    Este código genera una malla de 200×200 y calcula la distancia de cada punto desde el centro. Luego crea una máscara booleana para los puntos dentro del círculo (es decir, aquellos con una distancia menor o igual al radio) y dibuja la máscara con imshow(), utilizando un mapa de colores binario para mostrar el círculo como blanco sobre un fondo negro. Puedes ajustar el radio cambiando el valor de la variable radio.

Comments are closed.