%% syntaxe : x y z newvecteur
%% syntaxe : x y z array newvecteur
/newvecteur {
4 dict begin
dup isarray {
/table exch def
/h@uteur table 1 get def
/r@y@n table 0 get def
} {
/h@uteur .3 def
/r@y@n .1 def
} ifelse
/A defpoint3d
%%Sommets
/S [0 0 0 A] def
/F [
[0 1]
] def
S F generesolid
[ A ]
normalvect_to_orthobase
/imK defpoint3d
/imJ defpoint3d
/imI defpoint3d
A norme3d /z exch h@uteur sub def
0 r@y@n h@uteur [1 8] newcone
dup (noir) outputcolors
{0 0 z translatepoint3d} solidtransform
{imI imJ imK transformpoint3d} solidtransform
solidfuz
end
} def
|