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

Messages postés
37
Date d'inscription
samedi 16 septembre 2006
Dernière intervention
5 juillet 2012
- 19 sept. 2010 à 03:09 - Dernière réponse :
Messages postés
37
Date d'inscription
samedi 16 septembre 2006
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 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 19 sept. 2010 à 11:40
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)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de PetoleTeam
Meilleure réponse
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 19 sept. 2010 à 13:51
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)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de PetoleTeam
Meilleure réponse
Messages postés
3435
Date d'inscription
lundi 26 décembre 2005
Dernière intervention
14 janvier 2011
- 19 sept. 2010 à 14:46
3
Merci
suivant la simple expression
Angle_Radian = Math.PI * (Angle_Degree) / 180;


;O)

Merci PetoleTeam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de PetoleTeam
Messages postés
540
Date d'inscription
mardi 4 août 2009
Dernière intervention
1 février 2013
- 19 sept. 2010 à 03:57
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
Dernière intervention
5 juillet 2012
- 19 sept. 2010 à 04:03
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
Dernière intervention
5 juillet 2012
- 19 sept. 2010 à 12:10
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
Dernière intervention
5 juillet 2012
- 19 sept. 2010 à 14:37
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
Dernière intervention
5 juillet 2012
- 19 sept. 2010 à 15:01
0
Merci
Nickel !!!!!!!!!
Ca va beaucoup mieux ainsi !!
Merci à toi pour ta patience !!
Commenter la réponse de cs_harmonyk

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.