Trouver les coordonnées du sommet d'un triangle [Résolu]

Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
5 juillet 2012
- - Dernière réponse : cs_harmonyk
Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
5 juillet 2012
- 19 sept. 2010 à 15:01
Bonsoir,
j'avais posté dans le bar au sujet d'une formule sur un triangle rectangle,
mais je suis en train de gérer ca via javascript.
J'ai pas mal avancé depuis, mais c'est pas au point du tout.
J'explique :

    /*
     *Calcul des coordonnées de la cible
     *
     *  Je pars d'un triangle RST, rectangle en R, ou T représente le départ (x:0,y:0).
     *  ST représente la variable distance.
     *  T correspond à la variable angle.
     *      Pour trouver x (RT) :
     *              cosT RT / ST                     >  cos(angle) = RT / distance
     *              RT ST * cosT                     >  x = distance * cos(angle)
     *      Pour trouver y (RS) :
     *              ST² RS² + RT²                    >  distance² = RS² + x²
     *              RS² ST² - (ST * cosT)²           >  RS² = distance² - x²
     *              RS Racine²(ST² - (ST * cosT)²)   >  y = Racine²(distance² - x²)
     */
    var x = distance*(Math.cos(angle)),
        y = Math.sqrt((distance*distance)-(x*x));

Alors je ne sais pas si je me suis planté dans les formules, mais le résultat n'est pas concluant du tout, surtout si angle est inférieur à 45°.
J'en appelle donc aux matheux, car là je commence à être largué...
Bon ok peut être à cause de l'heure...
Merci d'avance !
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
3
Merci
Bonjour,
visiblement cela semble correct, en présument que tu connaisses distance.
Et si tu fais simplement
var x = distance * ( Math.cos( angle));
var y = distance * ( Math.sin( angle));

si c'est pour la gestion des collisions, vu sur un de tes récent POST, je te déconseille l'utilisation des méthodes de l'objet Math, gourmand en ressource et temps...

;O)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
3
Merci
donc qu'est ce qui cloche ??
ne pas oublier que Math.sin ou autre attend un angle en RADIAN

pour la reste
soit deux cercles de rayon R1 et R2 et DeltaY et DeltaX les deltas sur les deux axes on a
SI ( R1² +R2²) INFERIEUR ( DeltaX² +DeltaY²) ALORS
  on continu
SINON
  Il y à collision
FINSI
avec ( R1² +R2²) pouvant être mis en constante ce qui limite fortement les calculs
;O)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
3
Merci
suivant la simple expression
Angle_Radian = Math.PI * (Angle_Degree) / 180;


;O)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PetoleTeam
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
0
Merci
et c'est quoi ton problème?

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
Commenter la réponse de NSUADI
Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
5 juillet 2012
0
Merci
Et bien tout simplement que les coordonnées x et y trouvées avec cette formule ne correspondent pas du tout avec le point S, j'en conclu donc que ma formule est pas top...
Commenter la réponse de cs_harmonyk
Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
5 juillet 2012
0
Merci
Bonjour PetoleTeam,
merci de t'intéresser à mes sujet =)

Effectivement ce script est placé juste avant celui de la gestion des collisions.
Merci pour ta formule simplifié, mais c'est bizarre car les résulats me semblent improbables.
Exemple :
J'ai un angle de 10° (T).
J'ai une distance de 400px (ST).
Je me retrouve au final avec des coordonnées :
x (TR) = environ -334.79px
y (RS) = environ -217.1px

Les résultats sont similaires avec ma formule, donc qu'est ce qui cloche ??

En ce qui concerne les ressources utilisées pour l'objet Math, je ne vois pas du tout comment faire autrement...
Commenter la réponse de cs_harmonyk
Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
5 juillet 2012
0
Merci
ne pas oublier que Math.sin ou autre attend un angle en RADIAN

Ah !
Et comment je converti un angle en radian avec Js ?
Mes compétences s'arretent là, mon niveau scolaire étant très bas.
Commenter la réponse de cs_harmonyk
Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
5 juillet 2012
0
Merci
Nickel !!!!!!!!!
Ca va beaucoup mieux ainsi !!
Merci à toi pour ta patience !!
Commenter la réponse de cs_harmonyk