Creando una animación de barrido de radar usando arcade en Python

El barrido de radar se utiliza para mostrar barridos de un solo nivel de datos de radar, y su visualización aparece en la ventana de visualización principal. Con la ayuda del módulo arcade de Python, es posible realizar una animación de barrido de radar. Antes de empezar, es muy recomendable repasar conceptos de librería arcade.

Para realizar una animación de barrido de radar, siga los pasos a continuación:-

Paso 1: importa el módulo arcade y matemático en tu Ide respectivo.

import arcade
import math

Paso 2: Especifique los parámetros para la ventana de salida.

# Set up the constants
WIDTH = 800
_HEIGHT = 600
TITLE = "Radar Sweep"

Paso 3: Estas constantes controlan los detalles sobre el radar.

CENTER_X = SCREEN_WIDTH // 2
CENTER_Y = SCREEN_HEIGHT // 2
RADIANS_PER_FRAME = 0.02
SWEEP_LENGTH = 250

Paso 4: Defina una función on_draw, bajo la cual mueva el ángulo del barrido y calcule el punto final de nuestro barrido de radar, usando matemáticas. Por último, dibuja el contorno del radar.

def on_draw(_delta_time):
   # Move the angle of the sweep.
   on_draw.angle += RADIANS_PER_FRAME
   
   # Calculate the end point of our radar sweep. 
   x = SWEEP_LENGTH * math.sin(on_draw.angle) + CENTER_X
   y = SWEEP_LENGTH * math.cos(on_draw.angle) + CENTER_Y
   
   # Start the render. 
   arcade.start_render()
   
   # Draw the radar line
   arcade.draw_line(CENTER_X, CENTER_Y, x, y,
    arcade.color.OLIVE, 4)
   
   # Draw the outline of the radar
   arcade.draw_circle_outline(CENTER_X, CENTER_Y, 
   SWEEP_LENGTH, arcade.color.DARK_GREEN, 10)

# This is a function-specific variable i.e  
# we need to give them initial
# values.
on_draw.angle = 0  

Paso 5: Defina la función principal.

def main():

   # Open up our window
   arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT,
    SCREEN_TITLE)
   arcade.set_background_color(arcade.color.BLACK)
   
   # Tell the computer to call the draw command at
   # the specified interval.
   arcade.schedule(on_draw, 1 / 80)
   
   # Run the program
   arcade.run()
   
   #  close the window.
   arcade.close_window()
  main()

El barrido de radar se verá así:

Código fuente completo:

Python3

import arcade
import math
  
# Set up the constants
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "Radar Sweep Example"
  
# These constants control the particulars 
# about the radar
CENTER_X = SCREEN_WIDTH // 2
CENTER_Y = SCREEN_HEIGHT // 2
RADIANS_PER_FRAME = 0.02
SWEEP_LENGTH = 250
  
  
def on_draw(_delta_time):
  
    # Move the angle of the sweep.
    on_draw.angle += RADIANS_PER_FRAME
  
    # Calculate the end point of our radar sweep. Using math.
    x = SWEEP_LENGTH * math.sin(on_draw.angle) + CENTER_X
    y = SWEEP_LENGTH * math.cos(on_draw.angle) + CENTER_Y
  
    # Start the render.
    arcade.start_render()
  
    # Draw the radar line
    arcade.draw_line(CENTER_X, CENTER_Y, x, y, arcade.color.OLIVE, 4)
  
    # Draw the outline of the radar
    arcade.draw_circle_outline(CENTER_X, CENTER_Y, SWEEP_LENGTH,
                               arcade.color.DARK_GREEN, 10)
  
  
on_draw.angle = 0
  
  
def main():
  
    # Open up our window
    arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
    arcade.set_background_color(arcade.color.BLACK)
  
    # Tell the computer to call the draw command at the specified interval.
    arcade.schedule(on_draw, 1 / 80)
  
    # Run the program
    arcade.run()
  
    # close the window.
    arcade.close_window()
  
main()

Producción:

Publicación traducida automáticamente

Artículo escrito por pulkitagarwal03pulkit y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *