Fichier tw2.jps — Modifié le 30 Avril 2008 à 15 h 26

tw2.pdf
Source
%@AUTEUR: Jean-Paul Vignault et Thierry Wibrecht
%% Sujet d'un post sur la liste syracuse - avril 2008

-7 8 setxrange
-7 8 setyrange

50 setxunit
/ScreenDist .3 def
2 setlinejoin

20 20 10 SetCamPos
0 0 0 SetCamView

%\defFunction{cone}(u,v){u v Cos mul}{u v Sin mul}{u}
/F {
3 dict begin
   /v exch def
   /u exch def
   u v Cos mul
   u v Sin mul
   u
end
} def

/fu3 {
1 dict begin
   /t exch def
   t 1 t 
end
} def

/fu4 {
1 dict begin
   /t exch def
   t 1 t neg 
end
} def

/fu {
1 dict begin
   /t exch def
   t 1
#rpn# sqrt(t^2+1.21)-.05
end
} def

/fu2 {
1 dict begin
   /t exch def
   t 1
#rpn# -sqrt(t^2+1.21)+.05
end
} def

[0 1 0 -1] eq2plan
dup [-3 3 -3 3] planputrange
dup [.5 dup] planputngrid
newplan
dup (.5 setfillopacity cyan) solidputcolors
/Plan1 exch def

-2.5 2.5 0 2 pi mul [21 20] {F} newsurfaceparametree
[0 1 0 -1] solideqplansepare
/Cone2 exch def
/Cone1 exch def

Cone2
dup (.7 setfillopacity jaune) solidputcolors
dup videsolid
drawsolid**

gris
Plan1 drawsolid*

gsave
rouge
5 setlinewidth
-2.5 2.5 {fu} CourbeR3
-2.5 2.5 {fu2} CourbeR3
3 setlinewidth
bleu
-2.5 2.5 {fu3} CourbeR3
-2.5 2.5 {fu4} CourbeR3
grestore

noir
Cone1
dup (.7 setfillopacity jaune) solidputcolors
dup videsolid
drawsolid**