% TeXgraph version 1.95-beta-2 % Fenetre Xmin Xmax Ymin Ymax Xscale Yscale 100#-2.668#2.6353#-2.263#2.2276#1.69705654969547#1.69705654969547## % Marges gauche droite haut bas cadre gestion_couleur comptgraph 101#0#0#0#0#0#1#1## % Affectation des Variables theta et phi et type de perspective 18##[theta:=-0.2618, phi:=1.0472,OriginalCoord(1),IdMatrix(),IdMatrix3D(), ModelView(ortho)]## % Déclaration des Variables Globales 15#povrayver#0.8## 15#povrayload#InputMac("povray.mac")## 15#Load#InputMac("PolyedresII.mac")## % Déclaration des Macros 16#chanfreiner#{ chanfreiner( polyedre, ep, epointer(0/1)): renvoie un polyedre } [ $P:=%1, $epointer:=if %3=Nil then 1 else %3 fi, $mil:=Nil, $pos:=0, $sortie:=Nil, for $face in %1 By jump do $A:=face[1,2], $B:=face[3,2], $C:=face[5,2], $N1:=normalize(Prodvec(C-A,B-A)), B:=A, for $Z in [face[3,0],A] By 2 do A:=B, B:=Z, C:=(A+B)/2, $d:=Inserer3D(mil,C), $p:=4*d-1, if d>pos then Insert(sortie, [C,N1]), Inc(pos,1) else N2:=sortie[p,2], Del(sortie,p,2), Inc(N2,N1), Insert(sortie,normalize(N2),p) fi od od, if epointer then $S:= for $face in %1 By jump do {on tronque chaque facette} $B:=face[1,2], $Q:=face, for $Z in [face[3,0],B] By 2 do A:=B, B:=Z, C:=(A+B)/2, $d:=Inserer3D(mil,C), $p:=4*d-1, N2:=sortie[p,2], Q:=ClipFacet(Q,[C+%2*N2,N2]), od, Q od, Cvx3d(S) else for $plan in sortie By 4 do $A:=plan[1,2], $N:=plan[3,2], P:=Section2([A+%2*N,N], P) od, P fi ]## 16#povparam#"+A +P +FN"## 16#animparam#"+A +FN"## 16#povIncludePath#if Windows then "+L'c:\Program Files\povray\include'" else "" fi## 16#beginAnim#[{mettre ici le code à exécuter avant l'animation} ]## 16#endAnim#[{mettre ici le code à exécuter après l'animation} ]## 16#povFrame#[{Entrer ici le code pour construire la frame numéro %1 de l'animation} ]## 16#GlobalSettings#"global_settings { charset utf8 max_trace_level 10 photons {count 100000 autostop 0 jitter 0.4} }"## 16#IncludeFiles#Liste(Diese,"include ""colors.inc""",LF,Diese,"include ""stones.inc""",LF)## 16#povFont#"timrom.ttf"## 16#Init#[$x:=0, Bouton(RefPoint,"Paramètres povray","defParam()","Modifier les paramètres pour povray"), Inc(x,DeltaB), Bouton(RefPoint+x,"Export povray", "defNomExport()", "Exporter la scene3D en un fichier *.pov pour povray"), Inc(x,DeltaB), Bouton(RefPoint+x,"Animation povray", "defAnim()", "Exporter une série de fichiers *.pov pour povray") ]## 16#NomExport#"chanfrein2"## 16#povsize#"+W320 +H270"## 16#renduPov#"object{ objet1 texture{T_Stone5}} "## 16#povSpecial1#""## 16#aidePoly#help("PolyedresII")## 16#povSpecial2#"object{ objet2 texture{T_Stone5}}"## % Déclaration des Eléments graphiques % objet1 (Utilisateur) 18##[tMin:=-5,tMax:=5,DotScale:=1+i]## 14#objet1#[ FillStyle:=1, {Platon(, , ,[Faces], [Aretes]) polyèdres réguliers convexes KeplerPoinsot(, , ,[Faces], [Aretes]) polyèdres réguliers non convexes PrismeUnif( , , , [bases], [carres], [aretes]): prisme uniforme AntiprismeUnif( , , , [bases], [triangles], [aretes]): prisme uniforme Archimede(, , , [Faces1],[Faces2],[Faces3],[Aretes]): solide d'Archimède (type entre 1 et 13) PolyNC(, , ,[Faces1],[Faces2],[Faces3],[Aretes]): polyèdre uniforme non-convexes à faces convexes (type entre 1 et 15) Johnson(, , , [Faces1],[Faces2],[Faces3],[Faces4],[Aretes]): solides de Johnson (type entre 1 et 92). Pour avoir de l'aide taper dans la ligne de commande: aidePoly()} $P:=Platon(5, Origin, [2*i,0]), P':=chanfreiner(P,0.05,1), SetStr(IncludeFiles, [ Diese,"include ""colors.inc""",LF, Diese,"include ""stones.inc""",LF, ],0), povScene( povFacet(P', [color:=steelblue, backculling:=1, render:=0]), {povLine( Merge3d(Aretes([P',P''])), [color:=gold, width:=12]),} povSpecial("object{ objet1 texture{T_Stone5}}") ), Display3D() ]#-1##