IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Visualisation 3D d'un code C++


Sujet :

C++

  1. #1
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 5
    Par d�faut Visualisation 3D d'un code C++
    Bonjour,

    J'aurais besoin de visualiser en 3D les r�sultats d'un code que je suis en train d'�crire. Ce programme est particulier, je vais vous le d�crire. Il permet de calculer la position de points lumineux sur un cylindre donn�, par r�flexion de la lumi�re du soleil sur des petits triangles r�fl�chissants formant un four solaire. Dans mon programme, je mod�lise le four solaire Prom�th�e que vous pouvez voir sur le site d'iD Solaire www.idsolaire.com pour mieux voir comment il se pr�sente. Je sais que son foyer est un cylindre.(En fait, ces fours se presentent sous la forme d'un tiers de sph�re, qui est en fait constituee de petits triangles qui tapissent le tiers de sph�re. C 'est le m�me principe que la g�ode � la cit� des Sciences a Paris: des facettes pour approcher une sph�re.) Je cherche � voir ce cylindre, foyer de chaleur cr�� par le soleil, qui est donc virtuel. Je lance des rayons lumineux, les fais refleter sur le four, et ensuite calcule leur intersection avec un cylindre de taille connue, qui correspond en fait a la taille de la marmite. Et c'est l'intersection des rayons reflechis avec le cylindre qui va donner des points lumineux. Ainsi, on verra comment le cylindre est eclaire, et donc chauff�. Comme on veut pouvoir donner l'efficacite du four, c'est uniquement grace a la presence de ces points lumineux que l'on peut l'evaluer. Donc mon probleme consiste a trouver un moyen d'utiliser mes resultats de code C++ qui vont etre des points en 3D et de les visualiser ensuite.
    Ces fours sont donc actuellement tr�s utiles, car ils utilisent uniquement l'�nergie renouvelable du soleil, ce qui est particuli�rement int�ressant en cette p�riode de fort ensoleillement, et partout o� il fait beau.
    En fait, merci de me r�pondre au plus vite car je dois presenter mon rapport tr�s bient�t, ce qui signifie qu'il faudra d'ici l� que j'aie fait tout mon programme et trouve le moyen de visualiser tout cela...
    Donc, je vous serai tres reconnaissante si vous pouviez m'indiquer dans quelle voie je peux m'engouffrer avec les meilleures chances de succes. Surtout si j'ai qqchose a apprendre, que je ne connais pas encore, il faut vraiment que je ne tarde pas...
    Merci.

  2. #2
    Membre exp�riment� Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Par d�faut
    tu peux utiliser une api graphique tel qu'OpenGL ou Direct3D peu �tre ?

  3. #3
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 5
    Par d�faut Merci: pr�cisions
    Merci beaucoup a vous!
    En fait, quelqu'un m'a en effet parle d'Open GL, mais j'ai l'impression qu'avec Open GL on cr�e des objets en 3D mais je n'avais pas l'impression que l'on pouvait utiliser des r�sultats de code C++ directement dedans pour qu'a partir de cela, il puisse cr�er un objet. En effet, mon cylindre, il ne sera pas entier, ce sera juste des points qui appartiennent au cylindre, et qui sont assez denses, mais ils ne formeront en aucun cas un cylindre complet. Donc pensez-vous que l'on peut esperer obtenir ceci?
    Merci de votre rapidit�. C'est vraiment bien!

  4. #4
    Membre exp�riment� Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Par d�faut
    opengl sert en fait a afficher des triangles dans un espace 3D. Tant que tu calcul les points, puis les faces � afficher �a marchera

  5. #5
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 5
    Par d�faut Reponse
    En fait, mes triangles ne sont que le moyen d'obtenir une reflexion de la lumiere. Je ne cherche pas a les visualiser. Ce que je cherche a visualiser effectivement, ce sont les points lumineux r�sultant de la r�flexion d'un rayon lumineux arrivant sur ce triangle. Et ils vont former une partie de cylindre: des points isoles sur ce cylindre. Donc le probleme qui se pose a moi, c'est que ce n'est pas vraiment un objet 3D...

  6. #6
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 5
    Par d�faut Reponse
    Suite:
    En fait, mes triangles ne sont que le moyen d'obtenir une reflexion de la lumiere. Je ne cherche pas a les visualiser. Ce que je cherche a visualiser effectivement, ce sont les points lumineux r�sultant de la r�flexion d'un rayon lumineux arrivant sur ce triangle. Et ils vont former une partie de cylindre: des points isoles sur ce cylindre. Donc le probleme qui se pose a moi, c'est que ce n'est pas vraiment un objet 3D...
    Et vous etes s�r que Open GL peut utiliser des donn�es d'un code C++ comme entree et les traiter?
    Merci.

  7. #7
    Membre habitu�
    Inscrit en
    Avril 2007
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Par d�faut
    T'a le logiciel Maya qui peut r�pondre a ton probl�me, mais la prise en main, est loin d'�tre intuitive, et n�cessite une �tude des concepts et de la structure du fonctionnement. Avec un bon livre a 50 euros tout en anglais, en 3 jours (� fond) t'aura les bases. Ensuite il te faudra apprendre le MEL (Maya Embedded Language), qui est un langage (tr�s proche du C, au niveau de la syntaxe) te permettant de programmer et mod�liser ce que tu veux en 3D. Il existe une API C++ qui te permet de faire la m�me chose, et la cr�ation de plugin C++ est facilit� avec Visual Studio (installation d'un wizard).

    Voila, c'est une solution qui n'a pas l'air attrayante, mais elle a le m�rite d'exister. Bon courage !

  8. #8
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par d�faut
    Tu peux tout aussi bien n'afficher que des points avec OpenGL. Pour d�buter, commence par suivre quelques tutos, le site NeHe te donnera de bonnes bases en partant de 0.

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 183
    Par d�faut
    Et vous etes s�r que Open GL peut utiliser des donn�es d'un code C++ comme entree et les traiter?
    OpenGL n'est pas une application autonome, c'est le c++ qui � chaque boucle du programme r�affiche le r�sultat graphique en appelant les fonctions OpenGL ad�quates.

    Ton objectif � toi est de calculer tous tes points lumineux, puis, tu les affiches avec la partie du four qui t'interesse selon l'angle de cam�ra de ton choix.

  10. #10
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Question : As-tu besoin d'avoir une image interactive (changement de point de vue � la souris) ? Si oui, alors ok pour des choses genre OpenGL ou DirectX. Si non, peut-�tre peux tu regarder des choses comme pov-ray (tu g�n�re un script dans un crtain langage depuis ton programme, il g�n�re l'image), ou un truc genre QwtPlot3D (un truc de trac� de graphe, je ne sais pas trop quel genre d'image tu veux obtenir).
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  11. #11
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 538
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 538
    Par d�faut
    Je partage l'avis de Loic ; cela tient plus de la conception logiciel de "raycasting" plutot que de l'affichage temps r�el 3D.
    OpenGL ne sera quasiment d'aucune utilit� parce qu'� chaque fois il faut faire des calculs....

  12. #12
    Expert confirm�

    Homme Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    F�vrier 2007
    Messages
    4 253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par d�faut
    Citation Envoy� par Mat.M
    Je partage l'avis de Loic ; cela tient plus de la conception logiciel de "raycasting" plutot que de l'affichage temps r�el 3D.
    OpenGL ne sera quasiment d'aucune utilit� parce qu'� chaque fois il faut faire des calculs....
    Non, pas forc�ment... si rien ne change (angle de vision, rayons lumineux, ...) pourquoi recalculer ?

    De toute maniere, que ce soit OpenGL/D3D ou GDI, c'est juste une API pour dessiner des informations provenant du CPU. Certes les APIs "3Ds" dessinent des triangles (qui peuvent se r�sumer � un point �ventuellement)... et les dessins sont certes plus �volu�s avec possibilit� de texturage, �limination des faces cach�es, Z-buffer, etc... Mais c'est a peu pret pareil...

    Et dans le cas pr�sent, tous les calculs peuvent certainement �tre fait en temps r�el par le GPU (donc sans m�me passer par le CPU).
    1 reflexion + 1 intersection avec un cylindre... une carte graphique doit pouvoir en faire dans les 100.000 sans chauffer d'un degr�

    Sinon... le code pour passer de 3D � 2D, est vraiment simple, sans avoir � faire du ray-tracing....

  13. #13
    Membre �clair�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par d�faut
    Citation Envoy� par nicroman
    Non, pas forc�ment... si rien ne change (angle de vision, rayons lumineux, ...) pourquoi recalculer ?

    De toute maniere, que ce soit OpenGL/D3D ou GDI, c'est juste une API pour dessiner des informations provenant du CPU. Certes les APIs "3Ds" dessinent des triangles (qui peuvent se r�sumer � un point �ventuellement)... et les dessins sont certes plus �volu�s avec possibilit� de texturage, �limination des faces cach�es, Z-buffer, etc... Mais c'est a peu pret pareil...

    Et dans le cas pr�sent, tous les calculs peuvent certainement �tre fait en temps r�el par le GPU (donc sans m�me passer par le CPU).
    1 reflexion + 1 intersection avec un cylindre... une carte graphique doit pouvoir en faire dans les 100.000 sans chauffer d'un degr�

    Sinon... le code pour passer de 3D � 2D, est vraiment simple, sans avoir � faire du ray-tracing....
    http://g.gesquiere.free.fr/Enseignement/IN/index.htm
    http://pluton.up.univ-mrs.fr/thon/LP/index.php (voir cours Licence)

    sites pour apprendre l'OpenGL.

  14. #14
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Pour apprendre OpenGL pas la peine d'aller aussi loin :
    http://jeux.developpez.com

  15. #15
    Membre �clair�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par d�faut
    Citation Envoy� par Laurent Gomila
    Pour apprendre OpenGL pas la peine d'aller aussi loin :
    http://jeux.developpez.com

    Faut bien faire de la pub pour l'IUT D'ARLES .
    Petite IUT, mais tr�s bons profs !

Discussions similaires

  1. [AC-2007] Visualiser Pochette, WindowsMediaPlayer Controle, Code VBA, Access
    Par betcol dans le forum VBA Access
    R�ponses: 0
    Dernier message: 11/12/2011, 14h27
  2. Empecher la visualisation du code d'un script PERL
    Par TigreRouge dans le forum Langage
    R�ponses: 33
    Dernier message: 20/03/2006, 18h04
  3. empecher de visualiser le code HTML
    Par legouvernueur dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 4
    Dernier message: 28/02/2006, 23h37
  4. R�ponses: 1
    Dernier message: 22/02/2006, 19h01
  5. empecher la visualisation du code source
    Par Teo dans le forum ASP
    R�ponses: 7
    Dernier message: 24/10/2003, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo