Page 1 sur 1

Le modèle povray.mod

MessagePublié: 15 Juil 2009 15:43
par P.Fradin
Ce modèle permet d'ajouter un export vers povray pour les scènes 3D, ou encore d'utiliser TeXgraph un peu comme une interface pour povray. Ce fichier nécessite la version 1.94-beta-8 minimum.

-> Sous linux TeXgraph appelle automatiquement povray dès la fin de l'export et on voit la création de l'image s'effectuer.

-> Sous windows il vous faudra lancer l'interface graphique de povray et charger le fichier exporté pour le compiler, sauf si vous avez installé le programme compilé par projetmbc qui est une version pour windows (32bits) en ligne de commande (sans GUI). Cette version est ici povray4win.zip, bien lire le fichier LisezMoi.txt. Cette version est utilisée par TeXgraph depuis la version 0.5 du modèle povray.mod.

Utilisation: on charge le modèle povray.mod, deux boutons apparaissent à gauche de la fenêtre, le deuxième bouton est celui qui se charge de l'export vers povray. On peut ensuite définir une scène 3D dans un élément graphique Utilisateur comme on le faisait avec les commandes Build3D et Display3D(), sauf que celles-ci sont remplacées par povScene et display3D(), on ajoute des éléments graphiques dans la scène grâce à des macros dont le préfixe est "pov" (povAxes, povSurf, ...) et non plus "bd". Toutes ces macros sont détaillées dans la doc povray.pdf. Les autres exports classiques, restent valables, en particulier les exports obj et geom.

Télécharger: povray.zip ( version 0.96 du 29/07/19)

Le paquet contient 4 fichiers:

- povray.mac (macros)
- povray.mod (modèle à charger)
- povray.pdf (aide)
- povray.txt (à lire)

Attention: Depuis la version 0.2 il est possible d'inclure une formule TeX dans la scène. Cette possibilité nécessite l'installation de l'utilitaire pstoedit, et son chemin d'accès doit être dans la variable PATH. Le rendu peut être un peu long car cela demande une compilation TeX en arrière-plan pour récupérer la formule compilée. Voir l'exemple de la sphère un peu plus bas.

Les questions/propositions concernant ce modèle sont à poster dans ce forum.

Exemples: charger le modèle povray.mod (F3) et créer un élément graphique Utilisateur avec les commandes suivantes:

Code: Tout sélectionner
[view(-5,5,-5,5), view3D(-5,5,-5,5,-4,4),  Marges(0,0,0,0), size(12,1),
 backcolor:=darkgray, shadow:=1,
 povScene(
         povPlan([2,0,-vecI], [color:=darkseagreen, scale:=0.85, opacity:=0.3]),
         povTorus( [0,0],3,1,vecK, [color:=steelblue, smooth:=1, clip:=-1,
                                    clipwin:=[2,0,-vecI]]),
         povAxes([0,0], [color:=gold, arrows:=1, arrowscale:=1.5])
         ),
 Display3D() ]


Image


Code: Tout sélectionner
[view(-5.5,5.5,-5.5,5.5), view3D(-5,5,-5,5,-5,5), Marges(0,0,0,0), size(12,1),
 A:=4*M(1,1,1)/sqrt(3), Az:=pz(A), Axy:=pxy(A), Ax:=px(A), Ay:=py(A),
 backcolor:=darkgray, shadow:=1,
 povScene(
    povPlan([0,0,vecK], [color:=darkseagreen, scale:=0.9, opacity:=0.8]),
    povSphere([0,0],4, [color:=darkblue, opacity:=0.6]),
    povLabel(A,"A\begin{pmatrix}\cos(\theta)\sin(\varphi)\\
                  \sin(\theta)\sin(\varphi)\\
                  \cos(\varphi)\end{pmatrix}",
             [color:=gold, showdot:=1, dotscale:=1.5, TeXify:=1,scale:=0.85,
               labelpos:=[0.5,1], labelstyle:=left]),
    povLabel(M(4.25,4,0),"plan P",[labelstyle:=right+bottom,
                                    labeldir:=[vecJ,-vecI]]),
    povLine([Az,A,0,0,Axy,A,jump,Axy,4*normalize(Axy),jump,Ax,Axy,Ay],
             [color:=red]),
    povArc(Az,Origin,A,4,1,[color:=brown, arrows:=1,
                             labelarc("\varphi"), TeXify:=1]),
    povArc(pxz(A),Az,A,Norm(A-Az),1, [color:=brown, arrows:=1,
                                       labelarc("\theta"), TeXify:=1]),
    povArc(Az,Origin,[4,0],4,1,[color:=brown]),
    povAxes([0,0],[color:=gold, arrows:=1, arrowscale:=1.5]),
         ),
 Display3D() ]       



Image


Code: Tout sélectionner
[view(-7,7,-7,7), Marges(0,0,0,0), size(12,1), view3D(-6,6,-6,6,-6,6),
 H:=5, R:=4, a:=2, Plan:=[M(a,0,0),vecI],
 C1:=Cone(Origin, H*vecK,R,45),  C2:=Cone(Origin, -H*vecK,R,45),
 L1:=Intersection(Plan,C1), L2:=Intersection(Plan,C2),
 Asymp1:=getdroite( [M(a,0,0),M(0,R,H)] ),  Asymp2:=getdroite( [M(a,0,0),M(0,-R,H)] ),
 backcolor:=gray, imagescale:=0.75,
 povScene(povComment("plan1"),
          povPlan(Plan, [color:=darkseagreen, opacity:=0.6]),
          povComment("cone"),
          povCone(Origin, H*vecK,R,[color:=slategray, smooth:=1]),
          povCone(Origin, -H*vecK,R,[color:=slategray, smooth:=1]),
          povComment("asymptotes"),
          povLine([ Asymp1,Asymp2], [color:=blue, width:=8]),
          povComment("hyperbole"),
          povLine(Merge3d([L1,L2]), [color:=red, width:=12]),
          povComment("Axes"),
          povAxes([0,0], [color:=gold, labels:=1, arrows:=1, arrowscale:=1.5]),
            ),
 Display3D() ]



Image


Code: Tout sélectionner
[Marges(0,0,0,0), view(-5,5,-5,5),size(12,1),
 stock:=GetSurface([u+i*v,3*(sin(u)+cos(v))], pi*(-1+i),pi*(-1+i)),
 R:=rectangle3d(stock), z1:=Zde(R[1,2]), z2:=Zde(R[3,2]),
 nb:=8, pas:=(z2-z1)/nb,

 transformbox3d(R), Mat:=GetMatrix3D(),
 IdMatrix3D(),view3D(-4,4,-4,4,-4,4),

 palette:=[purple,darkblue, blue,darkgreen, green, yellow,orange,red],
 backcolor:=gray,

 povScene( S:=stock, z:=z1,
           for k from 1 to nb-1 do
             Inc(z,pas),
             S:=ClipFacet(S,[M(0,0,z),-vecK], S'),
             Inc(k,1),
             povFacet(S,[color:=palette[k], smooth:=1, matrix:=Mat]),
             sep3D,
             Echange(S,S')
          od,
          povFacet(S,[color:=crimson, smooth:=1, matrix:=Mat]),
          povAxes([0,0],[color:=gold, arrows:=1, arrowscale:=1.5])),

 Display3D() ]


Image

Re: Le modèle povray.mod

MessagePublié: 06 Août 2009 17:29
par P.Fradin
Mise à jour du modèle povray.mod (version 0.6), adaptée à la version 1.94 de TeXgraph.

Re: Le modèle povray.mod

MessagePublié: 16 Août 2009 23:11
par P.Fradin
Mise à jour vers la version 0.7 (correction d'un bug dans povLine).

Re: Le modèle povray.mod

MessagePublié: 27 Déc 2013 18:07
par P.Fradin
Mise à jour vers la version 0.9 (c'était un oubli !).

Re: Le modèle povray.mod

MessagePublié: 29 Juil 2019 14:48
par P.Fradin
Mise à jour vers la version 0.96
  • Correction d'un bug (concernant la version de povray).
  • Ajout sous windows d'un fichier de configuration (povray.cfg) créé au premier chargement de povray.mod pour mémoriser le chemin d'accès au dossier include de povray.