%!PS-Adobe-2.0 %%BoundingBox: 0 0 100 100 /page-begin { gsave 50 50 translate /S 32 def S dup scale 1 S div setlinewidth 1 setlinecap 1 setlinejoin } def /page-end { grestore showpage } def (../../ps/ps3d.inc) run (polyhedron.inc) run /R 2 3 div 2 sqrt mul def /tetrahedron-vertex [ [0 0 1] [1 0 -1 3 div ] [120 cos R mul 120 sin R mul -1 3 div ] [240 cos R mul 240 sin R mul -1 3 div ] ] def /tetrahedron [ [ [ tetrahedron-vertex 0 get tetrahedron-vertex 1 get tetrahedron-vertex 3 get ] dup normal-function ] [ [ tetrahedron-vertex 0 get tetrahedron-vertex 2 get tetrahedron-vertex 1 get ] dup normal-function ] [ [ tetrahedron-vertex 0 get tetrahedron-vertex 3 get tetrahedron-vertex 2 get ] dup normal-function ] [ [ tetrahedron-vertex 1 get tetrahedron-vertex 2 get tetrahedron-vertex 3 get ] dup normal-function ] ] def % --------------------------------------------- [0 0 10 1 ] set-eye /light [ -0.25 1 0.25 0 ] normalized def /shading [ 0.4 0.5 1 1 ] def [1 1 0 ] 45 rotate3d { page-begin /E get-eye cim3d transform3d def /L light cim3d transform3d def tetrahedron polyhedron-draw page-end [0 1 0] 10 rotate3d } loop