Quels sont les algorithmes utilisé pour tracer les objets 3D

Voir le sujet précédent Voir le sujet suivant Aller en bas

Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  projetmbc le Jeu 15 Jan - 18:55

Bonjour Patrick Fradin,
je voulais savoir quels algiorithmes tu utilisais pour les dessins 3D (surface colorée suivant la valeur de z et objets géométriques usuels). Juste des noms ou un lien vers des infos complémentaitres me suffiront amplement.

projetmbc

Nombre de messages : 42
Age : 42
Date d'inscription : 08/01/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  P.Fradin le Jeu 15 Jan - 19:48

projetmbc a écrit:Bonjour Patrick Fradin,
je voulais savoir quels algiorithmes tu utilisais pour les dessins 3D (surface colorée suivant la valeur de z et objets géométriques usuels). Juste des noms ou un lien vers des infos complémentaitres me suffiront amplement.

Bonjour projetmbc,

Il y a 3 choses:

1) les objets 3d que l'on trouve sur la barre d'outils: c'est de la 3d fil de fer (contours et non facettes), c'est juste une projection sur l'espace sur le plan de l'écran.

2) les objets 3d que l'on peut dessiner avec les commandes DrawFacet ou DrawMixFacet: pour les objets à facettes (il peut y avoir plusieurs objets), c'est l'algorithme du peintre et pour la couleur de chaque facette les composantes rgb de la couleur sont multipliées par le cosinus de l'angle entre la normale à la facette et le rayon de lumière (produit scalaire), les facettes ne sont pas redécoupées en cas de litige, on peut donc parfois avoir des cas limites dans le dessin si les facettes sont grandes.

3) les objets 3d que l'on peut dessiner avec Build3D et Display3D(): objets à facettes (mais aussi points, lignes, labels, ...): c'est l'algorithme des BSP-trees qui est utilisé pour gérer la scène, les facettes peuvent être redécoupées pour gérer les cas litigieux (mais le nombre de facettes peut devenir très important). L'éclairage est le même type qu'au dessus, mais il y peut y avoir aussi un lissage de Gouraud dans l'export eps (ou pstricks), auquel cas chaque sommet a une couleur (le calcul est fait en interne bien sûr).

PS: tu peux m'appeler Patrick, ça suffira!

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  projetmbc le Jeu 15 Jan - 22:03

P.Fradin a écrit:PS: tu peux m'appeler Patrick, ça suffira!
D'accord Patrick Fradin. Laughing

Merci pour les infos.

Ps : j'ai envie de me faire un petit plotter 3D en Python (comme ça pour m'amuser).

projetmbc

Nombre de messages : 42
Age : 42
Date d'inscription : 08/01/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  P.Fradin le Jeu 15 Jan - 22:24

Et tu veux exporter la figure en quelque chose ou simplement dessiner? Je te demande ça car en ce moment je regarde d'assez prés povray et je suis bluffé par certains exemples de rendus que j'ai trouvés, du coup j'ai commencé un export de TeXgraph vers povray, je trouve que cela pourrait être pas mal, en voici un aperçu:

Code:

[ view3D(-1.5,2,-1.5,1.5,-1.5,2),
 view(-1.5,1.75,-1.5,2.25), Marges(0,0,0,0), size(10,1),
 couleurFond:=gray, background(full, couleurFond),
 scene3D(
        povCylinder([0.5,-1.15], 2.5*vecK,0.5, [color:=darkseagreen, opacity:=0.8]),
        povSphere( [0,0], 1, [color:=steelblue, gouraud:=1, backculling:=1]),
        povAxes([0,0],[color:=gold, labels:=1, arrows:=1]),
        bdCurve([cos(t)*exp(-i*t),sin(t)],
                  [t=[0,2*pi], gouraud:=1, nbfacet:=6, nbdot:=150, color:=red,tube:=1])
        ),
Display3D()] 

L'export donne ensuite un fichier *.pov que l'on peut compiler avec povray pour obtenir ceci:






Ce n'est pas encore fini (loin s'en faut) et faudra attendre la prochaine version test!

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  projetmbc le Jeu 15 Jan - 23:45

Si tu me parles de PovRay, tu vas fortement m'intéresser. Au passage, si tu travailles sur ce type d'export tu pourrais ajouter la notion de texture et aussi la création de surfaces implicites (qui sont gérées par PovRay). De plus, il me semble qu'il est possible de commander ce programme en ligne de commande.

PS : je pense que je vais me tourner vers ton prog. pour mes créations de graphiques 3D (Asymptote est un vrai glouton côté mémoire et son installation sous Ubuntu n'est pas simple). Par contre, j'ai du mal avec ta façon de programmer les commandes, as-tu une documentation ou un brouillon sur le sujet ?

PS 2 : très impressionant l'exemple. Povray l'a-t-il compilé rapidement ?

projetmbc

Nombre de messages : 42
Age : 42
Date d'inscription : 08/01/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  P.Fradin le Ven 16 Jan - 0:11

projetmbc a écrit:Si tu me parles de PovRay, tu vas fortement m'intéresser. Au passage, si tu travailles sur ce type d'export tu pourrais ajouter la notion de texture et aussi la création de surfaces implicites (qui sont gérées par PovRay).

Les surfaces implicites sont prévues bien sûr, (les surfaces paramétrées y sont déjà). Pour simplifier la retouche du fichier povray, il y a deux parties: une partie déclarative où chaque objet est déclaré mais sans texture, par exemple:
Code:

#declare objet1 =
cylinder { <-0.5,0,-1.15>
  <-0.5,0,1.35> 0.5
        open
    }

Et la deuxième partie où il y a le rendu de chaque objet sous cette forme:

Code:

object{ objet1
        pigment{ color rgb<0.56078431372549,0.73725490196078,0.56078431372549> transmit 0.2}
        finish{ ambient 0.35  diffuse 0.8 phong 1}
    }

Ce qui permet éventuellement de s'amuser à modifier le finish, mettre des textures, ...



De plus, il me semble qu'il est possible de commander ce programme en ligne de commande.

Il fonctionne en ligne de commandes uniquement me semble-t-il.


PS : je pense que je vais me tourner vers ton prog. pour mes créations de graphiques 3D (Asymptote est un vrai glouton côté mémoire et son installation sous Ubuntu n'est pas simple). Par contre, j'ai du mal avec ta façon de programmer les commandes, as-tu une documentation ou un brouillon sur le sujet ?

On peut faire des choses très belles avec Asymptote également, mais faut aimer la syntaxe à la C++ et personnellement je n'ai pas pu m'y faire. La programmation en TeXgraph est une programmation fonctionnelle. Il y a une documentation: lance l'interface graphique, va dans le menu Aide/documents pdf, tu dois avoir ces deux documents dans la liste: TeXgraph.pdf et scene3d.pdf


PS 2 : très impressionant l'exemple. Povray l'a-t-il compilé rapidement ?

Pour te rendre compte voici le fichier produit: testexport.pov, ce fichier a été compilé avec la commande:

Code:

povray testexport.pov +W416 +H480 +A +R3+P+FN

le temps de compilation sur ma machine est de l'ordre de 4 ou 5s.

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  projetmbc le Ven 16 Jan - 0:57

P.Fradin a écrit:
projetmbc a écrit:De plus, il me semble qu'il est possible de commander ce programme en ligne de commande.
Il fonctionne en ligne de commandes uniquement me semble-t-il.
Je voulais dire que TeXgraph peut appeler directement PovRay.

P.Fradin a écrit:La programmation en TeXgraph est une programmation fonctionnelle. Il y a une documentation: lance l'interface graphique, va dans le menu Aide/documents pdf, tu dois avoir ces deux documents dans la liste: TeXgraph.pdf et scene3d.pdf
Au temps pour moi. J'ai pris l'habitude des documentations en ligne. Je vais regarder cela dès que possible.

Merci pour le fichier PovRay.

projetmbc

Nombre de messages : 42
Age : 42
Date d'inscription : 08/01/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  P.Fradin le Ven 16 Jan - 1:06

projetmbc a écrit:
Je voulais dire que TeXgraph peut appeler directement PovRay.

Bien sûr, et heureusement, car il faut calculer la taille de l'image (en pixels pour povray) pour avoir la même chose qu'à l'écran sans distortion ce qui serait très pénible à la main ...


Au temps pour moi. J'ai pris l'habitude des documentations en ligne. Je vais regarder cela dès que possible.

Dans une console tu tapes: texdoc TeXgraph Laughing (mais cela ne marchera pas pour scene3d).

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  projetmbc le Ven 16 Jan - 12:27

Merci.

projetmbc

Nombre de messages : 42
Age : 42
Date d'inscription : 08/01/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Quels sont les algorithmes utilisé pour tracer les objets 3D

Message  Contenu sponsorisé Aujourd'hui à 11:51


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum