\documentclass{article} \usepackage{pst-solides3d} \pstheader{macle-bresil.pro} \pagestyle{empty} \begin{document} \addtosolideslistobject{macle-bresil} \multido{\i=0+10,\r=-6+0.3333}{36}{% \begin{center} \begin{pspicture}(-4,-6)(4,6) \psframe*[opacity=0.5,linecolor=green!50](-4,-6)(4,6) \psset{unit=0.5} \psset{SphericalCoor,viewpoint=100 \r\space 20,Decran=150,args={[0 1 0 0]}}%,num=all,show=all} {\psset{lightsrc=100 \r\space cos mul 20 cos mul 100 \r\space sin mul 20 cos mul 100 20 sin mul} \pstVerb{ %% ======== fichier symplan3d ======== %% %% ======== /opt/syracuse/app/jps2ps/pps/symplan3d.pps ======== %% %% syntaxe : M eqplan/plantype symplan3d --> M' %% ou M' symetrique de M par rapport au plan P defini par eqplan/plantype /symplan3d { 13 dict begin dup isplan { plan2eq /args exch def } { /args exch def } ifelse /z exch def /y exch def /x exch def args aload pop /d1 exch def /c1 exch def /b1 exch def /a1 exch def /n_U a1 dup mul b1 dup mul add c1 dup mul add sqrt def /a a1 n_U div def /b b1 n_U div def /c c1 n_U div def /d d1 n_U div def /u a x mul b y mul add c z mul add d add def x 2 a mul u mul sub y 2 b mul u mul sub z 2 c mul u mul sub end } def % %% syntaxe : solid solidfacesreverse -> - /solidfacesreverse { 5 dict begin /solid exch def /n solid solidnombrefaces def 0 1 n 1 sub { /i exch def /F solid i solidgetface reverse def /m F length def solid i [F aload pop m 0 roll ] solidputface } for end } def % /JaunePale {1 1 0.7 setrgbcolor} def /VertPale {0.7 1 0.7 setrgbcolor} def }% \codejps{ /fcol [6 (orange) 7 (orange) 8 (orange) 15 (orange) 16 (orange) 17 (orange)] def % 9 (Magenta) 11 (Magenta) 13 (Magenta)] def /Macle {2 3 macle-bresil {0 0 \i\space rotateOpoint3d} solidtransform {0 3 0 translatepoint3d} solidtransform } def /Macle2 {Macle {[0 1 0 0] symplan3d} solidtransform } def /SymMacle Macle2 dup solidfacesreverse def %args eq2plan %dup {[-6 6 -6 6]} exec planputrange %dup {[1. 1.]} exec planputngrid %newplan %dup videsolid %dup (0.9 0.9 1 setrgbcolor) solidputcolors %dup (0.9 0.9 1 setrgbcolor) inputcolors %drawsolid .8 setfillopacity SymMacle dup videsolid dup (JaunePale) solidputcolors dup 0 1 fcol length 2 idiv 1 sub { /i exch def dup fcol 2 i mul get fcol 2 i mul 1 add get solidputfcolor } for drawsolid** 0.8 setfillopacity Macle dup videsolid dup (JaunePale) solidputcolors dup 0 1 fcol length 2 idiv 1 sub { /i exch def dup fcol 2 i mul get fcol 2 i mul 1 add get solidputfcolor } for drawsolid** }} \rput(-4.5,-7){\Huge D} \rput(4.5,-7){\Huge G} \psSolid[object=grille,RotX=90,base=-6 6 -6 6,ngrid=12. 12.,fillcolor=cyan!50,hollow,incolor=cyan!50] \psSolid[object=vecteur,args=0 0 16,linecolor=red](0,0,-8) \psSolid[object=vecteur,args=16 0 0,linecolor=red](-8,0,0) \end{pspicture} \end{center} \newpage} \end{document} Il s'agit de la représentation de deux formes énantiomères de quartz appelé ``macle du Brésil''. Ces deux cristaux sont images l'un de l'autre par rapport à un miroir plan, ils ne sont superposables ni par translation ni par rotation. Pour leurs propriétés, plus de renseignements sur : \url{http://www.futura-sciences.com/fr/comprendre/dossiers/doc/t/geologie/d/au-coeur-de-la-silice-du-silex-au-wafer_567/c3/221/p2/} Ces dessins ont été obtenus avec pst-solides3d en utilisant deux nouvelles fonctions : - symétrique d'un objet par rapport à un plan ; - inversion de l'ordre de la liste des sommets d'une face.