RECHERCHE DE L'ÉQUATION CARTÉSIENNE D'UN PLAN À PARTIR DES COORDONNÉES DE 3 POI

navydo Messages postés 9 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 17 juin 2006 - 13 juin 2006 à 23:11
nicolasdemin Messages postés 1 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 12 mars 2007 - 12 mars 2007 à 17:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38098-recherche-de-l-equation-cartesienne-d-un-plan-a-partir-des-coordonnees-de-3-points-de-l-espace

nicolasdemin Messages postés 1 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 12 mars 2007
12 mars 2007 à 17:27
Si je peut me permettre :

typedef struct{
int x;
int y;
int z;
} vecteur;

typedef struct{
int x;
int y;
int z;
} point;
C'est un peu redondant tout ca non?
vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 3
26 juil. 2006 à 17:57
sinon il y a plus simple

calcul des coordonées du vecteur AB et du vecteur AC
calcul du produit vectoriel AB^AC =
|a
|b
|c

d'ou P: ax + by + cz + d = 0, d s'obtient en résolvant une equation à une inconnu (faut se servir des coord de A)

ça nous donne : en C !!

int main (){
typedef struct{
int x;
int y;
int z;
} vecteur;

typedef struct{
int x;
int y;
int z;
} point;

point A, B, C;
vecteur AB, AC;
int a, b, c, d;

/*avec scanf on entre les coordonées de points dans A B C */

AB.x = B.x - A.x;
AB.y = B.y - A.y;
AB.z = B.z - A.z;

AC.x = C.x - A.x;
AC.y = C.y - A.y;
AC.z = C.z - A.z;

a = AB.y*AC.z - AB.z*AC.y;
b = -AB.x*AC.z + AB.z*AC.x;/*attention au signe*/
c = AB.x*AC.y - AB.y*AC.x;
d = -a*A.x - b*A.y - c*A.z;/*on résoud*/

printf...
return 0;
}
WiKonSoN Messages postés 9 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 26 juin 2007
24 juin 2006 à 20:05
salut vecchio
c'est dans la norme ANSI/ISO
par exemple je fais;

int i;//i est initialise a zero et quand je ferais int i=0; globalement c'est inutile
main () { // quand la fonction est de type int on peut laisse le int
int age;//age a une valeur aleatoire
cout<<"entre votre age\n";
if(!i) // si i est 0 ce qui est est tjrs vrai
cin>>age; // donc il entrera toujours son age
i=1;
return 0;
}
bon ca marche
et quand bien meme en prog de jeux ca marche ie je declare x et y globalement
et j'affiche l"image a x et y c'est tjrs tous en haut a partir de 0,0
et selon moi il ne pers rien en declarant (certains) variables globalement
a++
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juin 2006 à 23:24
C'est tres clairement du nimporte quoi.
La justification de variables globales est de ne pas avoir à empiler, dépiler les parms, la (les) fonction qui s'en servira aura des adresses connues à la compil au lieu d'offset sur esp, tout ceci pour dire que ça peut se justifier dans une recherche de vitesse maxi mais pas autrement.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juin 2006 à 20:23
Déclarer les variables globales pour éviter de les initialiser à zéro, c'est la première fois que j'entends ca, et je pense que c'est une énormité
navydo Messages postés 9 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 17 juin 2006
17 juin 2006 à 20:05
Je viens de jeter un coup d'oeuil sur ta méthode luhtor, avec le produit vectoriel, et c'est en effet beaucoup plus simple avec ta façon !
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
17 juin 2006 à 15:53
Intéret de les déclarer globalement ? aucun... donc faut surtout pas déclarer ces variables globalement.
Des variables globales, c'est vraiment quand ya pas d'autre solution. Et puis écrire "=0" c'est quand meme pas épuisant.
WiKonSoN Messages postés 9 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 26 juin 2007
17 juin 2006 à 13:09
je comprend pas trop ton code
mais pour les variables initialiser a zero je crois
que tu pers rien en les declarant globalement pour eviter les initialisation x=0, ya=0 etc
que moi je trouve un peu chiant Ainsi
tu pouras ecrire
double xA,yA,zA,xB,yB,zB,xC,yC,zC,xAb,yAb,zAb,xAc,
yAc,zAc,mineurUne,mineurDeux,mineurTrois,termeIndependant,verification;
s'il sont declare globalement (au fait ils sont automatiquement tous initialisez a zero

un code sans controle d'entre de test et autre c'est pas interressant
bon du courage
a++
navydo Messages postés 9 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 17 juin 2006
14 juin 2006 à 19:13
C'est une méthode comme une autre, et je la trouve assez simple et peut se résoudre matriellement, ou j'aurais pu la faire avec des substitutions.
( Ps: Tu dis que c'est possible par le produit vectoriel, mais je n'ai encore vu que le produit scalaire ! )
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
14 juin 2006 à 15:48
Ca a l'air tellement compliqué le truc qu'elle t'a dit. En soit, faut juste un produit vectoriel pour obtenir l'équation a une constante pret. 3 multiplication en plus et tu obtiens la constante. Donc je vois pas pk tu parles de matrices et encore moins de résolution d'équation :)
navydo Messages postés 9 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 17 juin 2006
14 juin 2006 à 15:05
Coment trouves-tu mon programme ?
navydo Messages postés 9 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 17 juin 2006
14 juin 2006 à 15:05
Oui, je veux dire professeur quoi.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 juin 2006 à 14:51
Pour moi institutrice c'est à l'école primaire, et je trouve étrange qu'on y parle d'équation de plan...
navydo Messages postés 9 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 17 juin 2006
13 juin 2006 à 23:11
Et voilà qui est mis !

Ps: Je suis un débutant, alors doucement les critiques ^_^
Rejoignez-nous