Perspective parrallèle

CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008 - 4 janv. 2006 à 20:20
CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008 - 7 janv. 2006 à 12:35
Bonjour,

J'aimerais savoir quels fonction permettent d'utiliser la perspective parrallèle. C'est surement un pb de matrices.



Merci d'avance

Colin CHARGY

2 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
5 janv. 2006 à 10:13
Dans quel domaine ??? Tu parles de quoi exactement ???
Pi dans quel langage tu codes... et sous quelle version ???
Tu sais, on est pas dans ta tête pour deviner ce qui s'y trouve!!!

Mais bon, si tu veux parler de dessin vectoriel en 3D isométrique (à deux fuiantes parallèles donc), il n'y a pas de fonction toute faite (sauf peut-être via DirectX mais là, c'est une autre affaire!!!). Tu dois te débrouiller tout seul... ce qui, entre nous, n'est pas une grande affaire!

Il faut considérer un univer carré dont le point 0 se trouve sur ton écran en bas au centre. Ensuite, évidemment (c'est d'ailleurs tout le problème de la 3D iso!!!), il y a un rapport entre l'axe des X et celui des Y car s'il est de 1/1, certaines choses seront cachés. Mais bon, de toutes façons, certaines choses seront quand même cachées!!! En joueant sur ce rapport tu peux simuler une rotation. Je dis bien simuler.

N'empêche que la 3D normale est presque plus facile à implémenter... Cherche sur ce site et tu trouveras plein de sources... Rien qu'une des mienne (3DballsClock) utilise un début de 3D classique.

D'ailleurs, tout le problème de la 3D iso est de savoir si tu veux te contenter de fils de fer où si tu veux des graphs 2D. Car l'approche n'est pas tout à fait la même dans les deux cas!!! En 3D fil de fer, ce n'est que du vectoriel, autrement dit, des petites équations de niveau 4ème scolaire. En revanche, si tu veux de la 3D iso graphique, tu dois aborder le travail d'une autre manière : en 2D. Autrement dit, empiler, selon un ordre précis, une succession d'images demies transparentes (enfin, selon la technique évidemment!). Du coup, ton rapport x/y se devra d'être toujours fix.

L'équation doit se présenter à peu prêt comme ça :
' grf est soit Picture1, soit "Me" selon que tu dessines sur une PictureBox ou directement sur la fenêtre !!!
CentreX = grf.Width / 2 'Centre horizontale
CentreY = grf.Height 'En bas de l'écran
RapportXY = 1 'A toi de gérer correctement les rapports (parce qu'en fait, ils sont plusieurs ;-) [héhé, je vais quand même pas tout te donner tout de même!]

For t = 1 To NombreDePoints
'Lecture des points... selon ta technique... dans un fichier ou non...
...
'xxx, yyy, zzz sont les coordonnées 3D du point en cours de traitement...
'xx et yy étant les coordonnées 2D (celles à afficher) de ce même point

xx = CentreX + (xxx * RapportXY) - (yyy * RapportXY)
' î_ autrement dit, on part d'abord à droite sur l'axe des X puis repart à gauche sur l'axe des Y (soustraction)
yy = CentreY + (xxx * RapportXY) + (yyy * RapportXY) + (zzz * RapportZ)
grf.Pset xx, yy
Next t

Cela répond-t-il à ta question ???

Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008
7 janv. 2006 à 12:35
Toute mes escuse . . .



Je cherchais en fait la fon,ction pour activer les matrice en projection parrallèle de Direct3D 8 sous VB6. . .





Je suis aller un peu vite en fait . . .



Mais a priori, il n'y en pas . . .



Merci kan même



Colin CHARGY
0
Rejoignez-nous