bonjour,
je souhaite dessiner une sphère en 3D en utilisant le visual c++ 6.0. j'ai trop cherché mais j'ai rien trouvé. j'espère que quelqu'un peut me donner meme une indication.
merci en 2K.
bonjour,
je souhaite dessiner une sphère en 3D en utilisant le visual c++ 6.0. j'ai trop cherché mais j'ai rien trouvé. j'espère que quelqu'un peut me donner meme une indication.
merci en 2K.
OpenGL, DirectX, Ogre (surcouche utilisant soit OpenGL, soit DirectX), ...
Si tu veux de la vraie 3D, je partirais sur DirectX ou OpenGL.
[Edit] Grilled
Mais 2 réponses identiques dans la même minute, c'est un signe qui ne trompe pas ...![]()
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Hihihi, mes doigts ont été plus rapides
Perso, j'aime bien Ogre car il utilise les 2 librairies et on choisit laquelle on veut utiliser lors de l'exécution, et intègre pas mal d'outils.
Cependant, s'il ne s'agit que d'une sphère et ne souhaite pas aller plus loin, peut-être pas nécessaire![]()
Tout dépend du système de 3D que tu utilises.
Si c'est des voxels, tu dessines ça comme pour dessiner un cercle sur des pixels.
Si c'est des polygones, il faut approximer ta sphère par un certain nombre de triangles.
bonsoir,
j'ai essayer de dessiner une sphère mais rien ne s'affiche malgré que les équations sont correctes. j'espère que quelqu'un peut m'aider.
merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 void CSphreDlg::Onsphere() { // TODO: Add your control notification handler code here CClientDC interface1(this); double z0,z1,z2,e0,e1,x0,y0,A,B,f0,f1,xn,yn; e0= cos(2* 3.14 * (11/1110)); f0= sin(2* 3.14 * (11/1110)); e1= cos(2* 3.14 * (11/1110)); f1= sin(2* 3.14 * (11/1110)); A = e0 * e1; B = e0 * f1; z0=0; z1=f0; x0= A; y0= B; for(int i=0; i<10000;i++) { z2= 2* e0 * z1 - z0; for(int j=0; j<10000;j++) { xn= (A * x0) - (B * y0) + (f0 * ((z1)/sqrt((x0*x0) + (y0 *y0))) *((e1* x0) - ( f1 * y0))); yn= (B *x0) + (A * y0) + ( f0 * ((z1)/sqrt((x0*x0) + (y0 *y0))) * ((f1 * x0) + (e1 * y0))); interface1.SetPixel(xn + z2 ,yn + z2 ,RGB(255,0,0)); x0 = xn; y0= yn; } z0=z1; z1=z2; }
Salut,
1/ J'ai 4 secondes de calcul pour ta bouclePour un rendu, ça va être problématique.
2/ Je n'ai pas vraiment chercher à comprendre ton calcul, mais as-tu pris en compte l'origine (0,0 est le coin gauche haut de ta fenêtre) et la taille de ta fenêtre ?
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Partager