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

Messages postés
9
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
17 juin 2006
-
Messages postés
1
Date d'inscription
lundi 3 juillet 2006
Statut
Membre
Dernière intervention
12 mars 2007
-
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

Messages postés
1
Date d'inscription
lundi 3 juillet 2006
Statut
Membre
Dernière intervention
12 mars 2007

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?
Messages postés
257
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
29 septembre 2010
3
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;
}
Messages postés
9
Date d'inscription
samedi 27 mai 2006
Statut
Membre
Dernière intervention
26 juin 2007

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++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
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.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
10
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é
Afficher les 14 commentaires