{VERSION 1 0 "X11/Motif" "1.0"}{GLOBALS 3 1}{FONT 0 "-adobe-helve
tica-bold-r-normal--*-180-*-*-*-*-*-*" "helvetica" "Helvetica-Bol
d" 8 18 0 "Helvetica-Bold" 18}{FONT 1 "-adobe-new century schoolb
ook-bold-i-normal--*-180-*-*-*-*-*-*" "new century schoolbook" "T
imes-BoldItalic" 8 18 96 "Times-BoldItalic" 18}{FONT 2 "-adobe-he
lvetica-bold-r-normal--*-140-*-*-*-*-*-*" "helvetica" "Helvetica-
Bold" 8 14 0 "Helvetica-Bold" 14}{FONT 3 "-adobe-helvetica-bold-r
-normal--*-240-*-*-*-*-*-*" "helvetica" "Helvetica-Bold" 8 24 0 "
Helvetica-Bold" 24}{FONT 4 "-adobe-helvetica-bold-r-normal--*-240
-*-*-*-*-*-*" "helvetica" "Helvetica-Bold" 8 24 0 "Helvetica-Bold
" 24}{FONT 5 "-adobe-helvetica-bold-r-normal--*-240-*-*-*-*-*-*" 
"helvetica" "Helvetica-Bold" 8 24 0 "Helvetica-BoldOblique" 24}
{FONT 6 "-adobe-helvetica-bold-r-normal--*-240-*-*-*-*-*-*" "helv
etica" "Helvetica-Bold" 8 24 0 "Helvetica-Bold" 24}{FONT 7 "-adob
e-helvetica-bold-r-normal--*-140-*" "helvetica" "Helvetica-Bold" 
8 14 0 "Helvetica-Bold" 14}{SCP_R 1 0 159{COM_R 2 0{TEXT 1 415 "M
APLE WORKSHEET #4: Pyramids, Prisms, Antiprisms and the Icosahedr
on.\012All Maple graphics  created in this worksheet come up when
 the commands are executed; to run `gvplot' and `writeoogl', a co
nnection\015between Maple and Geomview has to be established. At \+
Rutgers-Camden,\015this is done by executing the command :\015rea
d(`/carp/u1/cvisual/gvplot.mapleV3`);\012the Geomview files can b
e viewed only in designated accounts.  "}}{SEP_R 3 0}{INP_R 4 0 "
> "{TEXT 0 12 "with(plots):"}}{SEP_R 5 0}{INP_R 6 0 "> "{TEXT 0 
40 "read(`/carp/u1/cvisual/gvplot.mapleV3`);"}}{OUT_R 7 0 6{DAG [
2,3n5\`writeoogl`n4\`gvplot`}}{SEP_R 8 0}{INP_R 9 0 "> "{TEXT 0 
94 "Rz := theta->array(\012[ [cos(theta), -sin(theta),0], [sin(th
eta), cos(theta), 0], [0, 0, 1] ] ):"}}{SEP_R 10 0}{INP_R 11 0 ">
 "{TEXT 0 10 "Rz(theta);"}}{OUT_R 12 0 11{DAG (3n4\`MATRIX`,2[2,4
[2,4(3n3\`cos`,2n4\`theta`+3(3n3\`sin`pCi2x0001j2x0000[2,4p11p9p1
7[2,4p17p17j2x0001}}{SEP_R 13 0}{INP_R 14 0 "> "{TEXT 0 12 "whatt
ype(\");"}}{OUT_R 15 0 14{DAG n4@8,1p2,2n4\`builtin`p2j2x0060p2p2
`array`}}{SEP_R 16 0}{INP_R 17 0 "> "{TEXT 0 29 "whattype( conver
t(\", list) );"}}{OUT_R 18 0 17{DAG n4\`list`}}{SEP_R 19 0}{COM_R
 20 0{TEXT 1 44 "Triangle in space with given vertex-vectors:"}}
{SEP_R 21 0}{INP_R 22 0 "> "{TEXT 0 89 "tri := (x1,x2,x3)->polygo
nplot3d(\012map( (x->convert(x,list)), [x1,x2,x3] ),\012thickness
=2 ):"}}{SEP_R 23 0}{COM_R 24 0{TEXT 1 54 "A colored triangle in \+
space with given vertex-vectors:"}}{SEP_R 25 0}{INP_R 26 0 "> "
{TEXT 0 141 "coltri := (x1,x2,x3,c1,c2,c3)->polygonplot3d(\012map
( (x->convert(x, list)), [x1,x2,x3]),\012style=patch, thickness=2
, color=COLOR(RGB,c1,c2,c3) ):"}}{SEP_R 27 0}{COM_R 28 0{TEXT 1 
68 "We now build a pentagonal pyramid with equilateral triangular
 faces:"}}{SEP_R 29 0}{INP_R 30 0 "> "{TEXT 0 168 "h := sqrt(1-(1
/(2*sin(Pi/5))^2)):\012sides1 := display3d(\012\{ seq( tri(\012ev
alm(Rz(2*Pi/5)^(k)&*[1,0,0]), evalm(Rz(2*Pi/5)^(k+1)&*[1,0,0]), [
0,0,h],\0120.5, 1, 0.8), k=1..5) \} ):"}}{SEP_R 31 0}{INP_R 32 0 
"> "{TEXT 0 73 "display3d(sides1,\012style=patch, scaling=constra
ined, orientation=[61,43]);"}}{SEP_R 33 0}{INP_R 34 0 "> "{TEXT 0
 15 "gvplot(sides1);"}}{SEP_R 35 0}{INP_R 36 0 "> "{TEXT 0 71 "ba
se:=polygonplot3d(\012[ seq(evalm(Rz(2*Pi/5)^(k)&*[1,0,0]), k=1..
5) ] ):"}}{SEP_R 37 0}{INP_R 38 0 "> "{TEXT 0 136 "display3d(\{si
des1,base\},\012style=patch, scaling=constrained, orientation=[61
,43],\012titlefont=[TIMES,ROMAN,22], title=`Pentagonal Pyramid`);
"}}{SEP_R 39 0}{INP_R 40 0 "> "{TEXT 0 136 "sides2 := display3d(\
012\{ seq( tri( \012evalm(Rz(2*Pi/5)^(k)&*[1,0,0]), evalm(Rz(2*Pi
/5)^(k+1)&*[1,0,0]), [0,0,-h],\0120.5, 1, 0.8), k=1..5) \} ):"}}
{SEP_R 41 0}{INP_R 42 0 "> "{TEXT 0 146 "display3d(\{sides1, side
s2\},\012style=patch, scaling=constrained, orientation=[57,75],\0
12titlefont=[TIMES,ROMAN,22], title=`Double Pentagonal Pyramid`);
"}}{SEP_R 43 0}{INP_R 44 0 "> "{TEXT 0 150 "display3d(\{sides1, s
ides2\},\012style=wireframe, scaling=constrained, orientation=[57
,75],\012titlefont=[TIMES,ROMAN,22], title=`Double Pentagonal Pyr
amid`);"}}{SEP_R 45 0}{INP_R 46 0 "> "{TEXT 0 35 "gvplot(display3
d(\{sides1,sides2\}));"}}{SEP_R 47 0}{INP_R 48 0 "> "{TEXT 0 87 "
bottom := polygonplot3d(\012[ seq( evalm(Rz(2*Pi/5)^(k)&*[1, 0, -
sqrt(3)/4]), k=1..5) ] ):"}}{SEP_R 49 0}{INP_R 50 0 "> "{TEXT 0 
93 "top := polygonplot3d(\012[ seq( evalm(Rz(Pi/5)&*Rz(2*Pi/5)^(k
)&*[1, 0, sqrt(3)/4]), k=1..5) ] ):"}}{SEP_R 51 0}{INP_R 52 0 "> \+
"{TEXT 0 79 "display3d(\{bottom, top\},\012style=patch, scaling=c
onstrained, orientation=[90,0]);"}}{SEP_R 53 0}{INP_R 54 0 "> "
{TEXT 0 141 "faceup := tri(\012[1, 0, -sqrt(3)/4], evalm(Rz(Pi/5)
&*[1, 0, sqrt(3)/4]),\012                              evalm(Rz(2
*Pi/5)&*[1, 0, -sqrt(3)/4]) ):"}}{SEP_R 55 0}{INP_R 56 0 "> "
{TEXT 0 88 "display3d(\{bottom, top, faceup\},\012style=patch, sc
aling=constrained, orientation=[37,75]);"}}{SEP_R 57 0}{INP_R 58 
0 "> "{TEXT 0 200 "faceups := k->tri( \012op( map( (x->evalm(Rz(2
*Pi/5)&*x)) @@ k,  \012[ [1, 0, -sqrt(3)/4], evalm(Rz(Pi/5)&*[1, \+
0, sqrt(3)/4]),\012                                evalm(Rz(2*Pi/
5)&*[1, 0, -sqrt(3)/4]) ]  \012)) ):"}}{SEP_R 59 0}{INP_R 60 0 ">
 "{TEXT 0 105 "display3d(\{bottom, top, seq(faceups(k), k=1..5)\}
,\012style=patch, scaling=constrained, orientation=[37,75]);"}}
{SEP_R 61 0}{INP_R 62 0 "> "{TEXT 0 131 "facedown := tri(\012eval
m(Rz(Pi/5)&*[1, 0, sqrt(3)/4]), evalm(Rz(2*Pi/5)&*[1, 0, -sqrt(3)
/4]),\012evalm(Rz(3*Pi/5)&*[1, 0, sqrt(3)/4]) ):"}}{SEP_R 63 0}
{INP_R 64 0 "> "{TEXT 0 98 "display3d(\{bottom, top, faceup, face
down\},\012style=patch, scaling=constrained, orientation=[37,75])
;"}}{SEP_R 65 0}{INP_R 66 0 "> "{TEXT 0 193 "facedowns := k->tri(
\012op( map( (x->evalm(Rz(2*Pi/5)&*x)) @@ k,\012[ evalm(Rz(Pi/5)&
*    [1, 0, sqrt(3)/4]),\012  evalm(Rz(2*Pi/5)&*[1, 0, -sqrt(3)/4
]),\012  evalm(Rz(3*Pi/5)&*[1, 0, sqrt(3)/4])  ] \012)) ):"}}
{SEP_R 67 0}{INP_R 68 0 "> "{TEXT 0 190 "display3d(\{bottom, top,
 seq(facedowns(k), k=1..5), seq(faceups(k), k=1..5)\},\012style=p
atch, scaling=constrained, orientation=[37,75],\012titlefont=[TIM
ES,ROMAN,22], title=`Pentagonal Antiprism`);"}}{SEP_R 69 0}{INP_R
 70 0 "> "{TEXT 0 86 "gvplot(\012display3d(\{bottom, top, seq(fac
edowns(k), k=1..5), seq(faceups(k), k=1..5)\}));"}}{SEP_R 71 0}
{INP_R 72 0 "> "{TEXT 0 172 "cap1 := display3d(\012\{ seq( tri(\0
12evalm(Rz(Pi/5)&*Rz(2*Pi/5)^(k)&*[1, 0, sqrt(3)/4]),\012evalm(Rz
(Pi/5)&*Rz(2*Pi/5)^(k+1)&*[1, 0, sqrt(3)/4]), \012[0, 0, h+sqrt(3
)/4]),\012k=1..5) \} ):"}}{SEP_R 73 0}{INP_R 74 0 "> "{TEXT 0 155
 "cap2 := display3d(\012\{ seq( tri(\012evalm(Rz(2*Pi/5)^(k)&*[1,
 0, -sqrt(3)/4]),\012evalm(Rz(2*Pi/5)^(k+1)&*[1, 0, -sqrt(3)/4]),
 \012[0, 0, -h-sqrt(3)/4]),\012k=1..5) \} ):"}}{SEP_R 75 0}{INP_R
 76 0 "> "{TEXT 0 79 "display3d(\{cap1, cap2\},\012style=patch, s
caling=constrained, orientation=[37,68]);"}}{SEP_R 77 0}{INP_R 78
 0 "> "{TEXT 0 181 "display3d(\{ seq(facedowns(k), k=1..5), seq(f
aceups(k), k=1..5), cap1, cap2\},\012style=patch, scaling=constra
ined, orientation=[37,68],\012titlefont=[TIMES,ROMAN,22], title=`
Icosahedron`);"}}{SEP_R 79 0}{INP_R 80 0 "> "{TEXT 0 176 "display
3d(\{seq(facedowns(k),k=1..5),seq(faceups(k),k=1..5),cap1,cap2\},
\012style=wireframe,scaling=constrained,orientation=[71,45],\012t
itlefont=[TIMES,ROMAN,22],title=`Icosahedron`);"}}{SEP_R 81 0}
{COM_R 82 0{TEXT 1 43 "A tetrahedron in space with given vertices
:"}}{SEP_R 83 0}{INP_R 84 0 "> "{TEXT 0 81 "tet := (x1,x2,x3,x4)-
>\{ seq( tri( op(subsop(k=NULL, [x1,x2,x3,x4])) ), k=1..4) \}:"}}
{OUT_R 85 0 84{TEXT 2 42 "Warning, `k` is implicitly declared loc
al\012"}}{SEP_R 86 0}{COM_R 87 0{TEXT 1 40 "Identity and half-tur
ns around the axes:"}}{SEP_R 88 0}{INP_R 89 0 "> "{TEXT 0 180 "H(
0) := array(1..3, 1..3, identity):\012H(1) := array([ [1,0,0], [0
,-1,0], [0,0,-1] ]):\012H(2) := array([ [-1,0,0], [0,1,0], [0,0,-
1] ]):\012H(3) := array([ [-1,0,0], [0,-1,0], [0,0,1] ]):"}}
{SEP_R 90 0}{COM_R 91 0{TEXT 1 32 "Vertices of regular tetrahedro
n:"}}{SEP_R 92 0}{INP_R 93 0 "> "{TEXT 0 27 "a:=k->evalm(H(k)&*[1
,1,1]):"}}{SEP_R 94 0}{INP_R 95 0 "> "{TEXT 0 38 "display3d( tet(
 seq(a(k), k=0..3) ) );"}}{SEP_R 96 0}{INP_R 97 0 "> "{TEXT 0 100
 "display3d(tet( seq(a(k), k=0..3)),\012style=patch, scaling=cons
trained, axes=boxed, tickmarks=[0,0,0]);"}}{SEP_R 98 0}{COM_R 99 
0{TEXT 1 35 "Line in space with given endpoints:"}}{SEP_R 100 0}
{INP_R 101 0 "> "{TEXT 0 95 "line:=(x1,x2)->polygonplot3d(\012[co
nvert(x1, list), convert(x2, list)],\012style=line, thickness=3):
"}}{SEP_R 102 0}{COM_R 103 0{TEXT 1 22 "Wireframe tetrahedron:"}}
{SEP_R 104 0}{INP_R 105 0 "> "{TEXT 0 112 "wiretet:=(x1,x2,x3,x4)
->\012\{ line(x1, x2), line(x1, x3), line(x1, x4), line(x2, x3), \+
line(x2, x4), line(x3, x4) \}:"}}{SEP_R 106 0}{INP_R 107 0 "> "
{TEXT 0 92 "display3d(wiretet( seq(a(k), k=0..3) ),\012scaling=co
nstrained, axes=boxed, tickmarks=[0,0,0]);"}}{SEP_R 108 0}{COM_R 
109 0{TEXT 1 46 "A paralleogram in space with 3 given vertices:"}
}{SEP_R 110 0}{INP_R 111 0 "> "{TEXT 0 105 "par := (x0,x1,x2)->po
lygonplot3d(\012map( (x->convert(x,list)), \012[x1,x0,x2,evalm(x1
+x2-x0)] ),\012thickness=2):"}}{SEP_R 112 0}{INP_R 113 0 "> "
{TEXT 0 133 "display3d(par([0,0,0], [1,1/2,0], [0,1/2,1]),\012sty
le=patch, scaling=constrained, axes=normal,\012tickmarks=[0,0,0],
 orientation=[18,66]);"}}{SEP_R 114 0}{INP_R 115 0 "> "{TEXT 0 43
 "gvplot(par([0,0,0], [1,1/2,0], [0,1/2,1]));"}}{SEP_R 116 0}
{INP_R 117 0 "> "{TEXT 0 74 "ptop := polygonplot3d(\012[ seq( eva
lm(Rz(2*Pi/5)^(k)&*[1,0,1]), k=1..5) ] ):"}}{SEP_R 118 0}{INP_R 
119 0 "> "{TEXT 0 78 "pbottom := polygonplot3d(\012[ seq( evalm(R
z(2*Pi/5)^(k)&*[1,0,-1]), k=1..5) ] ):"}}{SEP_R 120 0}{INP_R 121 
0 "> "{TEXT 0 61 "pside := par([1,0,-1], evalm(Rz(2*Pi/5)&*[1,0,-
1]), [1,0,1]):"}}{SEP_R 122 0}{INP_R 123 0 "> "{TEXT 0 68 "displa
y3d(\{pbottom, ptop, pside\},\012style=patch, scaling=constrained
);"}}{SEP_R 124 0}{INP_R 125 0 "> "{TEXT 0 109 "pfaces := k->par(
\012op( map( (x->evalm(Rz(2*Pi/5)&*x)) @@ k, \012[ [1,0,-1], Rz(2
*Pi/5)&*[1,0,-1], [1,0,1] ] )) ):"}}{SEP_R 126 0}{INP_R 127 0 "> \+
"{TEXT 0 139 "display3d(\{pbottom, ptop, seq(pfaces(k), k=1..5)\}
,\012style=patch, scaling=constrained,\012titlefont=[TIMES,ROMAN,
22], title=`Pentagonal Prism`);"}}{SEP_R 128 0}{INP_R 129 0 "> "
{TEXT 0 59 "gvplot(display3d(\{pbottom, ptop, seq(pfaces(k), k=1.
.5)\}));"}}{SEP_R 130 0}{COM_R 131 0{TEXT 1 48 "A parallelepiped \+
in space with 4 given vertices:"}}{SEP_R 132 0}{INP_R 133 0 "> "
{TEXT 0 210 "parpip := (x0,x1,x2,x3)->\012\{ par(x0, x1, x2), par
(x0, x2, x3), par(x0, x1, x3), \012par(x1, evalm(x1+x2-x0), evalm
(x1+x3-x0)),\012par(x2, evalm(x1+x2-x0), evalm(x2+x3-x0)),\012par
(x3, evalm(x1+x3-x0), evalm(x2+x3-x0)) \}:"}}{SEP_R 134 0}{INP_R 
135 0 "> "{TEXT 0 142 "display3d(parpip([0,0,0],[1,0,0],[1/2,1/2,
1],[0,1,0]),\012style=patch, scaling=constrained, \012axes=boxed,
 tickmarks=[0,0,0], orientation=[70,69]);"}}{SEP_R 136 0}{INP_R 
137 0 "> "{TEXT 0 63 "gvplot(display3d(parpip([0,0,0],[1,0,0],[1/
2,1/2,1],[0,1,0])));"}}{SEP_R 138 0}{INP_R 139 0 "> "{TEXT 0 144 
"colpar := (x0,x1,x2,c1,c2,c3)->polygonplot3d(\012map( (x->conver
t(x,list)), \012[x1,x0,x2,evalm(x1+x2-x0)] ),\012thickness=2, col
or=COLOR(RGB,c1,c2,c3)):"}}{SEP_R 140 0}{INP_R 141 0 "> "{TEXT 0 
296 "colparpip := (x0,x1,x2,x3,c1,c2,c3)->\012\{ colpar(x0, x1, x
2,c1,c2,c3), \012colpar(x0, x2, x3,c1,c2,c3), \012colpar(x0, x1, \+
x3,c1,c2,c3), \012colpar(x1, evalm(x1+x2-x0), evalm(x1+x3-x0),c1,
c2,c3),\012colpar(x2, evalm(x1+x2-x0), evalm(x2+x3-x0),c1,c2,c3),
\012colpar(x3, evalm(x1+x3-x0), evalm(x2+x3-x0),c1,c2,c3) \}:"}}
{SEP_R 142 0}{INP_R 143 0 "> "{TEXT 0 150 "display3d(colparpip([1
,1,1],[-1,1,1],[1,-1,1],[1,1,-1],1,1,0),\012style=patch, scaling=
constrained, \012axes=boxed, tickmarks=[0,0,0], orientation=[70,6
9]);"}}{SEP_R 144 0}{INP_R 145 0 "> "{TEXT 0 108 "g:=(1+sqrt(5))/
2:A := array(\012[ [1, 0, 0], [0, cos(2*Pi/5), -sin(2*Pi/5)], [0,
 sin(2*Pi/5), cos(2*Pi/5)] ] ):"}}{SEP_R 146 0}{INP_R 147 0 "> "
{TEXT 0 73 "r1 := factor(g/sqrt(g^2+1),sqrt(5)):\012r2 := factor(
1/sqrt(g^2+1),sqrt(5)):"}}{SEP_R 148 0}{INP_R 149 0 "> "{TEXT 0 
55 "B := array( [ [r1, -r2, 0], [r2, r1, 0], [0, 0, 1] ] ):"}}
{SEP_R 150 0}{INP_R 151 0 "> "{TEXT 0 30 "R :=evalm(B&*A&*transpo
se(B)):"}}{SEP_R 152 0}{INP_R 153 0 "> "{TEXT 0 34 "R:=map( X->fa
ctor(X, sqrt(5)), R);"}}{OUT_R 154 0 153{DAG :3n3\`R`(3n4\`MATRIX
`,2[2,4[2,4+5*3j2x0005/3j2x0001j2x0002/3p11j2x0004p15p11+5pDp15/3
i2x0001p17p11p10[2,4p1Bp10+5p1Ep11pDp1E[2,4/3p1Fp13pCp1B}}{SEP_R 
155 0}{INP_R 156 0 "> "{TEXT 0 127 "colors :=  \012[[0.090, 0.565
, 1.000],[0.302, 0.000, 1.0000],[0.212, 0.910, 0.486],[1.000, 0.3
41, 0.1330],[0.788, 0.000, 0.5801]]:"}}{SEP_R 157 0}{INP_R 158 0 
"> "{TEXT 0 159 "gvplot(display3d(\{seq(\012op(colparpip(\012eval
m((R^n)&*[1,1,1]),\012evalm((R^n)&*[-1,1,1]),\012evalm((R^n)&*[1,
-1,1]),\012evalm((R^n)&*[1,1,-1]),\012op(colors[n]))),n=1..5)\}))
;"}}{SEP_R 159 0}{INP_R 160 0 "> "{TEXT 0 0 ""}}}{END}
