{VERSION 5 0 "Windows 7" "5.0" } {USTYLETAB {PSTYLE "Ordered List 1" -1 200 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 } {PSTYLE "Ordered List 2" -1 201 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 36 2 0 2 2 -1 1 }{PSTYLE "Ordered List 3" -1 202 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 72 2 0 2 2 -1 1 }{PSTYLE "Ordered List 4" -1 203 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 108 2 0 2 2 -1 1 }{PSTYLE "Ordered List 5" -1 204 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 144 2 0 2 2 -1 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 8 8 2 0 2 0 2 2 -1 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 0 0 1 } 1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Annotation Title" -1 205 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Fixed Width" -1 17 1 {CSTYLE "" -1 -1 "C ourier" 1 10 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Line Printe d Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "R3 Font 5" -1 206 1 {CSTYLE "" -1 -1 "Helvetica" 1 24 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "R3 Font 4" -1 207 1 {CSTYLE "" -1 -1 " Helvetica" 1 24 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Help" -1 10 1 {CSTYLE "" -1 -1 "Courier" 1 9 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Text Outpu t" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Diagnostic" -1 9 1 {CSTYLE " " -1 -1 "Courier" 1 10 64 128 64 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "R3 Font 3" -1 208 1 {CSTYLE "" -1 -1 "Helveti ca" 1 24 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "R3 Font 2" -1 209 1 {CSTYLE "" -1 -1 "Helvetica" 1 14 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "R3 Font 7" -1 210 1 {CSTYLE "" -1 -1 "Helvetica" 1 14 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "R3 Font 6" -1 211 1 {CSTYLE "" -1 -1 "Helvetica" 1 24 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Dash Item" -1 16 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "HyperlinkError" -1 212 1 {CSTYLE "" -1 -1 "Courier New" 1 12 255 0 255 1 2 2 1 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "R3 Font 0" -1 213 1 {CSTYLE "" -1 -1 "Helvetica" 1 18 0 0 0 1 2 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 } {PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 0 255 1 2 2 2 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 0 0 1 }3 1 0 0 12 12 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "T imes" 1 18 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 6 6 2 0 2 0 2 2 -1 1 } {PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 4" -1 20 1 {CSTYLE "" -1 -1 "Times" 1 10 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 1 1 2 2 2 2 1 0 0 1 }1 1 0 0 4 4 2 0 2 0 2 2 -1 1 }{PSTYLE "HyperlinkWar ning" -1 214 1 {CSTYLE "" -1 -1 "Courier New" 1 12 0 0 255 1 2 2 1 2 2 1 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "Left Justified Mapl e Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 0 0 2 0 2 0 2 2 -1 1 }{PSTYLE "List Item" -1 14 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }1 1 0 0 3 3 2 0 2 0 2 2 -1 1 }{CSTYLE "Annotation Text" -1 200 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Maple Name" -1 35 "Times" 1 12 104 64 92 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Bold" -1 5 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Menus" -1 36 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic" -1 3 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Normal" -1 30 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Text" -1 28 "Times" 1 8 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Nonterminal" -1 24 "Couri er" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Heading" -1 26 "Ti mes" 1 14 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Italic" -1 42 "Ti mes" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Variable" -1 25 " Courier" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Italic Bold" -1 40 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Default" -1 38 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined \+ Italic" -1 43 "Times" 1 12 0 0 0 1 1 2 1 2 2 2 0 0 0 1 }{CSTYLE "Maple Input" -1 0 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Times" 1 12 0 0 255 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Bold Small" -1 10 "Times" 1 1 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "2D Math Small" -1 7 "Times" 1 1 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "Page Number" -1 33 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "Output Labels" -1 29 "Times" 1 8 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Plot Title" -1 27 "Times" 1 10 0 0 0 1 2 1 2 2 2 2 0 0 0 1 } {CSTYLE "Help Emphasized" -1 22 "Times" 1 12 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Symbol 2" -1 16 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Comment" -1 21 "Courier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small202" -1 201 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small202205208" -1 202 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Caption Referenc e" -1 203 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math I talic Small201" -1 204 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 } {CSTYLE "2D Math Italic Small204" -1 205 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Maple Input Placeholder" -1 206 "Courier" 1 12 200 0 200 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "2D Math Italic Small203" -1 207 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Code" -1 208 "Co urier New" 1 12 255 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small205" -1 209 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Inert Output" -1 210 "Times" 1 12 144 144 144 1 2 2 2 2 1 2 0 0 0 1 } {CSTYLE "2D Math Italic Small" -1 211 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic Small204204" -1 212 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Comment" -1 18 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined Bold" -1 41 "Times" 1 12 0 0 0 1 1 1 2 2 2 2 0 0 0 1 }{CSTYLE "Copyright" -1 34 "Times" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "Times" 1 12 0 128 128 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "Help Underlined" -1 44 "Times " 1 12 0 0 0 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "Prompt" -1 1 "Courier" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 1 12 255 0 0 1 2 2 2 2 1 2 0 0 0 1 }{CSTYLE "2D Math Italic Small210" -1 213 "Ti mes" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "Header and Footer" -1 214 "Times" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "2D Math Italic \+ Small205210" -1 215 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE " Text" -1 216 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "Help N otes" -1 37 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Bo ld" -1 39 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Equation \+ Label" -1 217 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "2D Ma th Italic Small202205" -1 218 "Times" 1 1 0 0 0 1 1 2 2 2 2 2 0 0 0 1 }{CSTYLE "LaTeX" -1 32 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 } {CSTYLE "Popup" -1 31 "Times" 1 12 0 128 128 1 1 2 1 2 2 2 0 0 0 1 } {CSTYLE "Dictionary Hyperlink" -1 45 "Times" 1 12 147 0 15 1 2 2 1 2 2 2 0 0 0 1 }{CSTYLE "Caption Text" -1 219 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 0 0 0 1 }{CSTYLE "Help Fixed" -1 23 "Courier" 1 10 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{PSTYLE "" -1 215 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 0 0 1 }3 1 0 0 0 0 2 0 2 0 2 2 -1 1 }} {SECT 0 {PARA 215 "" 0 "" {TEXT 216 1 "\n" }{TEXT 216 69 "MAPLE WORKS HEET #5: Platonic and Archimedean Solids and Truncations.\n" }}{PARA 0 "" 0 "" {TEXT 220 1730 "The following Maple session creates some gra phics of the Platonic and Archimedean Solids. Reference points: [1,1,1 ] and [g,1,0], where g=(1+sqrt(5))/2 is the golden section. Transforma tions: H(0)=identity; H(l)= half-turn around the l-th coordinate axis, l=1..3; Q=quarter turn around the x-axis; C=rotation around the axis \+ through [1,1,1] with angle 2*Pi/3; R= rotation around the axis through [g,1,0] with angle 2*Pi/5. Relations: C^3=R^5=I, CRCR=I. Polyhedra: T he vertices of a (regular) tetrahedron are given by a(k)=H(k)[1,1,1], \+ k=0..3. Its reciprocal tetrahedron has vertices b(k)=H(k)[-1,-1,-1], k =0..3. A face of an octahedron has vertices C^l [2,0,0], l=1..3; the 6 vertices of the octahedron are C^l [2,0,0] and C^l [-2,0,0], l=1..3. \+ The intersection of the two tetrahedra is another octahedron. The reci procal pair of the two tetrahedra are inscribed in a cube with vertice s a(k), b(k), k=0..3. A face of an icosahedron has vertices p(l)=C^l [ g,1,0], l=1..3. The 12 vertices of the icosahedron are H(k)p(l), k=0.. 3, l=1..3. A color group consisting of 4 disjoint faces is given by th e H(k)-images, k=0..3, of the initial face [p(1),p(2),p(3)]. The R^n-i mages, n=1..5, of these give the 5 color groups. The faces in one colo r group extend to a tetrahedron; we thus have a compound of 5 tetrah edra. A face of a dodecahedron has vertices R^n[1,1,1], n=1..5. The 20 faces of the dodecahedron are obtained by applying suitable powers of C and R to the initial face. The cube created above is inscribed in t he dodecahedron. 5 cubes inscribed in the dodecahedron are the R^n-im ages, n=1..5, of the initial cube. Trunc of a geometric object truncat es the object along the vertex figures. Vertfig is complementary to tr unc. " }}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 23 "Load the plots package: " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "with(plots):with(plottoo ls):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 25 "The five Platonic soli ds:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "z1:=polyhedraplot([3, 0,0],polytype=tetrahedron,\n" }{MPLTEXT 1 0 23 "thickness=2,color=red) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "z2:=polyhedraplot([-0. 5,0.5,0.5],polytype=hexahedron,\n" }{MPLTEXT 1 0 25 "thickness=2,color =green):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "z3:=polyhedrapl ot([-3.6,0,0],polytype=octahedron,\n" }{MPLTEXT 1 0 38 "polyscale=1.6, thickness=2,color=blue):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "z4:=polyhedraplot([-1.5,0,-3],polytype=dodecahedron,\n" }{MPLTEXT 1 0 24 "thickness=2,color=gold):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "z5:=polyhedraplot([1.5,0,-3],polytype=icosahedron,\n" } {MPLTEXT 1 0 30 "thickness=2,color=aquamarine):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "display3d(\{z1,z2,z3,z4,z5\},\n" }{MPLTEXT 1 0 17 "style=wireframe,\n" }{MPLTEXT 1 0 42 "scaling=constrained,orient ation=[100,66],\n" }{MPLTEXT 1 0 61 "titlefont=[TIMES,ROMAN,22],title= `The Five Platonic Solids`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 38 "Triangle in space with given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "tri:=\n" }{MPLTEXT 1 0 27 "(x1,x2,x3)->polygonplot3d( \n" }{MPLTEXT 1 0 38 "map((x->convert(x,list)),[x1,x2,x3]),\n" } {MPLTEXT 1 0 25 "style=line, thickness=2):" }}}}{SECT 1 {PARA 3 "" 0 " " {TEXT 221 52 "Colored triangle in space with given vertex-vectors:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "coltri:=\n" }{MPLTEXT 1 0 36 "(x1,x2,x3,c1,c2,c3)->polygonplot3d(\n" }{MPLTEXT 1 0 38 "map((x->c onvert(x,list)),[x1,x2,x3]),\n" }{MPLTEXT 1 0 53 "style=patch, thickne ss=2, color=COLOR(RGB,c1,c2,c3)):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 41 "Tetrahedron in space with given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "tet:=\n" }{MPLTEXT 1 0 22 "(x1,x2,x3,x4)->\{se q( \n" }{MPLTEXT 1 0 41 "tri(op(subsop(k=NULL,[x1,x2,x3,x4])) ), \n" } {MPLTEXT 1 0 9 "k=1..4)\}:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 49 " Colored tetrahedron in space with given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "coltet:=\n" }{MPLTEXT 1 0 25 "(x1,x2,x3,x4,c1, c2,c3)->\n" }{MPLTEXT 1 0 7 "\{seq( \n" }{MPLTEXT 1 0 52 "coltri(op(su bsop(k=NULL,[x1,x2,x3,x4])),c1,c2,c3), \n" }{MPLTEXT 1 0 9 "k=1..4)\}: " }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 55 "Tetrahedron in wireframe \+ in space with given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "wiretet:=\n" }{MPLTEXT 1 0 16 "(x1,x2,x3,x4)->\n" }{MPLTEXT 1 0 11 "\{seq( seq(\n" }{MPLTEXT 1 0 6 "line(\n" }{MPLTEXT 1 0 33 "op(subs op(l=NULL,subsop(k=NULL, \n" }{MPLTEXT 1 0 41 "map((x->convert(x,list) ),[x1,x2,x3,x4] )\n" }{MPLTEXT 1 0 4 ")))\n" }{MPLTEXT 1 0 4 "), \n" } {MPLTEXT 1 0 9 "k=1..4),\n" }{MPLTEXT 1 0 9 "l=1..3)\}:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 60 "Colored wireframe tetrahedron in space \+ with given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "wire coltet := (x1,x2,x3,x4,c1,c2,c3)->\n" }{MPLTEXT 1 0 10 "\{seq(seq(\n" }{MPLTEXT 1 0 7 "line( \n" }{MPLTEXT 1 0 34 "op(subsop(l=NULL, subsop( k=NULL, \n" }{MPLTEXT 1 0 41 "map((x->convert(x,list)),[x1,x2,x3,x4] ) \n" }{MPLTEXT 1 0 42 "))),color=COLOR(RGB,c1,c2,c3),thickness=2\n" } {MPLTEXT 1 0 4 "), \n" }{MPLTEXT 1 0 9 "k=1..4),\n" }{MPLTEXT 1 0 9 "l =1..3)\}:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 17 " Transformations: " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "H(0):=Matrix(3,shape=ide ntity):\n" }{MPLTEXT 1 0 43 "H(1):=Matrix([[1,0,0],[0,-1,0],[0,0,-1]]) :\n" }{MPLTEXT 1 0 43 "H(2):=Matrix([[-1,0,0],[0,1,0],[0,0,-1]]):\n" } {MPLTEXT 1 0 43 "H(3):=Matrix([[-1,0,0],[0,-1,0],[0,0,1]]):\n" } {MPLTEXT 1 0 39 "Q:=Matrix([[1,0,0],[0,0,-1],[0,1,0]]):\n" }{MPLTEXT 1 0 37 "C:=Matrix([[0,0,1],[1,0,0],[0,1,0]]):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 39 "The golden section and refrence points:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "g:=(1+sqrt(5))/2:\n" }{MPLTEXT 1 0 28 "a:=k->H(k).Vector([1,1,1]):\n" }{MPLTEXT 1 0 29 "b:=k->-H(k).Vecto r([1,1,1]):\n" }{MPLTEXT 1 0 28 "p:=l->C^(l).Vector([g,1,0]):" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 216 46 "Dual pair of tetrahedra using col tet and union" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" } {MPLTEXT 1 0 3 "col" }{MPLTEXT 1 0 38 "tet(seq(a(k),k=0..3),1,0.4,0.7) union\n" }{MPLTEXT 1 0 3 "col" }{MPLTEXT 1 0 33 "tet(seq(b(k),k=0..3) ,0.5,1,0.8),\n" }{MPLTEXT 1 0 42 "scaling=constrained, orientation=[78 ,83],\n" }{MPLTEXT 1 0 61 "titlefont=[TIMES,ROMAN,22], title=`Dual Pai r of Tetrahedra`);" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 43 "Dual pair of tetrahedra using coltet and op" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "display3d(\{\n" }{MPLTEXT 1 0 3 "op(" }{MPLTEXT 1 0 37 "coltet(seq(a(k),k=0..3),1,0.4,0.7)),\n" }{MPLTEXT 1 0 3 "op(" }{MPLTEXT 1 0 38 "coltet(seq(b(k),k=0..3),0.5,1,0.8))\},\n" }{MPLTEXT 1 0 42 "scaling=constrained, orientation=[78,83],\n" }{MPLTEXT 1 0 61 "titlefont=[TIMES,ROMAN,22], title=`Dual Pair of Tetrahedra`);" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 16 "Duality anim ated" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "twin1:=t->display3d(\{\n" } {MPLTEXT 1 0 40 "op(coltet(seq(a(k),k=0..3),1,0.4,0.7)),\n" }{MPLTEXT 1 0 7 "scale(\n" }{MPLTEXT 1 0 10 "display3d(" }{MPLTEXT 1 0 1 "\n" } {MPLTEXT 1 0 39 "op(coltet(seq(b(k),k=0..3),0.5,1,0.8))\n" }{MPLTEXT 1 0 3 "),\n" }{MPLTEXT 1 0 7 "t,t,t)\n" }{MPLTEXT 1 0 3 "\},\n" } {MPLTEXT 1 0 42 "scaling=constrained, orientation=[78,83],\n" } {MPLTEXT 1 0 65 "titlefont=[TIMES,ROMAN,22], title=`Pair of Tetrahedra Animated`):" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "display3d([seq(twin1(t/21),t=7..60)],\n" }{MPLTEXT 1 0 17 "ins equence=true);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 59 "Plot a dual \+ pair of tetrahedra with prescribed RGB colors:" }}{PARA 0 "" 0 "" {TEXT 220 35 "Vertfigtri is a set of 3 triangles." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "vertfigtri:=\n" }{MPLTEXT 1 0 22 "(x1,x2,x3,c 1,c2,c3)->\n" }{MPLTEXT 1 0 2 "\{\n" }{MPLTEXT 1 0 41 "coltri(x1,(x1+x 2)/2,(x1+x3)/2,c1,c2,c3),\n" }{MPLTEXT 1 0 41 "coltri(x2,(x2+x3)/2,(x2 +x1)/2,c1,c2,c3),\n" }{MPLTEXT 1 0 40 "coltri(x3,(x3+x1)/2,(x3+x2)/2,c 1,c2,c3)\n" }{MPLTEXT 1 0 2 "\}:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "display3d(vertfigtri(seq(a(k),k=1..3),1,0.4,0.7),\n" } {MPLTEXT 1 0 42 "scaling=constrained, orientation=[46,62]);" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT 221 92 "We concatenate the 3 triangles i n vertfigtri for each face of the tetrahedron by using op. " }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "vertfigtet:=\n" }{MPLTEXT 1 0 25 "(x1,x2,x3,x4,c1,c2,c3)->\n" }{MPLTEXT 1 0 9 "\{seq(op(\n" } {MPLTEXT 1 0 54 "vertfigtri(op(subsop(k=NULL,[x1,x2,x3,x4])),c1,c2,c3) \n" }{MPLTEXT 1 0 11 "),k=1..4)\}:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "display3d(vertfigtet(seq(a(k),k=0..3),1,0.4,0.7),\n" }{MPLTEXT 1 0 58 "scaling=constrained, orientation=[46,62],transparenc y=.5);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" } {MPLTEXT 1 0 45 "vertfigtet(seq(a(k),k=0..3),1,0.4,0.7) union\n" } {MPLTEXT 1 0 40 "vertfigtet(seq(b(k),k=0..3),0.5,1,0.8),\n" }{MPLTEXT 1 0 42 "scaling=constrained, orientation=[78,83],\n" }{MPLTEXT 1 0 61 "titlefont=[TIMES,ROMAN,22], title=`Dual Pair of Tetrahedra`);" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT 221 95 "Trunctri is a single triangle o btained from a triangle by truncating along the vertex figures." }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "trunctri:=(x1,x2,x3,c1,c2,c3 )->\n" }{MPLTEXT 1 0 9 "coltri( \n" }{MPLTEXT 1 0 30 "op(map((x->conve rt(x,list)), \n" }{MPLTEXT 1 0 46 "[(x1+x2)/2,(x2+x3)/2,(x1+x3)/2]) ), c1,c2,c3):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 59 "Trunctet is tru nctri applied to the faces of a tetrahedron:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "trunctet:=(x1,x2,x3,x4,c1,c2,c3)->\n" }{MPLTEXT 1 0 66 "\{seq(trunctri(op(subsop(k=NULL,[x1,x2,x3,x4])),c1,c2,c3),k=1..4 )\}:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 63 "The octahedral interse ction of a reciprocal pair of tetrahedra:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "twinocta:=display3d(\{\n" }{MPLTEXT 1 0 46 "op(trunct et(a(0),a(1),a(2),a(3),1,0.4,0.7)), \n" }{MPLTEXT 1 0 46 "op(trunctet( b(0),b(1),b(2),b(3),0.5,1,0.8)), \n" }{MPLTEXT 1 0 48 "op(wirecoltet(a (0),a(1),a(2),a(3),1,0.4,0.7)), \n" }{MPLTEXT 1 0 50 "op(wirecoltet(b( 0),b(1),b(2),b(3),0.5,1,0.8)) \}):\n" }{MPLTEXT 1 0 103 "display3d(twi nocta,scaling=constrained, thickness=1, orientation=[77,71],axes=boxed ,tickmarks=[0,0,0]);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 46 "A para lleogram in space with 3 given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "par:=(x0,x1,x2)->polygonplot3d(\n" }{MPLTEXT 1 0 43 " map(x->convert(x,list), [x1,x2,x1+x2-x0]),\n" }{MPLTEXT 1 0 26 "style= patch, thickness=2):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 54 "A colo red paralleogram in space with 3 given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "colpar := (x0,x1,x2,c1,c2,c3)->polygonplot3d( \n" }{MPLTEXT 1 0 45 "map(x->convert(x,list),[x1,x0,x2,x1+x2-x0]),\n" }{MPLTEXT 1 0 54 "style=patch, thickness=2, color=COLOR(RGB,c1,c2,c3) \+ ):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 48 "A parallelepiped in spac e with 4 given vertices:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " parpip := (x0,x1,x2,x3)->\n" }{MPLTEXT 1 0 44 "\{par(x0,x1,x2),par(x0, x2,x3),par(x0,x1,x3),\n" }{MPLTEXT 1 0 30 " par(x1,x1+x2-x0,x1+x3-x0 ),\n" }{MPLTEXT 1 0 30 " par(x2,x1+x2-x0,x2+x3-x0),\n" }{MPLTEXT 1 0 30 " par(x3,x1+x3-x0,x2+x3-x0)\}:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 56 "A colored parallelepiped in space with 4 given vertices: " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "colparpip:=(x0,x1,x2,x3, c1,c2,c3)->\n" }{MPLTEXT 1 0 3 "\{ \n" }{MPLTEXT 1 0 25 "par(x0,x1,x2, c1,c2,c3), \n" }{MPLTEXT 1 0 25 "par(x0,x2,x3,c1,c2,c3), \n" }{MPLTEXT 1 0 24 "par(x0,x1,x3,c1,c2,c3),\n" }{MPLTEXT 1 0 36 "par(x1,x1+x2-x0, x1+x3-x0,c1,c2,c3),\n" }{MPLTEXT 1 0 36 "par(x2,x1+x2-x0,x2+x3-x0,c1,c 2,c3),\n" }{MPLTEXT 1 0 36 "par(x3,x1+x3-x0,x2+x3-x0,c1,c2,c3) \n" } {MPLTEXT 1 0 2 "\}:" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 70 " Plot a cube and the reciprocal octahedron with prescribed RGB colors:" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "c:=(k,l)->H(k).C^(l).Vector( [2,0,0]):\n" }{MPLTEXT 1 0 38 "d:=(k,l)->H(k).C^(l).Vector([-2,0,0]):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 10 "Octahedron" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "octa := display3d(\{\n" }{MPLTEXT 1 0 53 "seq(colt ri(c(k,1),c(k,2),c(k,3),1,0.4,0.7), k=0..3),\n" }{MPLTEXT 1 0 52 "seq( coltri(d(k,1),d(k,2),d(k,3),1,0.4,0.7), k=0..3)\n" }{MPLTEXT 1 0 3 "\} ):" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "di splay(octa,orientation=[35,65],transparency=.5);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 4 "Cube" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "face:= p olygonplot3d(\n" }{MPLTEXT 1 0 51 "[[1,1,0],[-1,1,0],[-1,-1,0],[1,-1,0 ]],thickness=2):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "cube:= \{seq(translate(face,0,0,(-1)^s),s=0..1),\n" }{MPLTEXT 1 0 12 "seq(rot ate(\n" }{MPLTEXT 1 0 40 "translate(rotate(face,Pi/2,0,0),0,1,0),\n" } {MPLTEXT 1 0 20 "0,0,Pi*k/2),k=0..3)\n" }{MPLTEXT 1 0 2 "\}:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "display3d(cube,axes=normal,t ickmarks=[0,0,0],\n" }{MPLTEXT 1 0 17 "transparency=.5);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 38 "Dual pair of an octahedraon and a cube" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "twin2:=t->display3d(\{octa,\n" } {MPLTEXT 1 0 42 "scale(display3d(cube,color=cyan),t,t,t)\},\n" } {MPLTEXT 1 0 51 "axes=normal,tickmarks=[0,0,0], orientation=[-12,65]" }{MPLTEXT 1 0 2 "):" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "twin2(1);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 8 "Anim ated" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "display3d([seq(twin2(t/30), t=20..30)],insequence=true,\n" }{MPLTEXT 1 0 22 "orientation=[-130,8]) ;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 42 "Dual pair constructed using vertex figures" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "vertfigocta := d isplay3d(\n" }{MPLTEXT 1 0 62 "seq(vertfigtri(c(k,1),c(k,2),c(k,3),1,0 .4,0.7), k=0..3) union\n" }{MPLTEXT 1 0 57 "seq(vertfigtri(d(k,1),d(k, 2),d(k,3),1,0.4,0.7), k=0..3)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" }{MPLTEXT 1 0 57 "seq(vertfigtri(c(k,1),c(k,2),c (k,3),1,0.4,0.7), k=0..1),\n" }{MPLTEXT 1 0 56 "scaling=constrained, o rientation=[-21,73], axes=normal,\n" }{MPLTEXT 1 0 46 "titlefont=[TIME S,ROMAN,22],tickmarks=[1,1,1],\n" }{MPLTEXT 1 0 42 "title=`The Action \+ of the Half-turn H(1)`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" }{MPLTEXT 1 0 57 "seq(vertfigtri(c(k,1),c(k,2),c(k,3),1 ,0.4,0.7), k=0..3),\n" }{MPLTEXT 1 0 56 "scaling=constrained, orientat ion=[-21,73], axes=normal,\n" }{MPLTEXT 1 0 46 "titlefont=[TIMES,ROMAN ,22],tickmarks=[1,1,1],\n" }{MPLTEXT 1 0 54 "title=`The Action of the \+ Half-turns`,transparency=.6);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "display3d(vertfigocta, scaling=constrained,\n" }{MPLTEXT 1 0 37 "transparency=.4,orientation=[25,79]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display3d(\{ seq( \n" }{MPLTEXT 1 0 8 "coltri(\n" } {MPLTEXT 1 0 66 "op( map((x->evalm(Q^n.Vector(x))), [[1,1,1],[1,1,0],[ 1,0,1]]) ), \n" }{MPLTEXT 1 0 13 "n-3.5,1,1), \n" }{MPLTEXT 1 0 11 "n= 1..4)\}, \n" }{MPLTEXT 1 0 12 "axes=normal," }{MPLTEXT 1 0 40 "tickmar ks=[0,0,0], scaling=constrained,\n" }{MPLTEXT 1 0 28 "titlefont=[TIMES ,ROMAN,22],\n" }{MPLTEXT 1 0 42 "title=`The Action of the Quarter Turn Q`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "vertfigcube := dis play3d(\{ \n" }{MPLTEXT 1 0 14 "seq(seq(seq( \n" }{MPLTEXT 1 0 8 "colt ri(\n" }{MPLTEXT 1 0 48 "op(map((x->evalm((-1)^(s).C^l.Q^n.Vector(x))) , \n" }{MPLTEXT 1 0 31 "[[1,1,1],[1,1,0],[1,0,1]] )), \n" }{MPLTEXT 1 0 13 "0.5,1,0.8), \n" }{MPLTEXT 1 0 25 "n=1..4),l=1..3),s=0..1) \n" } {MPLTEXT 1 0 3 "\}):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "dis play3d(vertfigcube,\n" }{MPLTEXT 1 0 41 "scaling=constrained,orientati on=[70,69],\n" }{MPLTEXT 1 0 28 "titlefont=[TIMES,ROMAN,22],\n" } {MPLTEXT 1 0 53 "title=`A Cube with Squares Removed`,transparency=.5); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "display3d(\{vertfigocta ,vertfigcube\},\n" }{MPLTEXT 1 0 41 "scaling=constrained,orientation=[ 70,69],\n" }{MPLTEXT 1 0 28 "titlefont=[TIMES,ROMAN,22],\n" }{MPLTEXT 1 0 47 "title=`Dual Pair of an Octahedron and a Cube`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 36 "Define the faces of a cuboctahedron:" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "truncocta := display3d(\{ \n " }{MPLTEXT 1 0 52 "seq(trunctri(seq(c(k,l),l=1..3),1,0.4,0.7),k=0..3) ,\n" }{MPLTEXT 1 0 52 "seq(trunctri(seq(d(k,l),l=1..3),1,0.4,0.7),k=0. .3) \n" }{MPLTEXT 1 0 3 "\}):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "display3d(truncocta,\n" }{MPLTEXT 1 0 42 "scaling=constrained, o rientation=[70,75],\n" }{MPLTEXT 1 0 57 "titlefont=[TIMES,ROMAN,22],ti tle=`Truncated Octahedron`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "trunccube := display3d(\{ \n" }{MPLTEXT 1 0 10 "seq(seq( \n" } {MPLTEXT 1 0 8 "colpar(\n" }{MPLTEXT 1 0 39 "op(map((x->(-1)^(s).C^(l) .Vector(x)), \n" }{MPLTEXT 1 0 30 "[[1,1,0],[1,0,1],[1,0,-1]])),\n" } {MPLTEXT 1 0 13 "0.5,1,0.8), \n" }{MPLTEXT 1 0 17 "l=1..3),s=0..1) \n" }{MPLTEXT 1 0 3 "\}):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "d isplay3d(trunccube,\n" }{MPLTEXT 1 0 42 "scaling=constrained, orientat ion=[70,75],\n" }{MPLTEXT 1 0 52 "titlefont=[TIMES,ROMAN,22], title=`T runcated Cube`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "display 3d(\{truncocta,trunccube\},\n" }{MPLTEXT 1 0 42 "scaling=constrained, \+ orientation=[70,75],\n" }{MPLTEXT 1 0 51 "titlefont=[TIMES,ROMAN,22], \+ title=`Cuboctahedron`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 21 " 3 \+ golden rectangles:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "goldre cs := display3d(\{ \n" }{MPLTEXT 1 0 10 "seq(seq( \n" }{MPLTEXT 1 0 8 "colpar(\n" }{MPLTEXT 1 0 33 "op(map((x->H(k).C^l.Vector(x)), \n" } {MPLTEXT 1 0 29 "[[0,0,0],[0,1,0],[g,0,0]])),\n" }{MPLTEXT 1 0 15 "l/3 ,1,1-l/3), \n" }{MPLTEXT 1 0 17 "k=0..3),l=1..3) \n" }{MPLTEXT 1 0 4 " \}):\n" }{MPLTEXT 1 0 20 "display3d(goldrecs,\n" }{MPLTEXT 1 0 21 "sca ling=constrained,\n" }{MPLTEXT 1 0 29 "titlefont=[TIMES,ROMAN,22], \n" }{MPLTEXT 1 0 33 "title=`Three Golden Rectangles`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "goldrecs0:=display3d(\{ \n" }{MPLTEXT 1 0 5 "seq(\n" }{MPLTEXT 1 0 8 "colpar(\n" }{MPLTEXT 1 0 28 "op(map((x-> C^l.Vector(x)), \n" }{MPLTEXT 1 0 33 "[[-g,-1,0],[g,-1,0],[-g,1,0]])), \n" }{MPLTEXT 1 0 15 "l/3,1,1-l/3), \n" }{MPLTEXT 1 0 9 "l=1..3) \n" } {MPLTEXT 1 0 4 "\}):\n" }{MPLTEXT 1 0 21 "display3d(goldrecs0,\n" } {MPLTEXT 1 0 21 "scaling=constrained,\n" }{MPLTEXT 1 0 29 "titlefont=[ TIMES,ROMAN,22], \n" }{MPLTEXT 1 0 33 "title=`Three Golden Rectangles` );" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "fi tface:= \n" }{MPLTEXT 1 0 50 "coltri(seq(C^(l).Vector([g,1,0]),l=1..3 \+ ),1,0,0):\n" }{MPLTEXT 1 0 31 "display3d(\{goldrecs0,fitface\},\n" } {MPLTEXT 1 0 42 "orientation=[44,61], scaling=constrained,\n" } {MPLTEXT 1 0 51 "titlefont=[TIMES,ROMAN,22],title=`Fitting a Face`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "axis:=line([0,0,0],[1.4*g , 1.4, 0], \n" }{MPLTEXT 1 0 62 "color=blue, thickness=3):\ndisplay3d( \{goldrecs0,fitface,axis\},\n" }{MPLTEXT 1 0 42 "scaling=constrained,o rientation=[16,76], \n" }{MPLTEXT 1 0 51 "titlefont=[TIMES,ROMAN,22], \+ title=`Rotation Axis`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 46 "Rot ation around the x-axis with angle 2*Pi/5: " }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 13 "A := Matrix(\n" }{MPLTEXT 1 0 40 "[[1,0,0],[0,cos(2 *Pi/5),-sin(2*Pi/5)], \n" }{MPLTEXT 1 0 30 "[0,sin(2*Pi/5),cos(2*Pi/5) ]]):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 53 "Rotation around the z- axis sending [1, 0, 0] to \n" }{TEXT 221 75 "[g/sqrt(g^2+1), 1/sqr t(g^2+1), 0]: " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "c:=g/sqrt(g^2+1):\n" }{MPLTEXT 1 0 1 "s" }{MPLTEXT 1 0 16 ":=1/sqrt(g^2+1):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "B:=Matrix([[c,-s,0],[s,c,0],[0,0,1]]):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 60 "Rotation around the axis through [g,1,0] with angle 2*Pi/5:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "R := B.A.B^(-1):" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 43 "We can simplify the entries by using evalf:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "R:=map(X->evalf(X,4),R);" }}{PARA 11 "" 1 "" {XPPMATH 20 "-I'Matri xG6$%*protectedGI(_syslibG6\"6#/I$%idGF'\"*7=Cs\"" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 38 "Rotate the fitted face around an axis:" }} {EXCHG {PARA 0 "" 0 "" {TEXT 216 94 "l runs on the vertices of the fir st fitted triangle, n runs on the different rotations of the " }} {PARA 0 "" 0 "" {TEXT 216 39 "first triangle along the golden axis. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "rotfaces:=seq(tri(seq(R^(n).C^(l ).Vector([g, 1, 0]),l=1..3)),n=1..5):\n" }{MPLTEXT 1 0 45 "display3d( \{goldrecs0,fitface,axis,rotfaces\},\n" }{MPLTEXT 1 0 62 "style=line,s caling=constrained,orientation=[16,76],shading=z,\n" }{MPLTEXT 1 0 52 "titlefont=[TIMES,ROMAN,22],title=`Rotating a Face`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 24 "The colored icosahedron:" }}{EXCHG {PARA 0 "" 0 "" {TEXT 216 96 "p(l) are the vertices of the first fitte d triangle. In icosa l is the index of the first fitted " }}{PARA 0 "" 0 "" {TEXT 216 88 "triangle, k is the index running on the different \+ triangles in the same color group, and" }}{PARA 0 "" 0 "" {TEXT 216 54 "n is the index running on the different color groups. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "p:=l->C^(l).Vector([g,1,0]): \n" }{MPLTEXT 1 0 40 "icosa:=(n,k,l)->R^(n).H(k).Vector(p(l)):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 69 "For fixed n, colgr gives the four triangles in the same color group. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "colgr := (n, c1,c2,c3)->\n" }{MPLTEXT 1 0 54 "seq(coltri(seq(icosa(n,k,l),l=1..3),c 1,c2,c3),k=0..3):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "colors := \n" }{MPLTEXT 1 0 106 "[[0.090,0.565,1.000],[0.302,0.000,1.0000],[ 0.212,0.910,0.486],[1.000,0.341, 0.1330],[0.788,0.000,0.5801]]:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "colicosa := display3d(\{ \n" }{MPLTEXT 1 0 35 "seq(colgr(n,op(colors[n])),n=1..5)\n" }{MPLTEXT 1 0 3 "\}):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display(colico sa,\n" }{MPLTEXT 1 0 21 "scaling=constrained,\n" }{MPLTEXT 1 0 57 "tit lefont=[TIMES,ROMAN,22], title=`Colored Icosahedron`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 49 "Icosahedron wireframe on the 3 golden re ctangles:" }}{EXCHG {PARA 0 "" 0 "" {TEXT 216 34 "Wireframe model of t he icosahedron" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "wireicosa:=displa y3d(" }{MPLTEXT 1 0 3 "\{ \n" }{MPLTEXT 1 0 4 "seq(" }{MPLTEXT 1 0 6 " seq( \n" }{MPLTEXT 1 0 32 "tri(seq(icosa(n,k,l),l=1..3)), \n" } {MPLTEXT 1 0 10 "k=0..3), \n" }{MPLTEXT 1 0 9 "n=1..5) \n" }{MPLTEXT 1 0 15 "\},color=navy): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "display3d(\{wireicosa,colgr(1,1,0,1)\},\n" }{MPLTEXT 1 0 32 "style=li ne,scaling=constrained,\n" }{MPLTEXT 1 0 29 "titlefont=[TIMES,ROMAN,22 ], \n" }{MPLTEXT 1 0 41 "title=`Icosahedron and one color group`);" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "display3d(\{goldrecs0,fitfa ce,axis,wireicosa\},\n" }{MPLTEXT 1 0 65 "style=line, scaling=constra ined,orientation=[16,76], shading=z,\n" }{MPLTEXT 1 0 29 "titlefont=[T IMES,ROMAN,22], \n" }{MPLTEXT 1 0 47 "title=`Icosahedron and the Golde n Rectangles`);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 64 "The three gol den rectangles inscribed in an icosahedron animated" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "goldrecsanim:=k->display3d(\{ \n" }{MPLTEXT 1 0 5 "seq(\n" }{MPLTEXT 1 0 8 "colpar(\n" }{MPLTEXT 1 0 28 "op(map((x->C^l. Vector(x)), \n" }{MPLTEXT 1 0 34 "[[-g,-1,0],[g,-1,0],[-g,1,0] ])),\n" }{MPLTEXT 1 0 19 "l/3,1-l/3,1-l/3), \n" }{MPLTEXT 1 0 9 "l=1..k) \n" }{MPLTEXT 1 0 3 "\}):" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 32 "Animation of the Pacioli's model" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "pacioli:=k->display3d(\n" }{MPLTEXT 1 0 28 "\{goldrec sanim(k),wireicosa\}," }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 41 "scaling= constrained,orientation=[44,51]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "display3d([\n" }{MPLTEXT 1 0 41 "seq(pacioli(k),k=1.. 3)],insequence=true,\n" }{MPLTEXT 1 0 10 "shading=z," }{MPLTEXT 1 0 29 "titlefont=[TIMES,ROMAN,22], \n" }{MPLTEXT 1 0 31 "title=`Pacioli's Icosahedron`);" }{MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 188 "Extend each face in one color group to obtain a tetrahedron. \+ The vertices of one tetrahedron are [-(g+1),-(g+1),-(g+1)] and its H( n)-images. (This follows since the midpoint of the face \n" }{TEXT 221 103 "[[g,1,0],[1,0,g],[0,g,1]] is [(g+1)/3,(g+1)/3,(g+1)/3] and th e origin splits the altitude in ratio 3:1." }}{EXCHG {PARA 0 "" 0 "" {TEXT 216 92 "The vertices of the surrounding tetrahedra, k runs on th e vertices of a single tetrahedron, " }}{PARA 0 "" 0 "" {TEXT 216 35 " n runs on the different tetrahedra " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "exttetra:=(n,k)->-(g+1).R^(n).H(k).Vector([1,1,1]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "wiretetra := (n,c1,c2,c3)-> \n" } {MPLTEXT 1 0 47 "wirecoltet(seq(exttetra(n,k),k=0..3),c1,c2,c3):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "display3d(\{ \n" }{MPLTEXT 1 0 52 "seq(coltri(seq(icosa(1,k,l),l=1..3),0,1,1),k=0..3),\n" } {MPLTEXT 1 0 55 "seq(seq(tri(seq(icosa(n,k,l),l=1..3)),k=0..3),n=1..5) \n" }{MPLTEXT 1 0 3 "\},\n" }{MPLTEXT 1 0 65 "style=line, color=blue, orientation=[70,90],scaling=constrained,\n" }{MPLTEXT 1 0 52 "titlefo nt=[TIMES,ROMAN,22],title=`One Color Group`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "display3d(\{ \n" }{MPLTEXT 1 0 52 "seq(coltri(se q(icosa(1,k,l),l=1..3),0,0,1),k=0..3),\n" }{MPLTEXT 1 0 55 "seq(seq(tr i(seq(icosa(n,k,l),l=1..3)),k=0..3),n=1..5),\n" }{MPLTEXT 1 0 23 "op(w iretetra(1,0,0,1))\n" }{MPLTEXT 1 0 3 "\},\n" }{MPLTEXT 1 0 62 "style= line,color=red,orientation=[70,90],scaling=constrained);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "display3d(\{ \n" }{MPLTEXT 1 0 44 " seq(op(wiretetra(n,op(colors[n]))),n=1..5) \n" }{MPLTEXT 1 0 3 "\},\n" }{MPLTEXT 1 0 41 "scaling=constrained,orientation=[69,79],\n" } {MPLTEXT 1 0 28 "titlefont=[TIMES,ROMAN,22],\n" }{MPLTEXT 1 0 61 "titl e=`Five Tetrahedra Circumscribed Around an Icosahedron`);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 47 "Replace the wireframe tetrahedra by stee lframes" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "steelcoltri:=(x1,x2,x3,s ,c1,c2,c3)->display(\{\n" }{MPLTEXT 1 0 41 "polygonplot3d(map((x->conv ert(x,list)), \n" }{MPLTEXT 1 0 33 "[x1,x2,(1-s).x2+s.(x1+x2+x3)/3, \n " }{MPLTEXT 1 0 32 " (1-s).x1+s.(x1+x2+x3)/3]\n" }{MPLTEXT 1 0 4 ")),\n" }{MPLTEXT 1 0 41 "polygonplot3d(map((x->convert(x,list)), \n " }{MPLTEXT 1 0 33 "[x2,x3,(1-s).x3+s.(x1+x2+x3)/3, \n" }{MPLTEXT 1 0 32 " (1-s).x2+s.(x1+x2+x3)/3]\n" }{MPLTEXT 1 0 4 ")),\n" } {MPLTEXT 1 0 41 "polygonplot3d(map((x->convert(x,list)), \n" }{MPLTEXT 1 0 33 "[x3,x1,(1-s).x1+s.(x1+x2+x3)/3, \n" }{MPLTEXT 1 0 32 " \+ (1-s).x3+s.(x1+x2+x3)/3]\n" }{MPLTEXT 1 0 3 "))\n" }{MPLTEXT 1 0 2 "\} ," }{MPLTEXT 1 0 25 "color=COLOR(RGB,c1,c2,c3)" }{MPLTEXT 1 0 2 "):" } {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "steelco ltet:=(k,s,c1,c2,c3)->display3d(\{seq(\n" }{MPLTEXT 1 0 13 "steelcoltr i(\n" }{MPLTEXT 1 0 22 "op(subsop(j=NULL,[seq(" }{MPLTEXT 1 0 38 "extt etra(k,l),l=0..3)])),s,c1,c2,c3),\n" }{MPLTEXT 1 0 8 "j=1..4)\n" } {MPLTEXT 1 0 3 "\}):" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "display3d(\{\n" }{MPLTEXT 1 0 21 "seq(steelcoltet(n,. 2," }{MPLTEXT 1 0 25 "op(colors[n])),n=1..5)\},\n" }{MPLTEXT 1 0 36 "t ransparency=0,orientation=[90,58]);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 31 "The vertices of a dodecahedron:" }}{EXCHG {PARA 0 "" 0 "" {TEXT 216 65 "n runs on the vertices of a single pentagonal face, s=+1 or -1, \n" }{TEXT 216 37 "identity or reflection to the origin " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "cap:=s->polygonplot3d(" }{MPLTEXT 1 0 25 "map((x->convert(x,list))," }{MPLTEXT 1 0 2 "\n[" }{MPLTEXT 1 0 44 "seq((-1)^(s).R^(n).Vector([1,1,1]),n=1..5) \n" }{MPLTEXT 1 0 4 " ])):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "display3d(cap(1));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "display3d(\{ \n" } {MPLTEXT 1 0 36 "goldrecs0,fitface,rotfaces,cap(0)\},\n" }{MPLTEXT 1 0 74 "style=line,thickness=2,orientation=[35,83],scaling=constrained,s hading=z,\n" }{MPLTEXT 1 0 55 "titlefont=[TIMES,ROMAN,22],title=`Fitti ng a Pentagon`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "display 3d(\{seq(cap(s),s=0..1)\},\n" }{MPLTEXT 1 0 54 "style=patch,scaling=co nstrained,orientation=[-40,82]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 87 "The n sequence defines a pentagonal face, C is a symmetry of the i cosahedron, therefore" }}{PARA 0 "" 0 "" {TEXT 216 88 "is also a symme try of the dodecahedron. It moves the pentagon into another adjacent o ne," }}{PARA 0 "" 0 "" {TEXT 216 47 "finally, m rotates this moved pen tagon around. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "belt:=(m,s)->poly gonplot3d(" }{MPLTEXT 1 0 25 "map((x->convert(x,list))," }{MPLTEXT 1 0 2 " \n" }{MPLTEXT 1 0 56 "[seq((-1)^(s).R^(m).C.R^(n).Vector([1,1,1] ), n=1..5)])):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "display3d (\{seq(belt(m,0),m=1..5)\},\n" }{MPLTEXT 1 0 54 "style=patch,scaling=c onstrained,orientation=[-40,82]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "display3d(\{cap(0),seq(belt(m,0),m=1..5)\},\n" } {MPLTEXT 1 0 54 "style=patch,scaling=constrained,orientation=[-40,82]) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "dodec:=display3d(" } {MPLTEXT 1 0 2 "\{\n" }{MPLTEXT 1 0 21 "seq(cap(s),s=0..1), \n" } {MPLTEXT 1 0 35 "seq(seq(belt(m,s),m=1..5),s=0..1) \n" }{MPLTEXT 1 0 3 "\},\n" }{MPLTEXT 1 0 55 "style=patch,scaling=constrained,orientatio n=[-40,82]):\n" }{MPLTEXT 1 0 17 "display3d(dodec,\n" }{MPLTEXT 1 0 50 "titlefont=[TIMES,ROMAN,22], title=`Dodecahedron`);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "wiredodec:=display3d(" }{MPLTEXT 1 0 3 "\{ \n" }{MPLTEXT 1 0 21 "seq(cap(s),s=0..1), \n" }{MPLTEXT 1 0 35 "seq(seq(belt(m,s),m=1..5),s=0..1) \n" }{MPLTEXT 1 0 3 "\},\n" } {MPLTEXT 1 0 70 "style=wireframe,thickness=2,scaling=constrained,orien tation=[38,72] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "displa y3d(\{ \n" }{MPLTEXT 1 0 31 "goldrecs0,wireicosa,wiredodec \n" } {MPLTEXT 1 0 3 "\},\n" }{MPLTEXT 1 0 78 "style=line, thickness=4, orie ntation=[35,83], scaling=constrained, shading=z,\n" }{MPLTEXT 1 0 55 " titlefont=[TIMES,ROMAN,22],title=`The Two Wireframes`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 71 "Define the faces of the dual pair of an \+ icosahedron and a dodecahedron:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "vertfigicosa:=" }{MPLTEXT 1 0 3 "\{ \n" }{MPLTEXT 1 0 10 "seq( seq( \n" }{MPLTEXT 1 0 53 "op(vertfigtri(seq(icosa(n,k,l),l=1..3),1,0. 4,0.7)), \n" }{MPLTEXT 1 0 17 "k=0..3),n=1..5) \n" }{MPLTEXT 1 0 2 "\} :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "display3d(vertfigicosa ,scaling=constrained,transparency=.5);" }}}{PARA 0 "" 0 "" {TEXT 220 72 "Define the midpoint of an edge of a pentagonal face (and its antip odal):" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "mid:=s->" }{MPLTEXT 1 0 55 "((-1)^(s)/2).(Vector([1,1,1])+R^(-1).Vector([1,1,1])): " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "vertfigcap:=(n,s)->coltri( \+ \n" }{MPLTEXT 1 0 30 "op(map((x->R^(n).Vector(x)), \n" }{MPLTEXT 1 0 49 "[mid(s),(-1)^(s).Vector([1,1,1]),R.mid(s)] ) ), \n" }{MPLTEXT 1 0 11 "0.5,1,0.8):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "display3 d(\{seq(seq(vertfigcap(n,s),n=1..5),s=0..1)\});" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "vertfigbelt:=(m,n,s)->coltri(\n" }{MPLTEXT 1 0 37 "op(map((x->R^(m).C.R^(n).Vector(x)),\n" }{MPLTEXT 1 0 48 " [mid( s),(-1)^(s).Vector([1,1,1]),R.mid(s)])), \n" }{MPLTEXT 1 0 13 "0.5, 1, 0.8):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 89 "display3d(\{seq(s eq(seq(vertfigbelt(m,n,s),m=1..5),n=1..5),s=0..1)\},\nscaling=constrai ned);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "display3d(" } {MPLTEXT 1 0 3 "\{ \n" }{MPLTEXT 1 0 19 "op(vertfigicosa), \n" } {MPLTEXT 1 0 41 "seq(seq(vertfigcap(n,s),n=1..5),s=0..1),\n" }{MPLTEXT 1 0 56 "seq(seq(seq(vertfigbelt(m,n,s),m=1..5),n=1..5),s=0..1) \n" } {MPLTEXT 1 0 3 "\},\n" }{MPLTEXT 1 0 21 "scaling=constrained,\n" } {MPLTEXT 1 0 28 "titlefont=[TIMES,ROMAN,22],\n" }{MPLTEXT 1 0 56 "titl e=`Dual Pair of an Icosahedron and a Dodecahedron`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 40 "Define the faces of an icosidodecaderon: " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "truncicosa:=" }{MPLTEXT 1 0 3 "\{ \n" }{MPLTEXT 1 0 10 "seq(seq( \n" }{MPLTEXT 1 0 10 "trunctr i(\n" }{MPLTEXT 1 0 38 "seq(icosa(n,k,l),l=1..3),1,0.4,0.7), \n" } {MPLTEXT 1 0 17 "k=0..3),n=1..5) \n" }{MPLTEXT 1 0 2 "\}:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "trunccap:=s->polygonplot3d(" } {MPLTEXT 1 0 3 "[ \n" }{MPLTEXT 1 0 71 "seq((-1)^(s).R^(n).Vector([(1+ sqrt(5))/4,(3+sqrt(5))/4,1/2]), n=1..5) \n" }{MPLTEXT 1 0 3 "],\n" } {MPLTEXT 1 0 29 "color=COLOR(RGB,0.5,1,0.8) ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "truncbelt := (m, s)->polygonplot3d(" }{MPLTEXT 1 0 25 "map((x->convert(x,list))," }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 7 "[seq( \n" }{MPLTEXT 1 0 75 "evalm((-1)^(s).R^(m).C.R^(n).Vector([(1 +sqrt(5))/4,(3+sqrt(5))/4, 1/2])), \n" }{MPLTEXT 1 0 11 "n=1..5)]),\n" }{MPLTEXT 1 0 29 "color=COLOR(RGB,0.5,1,0.8) ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "display3d(" }{MPLTEXT 1 0 2 "\{\n" }{MPLTEXT 1 0 17 "op(truncicosa), \n" }{MPLTEXT 1 0 27 "seq(trunccap(s), s=0..1) , \n" }{MPLTEXT 1 0 45 "seq( seq(truncbelt(m,s), m=1..5), s=0..1) \}, \n" }{MPLTEXT 1 0 55 "style=patch, scaling=constrained, orientation=[7 9,76],\n" }{MPLTEXT 1 0 55 "titlefont=[TIMES,ROMAN,22], title=`Icosido decahedron`);" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 53 "3 pentagons m eeting at a vertex and a reference cube." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "colwirecube:=(n,c1,c2,c3)->display3d(\{ \n" }{MPLTEXT 1 0 10 "seq(seq( \n" }{MPLTEXT 1 0 7 "line( \n" }{MPLTEXT 1 0 43 "con vert(R^(n).H(k).Vector([1,1,1]),list), \n" }{MPLTEXT 1 0 32 "convert(R ^(n).H(k).b(l),list), \n" }{MPLTEXT 1 0 41 "color=COLOR(RGB,c1,c2,c3), thickness=2), \n" }{MPLTEXT 1 0 17 "l=1..3),k=0..3) \n" }{MPLTEXT 1 0 3 "\}):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" } {MPLTEXT 1 0 31 "\{cap(0),seq(belt(n,0),n=1..2),\n" }{MPLTEXT 1 0 23 " colwirecube(1,0,1,1)\},\n" }{MPLTEXT 1 0 57 "style=patch, scaling=cons trained, orientation=[-37,97] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" }{MPLTEXT 1 0 16 "\{cap(0),cap(1),\n" }{MPLTEXT 1 0 22 "seq(belt(n,0),n=1..5)," }{MPLTEXT 1 0 22 "seq(belt(n,1),n=1.. 5)," }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 23 "colwirecube(1,0,1,1)\},\n" }{MPLTEXT 1 0 35 "style=patch, scaling=constrained, \n" }{MPLTEXT 1 0 38 "transparency=0,orientation=[-37,97] );" }{MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 216 25 "One inscribed golden cube" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display3d(\n" }{MPLTEXT 1 0 16 "\{c ap(0),cap(1),\n" }{MPLTEXT 1 0 45 "seq(belt(n,0),n=1..5),seq(belt(n,1) ,n=1..5),\n" }{MPLTEXT 1 0 21 "colwirecube(1,0,1,1)," }{MPLTEXT 1 0 22 "colwirecube(2,1,0,1),\n" }{MPLTEXT 1 0 21 "colwirecube(3,1,1,0)," }{MPLTEXT 1 0 22 "colwirecube(4,0,0,1),\n" }{MPLTEXT 1 0 20 "colwirecu be(5,1,0,0)" }{MPLTEXT 1 0 1 "\n" }{MPLTEXT 1 0 15 "\},thickness=2,\n" }{MPLTEXT 1 0 35 "style=patch, scaling=constrained, \n" }{MPLTEXT 1 0 37 "transparency=0,orientation=[-37,97],\n" }{MPLTEXT 1 0 56 "titlef ont=[TIMES,ROMAN,22], title=`Five Inscribed Cubes`" }{MPLTEXT 1 0 1 " \n" }{MPLTEXT 1 0 3 " );" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 26 "Five inscribed golden cube" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "display3d(" }{MPLTEXT 1 0 2 "\{\n" }{MPLTEXT 1 0 43 " colwirecube(1,0,1,1),colwirecube(2,1,0,1),\n" }{MPLTEXT 1 0 43 "colwir ecube(3,1,1,0),colwirecube(4,0,0,1),\n" }{MPLTEXT 1 0 21 "colwirecube( 5,1,0,0)\n" }{MPLTEXT 1 0 2 "\}," }{MPLTEXT 1 0 22 "scaling=constraine d, \n" }{MPLTEXT 1 0 22 "orientation=[-37,97],\n" }{MPLTEXT 1 0 57 "ti tlefont=[TIMES,ROMAN,22], title=`Five Inscribed Cubes`\n" }{MPLTEXT 1 0 3 " );" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 30 "T he five inscribed solid cubes" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "co l0:=[cyan,blue,yellow,magenta,red]:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 216 37 "A colored square face on the xy-plane" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "colface:= q->polygonplot3d(\n" } {MPLTEXT 1 0 39 "[[1,1,0],[-1,1,0],[-1,-1,0],[1,-1,0]],\n" }{MPLTEXT 1 0 39 "style=patch,color=col0[q],thickness=2):" }{MPLTEXT 1 0 0 "" }} }{EXCHG {PARA 0 "" 0 "" {TEXT 216 14 "A colored cube" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "colcube:=q->\{\n" }{MPLTEXT 1 0 5 "seq(\n" } {MPLTEXT 1 0 34 "translate(colface(q),0,0,(-1)^s),\n" }{MPLTEXT 1 0 9 "s=0..1),\n" }{MPLTEXT 1 0 5 "seq(\n" }{MPLTEXT 1 0 7 "rotate(" } {MPLTEXT 1 0 18 "translate(rotate(\n" }{MPLTEXT 1 0 12 "colface(q),\n" }{MPLTEXT 1 0 17 "Pi/2,0,0),0,1,0)," }{MPLTEXT 1 0 13 "0,0,Pi*k/2),\n " }{MPLTEXT 1 0 8 "k=0..3)\n" }{MPLTEXT 1 0 2 "\}:" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "g:=(1+sqrt(5))/2:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "rotcolcube:=n->\n" }{MPLTEXT 1 0 22 "rotate(rotate(rotate(\n" }{MPLTEXT 1 0 23 "display3d(colcube( n)),\n" }{MPLTEXT 1 0 25 "0,0,-evalf(arctan(1/g)))," }{MPLTEXT 1 0 14 "2*Pi*n/5,0,0)," }{MPLTEXT 1 0 24 "0,0,evalf(arctan(1/g))):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "display3d([\n" }{MPLTEXT 1 0 26 "seq(rotcolcube(n),n=1..5)\n" }{MPLTEXT 1 0 3 "]);" }{MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT 221 34 "Samples from the plot tools package" }}{SECT 1 {PARA 4 "" 0 "" {TEXT 222 27 "Load the plotto ols package:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with(plottoo ls):" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 222 24 "Stellate a dodecahedro n:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "display3d(stellate(dod ecahedron(),4), \n" }{MPLTEXT 1 0 34 "scaling=constrained, style=patch );" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 222 33 "A cutout model of the oc tahedron:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "display3d( cuto ut( octahedron([0,0,0]), 2/3 ), \n" }{MPLTEXT 1 0 22 "orientation=[73, 73] );" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 222 61 "Convert a plot struc ture to polygon structure and use cutout:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "p := convert(plot3d(sin(x*y),x=-1..1,y=-1..1,grid=[8, 8]), POLYGONS):\n" }{MPLTEXT 1 0 28 "display3d( cutout(p, 1/3) );" }}} }{SECT 1 {PARA 4 "" 0 "" {TEXT 222 106 "Transform a cutout model of a n earlier tetrahedron by the powers of the rotation R and display tog ether:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with(plottools):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "R := Matrix([[.8090,.3090 ,.5000],[.3090,.5000,-.8090],[-.5000, .8090, .3090]]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "f:=transform((x,y,z)->convert(R.Vec tor([x,y,z]),list)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "q:= POLYGONS(seq(\n" }{MPLTEXT 1 0 52 "subsop(k=NULL, [seq( convert(a(l),l ist),l=0..3)]), \n" }{MPLTEXT 1 0 9 "k=1..4)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "display3d( \{cutout(q,4/5),f(cutout(q,4/5))\}); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "r:=seq(\n" }{MPLTEXT 1 0 20 "transform((x,y,z)->\n" }{MPLTEXT 1 0 38 "convert(evalm(R^(n)&*[x ,y,z]),list)),\n" }{MPLTEXT 1 0 8 "n=1..5):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "display3d(\{ seq( cutout(r[n](q),4/5), n=1..5)\}); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}} {MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 15 10 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }