%% d'apres les donnees de %% http://www.mathcurve.com/courbes3d/noeuds/noeudenhuit.shtml -7 6 setxrange -5 5 setyrange 50 setxunit 10 10 6 SetCamPos 0 0 0 SetCamView -10 10 setxrange3d -3 3 setyrange3d 2 setlinejoin rouge /g { 3 dict begin settvar #rpn# 3*Cos(t)+5*Cos(3*t) #rpn# 3*Sin(t)+5*Sin(3*t) #rpn# Sin(5*t/2)*Sin(3*t) + Sin(4*t) -Sin(6*t) end } def /g' { 3 dict begin settvar #rpn# -3*Sin(t)-15*Sin(3*t) #rpn# 3*Cos(t)+15*Cos(3*t) #rpn# 2.5*Cos(5*t/2)*Sin(3*t) + 3*Sin(5*t/2)*Cos(3*t) + 4*Cos(4*t) -6*Cos(6*t) end } def /g'' { 3 dict begin settvar #rpn# -3*Cos(t)-45*Cos(3*t) #rpn# -3*Sin(t)-45*Sin(3*t) #rpn# -(2.5)^2*Sin(5*t/2)*Sin(3*t) + 7.5*Cos(5*t/2)*Cos(3*t) + 7.5*Cos(5*t/2)*Cos(3*t) - 9*Sin(5*t/2)*Sin(3*t) - 16*Sin(4*t) +36*Sin(6*t) end } def % 0 pi 2 mul {g} CourbeR3 % stop .1 setlinewidth %/aretescachees false def GetCamPos setlightsrc %solidgridOff 0 pi 2 mul (g) .2 [400 5] newtube dup [0 .3] solidputhuecolors drawsolid**