The Radar Sweep are used for displays of single level sweeps of radar data, and their display appears in the Main Display window. With the help of arcade module of Python, it is possible to perform a radar sweep animation. Before starting, it is highly recommended to revise concepts of arcade library.
To perform a radar sweep animation, follow the below steps:-
Step 1: Import arcade as well math module in you respective Ide.
import arcade
import math
Step 2: Specify the parameters for the output window.
# Set up the constants
WIDTH = 800
_HEIGHT = 600
TITLE = "Radar Sweep"
Step 3: 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
Step 4: Define a on_draw function, under which move the angle of the sweep and calculate the end point of our radar sweep, using math . Lastly draw the outline of the 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
Step 5: Define main function.
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()
The radar sweep will looks like this –

Complete source code:
Python3
import arcade
import math
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "Radar Sweep Example"
CENTER_X = SCREEN_WIDTH / / 2
CENTER_Y = SCREEN_HEIGHT / / 2
RADIANS_PER_FRAME = 0.02
SWEEP_LENGTH = 250
def on_draw(_delta_time):
on_draw.angle + = RADIANS_PER_FRAME
x = SWEEP_LENGTH * math.sin(on_draw.angle) + CENTER_X
y = SWEEP_LENGTH * math.cos(on_draw.angle) + CENTER_Y
arcade.start_render()
arcade.draw_line(CENTER_X, CENTER_Y, x, y, arcade.color.OLIVE, 4 )
arcade.draw_circle_outline(CENTER_X, CENTER_Y, SWEEP_LENGTH,
arcade.color.DARK_GREEN, 10 )
on_draw.angle = 0
def main():
arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
arcade.set_background_color(arcade.color.BLACK)
arcade.schedule(on_draw, 1 / 80 )
arcade.run()
arcade.close_window()
main()
|
Output:
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
19 Oct, 2020
Like Article
Save Article