(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 7.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 98393, 2829] NotebookOptionsPosition[ 83809, 2473] NotebookOutlinePosition[ 94048, 2702] CellTagsIndexPosition[ 94005, 2699] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell["Math 421 \[FilledSmallCircle] Fall 2010", "Subsubtitle", CellChangeTimes->{{3.4910584115*^9, 3.4910584118125*^9}}, TextAlignment->Center], Cell[CellGroupData[{ Cell[TextData[{ "Example: visualize the mapping ", Cell[BoxData[ FormBox[ RowBox[{"z", "\[Function]", SuperscriptBox["z", "2"]}], TraditionalForm]], "None"] }], "Subtitle", CellChangeTimes->{{3.494761508287125*^9, 3.494761534443375*^9}, { 3.49514180465625*^9, 3.49514182103125*^9}, {3.495573199890625*^9, 3.4955732221875*^9}}, TextAlignment->Center], Cell["8 October 2010", "Subsubtitle", CellChangeTimes->{{3.48893028171875*^9, 3.48893030315625*^9}, { 3.489583451984375*^9, 3.489583455796875*^9}, 3.49028881771875*^9, { 3.4905515529375*^9, 3.490551553125*^9}, 3.490875430171875*^9, { 3.492293113328125*^9, 3.492293120375*^9}, 3.49346163509375*^9, { 3.49410698178125*^9, 3.494106982265625*^9}, 3.494416320359375*^9, 3.49514357190625*^9, {3.49514368434375*^9, 3.495143687125*^9}, 3.495573226203125*^9}, TextAlignment->Center, TextJustification->0], Cell["\<\ Copyright \[Copyright] 2010 by Murray Eisenberg. All rights reserved.\ \>", "SmallText", ShowCellTags->False, CellChangeTimes->{{3.4910584066875*^9, 3.49105843275*^9}, 3.49444721809375*^9}, TextAlignment->Center, TextJustification->0], Cell[CellGroupData[{ Cell["Introduction", "Section", CellChangeTimes->{{3.49557325365625*^9, 3.495573255609375*^9}}], Cell[TextData[{ "In this notebook we show how the squaring function ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "(", "z", ")"}], "=", SuperscriptBox["z", "2"]}], TraditionalForm]], FormatType->"TraditionalForm"], " maps the plane. First we use polar coordinates to map a circular sector. \ Second we use Cartesian coordinates to map a rectangular region. In each case \ we proceed from simple static drawings to interactive dynamic presentations." }], "Text", CellChangeTimes->{{3.495573266984375*^9, 3.49557334278125*^9}, { 3.495725933203125*^9, 3.49572609865625*^9}, {3.49572616278125*^9, 3.495726168203125*^9}}], Cell["\<\ This is an annotated version of the live development of these two examples \ done in class.\ \>", "Text", CellChangeTimes->{{3.49580619365625*^9, 3.49580622096875*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Initialization", "Section", CellChangeTimes->{{3.495143828078125*^9, 3.49514383128125*^9}}], Cell[TextData[{ "Load the ", StyleBox["Presentations", FontSlant->"Italic"], " add-on:" }], "Text", CellChangeTimes->{{3.4957261103125*^9, 3.4957261175*^9}}], Cell[BoxData[ RowBox[{"<<", "Presentations`"}]], "Input", InitializationCell->True, CellChangeTimes->{{3.49514383353125*^9, 3.4951438371875*^9}}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "The function ", Cell[BoxData[ FormBox[ RowBox[{"z", "\[Function]", SuperscriptBox["z", "2"]}], TraditionalForm]], "None", FormatType->"TraditionalForm"] }], "Section", CellChangeTimes->{{3.495573383578125*^9, 3.49557339190625*^9}}], Cell[TextData[{ "In ", StyleBox["Mathematica", FontSlant->"Italic"], ", the squaring function can be defined either by the familiar ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"f", "(", "z", ")"}], "=", SuperscriptBox["z", "2"]}], TraditionalForm]], FormatType->"TraditionalForm"], " \"by-formula\" method or else by the \"mapping\" method ", Cell[BoxData[ FormBox[ RowBox[{"z", "\[Function]", SuperscriptBox["z", "2"]}], TraditionalForm]], FormatType->"TraditionalForm"], "." }], "Text", CellChangeTimes->{{3.495573396140625*^9, 3.49557346834375*^9}, { 3.495573538328125*^9, 3.49557356571875*^9}}], Cell["First, the familiar \"by formula\" method:", "Text", CellChangeTimes->{{3.495573513*^9, 3.495573532046875*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"f", "[", "z_", "]"}], ":=", SuperscriptBox["z", "2"]}]], "Input", CellChangeTimes->{{3.49557347040625*^9, 3.49557347375*^9}}], Cell[BoxData[ RowBox[{"f", "[", RowBox[{"2", "+", "\[ImaginaryI]"}], "]"}]], "Input", CellChangeTimes->{{3.495573487484375*^9, 3.49557349328125*^9}}], Cell[TextData[{ "Second, the \"mapping method\". The symbol ", Cell[BoxData[ FormBox[ StyleBox["\[Function]", FontWeight->"Bold"], TraditionalForm]]], " used is typed as ", StyleBox["\[EscapeKey]", FontFamily->"Courier", FontSize->14, FontWeight->"Plain", FontSlant->"Plain"], StyleBox["fn", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], StyleBox["\[EscapeKey]", FontFamily->"Courier", FontSize->14, FontWeight->"Plain", FontSlant->"Plain"], "." }], "Text", CellChangeTimes->{{3.495573571890625*^9, 3.49557359453125*^9}, { 3.495573632984375*^9, 3.495573639921875*^9}}], Cell[BoxData[ RowBox[{"Clear", "[", "f", "]"}]], "Input", CellChangeTimes->{{3.495573496234375*^9, 3.495573497328125*^9}}], Cell[BoxData[ RowBox[{"f", ":=", RowBox[{"z", "\[Function]", SuperscriptBox["z", "2"]}]}]], "Input", CellChangeTimes->{{3.495573500375*^9, 3.495573506828125*^9}}], Cell[BoxData[ RowBox[{"f", "[", RowBox[{"2", "+", "\[ImaginaryI]"}], "]"}]], "Input", CellChangeTimes->{{3.495573666125*^9, 3.4955736689375*^9}}], Cell[TextData[{ "The input ", Cell[BoxData[ RowBox[{"z", "\[Function]", SuperscriptBox["z", "2"]}]], CellChangeTimes->{{3.495573500375*^9, 3.495573506828125*^9}}], " is actually an abbreviation for an \"anonymous function\"\[LongDash]what \ is called a ", StyleBox["pure function", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]], " in ", StyleBox["Mathematica", FontSlant->"Italic"], "\[LongDash]whose full form is:\n\t", Cell[BoxData[ RowBox[{"Function", "[", RowBox[{"z", ",", SuperscriptBox["z", "2"]}], "]"}]], CellChangeTimes->{{3.495573827875*^9, 3.495573837546875*^9}}] }], "Text", CellChangeTimes->{{3.495573754109375*^9, 3.49557385528125*^9}, { 3.495582980046875*^9, 3.4955829830625*^9}}, ParagraphSpacing->{0.5, 0}, FontFamily->"Times", FontWeight->"Plain", FontSlant->"Plain"], Cell["\<\ Such a function can be used without assigning it a name, as in:\ \>", "Text", CellChangeTimes->{{3.495573890765625*^9, 3.495573905390625*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Function", "[", RowBox[{"z", ",", SuperscriptBox["z", "2"]}], "]"}], "[", RowBox[{"2", "+", "\[ImaginaryI]"}], "]"}]], "Input", CellChangeTimes->{{3.495573827875*^9, 3.495573837546875*^9}, { 3.49557390815625*^9, 3.495573911875*^9}}], Cell[TextData[{ "Or it can be given a name, such as ", StyleBox["f,", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], "as was done earlier." }], "Text", CellChangeTimes->{{3.495573915875*^9, 3.49557395396875*^9}}], Cell[TextData[{ "Yet another way to express such an anonymous\[LongDash]that is, pure\ \[LongDash]function in ", StyleBox["Mathematica", FontSlant->"Italic"], " is with a syntax that avoids even any specific name for the variable \ involved but that uses, instead the generic variable ", StyleBox["Slot", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", abbreviated ", StyleBox["#", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ":\n\t", Cell[BoxData[ FormBox[ SuperscriptBox["#", "2"], TraditionalForm]], FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], StyleBox["&", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], "\nIn such notation, it is crucial to include the terminating ", StyleBox["&", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " to indicate that what precedes it is a pure function." }], "Text", CellChangeTimes->{{3.49557396184375*^9, 3.4955740878125*^9}, { 3.495574120734375*^9, 3.495574137671875*^9}, 3.4955830083125*^9, 3.495806266546875*^9}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[ RowBox[{ RowBox[{ SuperscriptBox["#", "2"], "&"}], "[", RowBox[{"2", "+", "\[ImaginaryI]"}], "]"}]], "Input", CellChangeTimes->{{3.495574095015625*^9, 3.495574104765625*^9}}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Problem 1: image of a circular sector", FontWeight->"Bold"]], "Section", CellChangeTimes->{{3.4947615442715*^9, 3.494761647068375*^9}, { 3.49514183146875*^9, 3.495141882265625*^9}, 3.495143800125*^9, { 3.49558304946875*^9, 3.495583108109375*^9}}], Cell[TextData[{ "The problem is to visualize how ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " maps the quarter-circular domain\n\t", Cell[BoxData[ FormBox[ RowBox[{"Q", "=", RowBox[{"{", RowBox[{ RowBox[{"z", "\[Element]", RowBox[{"\[DoubleStruckCapitalC]", " ", ":", " ", RowBox[{"|", "z", "|", RowBox[{"<", "2"}]}]}]}], ",", " ", RowBox[{"0", "<", RowBox[{"Arg", "(", "z", ")"}], "<", FractionBox["\[Pi]", "2"]}]}], "}"}]}], TraditionalForm]]], "." }], "Text", CellChangeTimes->{{3.495584472890625*^9, 3.49558461490625*^9}, { 3.49572636159375*^9, 3.495726372515625*^9}}, ParagraphSpacing->{0.5, 0}], Cell["\<\ Since the domain has symmetry about the origin, it is natural to use polar \ coordinates to describe it.\ \>", "Text", CellChangeTimes->{{3.495624719203125*^9, 3.495624923671875*^9}, { 3.4956250006875*^9, 3.4956251971875*^9}, {3.495625232765625*^9, 3.49562528934375*^9}, {3.49572646275*^9, 3.495726499390625*^9}}, ParagraphSpacing->{0.5, 0}], Cell[CellGroupData[{ Cell["\<\ The region and its image\[LongDash]unadorned\ \>", "Subsection", CellChangeTimes->{{3.495726508625*^9, 3.495726515859375*^9}, 3.495726548453125*^9, {3.495726627171875*^9, 3.49572663065625*^9}}], Cell[TextData[{ "Form a polar grid of rays and circular arcs by using ", StyleBox["DrawPolarMap", FontFamily->"Courier", FontWeight->"Bold", FontSlant->"Plain"], ".\nThe second, list, argument \n\t", StyleBox["{z,\[ThinSpace]ComplexPolar[0,0],\[ThinSpace]ComplexPolar[2,\[Pi]/\ 2]}", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], "\nof ", StyleBox["DrawPolarMap", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " uses the ", StyleBox["Presentations", FontSlant->"Italic"], " function ", StyleBox["ComplexPolar", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " to specify the extent of the domain." }], "Text", CellChangeTimes->{{3.495624719203125*^9, 3.495624923671875*^9}, { 3.4956250006875*^9, 3.4956251971875*^9}, {3.495625232765625*^9, 3.49562528934375*^9}, {3.49572646275*^9, 3.495726520390625*^9}, 3.495726619140625*^9, {3.49580072353125*^9, 3.4958007308125*^9}, { 3.495800762015625*^9, 3.495800781859375*^9}}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[ RowBox[{ RowBox[{"polargrid", "=", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.49572664603125*^9, 3.495726657515625*^9}}], Cell["Draw the domain:", "Text", CellChangeTimes->{{3.495800887796875*^9, 3.49580089365625*^9}}], Cell[BoxData[ RowBox[{"polardomain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "polargrid", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.495726588609375*^9, 3.495726601765625*^9}, { 3.49572667603125*^9, 3.49572667725*^9}, {3.495727347921875*^9, 3.495727348875*^9}, {3.49580123175*^9, 3.495801244140625*^9}}], Cell[TextData[{ "Draw the image; the expression ", StyleBox["polargrid\[ThinSpace]//\[ThinSpace]ComplexMap[f]", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " does all the work of calculating the images of the grid's rays and \ circular arcs:" }], "Text", CellChangeTimes->{{3.4958008995625*^9, 3.4958009471875*^9}, { 3.495800992625*^9, 3.4958010018125*^9}, {3.495801509890625*^9, 3.495801512078125*^9}}], Cell[BoxData[ RowBox[{"polarimage", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polargrid", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.495726667203125*^9, 3.49572669353125*^9}, { 3.495727353140625*^9, 3.4957273538125*^9}, {3.495800965875*^9, 3.495800983546875*^9}, {3.495801249734375*^9, 3.495801252453125*^9}}], Cell["Combine the domain and image drawings into a single figure:", "Text", CellChangeTimes->{{3.495584140078125*^9, 3.495584158328125*^9}, { 3.495584394546875*^9, 3.495584409859375*^9}, 3.4957267456875*^9}], Cell[BoxData[ RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"polardomain", ",", "polarimage"}], "}"}], "]"}]], "Input", CellChangeTimes->{{3.49572670065625*^9, 3.49572670590625*^9}, { 3.495727356890625*^9, 3.49572736196875*^9}}], Cell[TextData[{ "Both domain and image used the same ", StyleBox["PlotRange", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " setting for the width. This was in order to keep the scale the same \ between the domain and image drawings when they were combined into the \ preceding figure." }], "Text", CellChangeTimes->{{3.495584230109375*^9, 3.495584315578125*^9}}], Cell["\<\ Here is all the code together. Now the separate drawings of the domain and \ image are suppressed (with terminating semicolons); only the final \ \"two-panel polar plot\" is displayed:\ \>", "Text", CellChangeTimes->{{3.495801011171875*^9, 3.4958010148125*^9}, { 3.49580105640625*^9, 3.4958011095625*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"polargrid", "=", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"polardomain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "polargrid", "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"polarimage", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polargrid", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\n", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"polardomain", ",", "polarimage"}], "}"}], "]"}]}], "Input", CellChangeTimes->{{3.49572664603125*^9, 3.495726657515625*^9}, { 3.495801030625*^9, 3.495801051984375*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["\<\ The region and its image\[LongDash]enhanced drawings\ \>", "Subsection", CellChangeTimes->{{3.495726508625*^9, 3.495726515859375*^9}, 3.495726548453125*^9, {3.495726627171875*^9, 3.49572663065625*^9}, { 3.49572676390625*^9, 3.495726779640625*^9}}], Cell[TextData[{ "Enhance the drawings by specifying a background color for the grid; \ differently coloring the rays and circular arcs of the polar grid; and by \ dashing the boundary. To do so, use an ", StyleBox["Opacity", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " graphics directive, and in ", StyleBox["DrawPolarMap", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " use the options ", StyleBox["MeshStyle", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " and ", StyleBox["BoundaryStyle", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ". The rest of the code remains the same." }], "Text", CellChangeTimes->{{3.495726783515625*^9, 3.495726923375*^9}, { 3.495727099546875*^9, 3.495727213546875*^9}, {3.495801852125*^9, 3.49580186125*^9}, {3.495801960546875*^9, 3.4958019759375*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"polargrid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}], ",", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Black", ",", "Dashed"}], "]"}]}]}], "]"}]}], "}"}]}], ";"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polardomain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "polargrid", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarimage", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polargrid", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"polardomain", ",", "polarimage"}], "}"}], "]"}]}], "Input", CellChangeTimes->{{3.49553560692775*^9, 3.495535645255875*^9}, { 3.49553568730275*^9, 3.49553568817775*^9}, {3.495537522630875*^9, 3.495537535130875*^9}, {3.495625317921875*^9, 3.49562531984375*^9}, { 3.495726377734375*^9, 3.495726385953125*^9}, {3.4957269691875*^9, 3.4957270654375*^9}, {3.495727375203125*^9, 3.49572738671875*^9}, { 3.495801278828125*^9, 3.49580129028125*^9}, 3.4958018778125*^9}] }, Closed]], Cell[CellGroupData[{ Cell["The region with static objects and their images", "Subsection", CellChangeTimes->{{3.495726563*^9, 3.495726575390625*^9}, 3.495799965015625*^9}], Cell[TextData[{ "To see how ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " maps parts of the region's boundary, highlight the ray ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Arg", "(", "z", ")"}], "=", RowBox[{"\[Pi]", "/", "2"}]}], TraditionalForm]]], " and the arc ", Cell[BoxData[ FormBox[ RowBox[{"|", "z", "|", RowBox[{"=", "2"}]}], TraditionalForm]]], " in the domain and their images.\nTo ensure that ", StyleBox["Presentations", FontSlant->"Italic"], " will calculate their images correctly, you have to define the ray and arc \ as ", StyleBox["ComplexCurve", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " objects rather than as a ", StyleBox["ComplexLine", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " and a ", StyleBox["ComplexCircle", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], "." }], "Text", CellChangeTimes->{{3.495625568875*^9, 3.495625660390625*^9}, { 3.49572726053125*^9, 3.495727292875*^9}, {3.495727398859375*^9, 3.495727415421875*^9}, {3.4958000988125*^9, 3.495800157171875*^9}}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"ray", "=", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.01", "]"}], ",", "Dashed", ",", "Red", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"t", RowBox[{"(", RowBox[{"2", "\[ImaginaryI]"}], ")"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"arc", "=", RowBox[{"{", RowBox[{"Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "Dashed", ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[ImaginaryI]", " ", "\[Theta]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polargrid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}], ",", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Black", ",", "Dashed"}], "]"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarDomainObjects", "=", RowBox[{"{", RowBox[{"polargrid", ",", "ray", ",", "arc"}], "}"}]}], ";"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polardomain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "polarDomainObjects", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarimage", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polarDomainObjects", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"polardomain", ",", "polarimage"}], "}"}], "]"}]}], "Input", CellChangeTimes->{{3.495625665796875*^9, 3.49562571846875*^9}, { 3.49572621603125*^9, 3.495726243015625*^9}, {3.495726276796875*^9, 3.495726302125*^9}, {3.495726337890625*^9, 3.495726346359375*^9}, { 3.495726398078125*^9, 3.49572643915625*^9}, {3.49572730496875*^9, 3.49572734259375*^9}, {3.495727436296875*^9, 3.495727503359375*^9}, { 3.49580130165625*^9, 3.4958013106875*^9}, 3.4958018814375*^9, 3.49580232271875*^9, {3.495805602453125*^9, 3.495805608765625*^9}}], Cell[TextData[{ "In the definition of ", StyleBox["polarimage", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " above, the entire calculation of the images of the grid and the \ highlighted ray and arc is performed by the expression ", StyleBox["polarDomainObjects\[ThinSpace]//\[ThinSpace]ComplexMap[f]", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], "." }], "Text", CellChangeTimes->{{3.49580018525*^9, 3.49580026984375*^9}, { 3.495801501359375*^9, 3.4958015035*^9}, {3.49580476928125*^9, 3.495804769953125*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["The region with dynamic objects and their images", "Subsection", CellChangeTimes->{{3.495726563*^9, 3.495726575390625*^9}, { 3.495727539953125*^9, 3.49572754103125*^9}, 3.49579996884375*^9}], Cell[TextData[{ "Now instead of the fixed ray ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Arg", "(", "z", ")"}], "=", RowBox[{"\[Pi]", "/", "2"}]}], TraditionalForm]]], ", use a dynamically variable ray." }], "Text", CellChangeTimes->{{3.495625568875*^9, 3.495625660390625*^9}, { 3.49572726053125*^9, 3.495727292875*^9}, {3.495727398859375*^9, 3.495727415421875*^9}, {3.495727546421875*^9, 3.4957276604375*^9}, { 3.495727722109375*^9, 3.49572775996875*^9}, {3.495728009234375*^9, 3.495728009953125*^9}, {3.49579997553125*^9, 3.4957999873125*^9}}], Cell[TextData[{ "To do this, first change the fixed object ", StyleBox["ray", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " into a function of its polar angle ", StyleBox["\[Theta]", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ". Accordingly, make ", StyleBox["polardomain", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["polarimage", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", etc., into functions of ", StyleBox["\[Theta]", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", too.\nIn order to recycle the use of these names from fixed objects to \ functions, you must clear the previous meanings of those names." }], "Text", CellChangeTimes->{{3.495625568875*^9, 3.495625660390625*^9}, { 3.49572726053125*^9, 3.495727292875*^9}, {3.495727398859375*^9, 3.495727415421875*^9}, {3.495727546421875*^9, 3.4957276604375*^9}, { 3.495727722109375*^9, 3.49572775996875*^9}, {3.495728009234375*^9, 3.4957281081875*^9}, {3.495800003890625*^9, 3.495800023875*^9}, { 3.49580520628125*^9, 3.49580522521875*^9}}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[ RowBox[{"Clear", "[", RowBox[{ "ray", ",", "arc", ",", "polardomain", ",", "polarDomainObjects", ",", "polarimage"}], "]"}]], "Input", CellChangeTimes->{{3.4957276615625*^9, 3.495727678546875*^9}, { 3.495727850296875*^9, 3.495727851*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"ray", "[", "\[Theta]_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.01", "]"}], ",", "Red", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"t", RowBox[{"(", RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[Theta]", " ", "\[ImaginaryI]"}], "]"}]}], ")"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"arc", "=", RowBox[{"{", RowBox[{"Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "Dashed", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[ImaginaryI]", " ", "\[Theta]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polargrid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}], ",", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Black", ",", "Dashed"}], "]"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarDomainObjects", "[", "\[Theta]_", "]"}], ":=", RowBox[{"{", RowBox[{"polargrid", ",", RowBox[{"ray", "[", "\[Theta]", "]"}], ",", "arc"}], "}"}]}], "\[IndentingNewLine]"}], "\n", RowBox[{ RowBox[{ RowBox[{"polardomain", "[", "\[Theta]_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polarDomainObjects", "[", "\[Theta]", "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarimage", "[", "\[Theta]_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"polarDomainObjects", "[", "\[Theta]", "]"}], "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"polarFigure", "[", "\[Theta]_", "]"}], ":=", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{ RowBox[{"polardomain", "[", "\[Theta]", "]"}], ",", RowBox[{"polarimage", "[", "\[Theta]", "]"}]}], "}"}], "]"}]}]}], "Input", CellChangeTimes->{{3.495625665796875*^9, 3.49562571846875*^9}, { 3.49572621603125*^9, 3.495726243015625*^9}, {3.495726276796875*^9, 3.495726302125*^9}, {3.495726337890625*^9, 3.495726346359375*^9}, { 3.495726398078125*^9, 3.49572643915625*^9}, {3.49572730496875*^9, 3.49572734259375*^9}, {3.495727436296875*^9, 3.495727503359375*^9}, { 3.4957276844375*^9, 3.495727704515625*^9}, {3.495727784625*^9, 3.49572786621875*^9}, {3.49572792415625*^9, 3.49572799565625*^9}, { 3.495728152859375*^9, 3.49572815334375*^9}, {3.49572821415625*^9, 3.495728215359375*^9}, {3.49572826825*^9, 3.495728283046875*^9}, { 3.495728400921875*^9, 3.49572841496875*^9}, {3.4958013249375*^9, 3.495801330484375*^9}, 3.4958018900625*^9, 3.495805393625*^9, { 3.495805592921875*^9, 3.495805594515625*^9}}], Cell["For example:", "Text", CellChangeTimes->{{3.495728120234375*^9, 3.49572812209375*^9}}], Cell[BoxData[ RowBox[{"polarFigure", "[", RowBox[{"\[Pi]", "/", "6"}], "]"}]], "Input", CellChangeTimes->{{3.495727894984375*^9, 3.4957279125625*^9}, { 3.495728141578125*^9, 3.495728149421875*^9}, 3.49572842521875*^9}], Cell["\<\ Now make the figure dynamic, with the ray's angle as control variable.\ \>", "Text", CellChangeTimes->{{3.4957282313125*^9, 3.495728245265625*^9}, { 3.495728431203125*^9, 3.4957284355*^9}}], Cell[BoxData[ RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"polarFigure", "[", "\[Theta]", "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Theta]", ",", RowBox[{"\[Pi]", "/", "4"}]}], "}"}], ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.495728442609375*^9, 3.495728474328125*^9}}], Cell["Here's all the code put together. ", "Text", CellChangeTimes->{{3.49572851228125*^9, 3.49572861240625*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"Clear", "[", RowBox[{ "ray", ",", "arc", ",", "polardomain", ",", "polarDomainObjects", ",", "polarimage"}], "]"}], "\n", " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"ray", "[", "\[Theta]_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.01", "]"}], ",", "Red", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"t", RowBox[{"(", RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[Theta]", " ", "\[ImaginaryI]"}], "]"}]}], ")"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"arc", "=", RowBox[{"{", RowBox[{"Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "Dashed", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[ImaginaryI]", " ", "\[Theta]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polargrid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}], ",", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Black", ",", "Dashed"}], "]"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarDomainObjects", "[", "\[Theta]_", "]"}], ":=", RowBox[{"{", RowBox[{"polargrid", ",", RowBox[{"ray", "[", "\[Theta]", "]"}], ",", "arc"}], "}"}]}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polardomain", "[", "\[Theta]_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polarDomainObjects", "[", "\[Theta]", "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"polarimage", "[", "\[Theta]_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"polarDomainObjects", "[", "\[Theta]", "]"}], "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{ RowBox[{"polardomain", "[", "\[Theta]", "]"}], ",", RowBox[{"polarimage", "[", "\[Theta]", "]"}]}], "}"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Theta]", ",", RowBox[{"\[Pi]", "/", "4"}]}], "}"}], ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "\[IndentingNewLine]", "]"}]}], "Input", CellChangeTimes->{{3.4957276615625*^9, 3.495727678546875*^9}, { 3.495727850296875*^9, 3.495727851*^9}, {3.495728758421875*^9, 3.495728777390625*^9}, 3.49572885728125*^9, 3.49572909603125*^9, 3.495801341109375*^9, 3.495801894*^9, 3.495805386890625*^9, { 3.495805576921875*^9, 3.495805578375*^9}}], Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold"], StyleBox[ CounterBox["Exercise"], FontWeight->"Bold"], StyleBox[".", FontWeight->"Bold"], " Similarly, vary dynamically the radius of the circular arc in the domain \ and its image." }], "Exercise", CellChangeTimes->{{3.495758160265625*^9, 3.495758164578125*^9}, { 3.495758215875*^9, 3.495758264015625*^9}}], Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold"], StyleBox[ CounterBox["Exercise"], FontWeight->"Bold"], StyleBox[".", FontWeight->"Bold"], " Use two controls that dynamically vary both the angle of a ray and the \ radius of a circular arc in the domain and their images." }], "Exercise", CellChangeTimes->{{3.495758160265625*^9, 3.495758164578125*^9}, { 3.495758215875*^9, 3.495758325453125*^9}}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "Localizing the names (", StyleBox["advanced", FontSlant->"Italic"], ")" }], "Subsection", CellChangeTimes->{{3.49580032684375*^9, 3.49580034178125*^9}, { 3.49580584709375*^9, 3.495805849828125*^9}}], Cell[TextData[{ "In order to completely isolate the names ", StyleBox["ray", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["polardomain", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["arc", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["polargrid", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", etc., make these into \"local\" variables inside a ", StyleBox["Module", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " expression." }], "Text", CellChangeTimes->{{3.49575848525*^9, 3.49575854140625*^9}, { 3.495800348515625*^9, 3.495800377015625*^9}, {3.49580046671875*^9, 3.4958004793125*^9}}], Cell[BoxData[ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "polargrid", ",", "arc", ",", "ray", ",", "polarDomainObjects", ",", "polardomain", ",", "polarimage"}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"polargrid", "=", RowBox[{"{", RowBox[{"DrawPolarMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"ComplexPolar", "[", RowBox[{"0", ",", "0"}], "]"}], ",", RowBox[{"ComplexPolar", "[", RowBox[{"2", ",", RowBox[{"\[Pi]", "/", "2"}]}], "]"}]}], "}"}], ",", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Black", ",", "Dashed"}], "]"}]}]}], "]"}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"arc", "=", RowBox[{"{", RowBox[{"Thick", ",", "Green", ",", "Dashed", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[ImaginaryI]", " ", "\[Theta]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}]}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"ray", "[", "\[Theta]_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"Thickness", "[", "0.01", "]"}], ",", "Red", ",", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{"t", RowBox[{"(", RowBox[{"2", RowBox[{"Exp", "[", RowBox[{"\[Theta]", " ", "\[ImaginaryI]"}], "]"}]}], ")"}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"polarDomainObjects", "[", "\[Theta]_", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", "polargrid", ",", RowBox[{"ray", "[", "\[Theta]", "]"}], ",", "arc"}], "}"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"polardomain", "[", "\[Theta]_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"polarDomainObjects", "[", "\[Theta]", "]"}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"polarimage", "[", "\[Theta]_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"polarDomainObjects", "[", "\[Theta]", "]"}], "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{ RowBox[{"polardomain", "[", "\[Theta]", "]"}], ",", RowBox[{"polarimage", "[", "\[Theta]", "]"}]}], "}"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Theta]", ",", RowBox[{"\[Pi]", "/", "4"}]}], "}"}], ",", "0", ",", RowBox[{"\[Pi]", "/", "2"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Initialization", "->", RowBox[{"{", "}"}]}]}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.495728442609375*^9, 3.495728474328125*^9}, { 3.49572863121875*^9, 3.495728676515625*^9}, {3.495728799375*^9, 3.49572880265625*^9}, {3.495728843046875*^9, 3.495728844015625*^9}, { 3.495728941890625*^9, 3.4957289785625*^9}, {3.49572907128125*^9, 3.495729075375*^9}, {3.49575739715625*^9, 3.495757418765625*^9}, { 3.495757478140625*^9, 3.4957574785625*^9}, {3.495757509515625*^9, 3.4957575130625*^9}, {3.495757668578125*^9, 3.49575771965625*^9}, 3.495757884*^9, {3.495758043828125*^9, 3.495758138515625*^9}, { 3.495758328328125*^9, 3.49575832890625*^9}, {3.495758579140625*^9, 3.49575860825*^9}, {3.495800394140625*^9, 3.49580045803125*^9}, { 3.495801366796875*^9, 3.49580137178125*^9}, 3.49580190103125*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Problem 2\[LongDash]image of a rectangular region", FontWeight->"Bold"]], "Section", CellChangeTimes->{{3.4947615442715*^9, 3.494761647068375*^9}, { 3.49514183146875*^9, 3.495141882265625*^9}, 3.495143800125*^9, { 3.49558304946875*^9, 3.495583111765625*^9}}], Cell[TextData[{ "The problem is to visualize how ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " maps the open rectangle \t\n\t", Cell[BoxData[ FormBox[ RowBox[{"R", "=", RowBox[{"{", RowBox[{ RowBox[{"z", "\[Element]", RowBox[{"\[DoubleStruckCapitalC]", " ", ":", " ", RowBox[{"0", "<", RowBox[{"Re", "(", "z", ")"}], "<", "2"}]}]}], ",", " ", RowBox[{"0", "<", RowBox[{"Im", "(", "z", ")"}], "<", "1"}]}], "}"}]}], TraditionalForm]]], ".\nCartesian coordinates are appropriate here." }], "Text", CellChangeTimes->{{3.4947615442715*^9, 3.494761647068375*^9}, { 3.49514183146875*^9, 3.495141882265625*^9}, {3.495143800125*^9, 3.49514380146875*^9}, {3.495583121515625*^9, 3.495583172984375*^9}, { 3.495800663484375*^9, 3.495800676890625*^9}}, ParagraphSpacing->{0.5, 0}], Cell[CellGroupData[{ Cell["\<\ The region and its image\[LongDash]unadorned\ \>", "Subsection", CellChangeTimes->{{3.495726508625*^9, 3.495726515859375*^9}, 3.495726548453125*^9, {3.495726627171875*^9, 3.49572663065625*^9}}], Cell[TextData[{ "Form a Cartesian grid of horizontal and vertical line segments filling the \ rectangle by using ", StyleBox["DrawCartesianMap", FontFamily->"Courier", FontWeight->"Bold", FontSlant->"Plain"], ".\nThe second, list argument\n\t", StyleBox["{z,0,2+\[ImaginaryI]}", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " \ngives the lower-left and upper-right corners of the rectangle as complex \ numbers." }], "Text", CellChangeTimes->{{3.495583181234375*^9, 3.495583384484375*^9}, { 3.49558342478125*^9, 3.495583458671875*^9}, {3.495800698078125*^9, 3.495800749890625*^9}, {3.495800785359375*^9, 3.495800833578125*^9}, { 3.495801165140625*^9, 3.495801175125*^9}}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[ RowBox[{ RowBox[{"grid", "=", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.49580086396875*^9, 3.495800866109375*^9}}], Cell["Draw the domain:", "Text", CellChangeTimes->{{3.4958011906875*^9, 3.495801192703125*^9}}], Cell[BoxData[ RowBox[{"domain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "grid", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "2"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.495801194140625*^9, 3.49580121028125*^9}, { 3.495801385984375*^9, 3.495801391359375*^9}, {3.49580142484375*^9, 3.49580142634375*^9}, {3.495804906765625*^9, 3.495804907140625*^9}}], Cell[TextData[{ "Draw the image; the expression ", StyleBox["grid\[ThinSpace]//\[ThinSpace]ComplexMap[f]", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " does all the work of calculating the images of the grid's horizontal and \ vertical line segments:" }], "Text", CellChangeTimes->{{3.49580140371875*^9, 3.4958014080625*^9}, { 3.495801466328125*^9, 3.4958014910625*^9}, {3.4958015355*^9, 3.49580154365625*^9}, 3.495801600046875*^9}], Cell[BoxData[ RowBox[{"image", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{"grid", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "\[IndentingNewLine]", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "\[IndentingNewLine]", "]"}]}]], "Input", CellChangeTimes->{{3.49580118796875*^9, 3.49580118878125*^9}, { 3.495801420203125*^9, 3.49580143475*^9}, {3.495801591515625*^9, 3.495801592078125*^9}, {3.49580490984375*^9, 3.495804910234375*^9}}], Cell["Combine the domain and image drawings into a single figure:", "Text", CellChangeTimes->{{3.495584140078125*^9, 3.495584158328125*^9}, { 3.495584394546875*^9, 3.495584409859375*^9}, 3.4957267456875*^9}], Cell[BoxData[ RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"domain", ",", "image"}], "}"}], "]"}]], "Input", CellChangeTimes->{{3.49572670065625*^9, 3.49572670590625*^9}, { 3.495727356890625*^9, 3.49572736196875*^9}, {3.495801666109375*^9, 3.495801669921875*^9}}], Cell[TextData[{ "Both domain and image used the same ", StyleBox["PlotRange", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " setting for the width. This was in order to keep the scale the same \ between the domain and image drawings when they were combined into the \ preceding figure." }], "Text", CellChangeTimes->{{3.495584230109375*^9, 3.495584315578125*^9}}], Cell["\<\ Here is all the code together. Now the separate drawings of the domain and \ image are suppressed (with terminating semicolons); only the final \ \"two-panel polar plot\" is displayed:\ \>", "Text", CellChangeTimes->{{3.495801011171875*^9, 3.4958010148125*^9}, { 3.49580105640625*^9, 3.4958011095625*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"grid", "=", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"domain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "grid", "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "2"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"image", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"grid", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\n", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"domain", ",", "image"}], "}"}], "]"}]}], "Input", CellChangeTimes->{{3.49580086396875*^9, 3.495800866109375*^9}, { 3.495801712203125*^9, 3.495801757*^9}, {3.495804915625*^9, 3.495804918890625*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["\<\ The region and its image\[LongDash]enhanced drawings\ \>", "Subsection", CellChangeTimes->{{3.495726508625*^9, 3.495726515859375*^9}, 3.495726548453125*^9, {3.495726627171875*^9, 3.49572663065625*^9}, { 3.49572676390625*^9, 3.495726779640625*^9}}], Cell[TextData[{ "Enhance the drawings by specifying a background color for the grid; \ differently coloring the horizontal and vertical segments of the Cartesian \ grid; and by dashing the boundary. To do so, use an ", StyleBox["Opacity", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " graphics directive, and in ", StyleBox["DrawCartesianMap", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " use the options ", StyleBox["MeshStyle", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " and ", StyleBox["BoundaryStyle", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ". The rest of the code remains the same." }], "Text", CellChangeTimes->{{3.495726783515625*^9, 3.495726923375*^9}, { 3.495727099546875*^9, 3.495727213546875*^9}, {3.495801802640625*^9, 3.495801840375*^9}, {3.49580198484375*^9, 3.495801988984375*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"grid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"{", RowBox[{"Thick", ",", "Dashed", ",", "Black"}], "}"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"domain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "grid", "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "2"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"image", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"grid", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\n", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"domain", ",", "image"}], "}"}], "]"}]}], "Input", CellChangeTimes->{{3.49476070017775*^9, 3.494760779568375*^9}, { 3.49514189540625*^9, 3.495141909484375*^9}, {3.495583514109375*^9, 3.495583565125*^9}, 3.4955840771875*^9, {3.495801995390625*^9, 3.495801995703125*^9}, {3.495802030578125*^9, 3.49580205934375*^9}, { 3.495804885171875*^9, 3.49580488921875*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["The region with static objects and their images", "Subsection", CellChangeTimes->{{3.495726563*^9, 3.495726575390625*^9}, 3.495799965015625*^9}], Cell[TextData[{ "To see how ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " maps parts of the region's boundary, highlight the horizontal segment on \ the line ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Im", "(", "z", ")"}], "=", "1"}], TraditionalForm]], FormatType->"TraditionalForm"], " and the vertical segment on the line ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Re", "(", "z", ")"}], "=", "2"}], TraditionalForm]], FormatType->"TraditionalForm"], " in the domain, and their images.\nTo ensure that ", StyleBox["Presentations", FontSlant->"Italic"], " will calculate their images correctly, you have to define these segments \ as ", StyleBox["ComplexCurve", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " objects rather than as ", StyleBox["ComplexLine", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " objects." }], "Text", CellChangeTimes->{{3.495625568875*^9, 3.495625660390625*^9}, { 3.49572726053125*^9, 3.495727292875*^9}, {3.495727398859375*^9, 3.495727415421875*^9}, {3.4958000988125*^9, 3.495800157171875*^9}, { 3.4958021188125*^9, 3.49580223440625*^9}, {3.495805135609375*^9, 3.49580515478125*^9}}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"horizontal", "=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], "\[ImaginaryI]"}], "+", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", "\[ImaginaryI]"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"vertical", "=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", "Red", ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], RowBox[{"(", "2", ")"}]}], " ", "+", " ", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", "\[ImaginaryI]"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"grid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"{", RowBox[{"Thick", ",", "Dashed", ",", "Black"}], "}"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"domainObjects", "=", RowBox[{"{", RowBox[{"grid", ",", "horizontal", ",", "vertical"}], "}"}]}], ";"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"domain", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", "domainObjects", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"image", "=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"domainObjects", "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{"domain", ",", "image"}], "}"}], "]"}]}], "Input", CellChangeTimes->{{3.4958022558125*^9, 3.49580231346875*^9}, { 3.49580493546875*^9, 3.49580493896875*^9}, {3.49580497215625*^9, 3.49580499803125*^9}, {3.4958055520625*^9, 3.495805553078125*^9}}], Cell[TextData[{ "In the definition of ", StyleBox["image", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " above, the entire calculation of the images of the grid and the \ highlighted segments is performed by the expression ", StyleBox["domainObjects\[ThinSpace]//\[ThinSpace]ComplexMap[f]", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], "." }], "Text", CellChangeTimes->{{3.49580018525*^9, 3.49580026984375*^9}, { 3.495801501359375*^9, 3.4958015035*^9}, {3.49580473790625*^9, 3.495804762734375*^9}, 3.495805321890625*^9}] }, Closed]], Cell[CellGroupData[{ Cell["The region with dynamic objects and their images", "Subsection", CellChangeTimes->{{3.495726563*^9, 3.495726575390625*^9}, { 3.495727539953125*^9, 3.49572754103125*^9}, 3.49579996884375*^9}], Cell[TextData[{ "Now instead of the fixed line segment on ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Im", "(", "z", ")"}], "=", "1"}], TraditionalForm]], FormatType->"TraditionalForm"], ", use a dynamically variable segment." }], "Text", CellChangeTimes->{{3.495625568875*^9, 3.495625660390625*^9}, { 3.49572726053125*^9, 3.495727292875*^9}, {3.495727398859375*^9, 3.495727415421875*^9}, {3.495727546421875*^9, 3.4957276604375*^9}, { 3.495727722109375*^9, 3.49572775996875*^9}, {3.495728009234375*^9, 3.495728009953125*^9}, {3.49579997553125*^9, 3.4957999873125*^9}, { 3.49580510990625*^9, 3.4958051266875*^9}}], Cell[TextData[{ "To do this, first change the fixed object ", StyleBox["horizontal", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " into a function of its height ", StyleBox["b", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ". Accordingly, make ", StyleBox["domain", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["image", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", etc., into functions of ", StyleBox["b", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", too.\nIn order to recycle the use of these names from fixed objects to \ functions, you must clear the previous meanings of those names." }], "Text", CellChangeTimes->{{3.495625568875*^9, 3.495625660390625*^9}, { 3.49572726053125*^9, 3.495727292875*^9}, {3.495727398859375*^9, 3.495727415421875*^9}, {3.495727546421875*^9, 3.4957276604375*^9}, { 3.495727722109375*^9, 3.49572775996875*^9}, {3.495728009234375*^9, 3.4957281081875*^9}, {3.495800003890625*^9, 3.495800023875*^9}, { 3.495805176984375*^9, 3.495805193546875*^9}, {3.49580524071875*^9, 3.495805248375*^9}}, ParagraphSpacing->{0.5, 0}], Cell[BoxData[{ RowBox[{ RowBox[{"Clear", "[", RowBox[{ "grid", ",", "vertical", ",", "horizontal", ",", "domain", ",", "domainObjects", ",", "image"}], "]"}], "\[IndentingNewLine]"}], "\n", RowBox[{ RowBox[{ RowBox[{"horizontal", "[", "b_", "]"}], ":=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], "b", " ", "\[ImaginaryI]"}], "+", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", RowBox[{"b", " ", "\[ImaginaryI]"}]}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"vertical", "=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", "Red", ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], RowBox[{"(", "2", ")"}]}], " ", "+", " ", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", "\[ImaginaryI]"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"grid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"{", RowBox[{"Thick", ",", "Dashed", ",", "Black"}], "}"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"domainObjects", "[", "b_", "]"}], ":=", RowBox[{"{", RowBox[{"grid", ",", RowBox[{"horizontal", "[", "b", "]"}], ",", "vertical"}], "}"}]}], "\[IndentingNewLine]"}], "\n", RowBox[{ RowBox[{ RowBox[{"domain", "[", "b_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"domainObjects", "[", "b", "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"image", "[", "b_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"domainObjects", "[", "b", "]"}], "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"figure", "[", "b_", "]"}], ":=", RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{ RowBox[{"domain", "[", "b", "]"}], ",", RowBox[{"image", "[", "b", "]"}]}], "}"}], "]"}]}]}], "Input", CellChangeTimes->{{3.4957276615625*^9, 3.495727678546875*^9}, { 3.495727850296875*^9, 3.495727851*^9}, {3.495805342578125*^9, 3.49580536246875*^9}, {3.495805479140625*^9, 3.495805542359375*^9}, { 3.495805740890625*^9, 3.49580575509375*^9}, {3.4958059611875*^9, 3.49580596934375*^9}}], Cell["For example:", "Text", CellChangeTimes->{{3.495805492265625*^9, 3.495805494125*^9}}], Cell[BoxData[ RowBox[{"figure", "[", "0.5", "]"}]], "Input", CellChangeTimes->{{3.495805501953125*^9, 3.495805505109375*^9}}], Cell["\<\ Now make the figure dynamic, with the ray's angle as control variable.\ \>", "Text", CellChangeTimes->{{3.4957282313125*^9, 3.495728245265625*^9}, { 3.495728431203125*^9, 3.4957284355*^9}}], Cell[BoxData[ RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"figure", "[", "b", "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"b", ",", "0.5"}], "}"}], ",", "0", ",", "1"}], "}"}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.495728442609375*^9, 3.495728474328125*^9}, { 3.495805670828125*^9, 3.49580568409375*^9}}], Cell["Here's all the code put together. ", "Text", CellChangeTimes->{{3.49572851228125*^9, 3.49572861240625*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"Clear", "[", RowBox[{ "grid", ",", "vertical", ",", "horizontal", ",", "domain", ",", "domainObjects", ",", "image"}], "]"}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"horizontal", "[", "b_", "]"}], ":=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], "b", " ", "\[ImaginaryI]"}], "+", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", RowBox[{"b", " ", "\[ImaginaryI]"}]}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"vertical", "=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", "Red", ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], RowBox[{"(", "2", ")"}]}], " ", "+", " ", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", "\[ImaginaryI]"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\n", RowBox[{ RowBox[{ RowBox[{"grid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"{", RowBox[{"Thick", ",", "Dashed", ",", "Black"}], "}"}]}]}], "]"}]}], "}"}]}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"domainObjects", "[", "b_", "]"}], ":=", RowBox[{"{", RowBox[{"grid", ",", RowBox[{"horizontal", "[", "b", "]"}], ",", "vertical"}], "}"}]}], "\n"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"domain", "[", "b_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"domainObjects", "[", "b", "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"image", "[", "b_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"domainObjects", "[", "b", "]"}], "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{ RowBox[{"domain", "[", "b", "]"}], ",", RowBox[{"image", "[", "b", "]"}]}], "}"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"b", ",", "0.5"}], "}"}], ",", "0", ",", "1"}], "}"}]}], "\[IndentingNewLine]", "]"}]}], "Input", CellChangeTimes->{{3.4957276615625*^9, 3.495727678546875*^9}, { 3.495727850296875*^9, 3.495727851*^9}, {3.495805342578125*^9, 3.49580536246875*^9}, {3.495805479140625*^9, 3.495805542359375*^9}, { 3.4958057274375*^9, 3.49580573040625*^9}, {3.495805764703125*^9, 3.495805804296875*^9}, {3.49580601175*^9, 3.4958060266875*^9}, 3.49580611853125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "Localizing the names (", StyleBox["advanced", FontSlant->"Italic"], ")" }], "Subsection", CellChangeTimes->{{3.49580032684375*^9, 3.49580034178125*^9}, { 3.495805862921875*^9, 3.49580586509375*^9}}], Cell[TextData[{ "In order to completely isolate the names ", StyleBox["ray", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["polardomain", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["arc", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", ", StyleBox["polargrid", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], ", etc., make these into \"local\" variables inside a ", StyleBox["Module", FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], " expression." }], "Text", CellChangeTimes->{{3.49575848525*^9, 3.49575854140625*^9}, { 3.495800348515625*^9, 3.495800377015625*^9}, {3.49580046671875*^9, 3.4958004793125*^9}}], Cell[BoxData[ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "grid", ",", "vertical", ",", "horizontal", ",", "domain", ",", "domainObjects", ",", "image"}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"grid", "=", RowBox[{"{", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"0.5", ",", RowBox[{"Legacy", "@", "Wheat"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"DrawCartesianMap", "[", RowBox[{"z", ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", RowBox[{"2", "+", "\[ImaginaryI]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"MeshStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"HTML", "@", "SeaGreen"}], ",", RowBox[{"Darker", "@", "Brown"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"BoundaryStyle", "\[Rule]", RowBox[{"{", RowBox[{"Thick", ",", "Dashed", ",", "Black"}], "}"}]}]}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"horizontal", "[", "b_", "]"}], ":=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", RowBox[{"Darker", "@", "Green"}], ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], "b", " ", "\[ImaginaryI]"}], "+", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", RowBox[{"b", " ", "\[ImaginaryI]"}]}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"vertical", "=", RowBox[{"{", RowBox[{"Dashed", ",", "Thick", ",", "Red", ",", "\[IndentingNewLine]", RowBox[{"ComplexCurve", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], RowBox[{"(", "2", ")"}]}], " ", "+", " ", RowBox[{"t", RowBox[{"(", RowBox[{"2", "+", "\[ImaginaryI]"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", "1"}], "}"}]}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"domainObjects", "[", "b_", "]"}], ":=", RowBox[{"{", RowBox[{"grid", ",", RowBox[{"horizontal", "[", "b", "]"}], ",", "vertical"}], "}"}]}], ";", "\n", "\[IndentingNewLine]", RowBox[{ RowBox[{"domain", "[", "b_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{"domainObjects", "[", "b", "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"image", "[", "b_", "]"}], ":=", RowBox[{"Draw2D", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"domainObjects", "[", "b", "]"}], "//", RowBox[{"ComplexMap", "[", "f", "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "True"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "4"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"3.5", " ", "72"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Manipulate", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"GraphicsRow", "[", RowBox[{"{", RowBox[{ RowBox[{"domain", "[", "b", "]"}], ",", RowBox[{"image", "[", "b", "]"}]}], "}"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"b", ",", "0.5"}], "}"}], ",", "0", ",", "1"}], "}"}]}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.495728442609375*^9, 3.495728474328125*^9}, { 3.49572863121875*^9, 3.495728676515625*^9}, {3.495728799375*^9, 3.49572880265625*^9}, {3.495728843046875*^9, 3.495728844015625*^9}, { 3.495728941890625*^9, 3.4957289785625*^9}, {3.49572907128125*^9, 3.495729075375*^9}, {3.49575739715625*^9, 3.495757418765625*^9}, { 3.495757478140625*^9, 3.4957574785625*^9}, {3.495757509515625*^9, 3.4957575130625*^9}, {3.495757668578125*^9, 3.49575771965625*^9}, 3.495757884*^9, {3.495758043828125*^9, 3.495758138515625*^9}, { 3.495758328328125*^9, 3.49575832890625*^9}, {3.495758579140625*^9, 3.49575860825*^9}, {3.495800394140625*^9, 3.49580045803125*^9}, { 3.495801366796875*^9, 3.49580137178125*^9}, 3.49580190103125*^9, { 3.495805885875*^9, 3.495805918609375*^9}, {3.495806050109375*^9, 3.495806084875*^9}}] }, Closed]] }, Closed]] }, Open ]] }, AutoGeneratedPackage->None, WindowSize->{509, 446}, WindowMargins->{{105, Automatic}, {Automatic, 54}}, FrontEndVersion->"7.0 for Microsoft Windows (32-bit) (February 18, 2009)", StyleDefinitions->Notebook[{ Cell[ StyleData[StyleDefinitions -> "Default.nb"]], Cell[ CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[ StyleData[All, "Working"], Background -> RGBColor[0.9921568627450981, 0.9607843137254902, 0.9019607843137255]], Cell[ StyleData[All, "Presentation"], Background -> RGBColor[0.9921568627450981, 0.9607843137254902, 0.9019607843137255]], Cell[ StyleData[All, "SlideShow"], Background -> RGBColor[0.9921568627450981, 0.9607843137254902, 0.9019607843137255]], Cell[ StyleData[All, "Condensed"], Background -> RGBColor[0.9921568627450981, 0.9607843137254902, 0.9019607843137255]], Cell[ StyleData[All, "Printout"], Background -> None]}, Closed]], Cell[ CellGroupData[{ Cell["Notebook Options Settings", "Section"], Cell[ StyleData["Notebook"], ShowCellBracket -> Automatic, InputAliases -> {"intt" -> RowBox[{"\[Integral]", RowBox[{"\[SelectionPlaceholder]", RowBox[{"\[DifferentialD]", "\[Placeholder]"}]}]}], "dintt" -> RowBox[{ SubsuperscriptBox[ "\[Integral]", "\[SelectionPlaceholder]", "\[Placeholder]"], RowBox[{"\[Placeholder]", RowBox[{"\[DifferentialD]", "\[Placeholder]"}]}]}], "sumt" -> RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"\[SelectionPlaceholder]", "=", "\[Placeholder]"}], "\[Placeholder]"], "\[Placeholder]"}], "prodt" -> RowBox[{ UnderoverscriptBox["\[Product]", RowBox[{"\[SelectionPlaceholder]", "=", "\[Placeholder]"}], "\[Placeholder]"], "\[Placeholder]"}], "dt" -> RowBox[{ SubscriptBox["\[PartialD]", "\[Placeholder]"], " ", "\[SelectionPlaceholder]"}], "prime" -> "\:02b9", "dprime" -> "\:02ba"}, Magnification -> 1.04]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Title and Section Cells", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Title"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {0, 5}}, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, FontFamily -> "Helvetica", FontSize -> 36, FontWeight -> "Bold", FontColor -> GrayLevel[0], Background -> RGBColor[0.737255, 0.894118, 0.807843]], Cell[ StyleData["Title", "Printout"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {0, 5}}, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, FontFamily -> "Helvetica", FontSize -> 26, FontWeight -> "Bold", FontColor -> GrayLevel[0], Background -> None]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Subtitle"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {0, 0}}, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, FontFamily -> "Helvetica", FontSize -> 24, Background -> RGBColor[0.815686, 0.901961, 0.92549]], Cell[ StyleData["Subtitle", "Printout"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {0, 0}}, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, FontFamily -> "Helvetica", FontSize -> 18, Background -> None]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Chaptertitle"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {0, 0}}, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1170, FontFamily -> "Helvetica", FontSize -> 24, Background -> RGBColor[0.941176, 0.87451, 0.784314]], Cell[ StyleData["Chaptertitle", "Printout"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {0, 0}}, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1170, FontFamily -> "Helvetica", FontSize -> 18, Background -> None]}, Open]], Cell[ StyleData["Subsubtitle"], ShowCellBracket -> False, CellMargins -> {{12, Inherited}, {20, 5}}, FontFamily -> "Helvetica", FontSize -> 14, FontWeight -> "Bold", FontSlant -> "Plain"], Cell[ StyleData["Section"], CellFrame -> False, ShowGroupOpener -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}], Cell[ StyleData["Subsection"], CellDingbat -> "", ShowGroupOpener -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}], Cell[ StyleData["Subsubsection"], CellDingbat -> "", ShowGroupOpener -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}], Cell[ StyleData["Subsubsubsection"], CellDingbat -> "", ShowGroupOpener -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1360], Cell[ StyleData["Subsubsubsubsection"], ShowGroupOpener -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1370]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Text"], AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, FontSize -> 14], Cell[ StyleData["Text", "Printout"], AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, FontSize -> 10]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["EvaluatableText", StyleDefinitions -> StyleData["Text"]], Evaluator -> None, Evaluatable -> True, MenuPosition -> 1405], Cell[ StyleData["EvaluatableText", "Printout"], Evaluator -> None, Evaluatable -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1405, FontSize -> 10]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["EmphasisText", StyleDefinitions -> StyleData["Text"]], CellFrame -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1410, FontFamily -> "Helvetica", FontSize -> 14], Cell[ StyleData["EmphasisText", "Printout"], CellFrame -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1410, FontFamily -> "Helvetica", FontSize -> 10]}, Open]], Cell[ StyleData["BlueComments", StyleDefinitions -> StyleData["Text"]], AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1420, FontSize -> 14, Background -> RGBColor[0.941207, 0.972503, 1]], Cell[ CellGroupData[{ Cell[ StyleData[ "Exercise", StyleDefinitions -> StyleData["BlueComments"]], CellFrame -> True, TextJustification -> 0.5, Hyphenation -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, CounterIncrements -> "Exercise", MenuPosition -> 1425, FontSize -> 14, Background -> RGBColor[0.941207, 0.972503, 1]], Cell[ StyleData[ "Exercise", "Printout", StyleDefinitions -> StyleData["Text"]], CellFrame -> True, TextJustification -> 0.5, Hyphenation -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, CounterIncrements -> "Exercise", MenuPosition -> 1425, FontSize -> 10], Cell[ StyleData[ "BlueComments", "Printout", StyleDefinitions -> StyleData["Text"]], CellMargins -> {{2, 2}, {6, 6}}, TextJustification -> 0.5, Hyphenation -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1420, FontSize -> 10]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["PinkComments", StyleDefinitions -> StyleData["Text"]], AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1430, FontSize -> 14, Background -> RGBColor[1, 0.894102, 0.882399]], Cell[ StyleData[ "PinkComments", "Printout", StyleDefinitions -> StyleData["Text"]], CellMargins -> {{2, 2}, {6, 6}}, TextJustification -> 0.5, Hyphenation -> True, AutoItalicWords -> {"Presentations", "Mathematica", "Tensorial"}, MenuPosition -> 1430, FontSize -> 10]}, Open]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Input and Output Cells", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Input"], FontSize -> 13, FontWeight -> "Bold", Background -> RGBColor[0.976471, 0.909804, 0.815686]], Cell[ StyleData["Input", "Printout"], FontSize -> 10, FontWeight -> "Bold", Background -> None]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Output"], FontSize -> 14, FontWeight -> "Bold"], Cell[ StyleData["Output", "Printout"], FontSize -> 10, FontWeight -> "Bold"]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["MSG"], FontSize -> 14], Cell[ StyleData["MSG", "Printout"], FontSize -> 10]}, Open]]}, Closed]]}, Visible -> False, FrontEndVersion -> "7.0 for Microsoft Windows (32-bit) (February 18, 2009)", StyleDefinitions -> "PrivateStylesheetFormatting.nb"] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[545, 20, 147, 2, 44, "Subsubtitle"], Cell[CellGroupData[{ Cell[717, 26, 368, 10, 46, "Subtitle"], Cell[1088, 38, 518, 9, 44, "Subsubtitle"], Cell[1609, 49, 252, 7, 24, "SmallText"], Cell[CellGroupData[{ Cell[1886, 60, 96, 1, 67, "Section"], Cell[1985, 63, 643, 14, 72, "Text"], Cell[2631, 79, 179, 4, 31, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[2847, 88, 98, 1, 36, "Section"], Cell[2948, 91, 163, 6, 31, "Text"], Cell[3114, 99, 148, 3, 33, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[3299, 107, 263, 8, 38, "Section"], Cell[3565, 117, 637, 20, 52, "Text"], Cell[4205, 139, 118, 1, 31, "Text"], Cell[4326, 142, 164, 4, 48, "Input"], Cell[4493, 148, 154, 3, 48, "Input"], Cell[4650, 153, 628, 24, 32, "Text"], Cell[5281, 179, 124, 2, 48, "Input"], Cell[5408, 183, 171, 4, 48, "Input"], Cell[5582, 189, 150, 3, 48, "Input"], Cell[5735, 194, 833, 26, 81, "Text"], Cell[6571, 222, 153, 3, 31, "Text"], Cell[6727, 227, 282, 7, 51, "Input"], Cell[7012, 236, 240, 8, 31, "Text"], Cell[7255, 246, 1137, 37, 109, "Text"], Cell[8395, 285, 198, 5, 48, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[8630, 295, 278, 4, 36, "Section"], Cell[8911, 301, 690, 21, 66, "Text"], Cell[9604, 324, 358, 7, 31, "Text"], Cell[CellGroupData[{ Cell[9987, 335, 208, 4, 38, "Subsection"], Cell[10198, 341, 1054, 32, 138, "Text"], Cell[11255, 375, 451, 13, 48, "Input"], Cell[11709, 390, 97, 1, 31, "Text"], Cell[11809, 393, 779, 20, 89, "Input"], Cell[12591, 415, 439, 11, 52, "Text"], Cell[13033, 428, 857, 23, 89, "Input"], Cell[13893, 453, 211, 2, 31, "Text"], Cell[14107, 457, 242, 5, 48, "Input"], Cell[14352, 464, 393, 10, 72, "Text"], Cell[14748, 476, 318, 6, 52, "Text"], Cell[15069, 484, 1776, 53, 149, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[16882, 542, 265, 5, 38, "Subsection"], Cell[17150, 549, 905, 27, 92, "Text"], Cell[18058, 578, 2901, 78, 309, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[20996, 661, 155, 2, 30, "Subsection"], Cell[21154, 665, 1165, 39, 100, "Text"], Cell[22322, 706, 4169, 114, 429, "Input"], Cell[26494, 822, 575, 16, 72, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[27106, 843, 200, 2, 38, "Subsection"], Cell[27309, 847, 574, 13, 31, "Text"], Cell[27886, 862, 1200, 35, 100, "Text"], Cell[29089, 899, 265, 6, 48, "Input"], Cell[29357, 907, 4828, 128, 429, "Input"], Cell[34188, 1037, 93, 1, 31, "Text"], Cell[34284, 1040, 226, 4, 48, "Input"], Cell[34513, 1046, 202, 4, 31, "Text"], Cell[34718, 1052, 451, 11, 109, "Input"], Cell[35172, 1065, 114, 1, 31, "Text"], Cell[35289, 1068, 4705, 132, 489, "Input"], Cell[39997, 1202, 380, 12, 52, "Exercise"], Cell[40380, 1216, 420, 12, 73, "Exercise"] }, Closed]], Cell[CellGroupData[{ Cell[40837, 1233, 223, 7, 38, "Subsection"], Cell[41063, 1242, 781, 30, 52, "Text"], Cell[41847, 1274, 5365, 133, 489, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[47261, 1413, 290, 4, 36, "Section"], Cell[47554, 1419, 857, 23, 89, "Text"], Cell[CellGroupData[{ Cell[48436, 1446, 208, 4, 38, "Subsection"], Cell[48647, 1452, 745, 19, 138, "Text"], Cell[49395, 1473, 310, 9, 48, "Input"], Cell[49708, 1484, 96, 1, 31, "Text"], Cell[49807, 1487, 778, 20, 89, "Input"], Cell[50588, 1509, 471, 11, 52, "Text"], Cell[51062, 1522, 915, 23, 149, "Input"], Cell[51980, 1547, 211, 2, 31, "Text"], Cell[52194, 1551, 281, 6, 48, "Input"], Cell[52478, 1559, 393, 10, 72, "Text"], Cell[52874, 1571, 318, 6, 52, "Text"], Cell[53195, 1579, 1645, 49, 149, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[54877, 1633, 265, 5, 30, "Subsection"], Cell[55145, 1640, 928, 27, 92, "Text"], Cell[56076, 1669, 2585, 72, 269, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[58698, 1746, 155, 2, 30, "Subsection"], Cell[58856, 1750, 1251, 38, 100, "Text"], Cell[60110, 1790, 4005, 114, 449, "Input"], Cell[64118, 1906, 586, 16, 52, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[64741, 1927, 200, 2, 30, "Subsection"], Cell[64944, 1931, 639, 14, 31, "Text"], Cell[65586, 1947, 1225, 36, 100, "Text"], Cell[66814, 1985, 4554, 130, 489, "Input"], Cell[71371, 2117, 91, 1, 31, "Text"], Cell[71465, 2120, 127, 2, 48, "Input"], Cell[71595, 2124, 202, 4, 31, "Text"], Cell[71800, 2130, 420, 10, 109, "Input"], Cell[72223, 2142, 114, 1, 31, "Text"], Cell[72340, 2145, 4821, 137, 549, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[77198, 2287, 223, 7, 30, "Subsection"], Cell[77424, 2296, 781, 30, 52, "Text"], Cell[78208, 2328, 5561, 140, 569, "Input"] }, Closed]] }, Closed]] }, Open ]] } ] *) (* End of internal cache information *)