aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/llgcode/ps/samples/3dcolor.ps
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/llgcode/ps/samples/3dcolor.ps')
-rw-r--r--vendor/github.com/llgcode/ps/samples/3dcolor.ps57
1 files changed, 57 insertions, 0 deletions
diff --git a/vendor/github.com/llgcode/ps/samples/3dcolor.ps b/vendor/github.com/llgcode/ps/samples/3dcolor.ps
new file mode 100644
index 0000000..1b31d08
--- /dev/null
+++ b/vendor/github.com/llgcode/ps/samples/3dcolor.ps
@@ -0,0 +1,57 @@
+%!PS
+/B {bind} bind def
+/D {def} def
+/Q {bind def} B D
+/E {exch def} Q
+/S {gsave} Q
+/R {grestore} Q
+/P 20 D
+/N P 1 sub D
+/I 1 P div D
+initclip clippath pathbbox newpath
+72 sub /URy E 72 sub /URx E 72 add /LLy E 72 add /LLx E
+/Sq5 5 sqrt D
+/F 2 Sq5 add D
+/Wx URx LLx sub D /Wy URy LLy sub D
+/Xx Wx 4 div D /Xy Wy F div D /X Xx Xy le {Xx}{Xy}ifelse D
+Wx X 4 mul sub 2 div LLx add X 2 mul add Wy X F mul sub 2 div LLy add translate
+/X X Sq5 mul D
+X dup scale
+0.1 X div setlinewidth
+S
+[ 1 .5 0 1 0 0 ] concat
+0 1 N {I mul /A E
+ 0 1 N {I mul /B E
+ S A B translate
+ newpath 0 0 moveto I 0 rlineto 0 I rlineto I neg 0 rlineto
+ closepath
+ S I B add 1 1 A sub setrgbcolor fill R stroke % Green
+ R
+ } for
+ } for
+R
+S
+[ -1 .5 0 1 0 0 ] concat
+0 1 N {I mul /A E
+ 0 1 N {I mul /B E
+ S A B translate
+ newpath 0 0 moveto I 0 rlineto 0 I rlineto I neg 0 rlineto
+ closepath
+ S I B add 1 A sub 1 setrgbcolor fill R stroke % Blue
+ R
+ } for
+ } for
+R
+S
+[ 1 .5 -1 0.5 0 1 ] concat
+0 1 N {I mul /A E
+ 0 1 N {I mul /B E
+ S A B translate
+ newpath 0 0 moveto I 0 rlineto 0 I rlineto I neg 0 rlineto
+ closepath
+ S 1 1 B sub 1 A sub setrgbcolor fill R stroke % Red
+ R
+ } for
+ } for
+R
+showpage