[Mathématiques/JS] Calcule assez complexe..

Résolu
Bonjour,

Je suis entrain de faire un script où des yeux suivrait le curseur de la souris. Je cherche donc l'emplacement de la pupille, je donc transformé en probleme de maths:
http://imagepaste.net/images/math23691.png

Et voila je raisonnement au quel je suis arrivé, qui est archi-faux apparement:
<script language="Javascript">
// Emplacement du point A
// Avec ces coordonnées on devrait trouvé quelque chose aux alentours de (8,8) et (14,14)
var nX = 211;
var nY = 211;
// Coeff directeur de la droite (OA)
// Y = aX + b
a = (nY - 11) / (nX - 11);
b = nY - nX * a;

// Equation du cercle :
// X² - Y² - 22X - 22Y = - 206
// On remplace Y par aX + b
// On reduit pour obtenir une equation de la forme AX² + BX + C = 0
// A:
var na = 2 * a * a;
// B:
var nb = (2 * a * b - 22 - 22 * a);
// C:
var nc = 206 + b * b - 22 * b;
// On calcule Delta pour trouver les solutions
var delta = nb * nb - 4 * na * nc;
// Delta = 288
if (delta > 0)
{
	var sol1 = (nb * nb - Math.sqrt(delta)) / (2 * na);
	// Sol1 = 479,75...
	var sol2 = (nb * nb + Math.sqrt(delta)) / (2 * na);
	// Sol2 = 488,24...
	//Donc completement archi-faux.
}
</script>


Si quelqu'un sais ou je me suis planté... Merci!
Ps: Je ne veux pas de code tous fait, je prefere trouver tous seul, faire les erreurs seul, et comprendre mes erreurs :)
--

On dit que les oiseaux sont libres dans le ciel,
Mais la vraie liberté n'est pas celle d'avoir un endroit où se poser ?
Configuration: Windows XP
Firefox 3.0

2 réponses

  1. Contributeur
    au lieu de
    var sol1 = (nb * nb - Math.sqrt(delta)) / (2 * na);
    // Sol1 = 479,75...
    var sol2 = (nb * nb + Math.sqrt(delta)) / (2 * na);

    je suggère

    var sol1 = (- nb - Math.sqrt(delta)) / (2 * na);
    // Sol1 = 479,75...
    var sol2 = (- nb + Math.sqrt(delta)) / (2 * na);
    0
    1. Aaaaaaaaaaaaaaaaaaaaaaah
      Je suis un boulet >.>
      J'étais sûr que c'était b² - racine(Delta)..
      Maintenant que j'y réflechis, c'est vrai que c'est - b - racine(Delta).
      Merci beaucoup!
      0