diff options
author | Karl Berry <karl@freefriends.org> | 2014-02-18 22:50:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-02-18 22:50:16 +0000 |
commit | 08d2b2d2d99819f17efdf5fea76b3f485c5a6ce1 (patch) | |
tree | 19d6cf77d57f92809adde775ffb7f65973041834 /Master/texmf-dist/dvips | |
parent | 1bf884494029484b848f0d3a04324cab50b93b28 (diff) |
pst-mirror (18feb14)
git-svn-id: svn://tug.org/texlive/trunk@32997 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r-- | Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro | 137 |
1 files changed, 114 insertions, 23 deletions
diff --git a/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro b/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro index ec382555756..7b0155df77d 100644 --- a/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro +++ b/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro @@ -1,4 +1,4 @@ -%% $Id: pst-mirror.pro 169 2009-12-08 17:55:59Z herbert $ +%% $Id: pst-mirror.pro 894 2014-02-18 09:46:21Z herbert $ %% %% This is file `pst-mirror.pro', %% @@ -16,7 +16,98 @@ %% DESCRIPTION: %% `pst-mirror' is a PSTricks package to view objects ob a spherical sphere %% -%% version 1.0 2009-09-12 +%% version 1.1 2014-02-17 +% +%% === ajouté le 28 octobre 2011 ----------------------------------------------- +%% === adapté de Jean-Michel Sarlat dans pst-anamorphosis ---------------------- +/tx@Sphere3DImageDict 100 dict def +tx@Sphere3DImageDict begin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% === Capture de commandes de systemdict -------------------------------------- +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/LINETO { systemdict /lineto get exec } def +/MOVETO { systemdict /moveto get exec } def +/CURVETO { systemdict /curveto get exec } def +/CLOSEPATH { systemdict /closepath get exec } def +/RLINETO { systemdict /rlineto get exec } def +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% === Transformation des commandes de construction des path(s) ---------------- +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% 12/10/2011 : version incompléte et un peu brute ! +/moveto { + /s@y ED /s@x ED /c@x s@x def /c@y s@y def +/Xpoint s@x unit_image reduction mul def +/Ypoint s@y unit_image reduction mul def + 2dto3d + /Zpoint exch def + /Ypoint exch def + /Xpoint exch def + CalculsPointsApresTransformations + 3dto2d + MOVETO +} bind def +/lineto { + /c@yt ED /c@xt ED /dx c@xt c@x sub 50 div def /dy c@yt c@y sub 50 div def + 1 1 50 {dup dx mul c@x add exch dy mul c@y add +/Ypoint exch unit_image reduction mul def +/Xpoint exch unit_image reduction mul def + 2dto3d + /Zpoint exch def + /Ypoint exch def + /Xpoint exch def + CalculsPointsApresTransformations + 3dto2d + LINETO} for + /c@x c@xt def /c@y c@yt def +} bind def +/closepath { + s@x s@y lineto CLOSEPATH +} bind def +/curveto { + /c@yt ED /c@xt ED + /c@yb ED /c@xb ED + /c@ya ED /c@xa ED + 1 1 20 { + 20 div /s ED 1 s sub /t ED + t c@x mul 3 s c@xa mul mul add t mul 3 s s c@xb mul mul mul add t mul s 3 exp c@xt mul add + t c@y mul 3 s c@ya mul mul add t mul 3 s s c@yb mul mul mul add t mul s 3 exp c@yt mul add +/Ypoint exch unit_image reduction mul def +/Xpoint exch unit_image reduction mul def + 2dto3d + /Zpoint exch def + /Ypoint exch def + /Xpoint exch def + CalculsPointsApresTransformations + 3dto2d + LINETO + } for + /c@x c@xt def /c@y c@yt def +} bind def +/curvetoinv { + /c@ya ED /c@xa ED + /c@yb ED /c@xb ED + /c@yt ED /c@xt ED + 1 1 20 { + 20 div /s ED 1 s sub /t ED + t c@x mul 3 s c@xa mul mul add t mul 3 s s c@xb mul mul mul add t mul s 3 exp c@xt mul add + t c@y mul 3 s c@ya mul mul add t mul 3 s s c@yb mul mul mul add t mul s 3 exp c@yt mul add +/Ypoint exch unit_image reduction mul def +/Xpoint exch unit_image reduction mul def + 2dto3d + /Zpoint exch def + /Ypoint exch def + /Xpoint exch def + CalculsPointsApresTransformations + 3dto2d + LINETO + } for + /c@x c@xt def /c@y c@yt def +} bind def +/rlineto { + c@y add exch c@x add exch lineto +} bind def +end +% % /tx@Sphere3DDict 100 dict def tx@Sphere3DDict begin @@ -123,13 +214,13 @@ end /XH M11 A mul M12 B mul sub M13 C mul sub CX add def /YH M21 A mul M22 B mul sub M23 C mul sub CY add def /ZH M31 A mul M32 B mul sub M33 C mul sub CZ add def -% Centres des faces : condition de visibilité +% Centres des faces : condition de visibilité % FACE 1 % OC1 /XC1 M13 C mul CX add def /YC1 M23 C mul CY add def /ZC1 M33 C mul CZ add def -% Normale à la face 1 +% Normale à la face 1 /NX1 M13 C mul def /NY1 M23 C mul def /NZ1 M33 C mul def @@ -141,7 +232,7 @@ end /XC2 M11 A mul CX add def /YC2 M21 A mul CY add def /ZC2 M31 A mul CZ add def -% normale à la face 2 +% normale à la face 2 /NX2 M11 A mul def /NY2 M21 A mul def /NZ2 M31 A mul def @@ -153,7 +244,7 @@ end /XC3 M13 C neg mul CX add def /YC3 M23 C neg mul CY add def /ZC3 M33 C neg mul CZ add def -% normale à la face 3 +% normale a la face 3 /NX3 M13 C neg mul def /NY3 M23 C neg mul def /NZ3 M33 C neg mul def @@ -165,7 +256,7 @@ end /XC4 M11 A neg mul CX add def /YC4 M21 A neg mul CY add def /ZC4 M31 A neg mul CZ add def -% normale à la face 4 +% normale a la face 4 /NX4 M11 A neg mul def /NY4 M21 A neg mul def /NZ4 M31 A neg mul def @@ -177,7 +268,7 @@ end /XC5 M12 B neg mul CX add def /YC5 M22 B neg mul CY add def /ZC5 M32 B neg mul CZ add def -% normale à la face 5 +% normale a la face 5 /NX5 M12 B neg mul def /NY5 M22 B neg mul def /NZ5 M32 B neg mul def @@ -189,7 +280,7 @@ end /XC6 M12 B mul CX add def /YC6 M22 B mul CY add def /ZC6 M32 B mul CZ add def -% normale à la face 6 +% normale a la face 6 /NX6 M12 B mul def /NY6 M22 B mul def /NZ6 M32 B mul def @@ -689,7 +780,7 @@ fill /xD 0 def /yD 0 def /zD RayonBaseTetraedre 1.414 mul def -% coordonnées centre des faces +% coordonnées centre des faces /xFaceA xA xB xC add add 3 div def /yFaceA yA yB yC add add 3 div def /zFaceA zA zB zC add add 3 div def @@ -702,7 +793,7 @@ fill /xFaceD xD xB xC add add 3 div def /yFaceD yD yB yC add add 3 div def /zFaceD zD zB zC add add 3 div def -% sommets après rotation et translation +% sommets après rotation et translation /XA M11 xA mul M12 yA mul add M13 zA mul add CX add def /YA M21 xA mul M22 yA mul add M23 zA mul add CY add def /ZA M31 xA mul M32 yA mul add M33 zA mul add CZ add def @@ -741,7 +832,7 @@ fill /NxD XFaceD XA sub def /NyD YFaceD YA sub def /NzD ZFaceD ZA sub def -% Conditions de visibilité +% Conditions de visibilité /PSA XFaceA NxA mul YFaceA NyA mul add ZFaceA NzA mul add def /PSB XFaceB NxB mul YFaceB NyB mul add ZFaceB NzB mul add def /PSC XFaceC NxC mul YFaceC NyC mul add ZFaceC NzC mul add def @@ -905,7 +996,7 @@ def /xS 0 def /yS 0 def /zS Hpyramide def -% coordonnées centre des faces +% coordonnées centre des faces /Alpha A Hpyramide atan def /xFaceSAB Hpyramide Alpha dup sin exch cos mul mul def /yFaceSAB 0 def @@ -919,7 +1010,7 @@ def /xFaceSDA 0 def /yFaceSDA xFaceSAB neg def /zFaceSDA zFaceSAB def -% sommets après rotation et translation +% sommets après rotation et translation /XA M11 xA mul M12 yA mul add M13 zA mul add CX add def /YA M21 xA mul M22 yA mul add M23 zA mul add CY add def /ZA M31 xA mul M32 yA mul add M33 zA mul add CZ add def @@ -935,7 +1026,7 @@ def /XS M11 xS mul M12 yS mul add M13 zS mul add CX add def /YS M21 xS mul M22 yS mul add M23 zS mul add CY add def /ZS M31 xS mul M32 yS mul add M33 zS mul add CZ add def -% centres de faces après transformations +% centres de faces après transformations /XFaceSAB M11 xFaceSAB mul M12 yFaceSAB mul add M13 zFaceSAB mul add CX add def /YFaceSAB M21 xFaceSAB mul M22 yFaceSAB mul add M23 zFaceSAB mul add CY add def /ZFaceSAB M31 xFaceSAB mul M32 yFaceSAB mul add M33 zFaceSAB mul add CZ add def @@ -964,7 +1055,7 @@ def /NxABCD CX XS sub def /NyABCD CY YS sub def /NzABCD CZ ZS sub def -% Conditions de visibilité +% Conditions de visibilité /PSAB XFaceSAB NxSAB mul YFaceSAB NySAB mul add ZFaceSAB NzSAB mul add def /PSBC XFaceSBC NxSBC mul YFaceSBC NySBC mul add ZFaceSBC NzSBC mul add def /PSCD XFaceSCD NxSCD mul YFaceSCD NySCD mul add ZFaceSCD NzSCD mul add def @@ -1007,9 +1098,9 @@ def % % /tx@WARP{ -%% D'après un fichier original de +%% D'après un fichier original de %%(c) P. Kleiweg 1997 -%% adapté par : +%% adapté par : %% Manuel Luque %% Arnaud Schmittbuhl %% Jean-Paul Vignault @@ -1055,9 +1146,9 @@ warpit } def /tx@TransformPlan{ % le calcul des coefficients -%% pour passer des coordonnées du plan aux coordonnées -%% (x,y,z) du repère absolu -%% les coordonnées sphériques du vecteur normal +%% pour passer des coordonnées du plan aux coordonnées +%% (x,y,z) du repère absolu +%% les coordonnées sphériques du vecteur normal %% au plan %% l'origine du plan /zO' exch def @@ -1070,7 +1161,7 @@ warpit /C22 {K_phi sin K_theta sin mul neg } bind def /C31 {K_phi cos} bind def /2dto3d { -%% coordonnées dans le repère absolu +%% coordonnées dans le repère absolu 3 dict begin C11 Xpoint mul C12 Ypoint mul add xO' add % x C21 Xpoint mul C22 Ypoint mul add yO' add % y @@ -1078,4 +1169,4 @@ warpit end } def } def % -end +end
\ No newline at end of file |