plus_plus_fab
Messages postés232Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 8 janvier 2005 27 oct. 2004 à 17:30
De toutes façon, la seule chose qu'on sache bien faire en math appli, c'est résoudre des systemes linéaires !
ton probleme se ramene à ça.
la, tu as un systeme de 2 eq à 2 inconnues, pour pas te prendre la tete, utilise les formules de Cramer, tu trouveras facilement en googlant.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 27 oct. 2004 à 18:49
djl, ton systeme ne marche pas dans tous les cas: si une des droites est verticale, elle n'aura pas ded coef. directeur (infini).
Je te conseille a priori les vecteurs. ca marche dans toutes les directions. Mais je ne vois qd meme pas coment faire.
Vais réfléchir un peu la dessus.Ca m'occupera
plus_plus_fab
Messages postés232Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 8 janvier 2005 27 oct. 2004 à 20:12
une équation de droite, c'est de la forme ax + by + c = 0, ça inclu droite verticale.
Les formules de Cramer fonctionnent quel que soit le cas. Sauf si le determinant est nul bien sur. En dimension 2, 3, c'est correct, au dela, il faut utiliser une autre méthode, directe ou itérative.
jeanbb
Messages postés2Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention29 octobre 2004 29 oct. 2004 à 18:39
J'ai pensé à mon problème toute la nuit et j'ai eu une idée.
je ne sais pas si ca fonctionne, je n'ai pas testé.
1- Faire une rotation de la droite AB sur le point A pour l'aligner sur l'axe x.
Pour trouver le nouveau point B2: on calcul la longueur de la droite avec pythagore. Donc B2(x, y) = (Ax + longueur de AB, Ay)
2 - Évaluer la rotation avec les points B et B2
3 - Appliquer la rotation par rapport au point A sur la droite CD
4 - Puisque la droite AB est maintenant aligné sur l'axe x au point A, on connait la valeur de Y du point de rencontre (?X, AY). Reste à trouver ?x avec y ax+b dont la valeur devrait être comprise entre [Ax, B2x].
5 - On trouve la pente dy/dx des points C2 et le point de recontre. On applique cette pente au point C avant la rotation,
ce qui devrait donner le point de rencontre réel.
c'est claire ?!?
Et bien, qu'est-ce que vous en pensé ?
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 29 oct. 2004 à 22:01
je suis d'accors, mais c'est pas ca qui va faire passer son prog de 120 à 3 FPS, surtout que c'et de la 2D...
Jean, ton truc devrait marcher, mais...pour moi plus c'est simple moins ca a de chances de planter... je suis en trein de faire qques recherches, je reposterai plus tard.
tu résoud ca, ce qui fait, si je ne me suis pas gourré:
x=(-dABx*fCD + dCDx*fAB) / (dCD*dABy - dABx*dCDy)
Maintenant que tu as x, tu peux calculer y:
y=(-fAB+x*dABy)/dABx
et voila!!
vérifie tous les calculs, mais normalement c'est bon.
Avant de chercher le point d'intersection, tu dois vérifier que les droites ne sont pas paralleles:
Si ab'-a'b == 0 c'est qu'elles sont paralleles, et faut pas continuer (soit 1 soit une infinité de solutions)
ca fait donc:
if (-dABy*dCDx +dCDy*dABx == 0)
{test();}
else{...}
pouah, ca fait beaucoup ded maths tout ca, surtout en vacances et a 10h30.
ya surement un couille quelque part, dis moi si ca marche, moi je garde les papiers sur lesquels j'ai fait les calculs en attendant.
PS: j'ai une feuille entiere de calculs pour avoir la valeur de x!
j'espere que ca me servira a moi aussi un jour :D
La tu poura pas dire qu'on t'a pas aidé, hein ? mdr
bonne nuit
PS2: djl puisque t'es la j'en profite, tu pourrais pas aller voir ma question "sound()" sur le forum, je suis sur que tu sais ca ...merci;)