Retour

animation_macle_bresil.tex

Télécharger le fichier Fichier PDF
\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.