Recherche d'un algorithme ou d'une formule ...

Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
MegaHertz
Messages: 1
Enregistré le: 10 Fév 2010, 21:05

Recherche d'un algorithme ou d'une formule ...

par MegaHertz » 10 Fév 2010, 21:42

Bonjour ! Je tente en ce moment de reproduire un HUD ou ATH (Affichage Tête Haute) comme on peut trouver dans un avion de combat par exemple.

Je cherche une formule ou un algorithme me permettant de déterminer les coordonnées X et Y d'un point sur cet ATH indiquant une cible en connaissant :
- La position tridimensionnelle de la tête de l'utilisateur.
- La position tridimensionnelle du centre de l'affichage (étant l'origine du repère bidimensionnel).
- La position tridimensionnelle de la cible.

Ce que j'ai essayé jusqu'alors et qui n'a que partiellement fonctionné, est assez compliqué à expliquer, je vais donc tenter de faire de mon mieux :

Soit A,B et C, trois points tel que :
- A est la position de l'utilisateur
- B est la position de l'ATH
- C est la position de la cible

Soit a,b et c, trois segments tels que :
- a = [AC]
- b = [AB]
- c = [BC]

J'utilise ensuite la trigonométrie dans un triangle quelconque :

c² = a² + b² - 2ab x cos(Â)
cos(Â) = (a² + b² - c²) / (2ab)

J'obtiens donc la valeur de l'angle BÂC

Soit D et E, deux points, tel que :
- ADC est un triangle rectangle en D
- E est l'intersection de a par la parallèle à (DC) passant par B
On a donc (EB)T(AB), (DC)T(AB) et (DC)//(EB)

Je calcule ensuite la longueur [AD] et [DC] à l'aide de la trigonométrie :
cos(Â) = [AD] / [AC]
[AD] = [AC] x cos(Â)

sin(Â) = [DC] / [AC]
[DC] = [AC] x sin(Â)

Il ne me reste plus qu'à déterminer la longueur de [EB] par le théorème de Thales :
[AE] / [AC] = [AB] / [AD] = [EB] / [DC]
donc [EB] = ( [AB] * [DC] ) / [AD]

Figure :
Image

Et voilà ! Mais le problème est le suivant : La longueur [EB] sera toujours positive, or je l'emploie comme coordonnée X du point d'affichage, donc ça pose un réel problème ...

J'ai maintes et maintes fois cherché un algorithme ou une formule résolvant ce problème mais je n'ai rien trouvé. Je serais donc très reconnaissant si quelqu'un pouvait me donner ça, ou même rien qu'une piste vers où chercher.

Je vous remercie d'avance !
Bonne soirée !

MegaHertz.



 

Retourner vers ⚜ Salon Mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 15 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite