Bonjour,
J'aimerais résoudre ce système d'équations:
(x*A+y*B).(A-B)=0 (1)
(x*A+z*C).(A-C)=0 (2)
x+y+z=1 (3)
où
- x, y, z sont des simples nombres et sont les inconnues que je cherche
- A, B, C sont des points 3D dans l'espace
- le point (.) représent le dot product
Voici comment j'arrive à résoudre le système:
En transformant ma deuxième equation (2), j'arrive à l'exprimer à partir de "z":
1) (x*A).(A-C) + (z*C).(A-C) = 0
2) (A.A)*x - (A.C)*x + (A.C)z - (C.C)*z = 0
3) (A.A - A.C)*x + (A.C - C.C)*z = 0
4) z = (-(A.A - A.C)*x) / (A.C - C.C) = ((A.A-A.C)*x) / (-A.C + C.C) (4)
Ensuite, je transforme mon équation (3) pour l'exprimer à partir de "y":
1) y = 1 - z - x (5)
Je remplace "z" par la équation (4):
2) y = 1 - ( ((A.A-A.C)*x) / (-A.C + C.C) ) - x (6)
Finalement, dans mon équation (1), je remplace "y" par l'équation (6):
1) (x*A + (1 - ( ((A.A-A.C)*x) / (-A.C + C.C) ) - x)*B).(A-B)=0
Finalement, je transforme mon équation pour l'exprimer à partir de x (je vous passe les détails de calcul):
2) x = (-A.B + B.B) / [A.A - A.B*((A.A - A.C)/(-A.C+C.C))-2*A.B+B.B*((A.A-A.C)/(-A.C+C.C))+B.B]
Une fois que j'ai la valeur de "x", je peux facilement calculer la valeur de "z" avec l'équation (4) et idem pour "y" avec l'équation (5).
J'espère que mon raisonnement est correcte :rulaiz: ? (il y a peut-être quelques erreur de signe mais ce n'est pas très important pour ma question).
Questions:
Mon but étant d'avoir les formules les plus simples pour calculer x, y et z. Malheureusement, la formule pour calculer x est immense.
Q1: Est-ce qu'il est possible de simplifier cette équation ?
Q2: Est-ce qu'il existe un autre outil pour résoudre un système de 3 équations à 3 inconnues qui me donnerais une formule plus simple ?
Info: ce n'est pas un devoir pour l'école. Je suis libre d'utiliser tout ce que je veux :happy2:
Merci d'avance.
