IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Caculer X/Y avec les coordonnées d'un point


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Points : 52
    Points
    52
    Par défaut Caculer X/Y avec les coordonnées d'un point
    Bonjour,

    J'ai les coordonnées d'un endroit fixe (seuil de piste) et les coordonnées d'un point distant (avion).

    Exemple :
    Seuil de piste : lat= 19.426212 / long=-99.092964
    mon avion : lat = 19.298149 / long=-99.320712

    Sur un graph, je dois positionner l'avion par rapport à la piste (qui sera au niveau x=0/y=0). Sur mon schéma, la piste est au milieu à droite


    J'ai appliqué le calcul suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim longitude_Delta As Double = longitude_piste - longitude_avion
    Dim y As Double = Math.Sin(longitude_Delta) * Math.Cos(latitude_piste) * (180 / PI)
    Dim x As Double = (Math.Cos(latitude_avion) * Math.Sin(latitude_piste) - Math.Sin(latitude_avion) * Math.Cos(latitude_piste) * Math.Cos(longitude_Delta)) * (180 / PI)
    J'ai du me tromper car dés que je m'éloigne de la piste, le calcul devient faux.

    Auriez-vous des conseils à me donner ou une méthode de calcul plus fiable ?

    Merci pour votre aide

    PS : mon unité est le Nm (miles nautique)

  2. #2
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    la ccordonnée de l'avion, relative à la piste, c'est juste une soustraction, rien de plus.

    donc,
    pour info:
    latittude piste = X1
    latittude avion = X2
    longitude piste = Y1
    longitude avion = Y2
    coordonnée X avion = X
    coordonnée Y avion = Y

    calcul:
    X=X1-X2
    Y=Y1-Y2

    pourquoi faire simple quand on peu compliquer?

    bon, on peu introduire sinus et cosinus si tu y tiens:
    X=sin(PI/2)*X1-cos(0)*X2
    Y=log 10 *Y1-(sqrt(PI²)/pi)*Y2

    ça donne le meme resultat normalement, mais ça fait mousser l'égo quand on montre le code...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Points : 52
    Points
    52
    Par défaut
    Merci, j'ai mis en pratique et j'obtiens les mêmes résultats (mais avec moins de code )

    Je comprend mon erreur : ma piste est représentée sur l'axe X (donc comme si elle était au cap 90/270) ce qui n'est pas réelle. Mon calcul doit prendre en compte son cap.

    Le but étant de savoir si on est à droite ou à gauche du plan...

    C'est plus complexe pour le coup

  4. #4
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    pour savoir si on est à gauche ou à droite, ce n'est qu'une questin de signe sur l'axe Y.
    le centre etant la valeur 0
    à gauche (en haut sur ton dessin), c'est les valeurs négatives
    à droite (en bas sur ton dessin), c'est les valeurs positives

    donc, comme toujours, c pas compliqué

    if Y<0 then à gauche
    if Y=0 then au milieu
    if Y>0 then à droite

    en plus, tu peu meme definir la plage du milieu avec très peu de calculs.

    c'est tout bete, il suffit de soustraire la moitié de la plage à la valeur absolue de Y.

    donc:
    if (Y-plage/2)<0 then à gauche
    if (-plage/2<Y<plage/2) then au milieu
    if (Y+plage/2)>0 then à droite

    et encore, il ne s'agit que de pseudo code HLL, en assembleur, ça serait encore plus simple à faire, et beaucoup plus rapide.

Discussions similaires

  1. Construire un rayon avec les coordonnées de la souris
    Par mister3957 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 15/01/2009, 21h52
  2. Réponses: 2
    Dernier message: 04/12/2006, 23h02
  3. Réponses: 4
    Dernier message: 27/11/2006, 18h06
  4. [VB.net] changer les coordonnées d'un Point dans un Path
    Par Speranza dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/06/2006, 11h28
  5. [GRAPHIQUE] Récupérer les coordonnées d'un point
    Par freud dans le forum Composants VCL
    Réponses: 6
    Dernier message: 29/09/2005, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo