bon je sais je repond tres tres tard mais ca peut toujours servir à d'autre
blackfusion
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:
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)
LeGreg
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
darkoli
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 ?
LeGreg
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 0 0 0] [x] [x]
[0 1 0 0] [y] [y]
[0 0 1 0] * [z] = [z]
[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]
darkoli
oups
darkoli
darkoli a écrit a écrit :
ben alors leg9 tu as trouvé la reponse ?
snif
darkoli
ben alors leg9 tu as trouvé la reponse ?
darkoli
pour passer des coordonnees homogenes au coordonnees "3d" c'est :
x=x/w
y=y/w
z=z/w
w=1
darkoli
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 0 0 0] [x] [x]
[0 1 0 0] [y] [y]
[0 0 1 0] * [z] = [z]
[0 0 0 1] [w] [w]
enfin merci quand meme...
LeGreg
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..
darkoli
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
n0mad
Tu veux pas faire de l'OpenGL plutot, ça fait tout, tout seul :-)
darkoli
ben une projection perspective !!!
une projection orthogonale je sais faire..
Kyle_Katarn
La matrice d'une projection ? facile, faut juste que tume dise par rapport à quoi tu projette (orthogonal ?)
darkoli
tu travailles dur toucouch a ce que je vois
Toucouch
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.
Leg9
Euh.. attendre un peu, je veux dire ce week-end.:D
Là, je suis au "boulot", donc pas accès à mes archives de cours...
darkoli
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.
Leg9
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.
darkoli
ben alors on se reveille !!!
darkoli
ben alors on se reveille !!!
darkoli
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.