Changement de repère 3D vers 2D.

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 06 Fév 2013, 12:38

Bonjour,
Je vais encore ajouter mon grain de sel.
J'ai réalisé ce calcul pour un cas relativement cerné, puisque les 25 points étaient répartis suivant un maillage.
Ce n'est pas vraiment un calcul facile, pas exemple les 3 points servant à choisir le plan de projection doivent être choisis avec soins.
Dans mon application (avec les 25 points) le but était justement de calculer les écarts de chaque point avec sa projection.
Si le module vous intéresse, je peux vous le donner avec toutes les explications voulues.



Black Jack

par Black Jack » 06 Fév 2013, 14:25

Sauf erreur, voila ce qu'on trouve pour la première série, avec la faute de signe corrigée (voir mes précédents messages)

Image

:zen:

sonizef
Membre Naturel
Messages: 12
Enregistré le: 05 Fév 2013, 09:20

par sonizef » 06 Fév 2013, 16:23

Black Jack a écrit:Sauf erreur, voila ce qu'on trouve pour la première série, avec la faute de signe corrigée (voir mes précédents messages)

Image

:zen:


Merci de ton aide mais ce n'est pas du tout le schema attendu ! :cry:

Mon prof m'a donné une méthode, mais celle ne fonctionne pas non plus :mur:

Voilà à quoi doit ressembler chaque face :
Image
(Black Jack, si tu t'es servi de la première série de coordonnée, c'est donc la face 1)

Cette méthode consistait (je crois que c'est ce que Mathusalem me recommandé) calculer deux normes qui me serviront d'axe (U1,U2), les rammener à 1 (en divisant les composantes) et appliquer c'est norme aux points suivants ... :marteau:

EDIT : J'ai confondu la face 2 et 3 !!! La méthode de mon prof fonctionnait donc ! Je peux vous poster le tableur si vous voulez voir la méthode utilisé :shock:

Ce problème me tue ... u.U

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 06 Fév 2013, 16:47

A mon avis, le problème est mal posé.
D'abord, concernant le signe, évoqué plus haut, il faut un convention de signe. C'est à dire il faut savoir si, lorsqu'on regarde une face, si le contour se dessine dans le sens des aiguilles d'une montre, alors elle est "positive", autrement-dit on la regarde de haut en bas, "négative" dans le cas contraire.
Pour un objet, ça correspond en gros à "intérieur" et "extérieur".
A vue de nez, l'image de Black_jack parait correcte, mais vue de l'intérieur de l'objet. C'est à dire qu'elle tourne "à l'envers".
On observe par exemple que l'angle entre le deux côtés les plus grands est plus ouvert que sur votre vue colorée, ce qui est parfaitement normal dans les hypothèses indiquées.
Je remarque par ailleurs que les points E et F paraissent alignés sur le segment DG. Comme il ne paraissent pas utiles pour la facette voisine, et s'ils sont vraiment alignés, il y a tout intérêt à les supprimer.

Il serait intéressant de connaitre la méthode proposée par votre professeur.

Personnellement, je n'ai jamais tenté de traiter directement des zones à plus de 3 côtés. Comme ça arrive forcément, je les divise toujours en facettes triangulaires.

Je pense qu'il serait intéressant de re-définir le problème posé, depuis le début.

sonizef
Membre Naturel
Messages: 12
Enregistré le: 05 Fév 2013, 09:20

par sonizef » 06 Fév 2013, 16:55

Dlzlogic a écrit:A mon avis, le problème est mal posé.
D'abord, concernant le signe, évoqué plus haut, il faut un convention de signe. C'est à dire il faut savoir si, lorsqu'on regarde une face, si le contour se dessine dans le sens des aiguilles d'une montre, alors elle est "positive", autrement-dit on la regarde de haut en bas, "négative" dans le cas contraire.
Pour un objet, ça correspond en gros à "intérieur" et "extérieur".
A vue de nez, l'image de Black_jack parait correcte, mais vue de l'intérieur de l'objet. C'est à dire qu'elle tourne "à l'envers".
On observe par exemple que l'angle entre le deux côtés les plus grands est plus ouvert que sur votre vue colorée, ce qui est parfaitement normal dans les hypothèses indiquées.
Je remarque par ailleurs que les points E et F paraissent alignés sur le segment DG. Comme il ne paraissent pas utiles pour la facette voisine, et s'ils sont vraiment alignés, il y a tout intérêt à les supprimer.

Il serait intéressant de connaitre la méthode proposée par votre professeur.

Personnellement, je n'ai jamais tenté de traiter directement des zones à plus de 3 côtés. Comme ça arrive forcément, je les divise toujours en facettes triangulaires.

Je pense qu'il serait intéressant de re-définir le problème posé, depuis le début.


Je ne saurai pas trop comment redéfinir le problème, puisque j'ai envoyé le même texte à mon professeur. Je pense que la compréhension est subjective selon les personnes ... ^^
Je voudrai que lorsque je clique sur l'un des faces, je puisse récupérer les coordonnées de celle ci, en "2D" ... de manière à ce que peu importe sur quelle face je clique (devant, derrière ou sur le coté) je puisse récupérer cette face, mais "à plat" ... C'est plus clair :hein:

De toute façon j'essaye de vous renvoyer la tableur ce soir quand je rentre chez moi.

En tous cas merci de votre aide :ptdr:

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 12:39

par Dlzlogic » 06 Fév 2013, 17:08

En ce cas, la méthode de Black_Jack est exactement ce que vous voulez.
Par contre, ce que je ne comprends pas, c'est que vous sortiez les résultats vers un tableur.

Mathusalem
Membre Irrationnel
Messages: 1837
Enregistré le: 14 Sep 2008, 03:41

par Mathusalem » 06 Fév 2013, 17:14

Dlzlogic a écrit:
Il serait intéressant de connaitre la méthode proposée par votre professeur.



La méthode est de créer arbritrairement deux axes (vecteurs unitaires) : l'un en prenant deux points au hasard, l'autre en prenant l'axe orthogonal au premier.

Supposant que tous les autres points sont coplanaires, on les écrit comme combinaison linéaires de ces 2 vecteurs unitaires. Par exemple un vecteur = 5*premier vecteur + 2*deuxieme vecteur aura pour coordonnées dans le plan (5,2) ou (2,5), suivant la convention que l'on choisit.

Trouver les coefficients de la combinaison linéaire est simple et se fait par produit scalaire.

Black Jack

par Black Jack » 06 Fév 2013, 17:21

sonizef a écrit:Merci de ton aide mais ce n'est pas du tout le schema attendu ! :cry:

Mon prof m'a donné une méthode, mais celle ne fonctionne pas non plus :mur:

Voilà à quoi doit ressembler chaque face :
Image
(Black Jack, si tu t'es servi de la première série de coordonnée, c'est donc la face 1)

Cette méthode consistait (je crois que c'est ce que Mathusalem me recommandé) calculer deux normes qui me serviront d'axe (U1,U2), les rammener à 1 (en divisant les composantes) et appliquer c'est norme aux points suivants ... :marteau:

EDIT : J'ai confondu la face 2 et 3 !!! La méthode de mon prof fonctionnait donc ! Je peux vous poster le tableur si vous voulez voir la méthode utilisé :shock:

Ce problème me tue ... u.U


Peut-être l'erreur n'est-elle pas où tu le penses.
Je soupçonne une erreur dans les coordonnées du point A de départ.
Si je modifie juste l'endroit du point A' (ce qui serait normal si les coordonnées de A sont fausses), alors, on pourrait avoir (en faisant pivoter la figure de mon dessin) ceci :

Image

... qui ressemble étrangement à la forme jaune de la face 1.

Je me trompe peut-etre, mais la méthode que j'ai proposée devrait mener à la solution.
Ce qui n'empêche évidemment pas d'autres techniques d'aussi convenir.


:zen:

Black Jack

par Black Jack » 06 Fév 2013, 17:44

Voila ce qu'on trouve par la méthode que j'ai indiquée, pour la 2eme série (qui est la face 3)

Image

A gauche, ce qui sort du fichier.
A droite, le même que j'ai pivoté.
Il faudrait encore pivoter plus le dessin, mais mon logiciel ne le permet pas, mais cela suffit pour voir que cela semble bien coller avec la face 3 de ton dessin en couleur.

:zen:

sonizef
Membre Naturel
Messages: 12
Enregistré le: 05 Fév 2013, 09:20

par sonizef » 07 Fév 2013, 08:45

Black Jack a écrit:Voila ce qu'on trouve par la méthode que j'ai indiquée, pour la 2eme série (qui est la face 3)

Image

A gauche, ce qui sort du fichier.
A droite, le même que j'ai pivoté.
Il faudrait encore pivoter plus le dessin, mais mon logiciel ne le permet pas, mais cela suffit pour voir que cela semble bien coller avec la face 3 de ton dessin en couleur.

:zen:


Oui Black Jack, seulement dans ta méthode je comprend pas pourquoi le A' gâche tout ...

Voilà c'est la méthode que Mathusalem vient de décrire ^^

Et je les sort sur un tableur juste pour vérifier si cela fonctionne, ensuite je traiterai les données sur un logiciel de programmation

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 07 Fév 2013, 10:12

sonizef a écrit:Oui Black Jack, seulement dans ta méthode je comprend pas pourquoi le A' gâche tout ...

Voilà c'est la méthode que Mathusalem vient de décrire ^^

Et je les sort sur un tableur juste pour vérifier si cela fonctionne, ensuite je traiterai les données sur un logiciel de programmation

Bonjour
Je n'ai pas lu tout ce qui précède. Je me suis seulement amusé à voir ce qu'on peut faire avec le logiciel Geospace qui fut préconisé en son temps au lycée.
A partir de trois points quelconques A, B et C, c'est facile d'avoir l'intersection du plan ABC avec le plan xOy , de calculer l'angle de ces deux plans et d'effectuer une rotation pour que l'image du triangle ABC se trouve dans le plan xOy.
Peut-être que ça peut se programmer aussi de cette façon ???

[img][IMG]http://img837.imageshack.us/img837/2978/58990058.gif[/img]

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

par chan79 » 07 Fév 2013, 11:15

Bonjour
Je n'ai pas lu tout ce qui précède. Je me suis seulement amusé à voir ce qu'on pourrait faire avec geospace, logiciel un temps préconisé pour les lycées mais je pense qu'il est plus ou moins abandonné ...
A partir de 3 points quelconques A, B et C de l'espace, geospace permet de déterminer facilement l'intersection d du plan ABC et du plan xOy ainsi que l'angle de ces deux plans. On effectue ensuite une rotation selon cet axe de sorte que l'image de ABC soit dans le plan Oxy.
Peut-être cela peut-il se programmer ?
[img]f[IMG]http://img580.imageshack.us/img580/4923/40722125.gif[/img]

TheReveller
Membre Relatif
Messages: 114
Enregistré le: 14 Nov 2006, 04:21

par TheReveller » 21 Fév 2013, 14:46

MATLAB/Octave :

Code: Tout sélectionner
A = [10;5;3];
B = [8;2;2];
C = [3;7;1];

vAB = B-A;
vBC = C-B;
vCA = A-C;

z = cross(vAB,vBC);
z = z/norm(z);
x = cross(z,vAB);
x = x/norm(x);
y = cross(z,x);
y = y/norm(y);

resA = rref([x,y,z,A]);
resB = rref([x,y,z,B]);
resC = rref([x,y,z,C]);

vrAB = resB(:,4)-resA(:,4);
vrBC = resC(:,4)-resB(:,4);
vrCA = resA(:,4)-resC(:,4);

plot3([A(1),B(1),C(1),A(1)],[A(2),B(2),C(2),A(2)],[A(3),B(3),C(3),A(3)]); axis equal; hold all;
plot3([resA(1,4),resB(1,4),resC(1,4),resA(1,4)],[resA(2,4),resB(2,4),resC(2,4),resA(2,4)],[resA(3,4),resB(3,4),resC(3,4),resA(3,4)]);

norm(vAB)
norm(vrAB)
norm(vBC)
norm(vrBC)
norm(vCA)
norm(vrCA)

acos(dot(vAB,vBC)/(norm(vAB)*norm(vBC)))
acos(dot(vrAB,vrBC)/(norm(vrAB)*norm(vrBC)))
acos(dot(vBC,vCA)/(norm(vBC)*norm(vCA)))
acos(dot(vrBC,vrCA)/(norm(vrBC)*norm(vrCA)))
acos(dot(vCA,vAB)/(norm(vCA)*norm(vAB)))
acos(dot(vrCA,vrAB)/(norm(vrCA)*norm(vrAB)))


Ou remplacer la section correspondante par :

Code: Tout sélectionner
resA = rref([x,y,z,A-A]);
resB = rref([x,y,z,B-A]);
resC = rref([x,y,z,C-A]);

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 44 invités

cron

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite