script_615cvmn_615.py

49,00 

Générer des profils aérodynamiques NACA 4 chiffres aléatoires et les regrouper par similitudes géométriques via l’algorithme K-Means.

UGS : script_615cvmn_615.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_615cvmn_615.py

Version 1.0.0

Date de création 17/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Générer des profils aérodynamiques NACA 4 chiffres aléatoires et les regrouper par similitudes géométriques via l’algorithme K-Means.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script simule mathématiquement des formes d’ailes (profils NACA), normalise ces données géométriques, puis utilise l’apprentissage non supervisé (Clustering) pour identifier des familles de profils. Il génère enfin une double visualisation comparative.

📌 Problème résolu

Il permet de classifier automatiquement de grands ensembles de données aérodynamiques complexes en « tendances » ou « classes » sans intervention humaine, facilitant l’étude de l’influence des paramètres géométriques (cambrure, épaisseur) sur la forme globale.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Script autonome (CLI)

📦 Dépendances / Librairies

numpy : Calculs matriciels et génération de coordonnées.

matplotlib : Visualisation graphique des profils.

sklearn (Scikit-learn) : Prétraitement (StandardScaler) et Clustering (KMeans).

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 number int ✅ Oui Nombre de profils à générer. 50

2 n_points int ❌ Non Résolution de la corde (par défaut 100). 100

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 x_coords ndarray Vecteur des positions sur la corde. [0, …, 1]

2 data ndarray Matrice des profils (coordonnées Y concaténées). (50, 200)

3 clusters ndarray Index du cluster assigné à chaque profil. [0, 2, 1, …]

🧱 STRUCTURE DU SCRIPT

script_615cvmn_615.py

📌 IMPORTS : Modules de calcul, data science et graphisme.

📌 FONCTION generate_naca4_points : Logique de génération aléatoire selon les équations NACA.

📌 MAIN BLOCK :

Génération des données.

Standardisation (centrage-réduction).

Entraînement du modèle K-Means.

Génération d’une figure Matplotlib avec deux sous-graphiques.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

generate_naca4_points number, n_points tuple(x, profiles) Calcule les lignes moyennes et l’épaisseur pour N profils.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Génération aléatoire de paramètres m (cambrure), p (position) et t (épaisseur).

ÉTAPE 2 → Calcul des coordonnées Y de l’extrados et de l’intrados.

ÉTAPE 3 → Mise à l’échelle des données pour que chaque point ait une importance égale lors du clustering.

ÉTAPE 4 → Partitionnement des données en 3 clusters (K-Means).

ÉTAPE 5 → Affichage des résultats :

Haut : Nuage de tous les profils (couleur par groupe).

Bas : Profils moyens (centroïdes) représentatifs de chaque classe.

🚨 GESTION DES ERREURS

Convergence K-Means : Le paramètre n_init=10 est utilisé pour éviter de rester bloqué dans un minimum local.

Stabilité : random_state=42 assure que les résultats du clustering sont reproductibles à chaque exécution.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu

1 Cas nominal 50 profils Graphique affichant 3 couleurs distinctes.

2 Dimensionnalité n_points=100 Matrice de sortie de 200 colonnes (100 sup + 100 inf).

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_615cvmn_615.py

📋 Exemple de sortie attendue (Console)

(Le script n’utilise pas de logging, il ouvre directement une fenêtre graphique)

Une fenêtre Matplotlib s’affiche avec :

50 profils superposés en rouge, bleu et vert.

3 courbes épaisses représentant les « profils types » identifiés.

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “script_615cvmn_615.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *