Source
-2 2 setxrange
-1.5 1.5 setyrange
50 setxunit

8 -8 6 SetCamPos
0 0 0 SetCamView
qplanxy
-10 10 setxrange3d
-3 3 setyrange3d
2 setlinejoin
rouge
/f {
3 dict begin
   setxvar
   x Cos
   x Sin
   x 16 div
end
} def

/f' {
3 dict begin
   setxvar
   x Sin neg
   x Cos
   1 16 div
end
} def

/f'' {
3 dict begin
   setxvar
   x Cos neg
   x Sin neg
   0
end
} def

%% k1 newvecteur
%% {M translatepoint3d} solidtransform
%% drawsolid*
%% 
%% rouge
%% k2 newvecteur
%% {M translatepoint3d} solidtransform
%% drawsolid*
%% 
%% bleu
%% k3 newvecteur
%% {M translatepoint3d} solidtransform
%% drawsolid*

6 setfontsize
setTimes
0 pi 3 mul {f} CourbeR3

.3 setlinewidth
/aretescachees false def
noir


/dotscale {.5 dup} def

GetCamPos setlightsrc
solidgridOff
0 6 pi mul (f) .1 [150 12] newtube
%dup solidshowsommets
dup (orange) outputcolors
%dup creusesolid
%dup (.5 setgray) inputcolors
drawsolid*
%[0 1 16 {} for] solidnumsommets