
Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
KaTZe |
![]()
Message
#51
|
![]() ![]() ![]() ![]() ![]() ![]() Indicatif : RW-24 Messages : 1,589 Inscrit : 18/11/07 Lieu : Villelaure Membre n° 2,712 ![]() |
Pour précision, je n'ai pas utilisé pour ces fonctionalités les positions exportées lon-lat de l'avion, de WP ou de target. Ca serait assimilé à la présence d'un GPS à bord et donc du côté sombre de la ligne de cheat
![]() ![]() ![]() Tout est basé sur des calculs bullseye (addition des vecteurs relèvement bulls et cap WP) comme on le fait visuellement sur le HSI. Il est clair que si l'on développe un outil de communication inter-sioc, il devient possible d'envoyer ces relevés à un ailier. Pour l'optimisation du code, j'ai hésité avec l'utilisation de table pour le calcul inverse du cap en fonction de delta longitude, delta latitude. ![]() atan(x) = sigma pour n= 1 à inf : -1^n * x^2n+1 / 2n+1 ![]() Puis après quelques régression, une formule equi oscillente du type atan(x) = (x + 0.043*x^3)/(1 + 0.76*x^2 + 0.058*x^4) ![]() Pour finir sur une simplissime : atan(x) = x/(1 + 0.28*x^2) ![]() sur l'intervalle -PI/4 , PI/4 avec une précision supérieur à 1% et donc au demi-degré. Le reste sur 0-2PI c'est du bidouillage cardinal pour obtenir le cap exact ![]() Miaou ![]() Ce message a été modifié par KaTZe - 8 Dec 2009, 14:36. --------------------
120th Black Kite : "Mochibus et Pollutis" ![]() M-05 KaTZe |
Tolteque |
![]()
Message
#52
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Lisssssssseeeeeeee !! Indicatif : FC-96 Messages : 643 Inscrit : 25/09/08 Lieu : Vaucluse, Les Taillades Membre n° 3,163 ![]() |
Pour finir sur une simplissime : atan(x) = x/(1 + 0.28*x^2) ![]() sur l'intervalle -PI/2 , PI/2 avec une précision supérieur à 1% et donc au demi-degré. Miaou ![]() Tu es certain de ta formule de développement limité pour atan(). De mémoire (et ça fait longtemps) c'est plus du genre: x -x^3/3+ ... --------------------
![]() Arrêtez de rêver votre vie et vivez vos rêves. Il n'y a que deux jours sans importance dans une vie: Hier et Demain |
DArt |
![]()
Message
#53
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() I am LotAtc Indicatif : JR-01 Messages : 6,285 Inscrit : 30/11/06 Lieu : Savoie Membre n° 999 ![]() |
Exact Tolteque:
![]() http://fr.wikipedia.org/wiki/D%C3%A9veloppement_limit%C3%A9 Par contre, petite précision: CITATION Développement limité à l'ordre n au voisinage de 0 de fonctions usuelles: Ah que de (mauvais) souvenirs ces maths ![]() --------------------
|
KaTZe |
![]()
Message
#54
|
![]() ![]() ![]() ![]() ![]() ![]() Indicatif : RW-24 Messages : 1,589 Inscrit : 18/11/07 Lieu : Villelaure Membre n° 2,712 ![]() |
Tu es certain de ta formule de développement limité pour atan(). De mémoire (et ça fait longtemps) c'est plus du genre: x -x^3/3+ ... ![]() ![]() ![]() J'ai écrit : ![]() atan(x) = sigma pour n= 1 à inf : -1^n * x^2n+1 / 2n+1 ![]() ... ce qui est ... la formule à laquelle vous faites allusion ![]() J'ai donc effectué quelques régression pour arriver à la 2eme formule Puis après quelques régression, une formule equi oscillente du type atan(x) = (x + 0.043*x^3)/(1 + 0.76*x^2 + 0.058*x^4) ![]() Et finalement réussi une simplification au %près avec Pour finir sur une simplissime : atan(x) = x/(1 + 0.28*x^2) ![]() sur l'intervalle -PI/4 , PI/4 avec une précision supérieur à 1% et donc au demi-degré. ![]() Miaou ![]() Ce message a été modifié par KaTZe - 8 Dec 2009, 14:35. --------------------
120th Black Kite : "Mochibus et Pollutis" ![]() M-05 KaTZe |
Tolteque |
![]()
Message
#55
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Lisssssssseeeeeeee !! Indicatif : FC-96 Messages : 643 Inscrit : 25/09/08 Lieu : Vaucluse, Les Taillades Membre n° 3,163 ![]() |
Ouaaa, le "/" m'avait échappé (mes yeux me jouent des tours)
--------------------
![]() Arrêtez de rêver votre vie et vivez vos rêves. Il n'y a que deux jours sans importance dans une vie: Hier et Demain |
Tolteque |
![]()
Message
#56
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Lisssssssseeeeeeee !! Indicatif : FC-96 Messages : 643 Inscrit : 25/09/08 Lieu : Vaucluse, Les Taillades Membre n° 3,163 ![]() |
Quand même ....
Ca fait bien longtemps que je n'ai pas aborder ce genre de problématique, et je suis surpris par des résultats aussi bon (1% c'est pas beaucoup) alors je suis un peu perplexe. tu obtiens des résultats similaires pour la plage 45-90° ? --------------------
![]() Arrêtez de rêver votre vie et vivez vos rêves. Il n'y a que deux jours sans importance dans une vie: Hier et Demain |
KaTZe |
![]()
Message
#57
|
![]() ![]() ![]() ![]() ![]() ![]() Indicatif : RW-24 Messages : 1,589 Inscrit : 18/11/07 Lieu : Villelaure Membre n° 2,712 ![]() |
Quand même .... Ca fait bien longtemps que je n'ai pas aborder ce genre de problématique, et je suis surpris par des résultats aussi bon (1% c'est pas beaucoup) alors je suis un peu perplexe. tu obtiens des résultats similaires pour la plage 45-90° ? Négatif en effet ![]() En fait çà fonctionne pour les tangente <1 sur -PI/4 , +PI/4 (-45° à 45°) Pour les tangente >1, (45° à 135°) il faudrait utiliser : atan(x) = +PI()/2 - x/(x^2+0.28) Donc on peut programmer sur 2 demi cercles > De -45°(315°) à 45° puis 45° à 135° > De 135 à 225° puis 225° à 315° Mais en fait je ne me suis pas fait chier, j'ai créé quatre cadrans de 90° 315° à 45° >> j'utilise ma formule sur la tangente (latitude/longitude) 45° à 135° >> j'utilise ma formule sur 1/tangente (longitude/latitude) et je retire de 90° 135° à 225° >> j'utilise ma formule sur la tangente (latitude/longitude) et j'ajoute 180° 225° à 315° >> j'utilise ma formule sur 1/tangente (longitude/latitude) et je retire de 270° En inversant tangente et 1/tangente je suis toujours dans le cas tangente < 1 et donc ma formule est valable ![]() Ca donne çà CODE // Route vers l'objectif choisi Var 1140, name Obj_Selec, value 1 // numero de l'objectif selectionné { CALL &Bull_DCalc CALL &Bull_CCalc } Var 1141, name Bull_x // composante Nord du bulls Var 1142, name Bull_y // composante Est du bulls Var 1143, name Route_x // composante Nord de la route Var 1144, name Route_y // composante Est de la route Var 1145, name Obj_deg // Cap en Degree vers l'Objectif Var 1146, name Obj_rad // Cap en Radian (output from Bull_CCalc) { L0 = &Obj_rad / 628 &Obj_deg = L0 * 360 } // Variables pour la subroutine de calcul de cap // Var 1148, name Cadran_cap // ___________________________________________________________ // // Subroutine du cap de la route Avion >> Objectifs Var 1150, name Bull_CCalc, Link SUBRUTINE { &Route_x = &Bull_x + &WP_x &Route_y = &Bull_y + &WP_y // Pour eviter denominateur = 0 dans calcul de tangente if &Route_x = 0 { if &Route_y > 0 { &Route_rad = 157 } else { &Route_rad = 471 } } // // Calcul du cadran cardinal // L0 = Abs &Route_x L1 = Abs &Route_y if L0 > L1 { if &Route_x > 0 { &Cadran_cap = 1 } else { &Cadran_cap = 3 } } else { if &Route_y > 0 { &Cadran_cap = 2 } else { &Cadran_cap = 4 } } // // Calcul du cap pour chaque cadran // // Cap : 315 à 045 if &Cadran_cap = 1 { L0 = &Route_y / &Route_x L1 = Power L0 2 // Calcul de l'ArcTangente par atan(x) = x /(1 + 0.28x²) L1 = L1 * 0.28 L1 = L1 + 1 L2 = L0 / L1 L2 = L2 * 100 L2 = L2 + 628 // Modulo pour les caps négatifs autour du 000 &Obj_rad = Mod L2 628 } // Cap : 045 à 135 if &Cadran_cap = 2 { L0 = &Route_x / &Route_y L1 = Power L0 2 // Calcul de l'ArcTangente par atan(x) = x /(1 + 0.28x²) L1 = L1 * 0.28 L1 = L1 + 1 L2 = L0 / L1 L2 = 1.57 - L2 &Obj_rad = L2 * 100 } // Cap : 135 à 225 if &Cadran_cap = 3 { L0 = &Route_y / &Route_x L1 = Power L0 2 // Calcul de l'ArcTangente par atan(x) = x /(1 + 0.28x²) L1 = L1 * 0.28 L1 = L1 + 1 L2 = L0 / L1 L2 = 3.14 + L2 &Obj_rad = L2 * 100 } // Cap : 225 à 315 if &Cadran_cap = 4 { L0 = &Route_x / &Route_y L1 = Power L0 2 // Calcul de l'ArcTangente par atan(x) = x /(1 + 0.28x²) L1 = L1 * 0.28 L1 = L1 + 1 L2 = L0 / L1 L2 = 4.71 - L2 &Obj_rad = L2 * 100 } } Miaou ![]() Ce message a été modifié par KaTZe - 8 Dec 2009, 17:25. --------------------
120th Black Kite : "Mochibus et Pollutis" ![]() M-05 KaTZe |
Tolteque |
![]()
Message
#58
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Lisssssssseeeeeeee !! Indicatif : FC-96 Messages : 643 Inscrit : 25/09/08 Lieu : Vaucluse, Les Taillades Membre n° 3,163 ![]() |
Ok, c'est bon. Tu peux continuer.
![]() --------------------
![]() Arrêtez de rêver votre vie et vivez vos rêves. Il n'y a que deux jours sans importance dans une vie: Hier et Demain |
KaTZe |
![]()
Message
#59
|
![]() ![]() ![]() ![]() ![]() ![]() Indicatif : RW-24 Messages : 1,589 Inscrit : 18/11/07 Lieu : Villelaure Membre n° 2,712 ![]() |
![]() ![]() ![]() Post de tête modifié ainsi : @Edit 11 Decembre 2009 , Demo du KaTZ-Pit V-5.00 VIDEO 3 : Le contrôle de TS, Le Navigateur de Combat J'ai également uppé la config de SIOC (pour les pitteurs) , ainsi que la mise à jour du manuel d'installation ![]() --------------------
120th Black Kite : "Mochibus et Pollutis" ![]() M-05 KaTZe |
Aïto |
![]()
Message
#60
|
Messages : 100 Inscrit : 5/01/06 Lieu : Eragny sur Oise Membre n° 405 ![]() |
![]() --------------------
Signature supprimée pour cause d'insulte vivante aux grands penseurs précédemment cités. |
![]() ![]() |
Haut de page · Retour à l'accueil · Contacter le Webmestre | Nous sommes le : 1/05/25 - 23:00 |