Trouver les coordonnées du sommet d'un triangle

Résolu
cs_harmonyk Messages postés 37 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 5 juillet 2012 - 19 sept. 2010 à 03:09
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 !
A voir également:

8 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 sept. 2010 à 11:40
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)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 sept. 2010 à 13:51
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)
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 sept. 2010 à 14:46
suivant la simple expression
Angle_Radian = Math.PI * (Angle_Degree) / 180;


;O)
3
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
19 sept. 2010 à 03:57
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_harmonyk Messages postés 37 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 5 juillet 2012
19 sept. 2010 à 04:03
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...
0
cs_harmonyk Messages postés 37 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 5 juillet 2012
19 sept. 2010 à 12:10
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...
0
cs_harmonyk Messages postés 37 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 5 juillet 2012
19 sept. 2010 à 14:37
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.
0
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
Nickel !!!!!!!!!
Ca va beaucoup mieux ainsi !!
Merci à toi pour ta patience !!
0
Rejoignez-nous