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