panicq
Messages postés66Date d'inscriptionmardi 14 novembre 2000StatutMembreDernière intervention18 janvier 2010
-
20 oct. 2007 à 16:10
cs_pingouin84k
Messages postés68Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention 9 janvier 2011
-
2 nov. 2007 à 12:53
Bonjour à tous,
J'aurais bien aimé faire un petit programme qui permet de tracer des ligne en vue x,y,z mais pas en 3d (sans module et sans code compliqué si possible) en fausse 3d. Je sais déja comment tracer une ligne en vb mais puis-je partir de la pour le faire?
Picture1.Line -(X,Y)
(Dans un MouseDown)
Ps: J'ai déja vu une souce qui fait cela mais je n'ai pas bien tout compris et il y avait des tas de modules etc...
cs_pingouin84k
Messages postés68Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention 9 janvier 2011 29 oct. 2007 à 14:17
Je suis pas trop d'accord avec ce qui a était dis précédement.
Si tu veux pas faire de transformation 3d c très simple.
A la limite même les translation 3d sont simples (seul les rotations sont un peu plus compliqués - faut juste avoir les idées claires).
Si tu veux afficher un objet 3d a partir de ses coordonnées tu as 2 types d'affichages:
perspectives cavalière
prespective à point de fuite
Ton point 3D est definit par (X3D, Y3D, Z3D). Z étant la profondeur (direction perpendiculaire à ton écran).
la plus simple perspective cavalière:
Ton point afficher à ton ecran :
Pset(X3D,Y3D)
On suprime simplement la coordonnée Z3D.
maintenant la perspective à point de fuite :
Même méthode que précedement sauf qu'il faut diviser chaque coordonnées par Z (la profondeur)
Ca donne :
Pset(X3D/Z3D^distortion, Y3D/Z3D^distortion)
L'exposant distortion sert à reduire l'influence de la profondeur sur l'affichage. Quand distortion = 0 on est en perspective cavalière.
Quand tu fera tes premiers tests n'oublie pas que si tu vois rien s'afficher il faut verifier :
la propriété Autoredraw de ton afficheur
les coordonnées de ton points ne soit pas toute petite
l'affichage se fait à partir du centre de ton afficheur
C'était les derniers conseils qu'il parait bon de te donner (je suis déjà passer par là).
Si tu veux de l'aide (peut être sur les transforamtion des tes objets 3D, rotation et translation) suplémentaire n'hésite pas. Mon premier moteur graphique 3D(filaire), je l'ai fait sur Excel
panicq
Messages postés66Date d'inscriptionmardi 14 novembre 2000StatutMembreDernière intervention18 janvier 2010 29 oct. 2007 à 14:23
Merci mais mon pb c'est que en fait j'ai trois picturebox qui vont representer en fait les vues x,y,z Et ensuite je voudrait que quand on place ce point sur un des picturebox on le voit dans les diferentes vues.
PS:Au lieu de faire des points pouraije faire des croix????
cs_pingouin84k
Messages postés68Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention 9 janvier 2011 29 oct. 2007 à 15:29
Pour l'histoire de picture box:
Disons que je place un point dans la vue X,Y. Faut savoir quelle valeur lui assigner à la valeur de Z, là, soit tu lui assigne une valeur par défaut, soit tu programme un algo qui attend que tu clique sur une des 2 autres pictures box d'à coté pour pouvoir calculer une valeur de Z.
Pour ce qui est de relier 2 points par une ligne :
Une ligne est une ligne en 3D ou en 2D. Donc si tu as les coordonnées des 2 points en 2D il te suffit de tracer une ligne entre les 2 points (ça devrait pas poser de problème).
cs_pingouin84k
Messages postés68Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention 9 janvier 2011 2 nov. 2007 à 12:53
Le meilleur conseil que je puisse te donner, c'est de reflechir comme si toi tu étais à la place de l'ordi. Sachant ce que que tu veux faire essais de décomposer toutes les étapes de ton algo et surtout pense aux informations... Les informations sont à la base de ton prog. Si tes informations sont mal mise en forme ou s'il en manque, ton programme ne marchera pas comme tu veux.
Je supose que tu es débutant? Si c'est le cas, pour te rassurer, j'ai aussi commencer la prog en voulant faire un jeu (c'est ce que j'ai compris en lisant tes autres posts). Mais n'est pas d'illusion, à part si ton jeu est ultra simpliste (apparement c'est pas le cas), tu n'arriveras pas à tes fins.
Ca veux pas dire qu'il faut que tu arretes la prog bien au contraire. Il te faut juste apprendre, et apprendre en codant des petits algorithmes est le meilleur moyen (ca t'évite de t'y perdre)...