%% d'apres les donnees de %% http://www.mathcurve.com/courbes3d/noeuds/noeuddetrefle.shtml -1 1 setxrange -1 1 setyrange 200 setxunit 0.01 0 50 SetCamPos 0 0 0 SetCamView /ScreenDist .05 def -10 10 setxrange3d -3 3 setyrange3d 2 setlinejoin /m 12 def %% ex R /r 8 def /n 3 1 div def /g { 3 dict begin settvar #rpn# (4+Cos(3*t))*Cos(2*t) #rpn# (4+Cos(3*t))*Sin(2*t) #rpn# Sin(3*t) end } def /g' { 3 dict begin settvar #rpn# -3*Sin(3*t)*Cos(2*t) - 2*(4+Cos(3*t))*Sin(2*t) #rpn# -3*Sin(3*t)*Sin(2*t) + 2*(4+Cos(3*t))*Cos(2*t) #rpn# 3*Cos(3*t) end } def /g'' { 3 dict begin settvar #rpn# -9*Cos(3*t)*Cos(2*t) + 6*Sin(3*t)*Sin(2*t) + 6*Sin(3*t)*Sin(2*t) - 4*(4+Cos(3*t))*Cos(2*t) #rpn# -9*Cos(3*t)*Sin(2*t) -6*Sin(3*t)*Cos(2*t) - 6*Sin(3*t)*Cos(2*t) - 4*(4+Cos(3*t))*Sin(2*t) #rpn# -9*Sin(3*t) end } def %rouge 0 pi 2 mul {g} CourbeR3 %stop .1 setlinewidth /aretescachees false def GetCamPos setlightsrc %solidgridOff 0 2 pi mul (g) .5 [102 8] newtube %dup (rouge) outputcolors dup [.5 .6] solidputhuecolors dup videsolid drawsolid**