[math] projection perspective et matrice projective

projection perspective et matrice projective [math] - Programmation

Marsh Posté le 20-04-2001 à 09:23:03    

bonjour,
 
je ne sais plus comment on crée une matrice projective pour réaliser une projection perspective. Est ce que qqn a une idée ?
 
[? ? ? ?]
[? ? ? ?]
[? ? ? ?]
[? ? ? ?]
 
en notation fr svp.
 
ps pour pitounet : je n'ai pas mes cours de mt51 ici mais fait comme moi pose ta question sur le forum.

Reply

Marsh Posté le 20-04-2001 à 09:23:03   

Reply

Marsh Posté le 20-04-2001 à 10:30:47    

ben alors on se reveille !!!

Reply

Marsh Posté le 20-04-2001 à 10:32:11    

ben alors on se reveille !!!

Reply

Marsh Posté le 20-04-2001 à 13:17:51    

Rhaaaa, ça urge ton truc?
Me souviens pluuuus! :cry:
Ca m'énerve, ça y est c'est Elzeim... Helsei.. et merde! ;)
 
Plus sérieusement, j'ai ça chez moi. Je m'en suis servi pour le rapport d'un projet en OpenGL. Si ça peut attendre un peu je te retrouve ça.


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 20-04-2001 à 15:10:14    

ok je peux attendre un peu...
 
mais si y'a qqn d'autre qui a fait des choses dans ce domaine ca m'interesse aussi.

Reply

Marsh Posté le 20-04-2001 à 15:31:28    

Euh.. attendre un peu, je veux dire ce week-end.:D
Là, je suis au "boulot", donc pas accès à mes archives de cours...


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
Reply

Marsh Posté le 20-04-2001 à 16:57:58    

leg9 a écrit a écrit :

Rhaaaa, ça urge ton truc?
Me souviens pluuuus! :cry:
Ca m'énerve, ça y est c'est Elzeim... Helsei.. et merde! ;)
...




Y'a trois avantages avec cette maladie... Le premier, c'est que tous les jours on se fait de nouveaux amis. Le deuxième c'est qu'on a pas de mauvais souvenirs. Et le troisième c'est que tous les jours on se fait de nouveaux amis.

Reply

Marsh Posté le 20-04-2001 à 17:08:35    

tu travailles dur toucouch a ce que je vois

Reply

Marsh Posté le 20-04-2001 à 19:51:08    

La matrice d'une projection ? facile, faut juste que tume dise par rapport à quoi tu projette (orthogonal ?)

Reply

Marsh Posté le 21-04-2001 à 02:11:23    

ben une projection perspective !!!
 
une projection orthogonale je sais faire..

Reply

Marsh Posté le 21-04-2001 à 02:11:23   

Reply

Marsh Posté le 21-04-2001 à 11:14:13    

Tu veux pas faire de l'OpenGL plutot, ça fait tout, tout seul :-)


---------------
Pipiru piru piru pipiru pi
Reply

Marsh Posté le 21-04-2001 à 13:16:46    

oui c'est vrai opengl le fait tout seul. J'en ai deja fait tout plein mais j'aimerais povoir le faire tout seul comme un grand. Je sais faire la projection perspective sans les matrices mais j'aimerais pouvoir le faire avec une matrice

Reply

Marsh Posté le 22-04-2001 à 10:21:54    

point 3D coordonnees homogenes:
(x,y,z,1)
on applique la matrice
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]  
et hop,
tu as le resultat, le point 2D en coordonnees homogenes:
(x,y,z)
qui correspond au point (x/z,y/z) du plan de projection
C'est vraiment pas complique la 3D..

Reply

Marsh Posté le 22-04-2001 à 13:55:30    

legreg a écrit a écrit :

point 3D coordonnees homogenes:
(x,y,z,1)
on applique la matrice
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]  
et hop,
tu as le resultat, le point 2D en coordonnees homogenes:
(x,y,z)
qui correspond au point (x/z,y/z) du plan de projection
C'est vraiment pas complique la 3D..




 
merci legreg mais ce n'est pas du tout ce que j'ai demandé.
En gros tu viens de me donner la matrice identité (sauf qu'il manque une ligne).
 

Code :
  1. [1 0 0 0]   [x]   [x]
  2. [0 1 0 0]   [y]   [y]
  3. [0 0 1 0] * [z] = [z]
  4. [0 0 0 1]   [w]   [w]


 
enfin merci quand meme...

Reply

Marsh Posté le 22-04-2001 à 23:33:56    

pour passer des coordonnees homogenes au coordonnees "3d" c'est :
 x=x/w
 y=y/w
 z=z/w
 w=1

Reply

Marsh Posté le 23-04-2001 à 11:46:43    

ben alors leg9 tu as trouvé la reponse ?

Reply

Marsh Posté le 23-04-2001 à 16:28:23    

darkoli a écrit a écrit :

ben alors leg9 tu as trouvé la reponse ?




 
snif

Reply

Marsh Posté le 24-04-2001 à 10:50:58    

oups

Reply

Marsh Posté le 24-04-2001 à 11:30:13    

darkoli a écrit a écrit :

 
 
merci legreg mais ce n'est pas du tout ce que j'ai demandé.
En gros tu viens de me donner la matrice identité (sauf qu'il manque une ligne).
 

Code :
  1. [1 0 0 0]   [x]   [x]
  2. [0 1 0 0]   [y]   [y]
  3. [0 0 1 0] * [z] = [z]
  4. [0 0 0 1]   [w]   [w]


 
enfin merci quand meme...




On recommence:
Tu passes x,y,z en coordonnees homogenes
x,y,z,t avec t=1
puis tu appliques ma matrice et
tu obtiens un point wx,wy,w
et pour w!=0 tu en deduis
les coordonnees de ton point 2D x et y!
 
A+
Legreg

 

[edit]--Message édité par legreg--[/edit]

Reply

Marsh Posté le 24-04-2001 à 11:45:00    

oui mais je ne t'ai pas grondé voyons.
 
La projection est triviale, mais la je ne suis pas sur que la matrice que tu me donne permettent de calculer une projection  perspective ?

Reply

Marsh Posté le 25-04-2001 à 12:30:19    

La matrice n'est jamais aussi simple
mais tu ne precises pas les donnees de ton probleme donc
on modelise comme on veut: et ma modelisation est tres valable et marche (centre de projection en O(0,0,0) et plan de projection z=1);
En partant de cette matrice triviale tu comprends comment tu arrives a des modeles moins triviaux, simplement en combinant cette matrice avec des operations elementaires(rotation, translation, affine) sur les coordonnees de depart ou bien d'arrivee.
A+
Legreg

Reply

Marsh Posté le 15-03-2008 à 09:53:33    

bon alors si j'ai bien compris tu veux faire une matrice qui te donne les coordonnées 2D d'un point 3D.
Il y a plusieurs types de perspective, la plus simple est la perspective cavaliere et voici la matrice:
 
1  | 0 | 0.71 | 0
0  | 1 | 0.71 | 0
0  | 0 |   0   | 0
0  | 0 |   0   | 0
 
et tu multiplie cette matrice par une matrice contenant tes coordonnés
 
x
y
z
1
 
et la tu as x = x + 0.71 * z
y = y + 0.71 * z
z = 0
 
(enfin ca marche si j'ai pas fait d'erreurs)

Reply

Marsh Posté le 15-03-2008 à 10:00:26    

bon je sais je repond tres tres tard mais ca peut toujours servir à d'autre

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed