-
Problème de math....
Voilà, dans le programme ke je suis entraint de faire je suis ammené à faire une fonction ki dit si oui ou non le systeme d'inéquation suivant a au moins une solution:
a1*x+b1*y+c1*z+d1>0
a2*x+b2*y+c2*z+d2>0
a3*x+b3*y+c3*z+d3>0
...
a12*x+b12*y+c12*z+d12>0
voilà, donc un systeme de 12 inéquations à 3 inconnues. En fait, chaques équation est l'equation d'un plan...
Merci.
-
c pas des équations de plan c des équations de demi-espaces 3D...
et koi ton prob ?
-
ben t'as 12 equation de demi espace 3d et j'aimerais savoir si ce systeme de 12 inéquations admet au moins une solution... les paramerte A,B,C,D sont sonnu
-
Désolé j'avais mal compris ton message. G cru que tu voulais qu'on t'écrive un prog de bou en bout alors que c une partie d'un prog plus gros sur laquelle tu bloques.
Voila en gros comment je procèderais :
* on prend les 2 premières équations. Il est aisé de voir si ces demi-espaces ont une intersection non nulle. Si oui on continue, si non on s'arrête : pas de solution.
* Supposons que les 2 plans bornant les demi-espaces ne soient pas parallèles (je te laisse traiter le cas où ils le sont). Ils définissent alors une droite. Supposons que cette droite ne soit pas parallèle au 3e plan, alors les 3 plans définissent un point (si elle est parallèle, soit elle est du bon côté et je te laisse ce cas, soit elle est du mauvais et on s'arrête). On a alors un point et 3 droites.
* on prend la 4e inéquation. Si notre point ne la vérifie pas, on s'arrête. Sinon, on calcule les points définis par l'intersection de chacune des 3 droites avec le 4e plan. On a alors 4 points, qui définissent 6 arrêtes.
* on prend la 5e inéquation. Si nos 4 points la vérifient, on les garde tous. Si aucun ne la vérifie, on s'arrête. Sinon, pour chaque point ne la vérifiant pas, on supprime ce point et on calcule l'intersection des arrêtes passant par ce point avec le 5e plan. On obtient ainsi de nouveaux points délimitant l'intersection des 5 demi-espaces.
Et on continue de même pour chaque demi-espace.
L'algo de base se programme assez bien, ce qui sera fastidieux sera la gestion des cas particuliers.
Par ailleurs se posera le problème de la précision des coordonnées des points.
Une solution analytique serait préférable, malheureusement je n'en connais pas et n'ai pas le temps de chercher (si tu trouves je suis preneur !).
Pour ce qui est des solutions numériques on peut sans doute faire plus rapide, mais voila l'idée qui m'est passée par la tête. Elle a l'avantage de pouvoir servir de base à une résolution analytique si tu veux la tenter (les calculs seraient ainsi beaucoup plus rapide pour l'ordi, par contre tu vas te taper un bon paquet de if je pense).
Bon courage et a+, en espérant que cela te servira.
-
merci beaucoup, je v tenter d'analyser tt ça.
-
Si j'ai bien compris, ton problème est d'obtenir une famille libre de trois équation parmis les 12 ?
Ol'
-
euh... c koi une famille libre ????