\documentclass[a4paper]{article} \usepackage{pst-solides3d} \pagestyle{empty} \begin{document} %@AUTEUR: Juergen Gilg %@DATE: 23 février 2008 \psset{lightsrc=7 7 8,SphericalCoor=true,viewpoint=50 20 20,Decran=50} \begin{pspicture}(-8,-8)(8,8) \psset{unit=2} \codejps{ /Gray1 {0.1 setgray} def /Gray2 {0.2 setgray} def /Gray3 {0.3 setgray} def /Gray4 {0.4 setgray} def /Gray5 {0.5 setgray} def /Gray6 {0.6 setgray} def /Gray7 {0.7 setgray} def /Gray8 {0.8 setgray} def /Gray9 {0.9 setgray} def /a 1 def /b 1 def % /g { 3 dict begin /t exch def t Cos 2 t mul Cos 2 mul add %#rpn# Cos(t) + 2*Cos(2*t) t Sin 2 t mul Sin 2 mul sub %#rpn# Sin(t) - 2*Sin(2*t) 3 t mul Sin 2 mul %#rpn# 2*Sin(3*t) end } def % /g' { 3 dict begin /t exch def t Sin neg 2 t mul Sin 4 mul sub %#rpn# -Sin(t) - 4*Sin(2*t) t Cos 2 t mul Cos 4 mul sub %#rpn# Cos(t) - 4*Cos(2*t) 3 t mul Cos 6 mul %#rpn# 6*Cos(3*t) end } def % /g'' { 3 dict begin /t exch def t Cos neg 2 t mul Cos 8 mul sub %#rpn# -Cos(t) - 8*Cos(2*t) t Sin neg 2 t mul Sin 8 mul add %#rpn# -Sin(t) + 8*Sin(2*t) 3 t mul Sin 18 mul neg %#rpn# -18*Sin(3*t) end } def % .01 setlinewidth /aretescachees false def GetCamPos setlightsrc % {2 pi mul neg 0 (g) .35 [360 36] newtube} exec dup (Gray7) outputcolors drawsolid** } \end{pspicture} \end{document}