# Applications > Dveloppement 2D, 3D et Jeux > Moteurs 3D >  Conversion coordonnees 3d - 2d (projection)

## yannprada

Bonjour,

Je teste un peu la projection plane, avec comme outils Python et Tkinter.

J'aime bien la thorie, donc je fais sans bibliothque 3d.

J'applique la formule suivante pour convertir mes points de la 3d vers la 2d :

x' = x * f/z
y' = y * f/z

Seulement voil, avec cette mthode, je me retrouve avec des cubes qui ont l'air de paralllpipdes...

Je m'explique : je prend une longueur fixe pour les cts du cube (logique).

J'en dduis les coordonnes (x,y,z) de chaque sommet. J'applique la formule, je trace, mais au rendu, on dirait que la longueur en Z est trop grande...

Si vous avez des conseils ou une explication, je suis preneur.

Note :
   J'ai dj test l'autre formule, celle o l'origine n'est pas la camra. Et le mme soucis ressort...

Note 2 : J'ai une image pour illustrer mes propos. Si quelqu'un veut la voir, y a qu' demander =)

Merci d'avance pour avoir lu mon (petit) pav ^^

----------


## Djakisback

Salut,
tu fais une projection orthogonale l ? et a semble fonctionner.
Si tu veux de la perspective c'est un peu plus compliqu le calcul est diffrent pour chaque point.

----------


## yannprada

Orthogonale, oui. En fait j'ai test en rduisant la longueur du cube en Z de 5 fois, puis 10, puis 20.

Mais en translatant l'objet en Z, j'ai remarqu que le ct de la profondeur (Z) parait toujours plus long.

Je vais attendre d'avoir finit le code pour le faire pivoter, histoire de voir si c'est une illusion ou pas...

A moins d'avoir d'autres suggestions d'ici l ^^

PS : je cherche pas  faire de la perspective isomtrique, mais plutt quelque chose qui se rapproche de la perception humaine, sans aller jusqu' la perspective curviligne (quoique si les calculs ne sont pas trop compliqus, je testerai peut-tre ^^).

PPS : Quand on a le z de la formule qui tombe  zro, le cacul ne peut se faire (zro division error). Il faut prendre quelle valeur dans ce cas prcis ?

PPPS : Aprs quelques recherches, la projection centrale (perspective conique) semble se rapprocher suffisamment de la perception visuelle, sans toutefois tre trop complexe. Me reste  trouver les formules, en tenant compte de la distance entre le plan et l'oeil (camra), le point camra, le point d'origine, l'angle camra par rapport aux axes d'origine, etc... une fois la formule pose dans une fonction, ce devrait tre un jeu d'enfants ^^ Je retourne  mes recherches =)

----------


## yannprada

Je reposte car j'ai rsolu mon soucis initial : en faisant pivoter les cubes, et bien on voit bien que sont des cubes ^^

Maintenant j'aimerais implmenter la rotation de la camra. Pour la translation, c'est ok, mais la rotation, a  l'air chaud... c'est en fait un changement d'axe, ou une sorte de rotation de toute la scne autour de la camra... je ne sais pas trop.

Edit : En fait, il faut faire pivoter le plan de projection... ce qui est plus facile  dire qu' faire ^^

Donc cela revient  faire pivoter tous les objets dans le sens inverse...

----------

