(************** Content-type: application/mathematica ************** Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 40000, 1592]*) (*NotebookOutlinePosition[ 40861, 1623]*) (* CellTagsIndexPosition[ 40817, 1619]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{Cell[TextData[{ "Symbolic Geometry, Golden Spiral and ", StyleBox["Descartes-Geometry ", FontSlant->"Italic"], " " }], "Title", ImageRegion->{{0, 1}, {0, 1}}], Cell["Denis Monasse", "Subtitle", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[StyleBox["Mathsoft Overseas, CP 641, 1211 Geneva 3 \ (Switzerland)", FontSize->18]], "Subsubtitle", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "To be published in ", StyleBox["Mathematica", FontSlant->"Italic"], " ", StyleBox["in Education", FontSlant->"Italic"] }], "Text", TextAlignment->Center, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Availability", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["Descartes is a registered trade mark of Mathsoft Overseas, Inc. \ Copyright ", FontSize->18], StyleBox["\[Copyright] ", FontSize->18], StyleBox["1992, by Mathsoft Overseas, Inc.\n\nThe program Descartes", FontSize->18], StyleBox["\[RegisteredTrademark]", FontSize->18], StyleBox["-Geometry is available on any platform at 30 % of the ", FontSize->18], StyleBox["Mathematica ", FontSize->18, FontSlant->"Italic"], StyleBox["price. \n\nFor information and orders, please contact:\nMathsoft \ Overseas, cp 641, 1211 Geneva 3 (Switzerland). \nTel: 41 22 / 346 52 60. Fax: \ 41 22 / 346 59 39", FontSize->18] }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Introduction", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ In the seventeenth century, two french mathematicians, Pierre de Fermat and \ Ren\[CapitalIHat] Descartes, realized that algebra and geometry could be \ unified in a single science that was called analytic geometry. In fact, the \ recognition for the foundation of the new science went to Descartes although \ Fermat's work was a little earlier. The reason is due to the formalism used \ by Descartes who adopted the notation of modern algebra whereas Fermat had \ kept the cumbersome greek notations. Today, we can resume the treatment of \ analytic geometry in the context of the modern computers and information \ languages among which Mathematica is especially well adapted with its \ outstanding graphics facilities and its functional programming. \t\t\t\tLet us start\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Introduction", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tSymbolic algebra becomes familiar to a growing population of \ students and professional users but symbolic geometry is just emerging from \ the shade. ", StyleBox["Descartes-Geometry", FontSlant->"Italic"], " has been developed to cover all the domains of Euclidean geometry from \ graphics art to CAD, desktop publishing and, of course, education. The \ present package deals with 2D geometry, the 3D part being still under \ testing. It is written as a ", StyleBox["Mathematica", FontSlant->"Italic"], " library program and can be considered as an advanced language built on \ ", StyleBox["Mathematica", FontSlant->"Italic"], " graphics functions. There are specific virtues to symbolic geometry: the \ calculations being exact, the figures are rigorous and theorems can be proven \ or, at least, suggested by the constructions. Another aspect is the \ generalization of functional programming which can define families of \ figures. The example chosen here to illustrate this technique is the ", StyleBox["golden spiral", FontSlant->"Italic"], " which is made of arcs of circles deduced from each other by a set of \ given rules. Fractal geometry is one among many other fields of application \ which can be contemplated: wall papers, mosaics, molecular modeling, \ integrated electronic circuits, etc.\n\t\t\t\t\tStep by step, we shall show \ how to specify the relevant geometric objects. Geometric functions will then \ be coded to generate the spiral." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell[TextData[{ StyleBox["(* This code is used to produce Fig.1 and should not be \ reproduced inthe paper *)", FontFamily->"Times", FontWeight->"Plain"], "\no=POINT[0,0];\na1=POINT[1,0];\nx1=POINT[0,1/2];\n\ a2=POINT[0,(1+Sqrt[5])/2];\nan=Angle[x1.a1,x1.a2];\n\ x2=POINT[-(1+Sqrt[5])/4,0];\na3=POINT[-1-(1+Sqrt[5])/2,0];\n\ x3=POINT[0,(-1-(1+Sqrt[5])/2)/2];\na4=POINT[0,-2-Sqrt[5]];\n\ Draw[PointSize[.02],\n \ {a1,\"A1\",{-1,2}},{x1,\"X1\",{-2,1}},{a2,\"A2\",{-2,-1}},\n \ {x2,\"X2\",{1,-2}},{a3,\"A3\",{1,-2}},\n \ {x3,\"X3\",{-2,-1}},{a4,\"A4\",{-2,-1}},Red,\n \ ARC[x1,a1,an],ARC[x2,a1,Pi],ARC[x3,a2,Pi],\n Green,\n \ o.a1,o.x1,LINE[a1,a2],LINE[x2,x2>(a1.a2)],\n Interval->{{-3,2},{-5,2}}]" }], "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Definition of the Golden Spiral", "Section", PageBreakAbove->True, ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tThe first steps of the construction of a ", StyleBox["golden spiral", FontSlant->"Italic"], " are illustrated in Fig.1. \n\t\t\t\t\ta. A", StyleBox["1", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " is the point of coordinates (1,0) and X", StyleBox["1", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " the point of coordinates (0,1/2). The arc of circle of center X", StyleBox["1", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " passing through A", StyleBox["1", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " intersects the upper y-axis at A", StyleBox["2", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], ". \n\t\t\t\t\tb. The point X", StyleBox["2", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " lies on the left hand part of the x-axis at a distance OA", StyleBox["2", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], "/2 from the origin O. The half circle of center X", StyleBox["2", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " starting at A", StyleBox["1", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " intersects the left hand part of the x-axis at A", StyleBox["3", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], ". That arc of circle passes through A", StyleBox["2", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " but the property is not obvious. This is why the segment A", StyleBox["1", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], "A", StyleBox["2 ", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], "and its perpendicular bisector have been drawn to suggest a proof of the \ property. In passing, the figure drawn with the ", StyleBox["Descartes-Geometry", FontSlant->"Italic"], " command ", StyleBox["Draw", FontWeight->"Bold"], " repects all the peculiarities of the construct: this is the ", StyleBox["WYWIWYG", FontWeight->"Bold"], " (What You Want Is What You Get) aspect of ", StyleBox["Descartes-Geometry", FontSlant->"Italic"], ". \n\t\t\t\t\tc. X", StyleBox["3", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " on the lower part of the y-axis is at the distance OA", StyleBox["3", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], "/2 from O. The half circle centered at X", StyleBox["3", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " and starting at A", StyleBox["2", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], " cuts the y-axis at A", StyleBox["4", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], ". The property noted in b is still valid: the new circle passes through \ A", StyleBox["3", FontSize->6, FontVariations->{"CompatibilityType"->"Subscript"}], ".\n\t\t\t\t\td. The process is then repeated indefinitely. " }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1.4 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.595238 0.190476 0.985714 0.190476 [ [(A1)] 0.78571 0.98571 -1 2 Msboxa [(X1)] 0.59524 1.08095 -2 1 Msboxa [(A2)] 0.59524 1.29391 -2 -1 Msboxa [(X2)] 0.44114 0.98571 1 -2 Msboxa [(A3)] 0.09656 0.98571 1 -2 Msboxa [(X3)] 0.59524 0.73638 -2 -1 Msboxa [(A4)] 0.59524 0.17884 -2 -1 Msboxa [ 0 0 0 0 ] [ 1 1.4 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave 0.02 setlinewidth 0.78571 0.98571 Mdot [(A1)] 0.78571 0.98571 -1 2 Mshowa grestore gsave 0.02 setlinewidth 0.59524 1.08095 Mdot [(X1)] 0.59524 1.08095 -2 1 Mshowa grestore gsave 0.02 setlinewidth 0.59524 1.29391 Mdot [(A2)] 0.59524 1.29391 -2 -1 Mshowa grestore gsave 0.02 setlinewidth 0.44114 0.98571 Mdot [(X2)] 0.44114 0.98571 1 -2 Mshowa grestore gsave 0.02 setlinewidth 0.09656 0.98571 Mdot [(A3)] 0.09656 0.98571 1 -2 Mshowa grestore gsave 0.02 setlinewidth 0.59524 0.73638 Mdot [(X3)] 0.59524 0.73638 -2 -1 Mshowa grestore gsave 0.02 setlinewidth 0.59524 0.17884 Mdot [(A4)] 0.59524 0.17884 -2 -1 Mshowa grestore 1 0 0 setrgbcolor 0.004 setlinewidth newpath 0.59524 1.08095 0.21296 -26.5651 90 arc stroke newpath 0.44114 0.98571 0.34457 0 180 arc stroke newpath 0.59524 0.73638 0.55753 90 270 arc stroke 0 1 0 setrgbcolor 0.02381 0.98571 moveto 0.97619 0.98571 lineto stroke 0.59524 0.03333 moveto 0.59524 1.36667 lineto stroke 0.78571 0.98571 moveto 0.59524 1.29391 lineto stroke 0.44114 0.98571 moveto 0.69048 1.13981 lineto stroke grestore 0 0 moveto 1 0 lineto 1 1.4 lineto 0 1.4 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{205, 287}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[TextData[{ "Fig.1 Starting the construction of a ", StyleBox["golden spiral", FontSlant->"Italic"] }], "Text", TextAlignment->Center, ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\tThe golden spiral being defined by a recursive process, it will be \ drawn using:\ni. ", StyleBox["geometric objects", FontSlant->"Italic"], " : points, straight lines, circles, arcs of circle;\nii. ", StyleBox["geometric transformations", FontSlant->"Italic"], " : rotation and homothety;\niii.", StyleBox["geometric functions", FontSlant->"Italic"], " to define families of elements,\niv.", StyleBox["geometric arrays", FontSlant->"Italic"], " to construct the set of arcs of circle." }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Geometric objects", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tThere are seven basic geometric objects in ", StyleBox["Descartes-Geometry", FontSlant->"Italic"], ": ARC, CIRCLE, LINE, POINT, POLYGON, STRAIGHT and VECTOR. For the present \ exercise, we shall consider ARC, CIRCLE, POINT and STRAIGHT only." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Point", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ \t\t\t\t\tA point in the plane is characterized by its two coordinates and \ the head POINT. The origin, the points of coordinates (1,0) and (0,1/2) are \ respectively\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ o=POINT[0,0]; m=POINT[1,0]; p=POINT[0,1/2];\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "and they are represented and named using ", StyleBox["Draw", FontWeight->"Bold"] }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Draw[Red,PointSize[.02],{o,\"O\"},{m,\"M\"},{p,\"P\"}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 0.5 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.952381 0.0119048 0.952381 [ [(O)] 0.02381 0.0119 -1 -1 Msboxa [(M)] 0.97619 0.0119 -1 -1 Msboxa [(P)] 0.02381 0.4881 -1 -1 Msboxa [ 0 0 0 0 ] [ 1 0.5 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave 1 0 0 setrgbcolor gsave 0.02 setlinewidth 0.02381 0.0119 Mdot [(O)] 0.02381 0.0119 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.97619 0.0119 Mdot [(M)] 0.97619 0.0119 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.02381 0.4881 Mdot [(P)] 0.02381 0.4881 -1 -1 Mshowa grestore grestore 0 0 moveto 1 0 lineto 1 0.5 lineto 0 0.5 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{281, 140}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "The ", StyleBox["Mathematica", FontSlant->"Italic"], " directive ", StyleBox["PointSize", FontWeight->"Bold"], " has been added to improve the legibility of the points." }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Straight line", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Basic form", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ \t\t\t\t\tThe basic form of a straight line is STRAIGHT[u,v,w] where u, v, w \ are the coefficients of the equation of the straight line\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["u x + v y + w = 0", "Text", TextAlignment->Center, ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ (x,y ) being the coordinates of a point on the straight line. \ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ ox=STRAIGHT[0,1,0]; oy=STRAIGHT[1,0,0];\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Using two points", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tIt is very frequent to have a straight line defined by two \ points. The abbreviation for this function is \"", StyleBox[".", FontWeight->"Bold"], "\". The line which joins M to P is" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["d=m.p", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ STRAIGHT[-1/2, -1, 1/2]\ \>", "\<\ 1 1 STRAIGHT[-(-), -1, -] 2 2\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["All the objects defined up to now can be plotted:", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ Draw[PointSize[.02], {o,\"O\",{1,1}},{m,\"M\"},{p,\"P\",{1,1}},Red, ox,oy,d]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.47619 0.5 0.47619 [ [(O)] 0.5 0.5 1 1 Msboxa [(M)] 0.97619 0.5 -1 -1 Msboxa [(P)] 0.5 0.7381 1 1 Msboxa [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave 0.02 setlinewidth 0.5 0.5 Mdot [(O)] 0.5 0.5 1 1 Mshowa grestore gsave 0.02 setlinewidth 0.97619 0.5 Mdot [(M)] 0.97619 0.5 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.5 0.7381 Mdot [(P)] 0.5 0.7381 1 1 Mshowa grestore 1 0 0 setrgbcolor 0.004 setlinewidth 0.02381 0.5 moveto 0.97619 0.5 lineto stroke 0.5 0.02381 moveto 0.5 0.97619 lineto stroke 0.02381 0.97619 moveto 0.02381 0.97619 lineto 0.97619 0.5 lineto stroke grestore 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{282, 282}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ In order to avoid letters to be crossed by lines, the placing of the labels O \ and P in the representation of the points o and p has been explicitly \ specified with {1,1}. \ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Circle", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Using center and point", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tThe geometric object related to a circle has the head ", StyleBox["CIRCLE", FontWeight->"Bold"], " and the coordinates of the center and the radius as arguments. More \ often, the circle is defined by its center and a point, the abbreviated \ command is then \"", StyleBox["<", FontWeight->"Bold"], "\" which reminds the compass. The circle ", StyleBox["c ", FontSlant->"Italic"], "of center P passing through M is" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["c=p{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ CIRCLE[0, 1/2, 5^(1/2)/2]\ \>", "\<\ 1 Sqrt[5] CIRCLE[0, -, -------] 2 2\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Point on a circle", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tA point on a circle is defined by the command ", StyleBox["ParameterPoint", FontWeight->"Bold"], " whose first argument is the circle and the second argument is the angle \ made by a parallel to Ox through the center and the radius passing through \ the point. The point Q of parameter \:201e/2 on ", StyleBox["c", FontSlant->"Italic"], " is " }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["q=ParameterPoint[c,Pi/2]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ POINT[0, 1/2 + 5^(1/2)/2]\ \>", "\<\ 1 Sqrt[5] POINT[0, - + -------] 2 2\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "There comes the golden ratio. The constructions on the circle ", StyleBox["c", FontSlant->"Italic"], " are represented by " }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ Draw[PointSize[.02], {m,\"M\",{-3,0}},{p,\"P\"},{q,\"Q\",{-1,-2}},Red, c]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.425918 0.287041 0.425918 [ [(M)] 0.92592 0.28704 -3 0 Msboxa [(P)] 0.5 0.5 -1 -1 Msboxa [(Q)] 0.5 0.97619 -1 -2 Msboxa [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave 0.02 setlinewidth 0.92592 0.28704 Mdot [(M)] 0.92592 0.28704 -3 0 Mshowa grestore gsave 0.02 setlinewidth 0.5 0.5 Mdot [(P)] 0.5 0.5 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.5 0.97619 Mdot [(Q)] 0.5 0.97619 -1 -2 Mshowa grestore 1 0 0 setrgbcolor 0.004 setlinewidth newpath 0.5 0.5 0.47619 0 365.73 arc stroke grestore 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{282, 282}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Geometric Transformations", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ \t\t\t\t\tThe needed geometric transformations are rotation and homothety.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Rotation", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tUsing the command ", StyleBox["Rotate", FontWeight->"Bold"], "[POINT[a,b],t][obj], the geometric object ", StyleBox["obj ", FontSlant->"Italic"], "is rotated about the point of coordinates (a, b) by the angle t. The \ rotation of the point M by \:201e/2 about the origin is thus the point R \ defined by" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["mr=Rotate[o,Pi/2][m]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ POINT[0, 1]\ \>", "\<\ POINT[0, 1]\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Homothety", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tThe homothety of a geometric object ", StyleBox["obj ", FontSlant->"Italic"], "is given by ", StyleBox["Zoom", FontWeight->"Bold"], "[POINT[a,b],r] [obj]. a and b are the coordinates of the homothety center \ and r is the homothety ratio. The point H homothetic of R with respect to the \ origin and in the ratio 1/2 is " }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["mh=Zoom[o,1/2][mr]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ POINT[0, 1/2]\ \>", "\<\ 1 POINT[0, -] 2\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["The various transformations of m are represented by", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ Draw[PointSize[.02],{m,\"M\"},{mr,\"R\"},{mh,\"H\"},Red, ox,oy]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.47619 0.5 0.47619 [ [(M)] 0.97619 0.5 -1 -1 Msboxa [(R)] 0.5 0.97619 -1 -1 Msboxa [(H)] 0.5 0.7381 -1 -1 Msboxa [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave 0.02 setlinewidth 0.97619 0.5 Mdot [(M)] 0.97619 0.5 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.5 0.97619 Mdot [(R)] 0.5 0.97619 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.5 0.7381 Mdot [(H)] 0.5 0.7381 -1 -1 Mshowa grestore 1 0 0 setrgbcolor 0.004 setlinewidth 0.02381 0.5 moveto 0.97619 0.5 lineto stroke 0.5 0.02381 moveto 0.5 0.97619 lineto stroke grestore 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{278, 278}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Composition of transformations", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tWe have seen that the centers X of the arcs of the golden spiral \ were deduced from the points A by composing a rotation of center ", StyleBox["o", FontSlant->"Italic"], " and angle ", StyleBox["\:201e/2", FontSlant->"Italic"], " with a homothety of center ", StyleBox["o", FontSlant->"Italic"], " and ratio ", StyleBox["1/2", FontSlant->"Italic"], ". The global operator which composes rotation and homothety is ", StyleBox["ZR", FontWeight->"Bold"], ", obtained with the ", StyleBox["Mathematica", FontSlant->"Italic"], " command ", StyleBox["Composition", FontWeight->"Bold"], ":" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ ZR=Composition[Zoom[o,1/2],Rotate[o,Pi/2]]; Draw[PointSize[.02],{o,\"O\"},{m,\"M\"},{ZR[m],\"X\"}, Red,ox,oy]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.47619 0.5 0.47619 [ [(O)] 0.5 0.5 -1 -1 Msboxa [(M)] 0.97619 0.5 -1 -1 Msboxa [(X)] 0.5 0.7381 -1 -1 Msboxa [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave 0.02 setlinewidth 0.5 0.5 Mdot [(O)] 0.5 0.5 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.97619 0.5 Mdot [(M)] 0.97619 0.5 -1 -1 Mshowa grestore gsave 0.02 setlinewidth 0.5 0.7381 Mdot [(X)] 0.5 0.7381 -1 -1 Mshowa grestore 1 0 0 setrgbcolor 0.004 setlinewidth 0.02381 0.5 moveto 0.97619 0.5 lineto stroke 0.5 0.02381 moveto 0.5 0.97619 lineto stroke grestore 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{281, 281}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Geometric functions", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tUntil now, we had to deal with discrete objects. In the \ definition of the ", StyleBox["golden spiral", FontSlant->"Italic"], ", the points A, the centers X, the arcs of circle belong to families. It \ is then appropriate to use the concept of ", StyleBox["geometric function", FontSlant->"Italic"], ". \n\t\t\t\t\tA point function is a point whose coordinates depend on one \ or more variables. For instance, the relation which defines the centers X can \ be written" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["x[n_]:=x[n]=ZR[a[n]]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ where n is an integer variable. \t\t\t\t\tIn a circle function, center and point may depend on variables. We \ shall have to use\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["c[n_]:=c[n]=x[n-1]{{0, 1}, {0, 1}}], Cell["\<\ \t\t\t\t\tA geometric function may also involve a command using other \ geometric functions. The points A are defined by\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["a[n_]:=a[n]=N/@ParameterPoint[c[n],(n-1)*Pi/2]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ The calculations are speeded up by forcing the functions to remember their \ values calculated at an earlier iteration and by evaluating a[n] numerically. \ The definition of the geometric functions has to be completed by the initial \ conditions\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["a[0]=a[1]=POINT[1,0];", "Input", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Geometric arrays", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "\t\t\t\t\tIn ", StyleBox["Descartes-Geometry", FontSlant->"Italic"], ", the concept of list generation based on the ", StyleBox["Mathematica", FontSlant->"Italic"], " command ", StyleBox["Array", FontWeight->"Bold"], " has been extended to geometric arrays in the command ", StyleBox["ArrayG", FontWeight->"Bold"], ". In ", StyleBox["Array", FontWeight->"Bold"], ", the arguments are an operator and the number of elements of the list. In \ ", StyleBox["ArrayG", FontWeight->"Bold"], ", the arguments are also an operator, the number of elements in the list \ and, in addition, geometric functions that the operator acts upon.\n\t\t\t\t\t\ The half circles of the golden spiral can be created with ", StyleBox["ArrayG", FontWeight->"Bold"], " and the operator", StyleBox[" Arc", FontWeight->"Bold"], ". The arguments of ", StyleBox["Arc", FontWeight->"Bold"], " are the center of the arc, the starting point and the length of the arc. \ In addition, the end of the arc may be named say z. Here, it is convenient to \ redefine a new family of centers Y such that" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["y[n_]:=x[n+1]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ The starting points are the elements of the family a[n]. All the angles of \ rotation t are equal to \:201e so that we create the constant function\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["t[n_]=Pi;", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The number of elements of the geometric array is the sixth argument of ", StyleBox["ArrayG", FontWeight->"Bold"], ". To make sure that we get what we want, let us try to create the first \ half circle:" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["ArrayG[Arc,y,a,t,z,1]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 0.5 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.712959 0.263232 0.0119048 0.263232 [ [(a1)] 0.97619 0.0119 -1 0 Msboxa [(z1)] 0.02381 0.0119 1 0 Msboxa [ 0 0 0 0 ] [ 1 0.5 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.5 0.0119 0.47619 0 180 arc stroke [(a1)] 0.97619 0.0119 -1 0 Mshowa [(z1)] 0.02381 0.0119 1 0 Mshowa grestore grestore grestore 0 0 moveto 1 0 lineto 1 0.5 lineto 0 0.5 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{282, 141}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "In the case of the operator ", StyleBox["Arc", FontWeight->"Bold"], ", ", StyleBox["ArrayG", FontWeight->"Bold"], " produces a grahics object and, by default, displays it. For most \ operators however, the output of ArrayG is a list whose first element is a \ Graphics object and second element a list of substitution rules defining the \ generated objects analytically so that the way is paved for further \ graphical or analytical manipulations. \n We can now proceed with an \ arbitrary number of arcs, say 7, and we inhibit the naming of the arcs:" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["p1=ArrayG[Arc,y,a,t,z,7,Named->False]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 0.66915 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.308814 0.0142059 0.477078 0.0142059 [ [ 0 0 0 0 ] [ 1 0.669153 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.29732 0.47708 0.0257 0 180 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.45848 0.04158 90 270 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.3389 0.47708 0.06728 180 360 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.52576 0.10886 -90 90 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.23004 0.47708 0.17614 0 180 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.34962 0.285 90 270 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.51504 0.47708 0.46115 180 360 arc stroke grestore grestore grestore 0 0 moveto 1 0 lineto 1 0.66915 lineto 0 0.66915 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{282, 188}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "\t\t\t\t\tThe two end arcs have now to be added. When there is no regular \ law to construct a figure, it is still possible to define geometric arrays by \ giving the arguments in ", StyleBox["matrix ", FontSlant->"Italic"], "form. Here, the head of the command is ", StyleBox["Arc", FontWeight->"Bold"], " and each row contains the center, the starting point, the length and the \ name of the end points of a given arc." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ p2=Arc[{{x[1],a[1],Angle[a[1].x[1],oy],\"\",\"\"}, {x[9],a[8],Angle[oy,x[9].a[9]],\"\",\"\"}}]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 0.65248 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.0202726 0.604139 0.0202726 [ [ 0 0 0 0 ] [ 1 0.652476 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.02381 0.61428 0.02267 -26.5651 90 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.02381 1.08033 1.06479 -90 -26.5651 arc stroke grestore grestore grestore 0 0 moveto 1 0 lineto 1 0.65248 lineto 0 0.65248 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{282, 183}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ The angle is defined as the angle between the normal vectors of the straight \ lines and is therefore uniquely defined in magnitude and in sign.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Show[p1,p2]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 0.66915 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0.308814 0.0142059 0.477078 0.0142059 [ [ 0 0 0 0 ] [ 1 0.669153 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath %%Object: Graphics [ ] 0 setdash 0 setgray gsave grestore gsave gsave gsave gsave gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.29732 0.47708 0.0257 0 180 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.45848 0.04158 90 270 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.3389 0.47708 0.06728 180 360 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.52576 0.10886 -90 90 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.23004 0.47708 0.17614 0 180 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.34962 0.285 90 270 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.51504 0.47708 0.46115 180 360 arc stroke grestore grestore grestore grestore gsave gsave gsave gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.48418 0.01588 -26.5651 90 arc stroke grestore gsave 0 0 1 setrgbcolor 0.004 setlinewidth newpath 0.30881 0.81077 0.74615 -90 -26.5651 arc stroke grestore grestore grestore grestore grestore 0 0 moveto 1 0 lineto 1 0.66915 lineto 0 0.66915 lineto closepath clip newpath % End of Graphics MathPictureEnd\ \>"], "Graphics", ImageSize->{285, 190}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ The Unformatted text for this cell was not generated. Use options in the Actions Preferences dialog box to control when Unformatted text is generated.\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["This is the end of the exercise.", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Conclusion", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ The golden spiral has been used to illustrate the functionalities of \ Descartes-Geometry namely the construction of elementary figures and their \ assembly in an array defined by geometric functions. This example gives just \ a sampling of the facilities provided by Descartes-Geometry which contains \ more than hundred functions. The program is actually the symbolic image of a \ course of analytic geometry taught in high schools and colleges and updated \ with various objects such as the splines which are so common in graphical \ applications. \ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]] }, FrontEndVersion->"4.1 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 695}}, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{499, 599}, WindowMargins->{{147, Automatic}, {23, Automatic}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False} ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1727, 52, 170, 6, 70, "Title"], Cell[1900, 60, 66, 1, 70, "Subtitle"], Cell[1969, 63, 148, 3, 70, "Subsubtitle"], Cell[2120, 68, 221, 9, 70, "Text"], Cell[CellGroupData[{ Cell[2364, 79, 67, 1, 70, "Subsection"], Cell[2434, 82, 720, 20, 70, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[3186, 104, 67, 1, 70, "Subsection"], Cell[3256, 107, 830, 13, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[4118, 122, 64, 1, 70, "Section"], Cell[4185, 125, 1568, 30, 70, "Text"], Cell[CellGroupData[{ Cell[5776, 157, 781, 16, 70, "Input"], Cell[6560, 175, 248, 7, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[6849, 184, 107, 2, 70, "Section", PageBreakAbove->True], Cell[6959, 188, 3250, 96, 70, "Text"], Cell[10212, 286, 1928, 101, 70, 1785, 97, "GraphicsData", "PostScript", \ "Graphics"], Cell[12143, 389, 181, 6, 70, "Text"], Cell[12327, 397, 591, 16, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[12950, 415, 69, 1, 70, "Section"], Cell[13022, 418, 326, 7, 70, "Text"], Cell[CellGroupData[{ Cell[13371, 427, 60, 1, 70, "Subsection"], Cell[13434, 430, 224, 5, 70, "Text"], Cell[13661, 437, 101, 5, 70, "Input"], Cell[13765, 444, 150, 5, 70, "Text"], Cell[CellGroupData[{ Cell[13938, 451, 104, 1, 70, "Input"], Cell[14045, 454, 1016, 54, 70, 873, 50, "GraphicsData", "PostScript", \ "Graphics"], Cell[15064, 510, 248, 7, 70, "Output"] }, Open ]], Cell[15324, 519, 249, 9, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[15605, 530, 68, 1, 70, "Subsection"], Cell[CellGroupData[{ Cell[15696, 533, 68, 1, 70, "Subsubsection"], Cell[15767, 536, 194, 4, 70, "Text"], Cell[15964, 542, 91, 2, 70, "Text"], Cell[16058, 546, 119, 3, 70, "Text"], Cell[16180, 551, 97, 4, 70, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[16309, 557, 74, 1, 70, "Subsubsection"], Cell[16386, 560, 265, 7, 70, "Text"], Cell[CellGroupData[{ Cell[16674, 569, 55, 1, 70, "Input"], Cell[16732, 572, 173, 7, 70, "Output"] }, Open ]], Cell[16917, 581, 98, 1, 70, "Text"], Cell[CellGroupData[{ Cell[17038, 584, 144, 5, 70, "Input"], Cell[17185, 591, 1125, 65, 70, 982, 61, "GraphicsData", "PostScript", \ "Graphics"], Cell[18313, 658, 248, 7, 70, "Output"] }, Open ]], Cell[18573, 667, 232, 5, 70, "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[18846, 674, 61, 1, 70, "Subsection"], Cell[CellGroupData[{ Cell[18930, 677, 80, 1, 70, "Subsubsection"], Cell[19013, 680, 513, 14, 70, "Text"], Cell[CellGroupData[{ Cell[19549, 696, 55, 1, 70, "Input"], Cell[19607, 699, 172, 7, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[19820, 708, 75, 1, 70, "Subsubsection"], Cell[19898, 711, 433, 11, 70, "Text"], Cell[CellGroupData[{ Cell[20354, 724, 74, 1, 70, "Input"], Cell[20431, 727, 172, 7, 70, "Output"] }, Open ]], Cell[20615, 736, 195, 6, 70, "Text"], Cell[CellGroupData[{ Cell[20833, 744, 141, 5, 70, "Input"], Cell[20977, 751, 1035, 58, 70, 892, 54, "GraphicsData", "PostScript", \ "Graphics"], Cell[22015, 811, 248, 7, 70, "Output"] }, Open ]] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[22322, 820, 77, 1, 70, "Section"], Cell[22402, 823, 131, 3, 70, "Text"], Cell[CellGroupData[{ Cell[22556, 828, 63, 1, 70, "Subsection"], Cell[22622, 831, 394, 11, 70, "Text"], Cell[CellGroupData[{ Cell[23039, 844, 70, 1, 70, "Input"], Cell[23112, 847, 109, 5, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[23262, 854, 64, 1, 70, "Subsection"], Cell[23329, 857, 411, 11, 70, "Text"], Cell[CellGroupData[{ Cell[23763, 870, 68, 1, 70, "Input"], Cell[23834, 873, 133, 7, 70, "Output"] }, Open ]], Cell[23979, 882, 100, 1, 70, "Text"], Cell[CellGroupData[{ Cell[24102, 885, 126, 4, 70, "Input"], Cell[24231, 891, 1073, 61, 70, 930, 57, "GraphicsData", "PostScript", \ "Graphics"], Cell[25307, 954, 248, 7, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[25596, 963, 85, 1, 70, "Subsection"], Cell[25684, 966, 714, 25, 70, "Text"], Cell[CellGroupData[{ Cell[26421, 993, 172, 5, 70, "Input"], Cell[26596, 1000, 1061, 61, 70, 918, 57, "GraphicsData", "PostScript", \ "Graphics"], Cell[27660, 1063, 248, 7, 70, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[27958, 1072, 71, 1, 70, "Section"], Cell[28032, 1075, 559, 13, 70, "Text"], Cell[28594, 1090, 70, 1, 70, "Input"], Cell[28667, 1093, 186, 5, 70, "Text"], Cell[28856, 1100, 75, 1, 70, "Input"], Cell[28934, 1103, 177, 4, 70, "Text"], Cell[29114, 1109, 96, 1, 70, "Input"], Cell[29213, 1112, 303, 6, 70, "Text"], Cell[29519, 1120, 71, 1, 70, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[29622, 1123, 68, 1, 70, "Section"], Cell[29693, 1126, 1198, 35, 70, "Text"], Cell[30894, 1163, 63, 1, 70, "Input"], Cell[30960, 1166, 204, 4, 70, "Text"], Cell[31167, 1172, 59, 1, 70, "Input"], Cell[31229, 1175, 275, 7, 70, "Text"], Cell[CellGroupData[{ Cell[31527, 1184, 71, 1, 70, "Input"], Cell[31601, 1187, 879, 48, 70, 736, 44, "GraphicsData", "PostScript", \ "Graphics"], Cell[32483, 1237, 248, 7, 70, "Output"] }, Open ]], Cell[32743, 1246, 636, 14, 70, "Text"], Cell[CellGroupData[{ Cell[33402, 1262, 87, 1, 70, "Input"], Cell[33492, 1265, 1377, 86, 70, 1234, 82, "GraphicsData", "PostScript", \ "Graphics"], Cell[34872, 1353, 248, 7, 70, "Output"] }, Open ]], Cell[35132, 1362, 501, 12, 70, "Text"], Cell[CellGroupData[{ Cell[35656, 1376, 160, 4, 70, "Input"], Cell[35819, 1382, 883, 51, 70, 740, 47, "GraphicsData", "PostScript", \ "Graphics"], Cell[36705, 1435, 248, 7, 70, "Output"] }, Open ]], Cell[36965, 1444, 201, 4, 70, "Text"], Cell[CellGroupData[{ Cell[37189, 1450, 61, 1, 70, "Input"], Cell[37253, 1453, 1667, 110, 70, 1524, 106, "GraphicsData", "PostScript", \ "Graphics"], Cell[38923, 1565, 248, 7, 70, "Output"] }, Open ]], Cell[39183, 1574, 81, 1, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[39296, 1577, 62, 1, 70, "Section"], Cell[39361, 1580, 618, 11, 70, "Text"] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)