Retour

tetrahedral_object.tex

Télécharger le fichier
\makeatletter
\pstheader{tetrahedron.pro}
\define@key[psset]{pst-V3D}{radius}{\def\psk@IIID@R{#1}}  % rayon de la sphère circonscrite
\define@key[psset]{pst-V3D}{d}{\def\psk@IIID@d{#1}}       % portion d'arête
\define@key[psset]{pst-V3D}{colorface}{\def\psk@IIID@colorface{#1}} % couleurs des pentagones
\define@key[psset]{pst-V3D}{colorfacette}{\def\psk@IIID@colorfacette{#1}} % couleurs des hexagones
\psset[pst-V3D]{d=3,radius=3,%
    colorface= 1 1 0.5 ,
    colorfacette= 0.5 1 1 }
\def\psTetrahedron{\pst@object{psTetrahedron}}
\def\psTetrahedron@i(#1,#2,#3){{%
  \begin@ClosedObj
    \use@par
    \addto@pscode{%
    1 setlinejoin
    \tx@parametresIIID
    /radius \psk@IIID@R\space def
    /d \psk@IIID@d\space def
    /colorface {\psk@IIID@colorface} def
    /colorfacette {\psk@IIID@colorfacette} def
    /CX #1 def
    /CY #2 def
    /CZ #3 def
/c2 {RotY cos} bind def
/s2 {RotY sin} bind def
/c3 {RotZ cos} bind def
/s3 {RotZ sin} bind def
/c1 {RotX cos} bind def
/s1 {RotX sin} bind def
%% les coefficients de la matrice de transformation
%% de l'objet
/M11 {c2 c3 mul} bind def
/M12 {c3 s1 mul s2 mul c1 s3 mul sub} bind def
/M13 {c1 c3 mul s2 mul s1 s3 mul add} bind def
/M21 {c2 s3 mul} bind def
/M22 {s1 s2 mul s3 mul c1 c3 mul add} bind def
/M23 {s3 s2 mul c1 mul c3 s1 mul sub} bind def
/M31 {s2 neg} bind def
/M32 {s1 c2 mul} bind def
/M33 {c1 c2 mul} bind def
%%
/PointsApresTransformations{%
3 dict begin
  M11 Xpoint mul M12 Ypoint mul add M13 Zpoint mul add CX add
  M21 Xpoint mul M22 Ypoint mul add M23 Zpoint mul add CY add
  M31 Xpoint mul M32 Ypoint mul add M33 Zpoint mul add CZ add
end
  } def
tetrahedron }% fin du code ps
    \end@ClosedObj%
}}
\makeatother