D’où vient l’Airsoft Trajectory Project ?
L’Airsoft Trajectory Project, ou ATP, est une étude consacrée au vol des projectiles sphériques utilisés en airsoft. Mackila a construit un programme MATLAB, rassemblé des références en aérodynamique, décrit les forces pertinentes et confronté une partie des calculs à des mesures au chronographe. Le projet traite notamment de la masse des billes, de la densité de l’air, de la perte de vitesse, du hop-up, du vent, de la portée et de l’énergie à distance.
F.A.T. ne copie ni les pages ni les graphiques d’ATP. Il reprend les équations et les hypothèses publiées, les traduit en JavaScript moderne et documente les choix nécessaires pour obtenir un outil interactif. Une copie PDF conservant l’étude ATP permet également de consulter le corpus historique.
Le repère et l’état du projectile
Le moteur travaille en unités SI. L’axe x suit la direction du tir, l’axe y représente la verticale et l’axe z la dérive latérale. À chaque instant, l’état contient trois positions, trois vitesses et la vitesse angulaire de la bille.
La bille ATP de référence mesure 6 mm. Son rayon vaut 0,003 m et sa surface frontale est celle d’un cercle. La masse saisie est convertie de grammes en kilogrammes. L’énergie de bouche sert à calculer la vitesse initiale ; si l’utilisateur entre des FPS, la conversion est réalisée avant la simulation.
La traînée aérodynamique
La traînée s’oppose à la vitesse de la bille par rapport à l’air. Sa forme classique dépend de la densité de l’air, de la surface frontale, du carré de la vitesse et d’un coefficient de traînée.
Fdrag = ½ × ρ × Cd × A × |vair|²
ATP ne garde pas un coefficient fixe de 0,47. Il utilise un polynôme rationnel attribué aux travaux compilés par Gary Dyrkacz à partir de données sur les sphères et les balles de golf. Le coefficient varie avec le nombre de Reynolds et avec le ratio entre vitesse de surface due au spin et vitesse linéaire. Une bille en forte rotation peut présenter un coefficient légèrement inférieur à celui d’une bille presque sans spin.
Le vent entre ici comme vitesse du milieu. Le moteur soustrait le vecteur vent au vecteur vitesse du projectile avant de calculer la traînée. Un vent de face augmente donc la vitesse d’air rencontrée ; un vent de dos la réduit.
La portance et l’effet Magnus
Le backspin transmis par le hop-up crée une force perpendiculaire au déplacement. Sa magnitude utilise la même pression dynamique que la traînée, avec un coefficient de portance Cl.
Flift = ρ × Cl × A × |vair|²
Le coefficient ATP dépend du ratio V/U, où V représente la vitesse tangentielle de la surface de la bille et U sa vitesse linéaire. À faible ratio non nul, le polynôme produit une portance négative : c’est la zone de Reverse Magnus décrite par Mackila. Quand le ratio augmente, la portance devient positive et soutient la bille.
ATP travaille avec une rotation initiale en tours par minute, pas avec une position de molette en pourcentage. F.A.T. recherche automatiquement la valeur qui produit le tir le plus tendu, puis les boutons moins et plus la corrigent par pas de 250 tr/min. La valeur technique et le ratio V/U restent affichés sous le contrôle ; les anciens liens en pourcentage restent lisibles sans être présentés comme une mesure physique.
La formule Cl imprimée et la courbe III-A-04 ne coïncident pas exactement près du passage en portance positive. Le moteur conserve la formule textuelle pour audit et applique à la simulation le décalage constant de V/U mesuré sur les points du graphe original. Aucun plafond n’est appliqué à Cl.
La décroissance du spin
La rotation ne reste pas constante. L’air exerce un couple qui ralentit progressivement la bille. ATP publie une relation de coefficient de couple fonction du nombre de Reynolds rotationnel :
Ct = 6,45 ÷ √Reω + 32,1 ÷ Reω
Reω = ρ × |ω| × r² ÷ μ
Mackila précise toutefois que cette partie est incomplète : ses équations de couple ont été modifiées à partir d’observations et leurs coefficients complets n’ont pas été publiés. Employer seulement la relation ci-dessus conserve beaucoup trop de rotation et fait sortir V/U du domaine de ses graphes.
F.A.T. reconstruit donc la loi manquante sur les figures III-A-02 et III-A-03. Pour le cas étalon de 0,20 g, 0,98 J et 120 000 tr/min, la rotation descend vers 30 000 tr/min en une seconde tandis que V/U converge vers 0,421. L’ajustement différentiel est explicite dans le code, laisse une rotation nulle à zéro et remplace l’ancien multiplicateur de couple arbitraire. C’est une reconstruction vérifiable des courbes publiées, pas le code MATLAB inédit de Mackila.
L’air, la température et la gravité
La densité de l’air est calculée à partir de la pression et de la température avec la relation des gaz parfaits pour l’air sec. ATP a étudié l’humidité et conclu que son influence sur la densité était faible face à la température et à l’altitude ; F.A.T. ne demande donc pas l’humidité. La pression permet de représenter directement les conditions locales ou l’effet de l’altitude.
La gravité varie légèrement avec la latitude. Le moteur applique la relation donnée dans ATP, avec 47° par défaut pour représenter la France métropolitaine. Le changement est minuscule : ce réglage existe surtout pour finir le travail proprement, pas pour expliquer une bille à deux mètres de la cible.
Le vent et la simulation 3D
ATP distingue vent longitudinal et vent latéral. F.A.T. les réunit dans un vecteur 3D. La convention de saisie indique d’où vient le vent : 0° de face, 90° de droite, 180° de dos et 270° de gauche. La traînée accélère la bille latéralement vers le flux, tandis que la modification de vitesse relative change aussi portance et perte d’énergie.
L’angle d’inclinaison latérale de la réplique fait pivoter l’axe de rotation. Une partie de la force Magnus devient alors latérale. Cette option permet de distinguer une dérive due au vent d’une dérive systématique due à un cant ou à un appui désaxé.
L’intégration numérique
Documenté · moteur
Les forces changent en permanence avec la vitesse et la rotation. Il n’existe donc pas une simple formule fermée donnant la position finale. ATP recommande de petits intervalles et une méthode d’approximation d’équations différentielles. F.A.T. utilise Runge–Kutta d’ordre 4 avec un pas de 0,001 seconde.
À chaque pas, le moteur évalue plusieurs fois les dérivées de la position, de la vitesse et du spin, puis combine ces estimations. Le calcul est exécuté dans un Web Worker afin de ne pas bloquer l’interface. Les points rendus sont échantillonnés pour le graphique, mais l’intégration conserve son pas fin.
Le zérotage et la portée utile
L’utilisateur règle directement l’angle du canon, avec 0° parfaitement horizontal par défaut. Le zéro optique incline uniquement la ligne de visée vers le point de trajectoire demandé ; il ne déplace jamais le canon ni la courbe physique.
F.A.T. définit la portée utile avec une marge verticale égale à une hauteur de buste complète, soit 60 cm par rapport à la ligne de visée. Elle s’arrête à la première sortie au-delà de ±60 cm. Ce choix produit s’appuie sur la trajectoire ATP, mais ne constitue ni une mesure de dispersion, ni une garantie de touche, ni une distance de sécurité. La portée maximale reste calculée séparément à l’intersection avec le sol.
Ce que le modèle ne peut pas promettre
- Le spin réel transmis par un joint donné doit être estimé ou mesuré.
- La rugosité, le diamètre exact et les défauts de chaque bille sont simplifiés.
- Le vent est constant, alors qu’un terrain produit des rafales et des obstacles.
- Le modèle commence à la bouche et ne simule pas l’accélération dans le canon.
- La dispersion mécanique, les vibrations, le mouvement du tireur et les erreurs de visée ne sont pas prédites.
- Les polynômes aérodynamiques ne sont pas plafonnés ; une extrapolation hors des données ATP doit donc être interprétée avec prudence.
Le bon usage consiste à comparer des scénarios, à calibrer le spin sur des observations et à confronter les résultats à des séries mesurées. Si la cible contredit le graphique, la cible gagne. Elle a l’avantage d’être sur place.