Table des matières
Composants pour l'animation du balayage radar
Prérequis
Détails de mise en œuvre
Définissez la fréquence d'images de l'animation
Définir le balayage radar
Programme final, code
Conclusion
Maison développement back-end Tutoriel Python Créer une animation de balayage radar à l'aide de Pygame en Python

Créer une animation de balayage radar à l'aide de Pygame en Python

Aug 28, 2023 am 10:09 AM
扫描 雷达 pygame

Pygame est un ensemble de modules Python multiplateformes conçus pour écrire des jeux vidéo. Il comprend des bibliothèques d'infographies et de sons conçues pour être utilisées avec le langage de programmation Python. Pygame n'est pas un moteur de développement de jeux, mais un ensemble d'outils et de bibliothèques permettant aux développeurs de créer des jeux 2D à l'aide de Python.

Pygame fournit une variété de fonctions et de classes pour aider les développeurs à créer des jeux, notamment le chargement et la manipulation d'images, la lecture et l'enregistrement du son, la gestion des entrées au clavier et à la souris, la gestion des sprites et des groupes et la détection des collisions. Il inclut également une prise en charge intégrée des tâches courantes de développement de jeux telles que l'animation, le défilement et les cartes basées sur des tuiles.

Pygame est open source et gratuit, et il fonctionne sur Windows, macOS, Linux et d'autres plates-formes. Il est souvent utilisé dans des contextes éducatifs comme introduction au développement de jeux ou comme outil pour enseigner les concepts de programmation.

Composants pour l'animation du balayage radar

Une animation de base de balayage radar comprend les parties suivantes : 

  • Radar Circle - C'est le cercle qui représente la portée du radar. Il est centré sur l'origine et possède un rayon fixe.

  • Radar Scan - Il s'agit d'une ligne tournant autour du centre d'un cercle. Il représente le faisceau émis par le radar avec une portée de balayage de 360 ​​degrés.

  • Cibles radar - Ce sont les objets que nous voulons détecter à l'aide du radar. Ils sont représentés sous forme de points sur l'écran.

Maintenant que nous connaissons les composants d'une animation de balayage radar, plongeons-nous dans l'implémentation à l'aide de Pygame.

Prérequis

Avant de nous lancer dans cette tâche, quelques éléments doivent être installés sur votre

Système-

Liste des paramètres recommandés -

  • pip installe Numpy, pygame et Math

  • Il est prévu que les utilisateurs puissent accéder à n'importe quel IDE autonome tel que VSCode, PyCharm, Atom ou Sublime Text.

  • Vous pouvez même utiliser des compilateurs Python en ligne comme Kaggle.com, Google Cloud Platform ou toute autre plateforme.

  • Version Python mise à jour. Au moment d'écrire ces lignes, j'utilise la version 3.10.9.

  • Découvrez l'utilisation de Jupyter Notebook.

  • La connaissance et l'application des environnements virtuels seraient bénéfiques mais pas obligatoires.

  • Attendez-vous également à ce que la personne ait une bonne compréhension des statistiques et des mathématiques.

Détails de mise en œuvre

Importer des bibliothèques - Nous commencerons par importer les bibliothèques nécessaires - Pygame, NumPy et Math.

import pygame
import math
import random
Copier après la connexion

Initialiser la fenêtre de jeu - Nous utiliserons la bibliothèque Pygame pour initialiser la fenêtre de jeu avec la largeur et la hauteur requises.

WIDTH = 800
HEIGHT = 600
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Radar Sweep Animation")
clock = pygame.time.Clock()
Copier après la connexion

Configurer l'environnement de jeu - Nous configurerons l'environnement de jeu en définissant la couleur, l'arrière-plan et la fréquence d'images de l'animation.

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
Copier après la connexion

Définissez la fréquence d'images de l'animation

Définir le cercle radar - Nous définirons le cercle radar avec le rayon et les coordonnées centrales souhaités. Nous définirons également la couleur du cercle et l’épaisseur du trait.

radar_circle_radius = 200
radar_circle_center_x = int(WIDTH / 2)
radar_circle_center_y = int(HEIGHT / 2)
Copier après la connexion

Définir le balayage radar - Nous définirons le balayage radar en réglant l'angle initial à 0 degré et en l'incrémentant à chaque image pour qu'il balaye à 360 degrés. Nous définirons également la couleur et l’épaisseur des lignes de numérisation.

Définir le balayage radar

radar_sweep_angle = 0
radar_sweep_length = radar_circle_radius + 50
def update():
   # Increment the angle in each frame
   global radar_sweep_angle
   radar_sweep_angle += 1
# Draw the radar sweep line
def draw_radar_sweep():
   x = radar_circle_center_x + radar_sweep_length *
math.sin(math.radians(radar_sweep_angle))
   y = radar_circle_center_y + radar_sweep_length *
math.cos(math.radians(radar_sweep_angle))
   pygame.draw.line(screen, BLACK, (radar_circle_center_x,
radar_circle_center_y), (x, y), 3)
Copier après la connexion

Définir les cibles radar - Nous définirons les cibles radar en utilisant des coordonnées x et y aléatoires dans le cercle radar. Nous définirons également la couleur et le rayon de la cible.

num_targets = 10
target_radius = 10
targets = []
for i in range(num_targets):
   x = random.randint(radar_circle_center_x - radar_circle_radius,
radar_circle_center_x + radar_circle_radius)
   y = random.randint(radar_circle_center_y - radar_circle_radius,
radar_circle_center_y + radar_circle_radius)
   targets.append((x, y))
   # Draw the radar targets
def draw_radar_targets():
   for target in targets:
      pygame.draw.circle(screen, BLUE, target, target_radius)
      distance_to_target = math.sqrt((target[0] - x) ** 2 + (target[1] - y) ** 2)
      if distance_to_target <= target_radius:
         pygame.draw.rect(screen, RED, (target[0], target[1], 60, 20))
         font = pygame.font.SysFont(None, 25)
         text = font.render("DETECTED", True, BLACK)
         screen.blit(text, (target[0], target[1]))
Copier après la connexion

Exécuter le jeu - Nous exécuterons le jeu en créant une fenêtre pygame, en configurant les gestionnaires d'événements nécessaires et en exécutant la boucle de jeu.

# Main game loop
running = True
while running:
   for event in pygame.event.get():
      if event.type == pygame.QUIT:
         running = False
   screen.fill(WHITE)
   update()
   draw_radar_sweep()
   draw_radar_targets()
   pygame.display.update()
   clock.tick(FPS)
# Quit the game
pygame.quit()
Copier après la connexion

Programme final, code

import pygame
import math
import random
# Initializing the Game Window:
WIDTH = 800
HEIGHT = 600
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Radar Sweep Animation")
clock = pygame.time.Clock()
# Defining colors:
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
# Set the frame rate of the animation
FPS = 60
# Defining the Radar Circle:
radar_circle_radius = 200
radar_circle_center_x = int(WIDTH / 2)
radar_circle_center_y = int(HEIGHT / 2)
# Define the radar sweep
radar_sweep_angle = 0
radar_sweep_length = radar_circle_radius + 50
# Define the radar targets
num_targets = 10
target_radius = 10
targets = []
for i in range(num_targets):
   x = random.randint(radar_circle_center_x - radar_circle_radius,
radar_circle_center_x + radar_circle_radius)
   y = random.randint(radar_circle_center_y - radar_circle_radius,
radar_circle_center_y + radar_circle_radius)
targets.append((x, y))
def update():
   # Increment the angle in each frame
   global radar_sweep_angle
   radar_sweep_angle += 1
# Draw the radar sweep line
def draw_radar_sweep():
   x = radar_circle_center_x + radar_sweep_length *
math.sin(math.radians(radar_sweep_angle))
   y = radar_circle_center_y + radar_sweep_length *
math.cos(math.radians(radar_sweep_angle))
   pygame.draw.line(screen, BLACK, (radar_circle_center_x,
radar_circle_center_y), (x, y), 3)
# Draw the radar targets
def draw_radar_targets():
   for target in targets:
      pygame.draw.circle(screen, BLUE, target, target_radius)
      distance_to_target = math.sqrt((target[0] - x) ** 2 + (target[1] - y)** 2)
      if distance_to_target <= target_radius:
         pygame.draw.rect(screen, RED, (target[0], target[1], 60, 20))
         font = pygame.font.SysFont(None, 25)
         text = font.render("DETECTED", True, BLACK)
         screen.blit(text, (target[0], target[1]))
# Main game loop
running = True
while running:
   for event in pygame.event.get():
      if event.type == pygame.QUIT:
         running = False
         screen.fill(WHITE)
         update()
         draw_radar_sweep()
         draw_radar_targets()
      pygame.display.update()
      clock.tick(FPS)
# Quit the game
pygame.quit()
Copier après la connexion
Créer une animation de balayage radar à laide de Pygame en Python

Nous pouvons voir la sortie du programme et observer l'animation du jeu.

Conclusion

Dans ce document, nous explorons comment créer une animation de balayage radar à l'aide de Pygame en Python. Nous avons découvert les composants d'une animation de balayage radar et parcouru les détails de mise en œuvre à l'aide d'extraits de code et d'exemples pratiques. Pygame fournit une API conviviale pour le développement de jeux et constitue un excellent choix pour créer des jeux vidéo et des animations 2D. Avec les connaissances acquises grâce à ce document, vous devriez maintenant être en mesure de créer votre propre animation de balayage radar à l'aide de Pygame.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Détails d'installation de Pygame : vous apprendra étape par étape à installer et configurer l'environnement de développement Détails d'installation de Pygame : vous apprendra étape par étape à installer et configurer l'environnement de développement Feb 20, 2024 pm 04:54 PM

Détails de l'installation de Pygame : Apprenez étape par étape à installer et à configurer l'environnement de développement, des exemples de code spécifiques sont nécessaires. Introduction : Pygame est une bibliothèque de développement de jeux basée sur Python. Elle fournit une multitude d'outils et de fonctions pour rendre le développement de jeux simple et intéressant. . Cet article présentera en détail comment installer Pygame, configurer l'environnement de développement et fournira des exemples de code spécifiques. Partie 1 : Installer Pygame Installer Python : Avant de commencer à installer Pygame, vous devez d'abord vous assurer que Pyt est installé sur votre ordinateur.

Comment installer Pygame Comment installer Pygame Nov 27, 2023 pm 03:49 PM

étapes d'installation de pygame : 1. Utilisez la commande "python --version" pour afficher la version de Python installée ; 2. Installez pip ; 3. Téléchargez pygame ; 4. Entrez cmd et entrez la commande pip install wheel pour installer wheel ; dans cmd Le répertoire du fichier .whl ; 6. Entrez Python dans cmd, puis entrez import pygame pour vérifier si l'installation a réussi 7. Installez pygame dans les paramètres de l'éditeur ;

Comprenez facilement les images 4K HD ! Ce grand modèle multimodal analyse automatiquement le contenu des affiches Web, ce qui le rend très pratique pour les travailleurs. Comprenez facilement les images 4K HD ! Ce grand modèle multimodal analyse automatiquement le contenu des affiches Web, ce qui le rend très pratique pour les travailleurs. Apr 23, 2024 am 08:04 AM

Un modèle volumineux capable d'analyser automatiquement le contenu des PDF, des pages Web, des affiches et des graphiques Excel n'est pas très pratique pour les travailleurs. Le modèle InternLM-XComposer2-4KHD (en abrégé IXC2-4KHD) proposé par Shanghai AILab, l'Université chinoise de Hong Kong et d'autres instituts de recherche en fait une réalité. Par rapport à d'autres grands modèles multimodaux qui ont une limite de résolution ne dépassant pas 1 500 x 1 500, ce travail augmente l'image d'entrée maximale des grands modèles multimodaux à une résolution supérieure à 4K (3 840 x 1 600) et prend en charge n'importe quel rapport d'aspect et 336 pixels en 4K. Changements de résolution dynamiques. Trois jours après sa sortie, le modèle était en tête de la liste de popularité des modèles de réponses visuelles aux questions HuggingFace. Facile à manier

Comment utiliser la méthode de dessin Draw de Pygame en Python Comment utiliser la méthode de dessin Draw de Pygame en Python Apr 19, 2023 pm 04:46 PM

Draw de Pygame Pygame fournit un module de dessin pour dessiner des formes graphiques simples, telles que des rectangles, des polygones, des cercles, des lignes droites, des arcs, etc. Les méthodes couramment utilisées du module pygame.draw sont présentées dans le tableau suivant : Nom description pygame.draw.rect() dessine un rectangle pygame.draw.polygon() dessine un polygone pygame.draw.circle() dessine un cercle basé sur sur le centre et le rayon, pygame.draw ellipse() dessine une ellipse pygame.draw.arc() dessine un arc (en agitant une partie de l'ellipse) pygame.draw.line() dessine une ligne

Comment utiliser Windows Defender pour analyser des dossiers dans Win10. Comment utiliser Windows Defender pour analyser des dossiers dans Win10. Jul 10, 2023 pm 11:17 PM

Windows 10 dispose d'un programme antivirus gratuit appelé Windows Defender, qui offre une protection en temps réel et peut analyser votre ordinateur. Cela vous permet également d'effectuer des analyses personnalisées, grâce auxquelles vous pouvez spécifier des dossiers ou des lecteurs spécifiques à rechercher à la recherche de logiciels malveillants. Étant donné que vous n'avez besoin d'analyser que ce dossier, le temps d'analyse sera beaucoup plus rapide que l'analyse de l'intégralité de la machine. Comme indiqué ci-dessous, nous proposons deux manières de personnaliser l'analyse pour vos dossiers spécifiques. Comment utiliser Windows Defender pour analyser les dossiers à la recherche de logiciels malveillants dans Win10. Pour analyser un dossier individuel et ses sous-dossiers, le moyen le plus simple consiste à cliquer avec le bouton droit sur le dossier et à sélectionner Analyser avec Windows Defender.

Comment NetEase Cloud Music analyse la musique locale_NetEase Cloud Music analyse le didacticiel de musique locale Comment NetEase Cloud Music analyse la musique locale_NetEase Cloud Music analyse le didacticiel de musique locale Mar 25, 2024 pm 10:21 PM

1. Ouvrez NetEase Cloud Music, cliquez sur Mon, puis cliquez sur Musique locale. 2. Cliquez sur les trois points dans le coin supérieur droit. 3. Cliquez sur Analyser la musique locale. 4. Cliquez sur Paramètres de numérisation ci-dessous. 5. Faites glisser votre doigt vers la gauche pour filtrer les fichiers audio de moins de 60 secondes. 6. Revenez en arrière et cliquez sur Analyse complète pour analyser toute la musique locale.

Comment numériser depuis une imprimante HP vers un PDF Comment numériser depuis une imprimante HP vers un PDF Feb 19, 2024 am 10:06 AM

Après avoir utilisé des imprimantes HP pour numériser des documents, de nombreux utilisateurs souhaitent les numériser directement dans un fichier PDF, mais ils ne savent pas comment le faire avec succès. Il leur suffit d'utiliser un programme de numérisation sur leur ordinateur. Comment numériser une imprimante HP en PDF : 1. Ouvrez d'abord le programme de numérisation sur votre ordinateur. 2. Sélectionnez ensuite « Enregistrer le PDF » dans les paramètres de la page. 3. Appuyez ensuite sur « Scan » dans le coin inférieur droit pour lancer l'analyse du premier fichier. 4. Une fois terminé, cliquez sur l'icône « + » dans le coin inférieur gauche pour ajouter une nouvelle page de numérisation. 5. Vous verrez une nouvelle boîte de numérisation à côté du fichier d'origine. 7. Une fois terminé, sélectionnez « Enregistrer » pour enregistrer ces fichiers PDF.

Tutoriel de base pour apprendre Pygame : introduction rapide au développement de jeux Tutoriel de base pour apprendre Pygame : introduction rapide au développement de jeux Feb 19, 2024 am 08:51 AM

Tutoriel d'installation de Pygame : Maîtrisez rapidement les bases du développement de jeux, des exemples de codes spécifiques sont nécessaires Introduction : Dans le domaine du développement de jeux, Pygame est une bibliothèque Python très populaire. Il offre aux développeurs des fonctionnalités riches et des interfaces faciles à utiliser, leur permettant de développer rapidement des jeux de haute qualité. Cet article vous présentera en détail comment installer Pygame et fournira quelques exemples de code spécifiques pour vous aider à maîtriser rapidement les bases du développement de jeux. 1. Installation de Pygame Installez Python et commencez à installer Pyga

See all articles