Le modèle povray.mod
Publié: 15 Juil 2009 15:43
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:
-> 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() ]
- 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() ]
- 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() ]
- 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() ]