% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% %% Author: Manuel Luque %% Herbert Voß %% % les macros de Jean-Paul %% syntaxe : array isobarycentre3d --> G /isobarycentre3d { 2 dict begin /table exch def /n table length 3 idiv def table 0 getp3d 1 1 n 1 sub { table exch getp3d addv3d } for 1 n div mulv3d end } def %%%%% ### get3d ### /getp3d { %% [tableau de points 3d] i --> donne le ieme point du tableau 2 copy 2 copy 3 mul get 5 1 roll 3 mul 1 add get 3 1 roll 3 mul 2 add get } def %%%%% ### addv3d ### %% addition de deux vecteurs 3d /addv3d { %% x1 y1 z1 x2 y2 z2 6 dict begin /zp exch def /yp exch def /xp exch def /z exch def /y exch def /x exch def x xp add y yp add z zp add end } def %%%%% ### mulv3d ### %% (scalaire)*(vecteur 3d) Attention : dans l autre sens ! /mulv3d { %% x y z lambda 4 dict begin /lambda exch def /z exch def /y exch def /x exch def x lambda mul y lambda mul z lambda mul end } def