(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of 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[ 185535, 4992]*) (*NotebookOutlinePosition[ 191160, 5147]*) (* CellTagsIndexPosition[ 189935, 5111]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["\<\ ******************************************************************************\ ****************\ \>", "Text"], Cell[BoxData[ \(Clear[f]; \n\nf[z_] := z^5 + z^3 + \ 2\ z + 2; \n\n coords[z_] := {Re[z], Im[z]}; \n\n Show[GraphicsArray[{ Graphics[ Table[{Hue[r], PointSize[0.007], Point[coords[r\ \[ExponentialE]^\((\[ImaginaryI]\ t)\)]]}, { t, 0, 2\ Pi, .01}, {r, .5, 1.4, .1}], AspectRatio -> Automatic, PlotRange -> {{\(-1.5\), 1.5}, {\(-1.5\), 1.5}}, Axes -> True], Graphics[ Table[{Hue[r], PointSize[0.008], Point[coords[ f[r\ \[ExponentialE]^\((\[ImaginaryI]\ t)\)]]]}, {t, 0, 2\ Pi, .01}, {r, .5, 1.4, .1}], AspectRatio -> Automatic, PlotRange -> {{\(-9\), 13}, {\(-9\), 9}}, Axes -> True]}]]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "Complexe veeltermen\n", StyleBox["(cirkels, spirografen en krommen)", FontSize->16] }], "Title", TextAlignment->Center], Cell["\<\ Project EXPLOOT Hania Uscka Vrije Universiteit Brussel\ \>", "Subsection", CellDingbat->None, TextAlignment->Left], Cell[CellGroupData[{ Cell["Inhoudsopgave", "Section", CellDingbat->"\[FilledDiamond]", CellMargins->{{27, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "1. ", ButtonBox["Inleiding", ButtonData:>"H1", ButtonStyle->"Hyperlink"], "\n2. ", ButtonBox[ "Spirograaf - een staaltje van moderne kunst of designer van Brussels \ kant?", ButtonData:>"H2", ButtonStyle->"Hyperlink"], "\n3. ", ButtonBox["Van robot tot draaiende wielen", ButtonData:>"H3", ButtonStyle->"Hyperlink"], "\n\t3.1. ", ButtonBox["Robot en effici\[EDoubleDot]ntie - probleembeschrijving", ButtonData:>"H3D1", ButtonStyle->"Hyperlink"], "\n\t3.2. ", ButtonBox["Discussie en oplossing", ButtonData:>"H3D2", ButtonStyle->"Hyperlink"], "\n\t3.3. ", ButtonBox["Calypso", ButtonData:>"H3D3", ButtonStyle->"Hyperlink"], "\n\t3.4. ", ButtonBox["Waarom maar 1 elleboog?", ButtonData:>"H3D4", ButtonStyle->"Hyperlink"], "\n4. ", ButtonBox["Veeltermen", ButtonData:>"H4", ButtonStyle->"Hyperlink"], "\n\t4.1. ", ButtonBox[ "Veralgemening van de vorige hoofdstukken. spirograaf - WAT is dat \ eigenlijk??? [ontrafelen van het geheim]", ButtonData:>"H4D1", ButtonStyle->"Hyperlink"], "\n\t4.2. ", Cell[BoxData[ ButtonBox[ RowBox[{\(Voorbeelden\ \ z\^4\), "+", \(2 z\), "+", RowBox[{"1", " ", "en", " ", StyleBox[\(z\^5 + z\), FontFamily->"Times New Roman", FontSlant->"Italic"]}], " ", "-", " ", \(nulpunten\ en\ injectiviteit\)}], ButtonData:>"H4D2", ButtonStyle->"Hyperlink"]]], "\n\t4.3. ", ButtonBox["Een familie veeltermen", ButtonData:>"H4D3", ButtonStyle->"Hyperlink"], "\n\t4.4. ", ButtonBox["De Hoofdstelling van de Algebra", ButtonData:>"H4D4", ButtonStyle->"Hyperlink"], "\n\t\t4.4.1. ", ButtonBox["Een animatie", ButtonData:>"H4D4S1", ButtonStyle->"Hyperlink"], "\n\t\t4.4.2. ", ButtonBox[ "Hoe elk nulpunt voor een extra lusje rond de oorsprong van de \ spirograaflijn zorgt", ButtonData:>"H4D4S2", ButtonStyle->"Hyperlink"], "\n5. ", ButtonBox["Antwoorden op vraagstukken", ButtonData:>"H5", ButtonStyle->"Hyperlink"], "\n\t5.1. ", ButtonBox["Waarom rechte lijn???", ButtonData:>"H5D1", ButtonStyle->"Hyperlink"], "\n\t5.2. ", ButtonBox[ "Nulpunten van complexe veeltermen met re\[EDoubleDot]le \ co\[EDoubleDot]ffici\[EDoubleDot]nten", ButtonData:>"H5D2", ButtonStyle->"Hyperlink"], "\n\t5.3. ", ButtonBox["Ligging van de spirograaf-kurven ten opzichte van de assen", ButtonData:>"H5D3", ButtonStyle->"Hyperlink"], "\n\t5.4. ", ButtonBox["Spirograaf-kurven en hun symmetrie\[EDoubleDot]n", ButtonData:>"H5D4", ButtonStyle->"Hyperlink"] }], "Text", CellMargins->{{27, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["Inleiding", "Section", CellDingbat->"\[FilledDiamond]", CellMargins->{{27, Inherited}, {Inherited, Inherited}}, CellTags->"H1"], Cell["\<\ Nog een notebook over complexe getallen??? - hoor ik jullie verschieten - \ waarvoor? Kort gezegd: als beloning voor degenen die (met of zonder hulp van de eerste \ notebook over complexe getallen) hebben kennis gemaakt met basisoperaties op \ die getallen en zich nu afvragen \"waarvoor eigenlijk...\" Ik ga hier niet beschrijven, hoe complexe getallen gebruikt worden om de \ wisselstroom te beschrijven. Ik ga je alleen maar zeggen DAT ze dat doen - en \ ze doen dat goed. Hoe - vraag aan je electronikaleraar. Je wordt hier wel \ uitgenodigd om met complexe veeltermen te experimenteren. Klinkt niet goed? - \ ik weet het. Maar straks ga je zien hoe boeiend dat kan zijn. Herinner je je \ nog de \"reclame\" van de spirograaf van de eerste notebook over complexe \ getallen? - nu ga je zelf spirografen kunnen tekenen, naar hartelust. En - \ willen of niet - een aantal belangrijke feiten van de wiskunde erbij oprapen. Veel plezier!\ \>", "Text", CellMargins->{{27, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Spirograaf - een staaltje van moderne kunst of designer van Brussels kant?\ \>", "Section", CellDingbat->"\[FilledDiamond]", CellMargins->{{27, Inherited}, {Inherited, Inherited}}, CellTags->"H2"], Cell["\<\ Bekijk eens die kronkelende kurve. Hoe gecompliceerd en nochtans regelmatig. \ Dat is een voorbeeld van spirograaf-kurve. Nu nog een beetje geheimzinnig. \ Tijdens het werken met die notebook ga je ontdekken WAT ze eigenlijk is en \ hoe ze ontstaat.\ \>", "Text", CellMargins->{{27, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[f, n, cons]; \n\n f[\[CurlyPhi]_] := Plus@@Table[E^\((cons^k\ I\ \[CurlyPhi])\)/2^k, {k, n}]\), "\n", "\t"}], RowBox[{\(n = 5\), ";", "\n", \(cons = 3\), ";", "\n", "\n", RowBox[{\(spirograaf[f_, \[CurlyPhi]_, opts___]\), ":=", "\n", "\t", RowBox[{"ParametricPlot", "[", RowBox[{ \({Re[f], Im[f]}\), ",", \({\[CurlyPhi], \(-\[Pi]\), \ \[Pi]}\), ",", "\n", "\t\t", StyleBox["opts", FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], "\n", "\t\t", StyleBox[\(PlotRange \[Rule] All\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(AspectRatio \[Rule] Automatic\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(Frame \[Rule] True\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(Axes \[Rule] False\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(FrameTicks \[Rule] None\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(PlotPoints \[Rule] 250\), FontColor->GrayLevel[0.500008]]}], "]"}]}], ";", "\n", "\n", \(\[ScriptS] = spirograaf[f[\[CurlyPhi]], \[CurlyPhi], PlotPoints -> 2\ cons\ 2^n] \), ";"}]}], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Van robot tot draaiende wielen", "Section", CellDingbat->"\[FilledDiamond]", CellMargins->{{27, Inherited}, {Inherited, Inherited}}, CellTags->"H3"], Cell[CellGroupData[{ Cell["Robot en effici\[EDoubleDot]ntie - probleembeschrijving", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H3D1"], Cell[CellGroupData[{ Cell[TextData[{ "Stel je een robot voor, die twee armen heeft. Twee armen verbonden door \ een \"elleboog\" - zoals op de tekening hieronder. De armen kunnen \ verschillende lengtes hebben en kunnen ook bewegen met verschillende \ hoeksnelheden. De eerste arm beweegt steeds tegen de wijzers van de klok in, \ voor de tweede arm maken we iedere keer een keuze van de richting. De eerste \ arm draait rond het punt waaraan hij vastzit, de tweede arm rond de elleboog.\ \nDe vraag is - hoe moet de robot in mekaar zitten (de verhouding van de \ armlengtes, de verhouding van arm-hoeksnelheden) om op de meest effici\ \[EDoubleDot]nte manier, dus met een minimum aan werk, een voorwerp van \ rechts naar links te brengen.\n\nAls je in programmatie \ ge\[IDoubleDot]nteresseerd bent, klik de cel open. In het programma zijn ", StyleBox["len1", FontSlant->"Italic"], " en ", StyleBox["len2", FontSlant->"Italic"], " de twee armlengtes, ", StyleBox["c", FontSlant->"Italic"], " is snelheidsratio (verhouding van de snelheid van de tweede arm tot de \ snelheid van de eerste). De parameters in de eerste tekening zijn (", StyleBox["1, .5, 2", FontSlant->"Italic"], ") - de tweede arm is dus ", StyleBox["50%", FontSlant->"Italic"], " korter dan de eerste (en dit is vanaf nu een vast gegeven in alle onze \ voorbeelden) en beweegt ", StyleBox["2", FontSlant->"Italic"], " keer sneller. De vierde parameter van \"robotTekening\" is bijna altijd \ \[Pi] (later soms ook 2\[Pi]). Die parameter bepaalt de volledige hoek waar \ de eerste robot-arm om draait.\nBekijk eens het effect van de beweging - het \ traject van de \"robot-hand\" (de rode kurve):" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Clear[x, y, move, arm1punten, arm1, arm2punten, arm2, robotTekening]; \n \nx[len1_, len2_, c_, t_] := len1\ Cos[t] + len2\ \ Cos[c\ t]; \n y[len1_, len2_, c_, t_] := len1\ Sin[t] + len2\ \ Sin[c\ t]; \n\n move[len1_, len2_, c_, tot_] := {Hue[0], Table[Point[{x[len1, len2, c, t], y[len1, len2, c, t]}], {t, 0, tot, 0.01}]}; \n\n arm1punten[len1_, tot_] := Table[{{0, 0}, {len1\ Cos[t], len1\ Sin[t]}}, {t, 0, \ tot, Pi/20}]; \n \narm1[len1_, tot_] := Map[Line, arm1punten[len1, tot]]; \n\n arm2punten[len1_, len2_, c_, tot_] := Table[{{len1\ Cos[t], len1\ Sin[t]}, {x[len1, len2, c, t], y[len1, len2, c, t]}}, {t, 0, \ tot, Pi/20}]; \n\n arm2[len1_, len2_, c_, tot_] := Map[Line, arm2punten[len1, len2, c, tot]]; \n\n robotTekening[len1_, len2_, c_, tot_] := Show[{Graphics[arm1[len1, tot]], Graphics[arm2[len1, len2, c, tot]], Graphics[move[len1, len2, c, tot]]}, AspectRatio -> Automatic, PlotRange -> {{\(-1.5\), 1.5}, {\(-1.5\), 1.5}}]; \)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False] }, Open ]], Cell[BoxData[ \(robotTekening[1, .5, 2, Pi]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Laat ons de tweede arm drie maal zo snel doen bewegen als de eerste, zonder \ iets te veranderen aan de armlengtes:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{"Show", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Graphics", "[", RowBox[{"arm1", "[", RowBox[{ StyleBox["1", FontColor->RGBColor[0, 1, 0]], ",", "Pi"}], "]"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"arm2", "[", RowBox[{ StyleBox["1", FontColor->RGBColor[0, 1, 0]], StyleBox[",", FontColor->RGBColor[0, 1, 0]], StyleBox[".5", FontColor->RGBColor[0, 1, 0]], StyleBox[",", FontColor->RGBColor[0, 1, 0]], StyleBox["3", FontColor->RGBColor[0, 1, 0]], ",", "Pi"}], "]"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"move", "[", RowBox[{ StyleBox["1", FontColor->RGBColor[0, 1, 0]], StyleBox[",", FontColor->RGBColor[0, 1, 0]], StyleBox[".5", FontColor->RGBColor[0, 1, 0]], StyleBox[",", FontColor->RGBColor[0, 1, 0]], StyleBox["3", FontColor->RGBColor[0, 1, 0]], StyleBox[",", FontColor->GrayLevel[0]], StyleBox["Pi", FontColor->GrayLevel[0]]}], "]"}], "]"}]}], "}"}], ",", \(AspectRatio -> Automatic\)}], "]"}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[TextData[{ "En als we ", StyleBox["c", FontSlant->"Italic"], " (de snelheidsverhouding) laten vari\[EDoubleDot]ren van ", StyleBox["2", FontSlant->"Italic"], " tot ", StyleBox["-1", FontSlant->"Italic"], " - om de ", StyleBox["0.3", FontSlant->"Italic"], ":" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Do[\n\t Show[\n\t\t{Graphics[arm1[1, Pi]], Graphics[arm2[1, .5, \(-c\) + 1, Pi]], Graphics[move[1, .5, \(-c\) + 1, Pi]]}, AspectRatio -> Automatic, PlotRange -> {{\(-1.5\), 1.5}, {\(- .5\), 1.5}}]\n, {c, \(-1\), 2, .3}]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[TextData[{ "De vraag blijft:\nWelke robot is de meest effici\[EDoubleDot]nte om een \ voorwerp van rechts naar links te brengen?\n\t\t\t\nHerneem de berekeningen \ van lineaire snelheid en kracht, die hieronder voor ", StyleBox["c=2", FontSlant->"Italic"], " gemaakt werden, voor\n", StyleBox["c = -1 ", FontSlant->"Italic"], "(vervang de groene \"", StyleBox["2", FontSlant->"Italic"], "\" in het programma hieronder door \"", StyleBox["-1", FontSlant->"Italic"], "\" en evalueer alle cellen).\nVoor ", StyleBox["c=-1", FontSlant->"Italic"], " blijkt de som van de versnellingen (krachten) minimaal te zijn en daarom \ is het werk minimaal." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False] }, Open ]], Cell[CellGroupData[{ Cell["Discussie en oplossing", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H3D2"], Cell[TextData[{ StyleBox["Opgelet", FontWeight->"Bold"], ":\nIn deze paragraaf bedoelen we door \"snelheid\" (en dat is h\[EAcute]\ \[EAcute]l uitzonderlijk in deze notebooek!) de ", StyleBox["lineaire snelheid van de beweging", FontVariations->{"Underline"->True}], ". Als we het over de snelheid van een arm hebben, bedoelen we altijd de ", StyleBox["hoeksnelheid van die arm", FontVariations->{"Underline"->True}], "!" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Analyse van snelheid en versnelling.\nWe blijven bij de verhouding ", StyleBox["1:2", FontSlant->"Italic"], " voor de lengtes en zoeken naar de snelheidsverhouding ", StyleBox["c", FontSlant->"Italic"], ", waarbij de beweging het effici\[EDoubleDot]ntst is." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "De tekening hieronder toont de kurve van de beweging voor ", StyleBox["c=2", FontSlant->"Italic"], ":" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[x, y, move]\), "\n"}], \(x[t_] := len1\ Cos[t] + len2\ \ Cos[c\ t]\), RowBox[{\(y[t_] := len1\ Sin[t] + len2\ \ Sin[c\ t]\), "\n", "\t\t"}], RowBox[{\(Clear[c, len1, len2]\), ";", "\n", RowBox[{"c", "=", StyleBox["2", FontColor->RGBColor[0, 1, 0]]}], ";", "\n", \(len1 = 1\), ";", "\n", \(len2 = .5\), " ", ";", "\n", "\n", RowBox[{\(move[tot_]\), ":=", RowBox[{"ParametricPlot", "[", RowBox[{\({x[t], y[t]}\), ",", \({t, 0, tot}\), "\n", StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(AspectRatio -> Automatic\), FontColor->GrayLevel[0.500008]], StyleBox["\n", FontColor->GrayLevel[0.500008]], StyleBox["\t", FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(PlotRange -> {{\(-1.5\), 1.5}, {\(-1.5\), 1.5}}\), FontColor->GrayLevel[0.500008]], StyleBox["\n", FontColor->GrayLevel[0.500008]], StyleBox["\t", FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(PlotStyle -> Hue[0]\), FontColor->GrayLevel[0.500008]]}], "]"}]}]}]}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[BoxData[ \(move[Pi]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[TextData[{ "Snelheid van de beweging wordt door de eerste afgeleide van de \ verplaatsingsfunctie uitgedrukt.\nOp de eerste tekening hieronder zie je de \ snelheidskurve. Dat zijn de eindpunten van de snelheidsvectoren voor alle \ parameters ", StyleBox["t", FontSlant->"Italic"], " van ", StyleBox["[0,\[Pi]]", FontSlant->"Italic"], " . Die vectoren zijn gevestigd in de oorsprong. Op de tweede tekening \ hieronder zie je enkele van die vectoren (voor de parameters ", StyleBox["t", FontSlant->"Italic"], " om de ", StyleBox["\[Pi]/16", FontSlant->"Italic"], ") in het donkerblauw:" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[snelheden]; \n\n snelheden := Show[Table[ Graphics[{Hue[0.7], Line[{{0, 0}, {\(x'\)[t], \(y'\)[t]}}]}], {t, 0, Pi, Pi/16}], Axes -> True, AspectRatio -> Automatic, PlotRange -> {{\(-3\), 3}, {\(-3\), 3}}]; \n\n ParametricPlot[{\(x'\)[t], \(y'\)[t]}, {t, 0, \ Pi}\n, AspectRatio -> Automatic\n\t, PlotRange -> {{\(-3\), 3}, {\(-3\), 3}}]\n \), \(snelheden\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[TextData[{ "Op de tekeningen hieronder zie je:\n1. Op de eerste tekening - de rode \ lijn van de beweging\n2. Op de tweede tekening - dezelfde lijn en de \ donkerblauwe snelheidsvectoren (vergelijk met de tekening hierboven!) \ gevestigde in de punten van de trajectlijn, voor parameters ", StyleBox["t", FontSlant->"Italic"], " om de ", Cell[BoxData[ RowBox[{" ", StyleBox[\(\[Pi]\/16\), FontFamily->"Times New Roman", FontSlant->"Italic"]}]]], ". Symbool ", Cell[BoxData[ StyleBox[\(v\_n\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " voor ", StyleBox["n=0,1,...,15", FontSlant->"Italic"], " beschrijft de snelheidsvector voor de parameter ", StyleBox["t=", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[".", FontFamily->"Times New Roman"], "\nMerk op dat de lengte van de snelheidsvectoren niet constant is: de \ beginsnelheid is zeer groot en het voorwerp vertraagt bij aankomst:" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(eindpunten = Table[{{x[t], y[t]}, {x[t] + \(x'\)[t], y[t] + \(y'\)[t]}}, {t, 0, Pi, Pi/16}]; \n tekstenSnelh = Table[\tText[ FontForm[v\_n, {"\", 16}], { x[n\ Pi/16] + \(x'\)[n\ Pi/16], y[n\ Pi/16] + \(y'\)[n\ Pi/16]}], {n, 0, \ 15, 1}]; \n\n rakend = Map[Line, eindpunten]; \)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[BoxData[ \(Show[{ Graphics[{Hue[0.7], rakend, tekstenSnelh}, AspectRatio -> Automatic, PlotRange -> {{\(-2\), 1.5}, {\(-1\), 3}}, Axes -> True], move[Pi]}, AspectRatio -> Automatic]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[TextData[{ "Op de tekeningen hieronder zie je:\n1. Op de eerste tekening - de rode \ lijn van de beweging\n2. Op de tweede tekening - dezelfde lijn en de groene \ versnellingsvectoren gevestigde in de punten van de trajectlijn, voor \ parameters ", StyleBox["t", FontSlant->"Italic"], " om de ", Cell[BoxData[ StyleBox[\(\[Pi]\/16\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], ". Symbool ", Cell[BoxData[ StyleBox[\(a\_n\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " voor ", StyleBox["n=0,1,...,15", FontFamily->"Times New Roman", FontSlant->"Italic"], " beschrijft de versnellingsvector voor de parameter ", StyleBox["t=", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[".\nElke versnellingsvector ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(a\_n\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " ", StyleBox["op de tekening heeft vertrekpunt in ", FontFamily->"Times New Roman"], StyleBox["(x(", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["),y(", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["))", FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[" en eindpunt in ", FontFamily->"Times New Roman"], StyleBox["(x(", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[")+x\"(", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["),y(", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[")+y\"(", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(n\[Pi]\/16\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["))", FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[", waar ", FontFamily->"Times New Roman"], StyleBox["t\[Rule](x(t),y(t))", FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[ " een parameterbeschrijving van de beweging is (parametervoorstelling van \ de rode kurve).", FontFamily->"Times New Roman"], "\nMerk op dat de lengte van de versnellingsvectoren (trouwens evenredig \ met de krachtenvectoren!) steeds vrij groot is en dat bij het einde van de \ beweging tegen de zin van de beweging wordt getrokken:" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(trekpunten = Table[{{x[t], y[t]}, {x[t] + \(\(x'\)'\)[t], y[t] + \(\(y'\)'\)[t]}}, { t, 0, \ Pi, Pi/16}]; \n tekstenVersn = Table[\tText[ FontForm[a\_n, {"\", 16}], { x[n\ Pi/16] + \(\(x'\)'\)[n\ Pi/16], y[n\ Pi/16] + \(\(y'\)'\)[n\ Pi/16]}], {n, 0, \ 15, 1}]; \n\n kracht = Map[Line, trekpunten]; \)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell[BoxData[ \(Show[{ Graphics[{{Hue[ .3], kracht}, tekstenVersn, \n \t\t\t\t{Hue[ .9], Dashing[{ .05, .05}], Circle[{0, 0}, Abs[1 - c^2]\ len2]}, \n \t\t{Hue[ .7], Thickness[ .01], Line[{{x[Pi/16], y[Pi/16]}, {x[Pi/16] + \(\(x'\)'\)[Pi/16], y[Pi/16] + \(\(y'\)'\)[Pi/16]}}]}, \n \t\t\t\t\t{Hue[ .15], Thickness[ .01], Line[{{x[7\ Pi/16], y[7\ Pi/16]}, { x[7\ Pi/16] + \(\(x'\)'\)[7\ Pi/16], y[7\ Pi/16] + \(\(y'\)'\)[7\ Pi/16]}}]}\n\t\t\t}], move[Pi]}, AspectRatio -> Automatic, PlotRange -> If[\((1 - c^2 != 0) \), {{\(-Abs[1 - c^2]\)\ len2 - .2, Abs[1 - c^2]\ len2 + .2}, { \(-Abs[1 - c^2]\)\ len2 - .2, Abs[1 - c^2]\ len2 + .2}}, {{ \(-1.6\), 1.6}, {0, 1.6}}], Axes -> True]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False], Cell["De krachten werken dus niet echt mee...", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Merk op dat de eindpunten van de versnellingsvectoren - punten met \ coordinaten (x(t)+x\"(t),y(t)+y\"(t)) - een kurve vormen die verdacht veel \ op een cirkel lijkt (de paarse stippelijn op de tekening hierboven). \ Misschien is dat echt een cirkel? Indien wel - is dat maar toeval of zou dat \ zo zijn voor alle waarden van ", StyleBox["c", FontSlant->"Italic"], ", ", StyleBox["len1", FontSlant->"Italic"], " en ", StyleBox["len2", FontSlant->"Italic"], "? Even rekenen:\n\n", StyleBox[ "x(t) = len1 cos t + len2 cos(ct)\nx'(t) = - len1 sin t - c len2 sin(ct)\nx\ \"(t) = - len1 cos t - ", FontSlant->"Italic"], Cell[BoxData[ \(c\^2\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[" le", FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["n2 cos(ct)\n", FontSlant->"Italic"], "\ndus de som is:\n\n", StyleBox["x(t) + x\"(t) =", FontSlant->"Italic"], StyleBox[" ", FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["(1-", FontFamily->"Times New Roman", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(c\^2\)], FontFamily->"Times New Roman", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[") len2 cos(ct)", FontFamily->"Times New Roman", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], "\n\nHetzelfde voor de tweede co\[ODoubleDot]rdinaat in de \ parametervoorstelling:\n\n", StyleBox[ "y(t) = len1 sin t + len2 sin(ct)\ny'(t) = len1 cos t + c len2 cos(ct)\n\ y\"(t) = - len1 sin t - ", FontSlant->"Italic"], Cell[BoxData[ StyleBox[\(c\^2\), FontFamily->"Times New Roman"]], FontSlant->"Italic"], StyleBox[" len2 sin(ct)\n", FontSlant->"Italic"], "\ndus:\n\n", StyleBox["y(t) + y\"(t) = ", FontSlant->"Italic"], StyleBox["(1-", FontFamily->"Times New Roman", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(c\^2\)], FontFamily->"Times New Roman", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[") l", FontFamily->"Times New Roman", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox["en2 sin(ct)", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], "\n\nIedereen weet dat ", Cell[BoxData[ StyleBox[\(\(cos\^2\) \[Alpha] + \(sin\^2\) \[Alpha] = 1\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " voor elke ", StyleBox["\[Alpha]", FontFamily->"Times New Roman"], ". Dat betekent, dat\n\n", Cell[BoxData[ \(\((x \((t)\) + \(x'\)' \((t)\))\)\^2\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["+", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(\(\((y \((t)\) + \(y'\)' \((t)\))\)\^2\ \)\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["= ", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(\(\((1 - c\^2)\)\^2\) \((len2)\)\^2\)], FontFamily->"Times New Roman", FontSlant->"Italic"], ",\nvoor elke ", StyleBox["t", FontSlant->"Italic"], " van ", StyleBox["[0,2\[Pi]]", FontSlant->"Italic"], "\n\nde punten ", StyleBox["( x(t) + x\"(t), y(t) + y\"(t) )", FontFamily->"Times New Roman", FontSlant->"Italic"], " voor ", StyleBox["t", FontSlant->"Italic"], " van ", StyleBox["[0,2\[Pi]]", FontSlant->"Italic"], " vormen dus een cirkel met het middelpunt ", StyleBox["(0,0)", FontSlant->"Italic"], " en straal \[VerticalSeparator]", StyleBox["1-", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(\(c\^2 \[VerticalSeparator] \)\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["len2", FontFamily->"Times New Roman", FontSlant->"Italic"], ".\nJuist... waarom absolute waarde? (", StyleBox["1-", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(\(c\^2)\)\ len2\)], FontFamily->"Times New Roman", FontSlant->"Italic"], " is in dit geval (", StyleBox["c=2, len2=0.5", FontSlant->"Italic"], ") gelijk aan -1.5. Straal van een cirkel kan toch niet negatief zijn... \ Neen - kijk eens naar de tekening. Let op de donkerblauwe en gele lijnen. Ze \ verenigen de punten ", StyleBox["(x(t),y(t))", FontFamily->"Times New Roman", FontSlant->"Italic"], " en (", StyleBox["x(t)+x\"(t)", FontSlant->"Italic"], ", ", StyleBox["y(t)+y\"(t))", FontSlant->"Italic"], " voor twee waarden parameter ", StyleBox["t", FontSlant->"Italic"], ": ", Cell[BoxData[ RowBox[{ StyleBox[\(\[Pi]\/16\), FontFamily->"Times New Roman", FontWeight->"Plain", FontSlant->"Italic", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontFamily->"Times New Roman", FontSlant->"Italic"]}]]], " en ", Cell[BoxData[ StyleBox[\(\(7\ \[Pi]\)\/16\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], ". Het eindpunt van een versnellingsvector in punt ", StyleBox["(x(t),y(t))", FontFamily->"Times New Roman", FontSlant->"Italic"], " beschrijft het punt van de cirkel dat in gewone parametervoorstelling \ van een cirkel door parameter \[Pi]", StyleBox["+ct", FontSlant->"Italic"], " beschreven wordt. ", StyleBox["cos", FontSlant->"Italic"], "(\[Pi]", StyleBox["+ct)=-cos(ct), sin", FontSlant->"Italic"], "(\[Pi]", StyleBox["+ct)=-sin(ct).", FontSlant->"Italic"], " Daaruit de negatieve waarde." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Probeer hetzelfde uit te voeren voor de andere waarden van de parameter ", StyleBox["c", FontSlant->"Italic"], ". Check dat je werkelijk in alle gevallen cirkels krijgt. Voor c=3 \ krijgt men een zeer mooie tekening. En c=1 of c=-1? - kan je vragen. \ Juist, dan is ", StyleBox["1-", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ RowBox[{\(c\^2 = 0\), StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}]], FontFamily->"Times New Roman", FontSlant->"Italic"], " en kan men niet van een cirkel spreken. Waarom niet? En cirkel met \ straal 0 is gewoon een punt. Doe eens een experiment - vallen alle eindpunten \ van de versnellingsvectoren voor c=1 en c=-1 in 1 punt?" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["Calypso", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H3D3"], Cell[CellGroupData[{ Cell[TextData[ "We gaan nu nog de robot voor c<0 bekijken. Tot nu toe hebben wij, behalve \ de positieve waarden van c, nog maar \[EAcute]\[EAcute]n negatieve waarde \ voor c geanalyseerd: c=-1 . Zie hieronder de tekeningen voor c=-4, c=-5 \ en c=-3.\nDoet het je niet aan kermis denken?"], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Clear[x, y, move, arm1punten, arm1, arm2punten, arm2]; \n\n x[len1_, len2_, c_, t_] := len1\ Cos[t] + len2\ \ Cos[c\ t]; \n y[len1_, len2_, c_, t_] := len1\ Sin[t] + len2\ \ Sin[c\ t]; \n\n move[len1_, len2_, c_, tot_] := {Hue[0], Table[Point[{x[len1, len2, c, t], y[len1, len2, c, t]}], {t, 0, tot, 0.01}]}; \n\n arm1punten[len1_, tot_] := Table[{{0, 0}, {len1\ Cos[t], len1\ Sin[t]}}, {t, 0, \ tot, Pi/20}]; \n \narm1[len1_, tot_] := Map[Line, arm1punten[len1, tot]]; \n\n arm2punten[len1_, len2_, c_, tot_] := Table[{{len1\ Cos[t], len1\ Sin[t]}, {x[len1, len2, c, t], y[len1, len2, c, t]}}, {t, 0, \ tot, Pi/20}]; \n\n arm2[len1_, len2_, c_, tot_] := Map[Line, arm2punten[len1, len2, c, tot]]; \)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellAutoOverwrite->False] }, Open ]], Cell[BoxData[ \(Show[{Graphics[arm1[1, 2\ Pi]], Graphics[arm2[1, .5, \(-5\), 2\ Pi]], Graphics[move[1, .5, \(-5\), 2\ Pi]]}, AspectRatio -> Automatic]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Show[{Graphics[arm1[1, 2\ Pi]], Graphics[arm2[1, .5, \(-4\), 2\ Pi]], Graphics[move[1, .5, \(-4\), 2\ Pi]]}, AspectRatio -> Automatic]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Show[{Graphics[arm1[1, 2\ Pi]], Graphics[arm2[1, .5, \(-3\), 2\ Pi]], Graphics[move[1, .5, \(-3\), 2\ Pi]]}, AspectRatio -> Automatic]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["Waarom maar 1 elleboog?", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H3D4"], Cell[TextData[{ StyleBox["Opgelet", FontWeight->"Bold"], ":\nIn vervolg gaan we de hoeksnelheden waarmee armen draaien, gewoon \ \"snelheden\" noemen. We gaan toch niet meer over de lineaire snelheden in \ deze notebook spreken." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell[TextData[{ "Tot nu toe hebben we ons tot twee armen beperkt. Twee armpjes die door \ middel van de elleboog aan mekaar vastzitten. Waarom maar 1 elleboog? - Kom, \ nou, heb je ooit iemand gezien die een \"driedelige\" arm had? Neen... Maar - \ als we nu even anders naar de robot kijken... ", StyleBox["Robot als twee draaiende wielen ", FontColor->RGBColor[1, 0, 0]], "(de draaibeweging van de armen is immers een cirkelbeweging!):\n", StyleBox[ "Het middelpunt van het eerste wiel (met de straal 1) zit vast en het wiel \ draait (tegen de wijzers van de klok) met hoeksnelheid ", Background->GrayLevel[0.900008]], StyleBox["v", FontSlant->"Italic", Background->GrayLevel[0.900008]], StyleBox[ " rond dit punt. Het middelpunt van het tweede wiel (met de straal 0.5) \ ligt op de omtrek van het eerste wiel, dus draait mee met het eerste wiel. \ Tegelijkertijd draait het tweede wiel rond zijn eigen middelpunt met \ hoeksnelheid ", Background->GrayLevel[0.900008]], StyleBox["cv", FontSlant->"Italic", Background->GrayLevel[0.900008]], StyleBox[ " - in dezelfde zin als het eerste wiel indien c>0, in tegengestelde zin \ indien c<0; niet trager dan het eerste, omdat we alleen gehele c beschouwen, \ dus geldt ook dat Abs[c]\[GreaterEqual]1.", Background->GrayLevel[0.900008]], "\nDan spreken we niet meer van het vergroten van het aantal ellebogen \ (bah! Wat een gedacht!), maar van het vergroten van het aantal wielen - \ klinkt toch veel \"beschaafder\", neen?" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[machten, f, g, move, coords, armen, cirkels, som, spiroAnimatie]; \n \nmachten[machtenList_, z_] := \ z^machtenList; \n\n f[coeffList_, machtenList_, \[CurlyPhi]_] := If[Length[coeffList] == 1, coeffList[\([1]\)]\ E^\((I\ \[CurlyPhi]\ machtenList[\([1]\)])\), \((coeffList . \ machten[machtenList, z])\) /. z -> E^\((I\ \[CurlyPhi])\)]; \n\n g[coeffList_, machtenList_, \[CurlyPhi]_, 0] := 0\), RowBox[{ RowBox[{ \(g[coeffList_, machtenList_, \[CurlyPhi]_, n_] := f[Take[coeffList, n], Take[machtenList, n], \[CurlyPhi]]\), ";", "\n", StyleBox["\n", FontColor->GrayLevel[0]], \(move[coeffList_, machtenList_, s_, a_] := Table[{Hue[a], Point[coords[f[coeffList, machtenList, t]]]}, {t, 0, \ s, 0.01}]\), ";", "\n", StyleBox["\n", FontColor->RGBColor[0, 1, 0]], \(coords[z_] := {Re[z], Im[z]}\), ";", "\n", "\n", \(armen[coeffList_, machtenList_, s_] := Table[{Line[ Table[coords[g[coeffList, machtenList, \[CurlyPhi], n]], {n, 0, Length[coeffList], 1}]], {GrayLevel[1], Line[Table[ coords[g[coeffList, machtenList, \[CurlyPhi] - Pi/20, n]], {n, 0, Length[coeffList], 1}]]}}, {\[CurlyPhi], 0, \ s, Pi/20}]\), ";", "\n", "\n", \(cirkels[coeffList_, machtenList_, s_] := Table[{Table[ Circle[coords[g[coeffList, machtenList, \[CurlyPhi], n - 1]], coeffList[\([n]\)]], {n, 1, Length[coeffList], 1}], Table[{GrayLevel[1], Circle[coords[ g[coeffList, machtenList, \[CurlyPhi] - Pi/20, n - 1]], coeffList[\([n]\)]]}, {n, 2, Length[coeffList], 1}]}, { \[CurlyPhi], 0, \ s, Pi/20}]\), ";", "\n", "\n", \(som := Apply[Plus, coeffList]\)}], "\n"}], \(spiroAnimatie[coeffList_, machtenList_, s_, a_] := Show[{Graphics[armen[coeffList, machtenList, s]], Graphics[cirkels[coeffList, machtenList, s]], Graphics[move[coeffList, machtenList, s, a]], Graphics[Line[{{\(-som\), 0}, {som, 0}}]], Graphics[Line[{{0, \(-som\)}, {0, som}}]]}, AspectRatio -> Automatic\t, PlotRange -> {{\(-som\), som}, {\(-som\), som}}, Axes -> True]; \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-3\), 7}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(Do[spiroAnimatie[coeffList, machtenList, s, 0], {s, 0.01, 2\ Pi + Pi/20, Pi/20}]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"Animatie Spirograph"], Cell[TextData[{ "Bekijk eens de animatie voor 3 wielen (hierboven). Het programma in de \ gesloten cel hierboven (Opgelet: het programma is \"zwaar\" - je computer kan \ flippen!) laat toe om de beweging van een willekeurig aantal cirkels te \ observeren. In het begin liggen die cirkels als volgt:\nde eerste cirkel met \ de straal ", Cell[BoxData[ StyleBox[\(r\_1\), FontFamily->"Times New Roman"]]], " heeft middelpunt in ", Cell[BoxData[ StyleBox[\((0, 0)\), FontFamily->"Times New Roman"]]], "\nde tweede cirkel met de straal ", Cell[BoxData[ StyleBox[\(r\_2\), FontFamily->"Times New Roman"]]], " heeft middelpunt in ", Cell[BoxData[ StyleBox[\((r\_1, 0)\), FontFamily->"Times New Roman"]]], " - op de eerste cirkel dus!\nderde (als je zover wil gaan): in ", Cell[BoxData[ StyleBox[\((r\_1 + r\_2, 0)\), FontFamily->"Times New Roman"]]], " - op de tweede cirkel,\nenzovoort.\nWe observeren de kurve die ontstaat \ als traject van \"het topje van de cirkelpyramide\", of - exacter gezegd - \ van het punt ", Cell[BoxData[ StyleBox[\((\(r\_1 + r\_2 + ... \) + r\_n, 0)\), FontFamily->"Times New Roman"]]], ", waar n het totaal aantal bewegende cirkels is.\n\nJe kan ook zelf \ experimenteren:\n1. evalueer de gesloten cel hierboven - die cel bevat immers \ het programma voor de animatie\n2. kies zelf een aantal cirkels (een \ natuurlijk getal n) die je wil zien bewegen. Vervang de \"rode rijen\" \ getallen in volgende cel door uw eigen getallen:\n\ta) n stralen (positieve \ getallen! - maar niet noodzakelijk gehele getallen) in\n\t", StyleBox["coeffList:={", FontFamily->"Courier", FontWeight->"Bold"], StyleBox["r1,r2,...,rn", FontFamily->"Courier", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["};", FontFamily->"Courier", FontWeight->"Bold"], "\n\tb) n snelheden (hier mogen de co\[EDoubleDot]ffici\[EDoubleDot]nten \ zelfs negatief zijn - wat zoveel betekent als verandering van de zin. Neem \ alleen maar gehele getallen!) in \t\t\t\t\t", StyleBox["machtenList:={", FontFamily->"Courier", FontWeight->"Bold"], StyleBox["v1,v2,...,vn", FontFamily->"Courier", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["};", FontFamily->"Courier", FontWeight->"Bold"], "\n\t", StyleBox["OPGELET! - de lijsten moeten evenveel elementen hebben! ", FontColor->RGBColor[1, 0, 0]], "- elke cirkel moet zijn snelheid hebben!\n3. evalueer de cel met de co\ \[EDoubleDot]ffici\[EDoubleDot]nten.\n4. als de evaluatie compleet is, kan je \ de output-cellen samenvouwen zodat alleen maar de bovenste cel zichtbaar is. \ Dubbelklik op die cel om de animatie te zien. Met behulp van de videobalk \ onderaan op het scherm kan je de animatie vertragen om het proces van het \ ontstaan van de spirograaf-lijn nog beter te kunnen volgen." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell["\<\ De lijn die je als resultaat (in het rood) gekregen hebt is een voorbeeld van \ een spirograaf-kurve. De animatie hielp je zien HOE zo'n kurve ontstaat. Nu heb je daar een goed \ idee over. Als je verder wil oefenen en ontdekken welke kurven bij \ verschillende stralen en snelheden ontstaan, gebruik daarvoor beter het \ \"spaarzamere programma\" in de cel hieronder. Ook hier kan je je eigen rijen \ stralen en snelheden invoeren. Als resultaat krijg je de tekening van de \ cirkels die je gekozen hebt en de spirograaf-kurve voor die cirkels en de \ door jou gekozen snelheden. De beweging kan je hier niet zien, maar het \ programma werkt beduidend sneller. Dat laat je toe op een \ effici\[EDoubleDot]nte manier de spirografen-wereld te verkennen. Vergeet niet de cel met het programma hieronder te evalueren!\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{ \(Clear[machten, f, move, g, coords, cirkels, som, spiroMetCirkels, veelterm, poly]\), ";", "\n", "\n", \(machten[machtenList_, z_] := \ z^machtenList\), ";", "\n", "\n", \(f[coeffList_, machtenList_, \[CurlyPhi]_] := If[Length[coeffList] == 1, coeffList[\([1]\)]\ E^\((I\ \[CurlyPhi]\ machtenList[\([1]\)])\), \((coeffList . \ machten[machtenList, z])\) /. z -> E^\((I\ \[CurlyPhi])\)]\), ";", "\n", "\n", \(move[coeffList_, machtenList_, a_] := Table[{Hue[a], Point[coords[f[coeffList, machtenList, t]]]}, {t, 0, \ 2\ Pi, 0.001}]\), ";", "\n", "\n", StyleBox[\(g[coeffList_, 0] := 0\), FontColor->RGBColor[0, 1, 0]]}], RowBox[{ RowBox[{ StyleBox[\(g[coeffList_, n_] := Apply[Plus, Take[coeffList, n]]\), FontColor->RGBColor[0, 1, 0]], StyleBox[";", FontColor->RGBColor[0, 1, 0]], StyleBox["\n", FontColor->RGBColor[0, 1, 0]], StyleBox["\n", FontColor->RGBColor[0, 1, 0]], StyleBox[\(coords[z_] := {Re[z], Im[z]}\), FontColor->RGBColor[0, 1, 0]], StyleBox[";", FontColor->RGBColor[0, 1, 0]], StyleBox["\n", FontColor->RGBColor[0, 1, 0]], StyleBox["\n", FontColor->RGBColor[0, 1, 0]], StyleBox[ \(cirkels[coeffList_] := Table[Circle[{g[coeffList, n - 1], 0}, coeffList[\([n]\)]], {n, 1, Length[coeffList], 1}]\), FontColor->RGBColor[0, 1, 0]], StyleBox[";", FontColor->RGBColor[0, 1, 0]], "\n", "\n", \(som := Apply[Plus, coeffList]\)}], "\n"}], \(spiroMetCirkels[coeffList_, machtenList_, a_] := Show[{Graphics[cirkels[coeffList]], Graphics[move[coeffList, machtenList, a]]}, AspectRatio -> Automatic, PlotRange -> {{\(-som\), som}, {\(-som\), som}}, Axes -> True]; \n\n veelterm[coeffList_, machtenList_, \[CurlyPhi]_] := TraditionalForm[f[coeffList, machtenList, \[CurlyPhi]]]; \n poly[coeffList_, machtenList_] := If[Length[coeffList] == 1, coeffList[\([1]\)]\ z^\((machtenList[\([1]\)])\), \((coeffList . \ machten[machtenList, z])\)]; \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 10}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .15]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Snelheidsco\[EDoubleDot]ffici\[EDoubleDot]nten 1 en 10 geven 9 gelijke \ lusjes als resultaat. Toeval?\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Formules voor de tekening hierboven - nuttig voor de toekomst:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 10}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Bekijk nu het volgende! Lijkt dat meer op Brussels kant of op hersenen? Het \ is in ieder geval ook een spirograaflijn:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1, .5, .25, .125}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 3, 9, 27, 81, 243}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Formules voor de tekening hierboven - ook nuttig voor de toekomst:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1, .5, .25, .125}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 3, 9, 27, 81, 243}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "In het volgende voorbeeld draait de tweede cirkel met de klokwijzers \ (negatieve snelheid: \"-3\" in de \"machtenList\"), maar de eerste en de \ derde tegen de wijzers (positieve snelheden: \"1\" en \"5\" in de \ \"machtenList\"). \nHet resultaat bestaat uit ", StyleBox["4 gelijke \"segmenten\"", FontColor->RGBColor[1, 0, 0]], ". Zou er geen verband zijn met de keuze van de \ snelheidsco\[EDoubleDot]ffici\[EDoubleDot]nten?\nWe maken een korte analyse - \ eerst onderzoeken we paarsgewijze verschillen van de \ snelheidsco\[EDoubleDot]ffici\[EDoubleDot]nten in \"machtenList\":\n1-(-3)=4\n\ 1-5=-4\n-3-5=-8\nen daarna vinden we hun grootste gemene deler: GGD[4,4,8]=4.\ \nVerder merken we op dat alle co\[EDoubleDot]ffici\[EDoubleDot]nten gelijk \ zijn aan 1 modulo 4 (geven rest 1 bij het delen door 4).\nWaarom heeft dat \ verband met aantal gelijke segmenten waaruit de spirograaflijn bestaat? Het \ is niet evident om daar de uitleg voor te vinden. Je wordt echter van harte \ uitgenodig om dat te proberen. Als dat lukt: een dikke proficiat! Als niet \ lukt - maak je geen zorgen, dat is echt niet zo voor de hand liggend. Bekijk \ nog een aantal voorbeelden hieronder en probeer naar antwoord te zoeken. Als \ je ten einde raad bent, ", ButtonBox["klik hierop", ButtonData:>"Farris - segmenten van de spirographlijn - antwoord", ButtonStyle->"Hyperlink"], " om de uitleg te vinden." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"terug naar de tekst - van het antw. Farris"], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-3\), 5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Formules voor de tekening hierboven - onthou voor straks (neen, je moet dat \ niet van buiten leren):\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-3\), 5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Volgend voorbeeld - een kleine aanpassing van de vorige situatie - het \ minteken in de \"machtenList:={1,-3,5}\" wordt verplaatst. De nieuwe \ snelheidsco\[EDoubleDot]ffici\[EDoubleDot]ntenlijst \"machtenList\" is nu \ {1,3,-5}. De kleine aanpassing heeft grote gevolgen! De nieuwe spirograaflijn \ heeft maar 2 gelijke segmenten. Waarom? - een kleine geheimzinnige analyse \ van de paarsgewijze verschillen van de snelheidsco\[EDoubleDot]ffici\ \[EDoubleDot]nten geeft volgende resultaten:\n1-3=-2\n1-(-5)=6\n3-(-5)=8\nen \ de grootste gemene deler van die verschillen (GGD[2,6,8]) is nu ", StyleBox["2", FontColor->RGBColor[1, 0, 0]], "! Alle ", "co\[EDoubleDot]ffici\[EDoubleDot]nt", "en zijn gelijk aan 1 modulo 2 (geven rest 1 bij het delen door 2).\nBekijk \ eens het resultaat:" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 3, \(-5\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 3, \(-5\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ In het volgende geval is de snelheid van de tweede cirkel 6 keer groter dan \ de snelheid van de eerste. Resultaat: 5 lusjes naar binnen. Herken je onze robot? Zijn tweede arm is wel precies wat energieker \ geworden... En... het voorwerp dat van rechts naar links overgebracht moet \ worden is hopelijk geen kop koffie... 1-6=-5 (daarom 5 lusjes?...):\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 6}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 6}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ En nu: de snelheid van de tweede cirkel is 4 keer groter dan de snelheid van \ de eerste MAAR de richting verandert. Resultaat: ook 5 lusjes. Deze keer naar \ buiten. 1-(-4)=5.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-4\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-4\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Probeer nu te voorspellen: welke tekeningen krijgen we door de volgende \ combinaties van snelheden (stralen in elk geval 1 en 0.5):\n{1,4}, {1,5}, \ {1,7}, {1,8}\n{1,-3}, {1,-5}, {1,-6}, {1,-7}. Je kan in elk van die gevallen \ de juistheid van je vermoedens controleren door een tekening te laten maken \ door \"", StyleBox["Mathematica", FontSlant->"Italic"], "\". coeffList blijft dus {1,.5}, en als machtenList gebruik je om beurt de \ gegevens van de opgave." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ En nu een beetje gek doen: 10 cirkels en allerraarste snelheden! \ Pre-Copernicus planeet orbitebaan?:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({10, 8, 6, 3, 2, 1, 5, 2, 1, .1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[ \({1, \(-2\), 3, \(-25\), 7, \(-11\), 13, \(-55\), 19, \(-23\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .3]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({10, 8, 6, 3, 2, 1, 5, 2, 1, .1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[ \({1, \(-2\), 3, \(-25\), 7, \(-11\), 13, \(-55\), 19, \(-23\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Een vis?:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1, .5, .25}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({2, 5, 7, \(-7\), 15}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .6]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1, .5, .25}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({2, 5, 7, \(-7\), 15}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[ "Banen van planeten (n\[AAcute] Copernicus!) ofwel een wollen draad in een \ (regelmatige) wanorde:"], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1, 4}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({3, 15, \(-7\), \(-19\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .6]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1, 4}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({3, 15, \(-7\), \(-19\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Wat valt je op in verband met de ligging van de kurven ten opzichte van de \ assen?\nWat voor invloed op die ligging heeft het even/oneven-zijn van de \ snelheids", "co\[EDoubleDot]ffici\[EDoubleDot]nt", "en?\nGebruik ook de volgende voorbeelden als hulp. Je kan je conclusies \ vergelijken met het antwoord aan het einde van de notebook. ", ButtonBox["Klik hierop", ButtonData:>"Antwoord - ligging van de spirograph-kurven.", ButtonStyle->"Hyperlink"], "." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"vraag over de ligging van de kurven"], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["alle snelheden oneven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 3, 3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 3, 3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["alle snelheden oneven; een ervan negatief:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-3\), 3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-3\), 3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["1 oneven, 2 even:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 4, 2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 4, 2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["2 oneven, 2 even:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3, .1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 4, 3, 6}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3, .1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 4, 3, 6}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["2 oneven, 1 even:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 4, 1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, 4, 1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["alle snelheden even:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({8, 14, 2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({8, 14, 2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Kan men een stuk rechte lijn als resultaat van twee draaibewegingen \ krijgen? Indien wel - hoe groot moeten de cirkels zijn ten opzichte van \ mekaar en hoe snel en in welke richtingen moeten ze draaien?\nBekijk eens het \ voorbeeld hieronder en probeer de uitleg te vinden: WAAROM geeft die \ combinatie van co\[EDoubleDot]ffici\[EDoubleDot]nten een stuk rechte lijn als \ resultaat? Gebruik gerust de ", "co\[EDoubleDot]ffici\[EDoubleDot]nt", "en hieronder voor het animatie-programma - dat gaat je helpen verstaan, op \ welke manier de rechte lijn ontstaat door die beweging. En de \"wiskundige\" \ uitleg? Bestaat het ook? Natuurlijk. Die vindt je op het einde van de \ notebook. ", ButtonBox["Klik hier", ButtonData:>"antwoord -Waarom rechte lijn???", ButtonStyle->"Hyperlink"], "." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"vraag - Waarom rechte lijn???"], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, 1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-1\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, 1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({1, \(-1\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Volgend voorbeeld: wat krijgen wij bij gelijke snelheden van beide \ cirkels?:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({2, 2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Formules voor de tekening hierboven:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({2, 2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "1 draaiende (in dit geval 5 keer rond zijn middelpunt) cirkel geeft cirkel \ als beeld...\nTerug naar het hoofdstuk over de Hoofdstelling van de Algebra - \ ", ButtonBox["klik hierop", ButtonData:>"terug van de spiro z^5", ButtonStyle->"Hyperlink"], "." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"spirograph voor veelterm z^5"], Cell[BoxData[ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(spiroMetCirkels[coeffList, machtenList, .9]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Formules voor de tekening hierboven - zeer nuttig voor de toekomst:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(veelterm[coeffList, machtenList, \[CurlyPhi]]\)}], \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Kunnen alle kurven verkregen worden als spirograaflijnen? Neen - je hebt al \ enkele noodzakelijke voorwaarden daarvoor gevonden. Kan er een voldoende \ voorwaarde geformuleerd worden? - daarover kan je in de volgende notebook \ lezen.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Veeltermen", "Section", CellDingbat->"\[FilledDiamond]", CellMargins->{{27, Inherited}, {Inherited, Inherited}}, CellTags->"H4"], Cell[CellGroupData[{ Cell["\<\ Veralgemening van de vorige hoofdstukken. Een spirograaf - WAT is dat \ eigenlijk??? [ontrafelen van het geheim]\ \>", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->{"verband tss de spirographen en veeltermen", "H4D1"}], Cell[TextData[{ "Terug naar de antwoorden op vraagstukken - \"Waarom rechte lijn???\" - ", ButtonBox["klik hier", ButtonData:>"antwoord -Waarom rechte lijn???", ButtonStyle->"Hyperlink"], "." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Een spirograafkurve is het resultaat van een samenstelling van \ cirkelbewegingen.\nWat heeft dat te maken met complexe getallen???\n\nBekijk \ eens goed de animatie van spirograaf. Denk daarbij aan het optellen van \ complexe getallen en aan de machtsverheffing. ", ButtonBox["Klik hierop", ButtonData:>"Animatie Spirograph", ButtonStyle->"Hyperlink"], " om op de juiste plaats van de notebook te geraken. \n\nVoor parameters:\n\ stralen: ", StyleBox["coeffList:={", FontFamily->"Courier", FontWeight->"Bold"], StyleBox["r1,r2,...,rn", FontFamily->"Courier", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["}\n", FontFamily->"Courier", FontWeight->"Bold"], "snelheden: ", StyleBox["machtenList:={", FontFamily->"Courier", FontWeight->"Bold"], StyleBox["c1,c2,...,cn", FontFamily->"Courier", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["}\n", FontFamily->"Courier", FontWeight->"Bold"], StyleBox["voeren we een aantal operaties uit om de ", FontFamily->"Times New Roman"], "spirograaf-", StyleBox[ "kurve te bekomen.\n\nAnalyseer aandachtig de tekening hieronder. Die \ tekening toont de drie stappen die we \"achteruit\" moeten doen om van de ", FontFamily->"Times New Roman"], "spirograaf", StyleBox[ "-kurve tot in de complexe getallen te geraken.\nVolg de beschrijving van \ die stappen en wijs hun resultaten aan op de tekening:\n\n1. ", FontFamily->"Times New Roman"], StyleBox[ "[nodig: DEFINITIE VAN SOM VAN COMPLEXE GETALLEN - PARALELLOGRAMREGEL!]", FontFamily->"Times New Roman", FontColor->RGBColor[1, 0, 1]], StyleBox[": ", FontFamily->"Times New Roman"], "spirograaf", StyleBox[ "lijn is het resultaat van de draaibeweging van n aan mekaar gekoppelde \ cirkels met stralen ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(r\_1, \ r\_2, ... , \ r\_n\), FontFamily->"Times New Roman"]]], " en snelheden", StyleBox[" ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(c\_1, \ c\_2, ... , \ c\_n\), FontFamily->"Times New Roman"]]], ". ", StyleBox["Voor elke parameter", FontFamily->"Times New Roman"], " \[CurlyPhi] van [", StyleBox["0,2\[Pi]", FontSlant->"Italic"], "] is het punt ", StyleBox["SpirograafParam", FontSlant->"Italic"], "[", StyleBox["\[CurlyPhi]", FontSlant->"Italic"], "] de som van \"de dikke stralen\" op de tekening - complexe getallen ", Cell[BoxData[ StyleBox[ \(r\_1\ \[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_1\)\), FontFamily->"Times New Roman"]]], ", ", Cell[BoxData[ StyleBox[ \(r\_2\ \[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_2\)\), FontFamily->"Times New Roman"]]], ", ..., ", Cell[BoxData[ StyleBox[ \(r\_n\ \[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_n\)\), FontFamily->"Times New Roman"]]], ".", StyleBox["\n", FontFamily->"Times New Roman"], StyleBox["\n", FontFamily->"Courier", FontWeight->"Bold"], Cell[BoxData[ StyleBox[\(SpirograafParam[\[CurlyPhi]] = r\_1\ \), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_1\)\)], FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0]], StyleBox["+", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(r\_2\)], FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_2\)\)], FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0]], StyleBox["+", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ StyleBox[\(r\_3\ \), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ StyleBox[ \(\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_3\) + \) ... + \), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ StyleBox[ \(r\_n\ \[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_n\)\), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0]], ",\nvoor \[CurlyPhi] van [", StyleBox["0,2\[Pi]", FontSlant->"Italic"], "]\n\n2", StyleBox[". ", FontFamily->"Times New Roman"], StyleBox["[nodig: DELEN DOOR EEN SKALAIR!]", FontFamily->"Times New Roman", FontColor->RGBColor[1, 0, 1]], StyleBox[": elk van die getallen ontstaat door de getallen ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_1\)\), FontFamily->"Times New Roman"]]], StyleBox[", ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_2\)\), FontFamily->"Times New Roman"]]], StyleBox[", ..., ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_n\)\), FontFamily->"Times New Roman"]]], " van de eenheidscirkel (die hebben allemaal modulus 1) te \ vermenigvuldigen met ", Cell[BoxData[ RowBox[{ StyleBox[\(r\_1, \ r\_2, \ ... , \ r\_n\), FontFamily->"Times New Roman"], " "}]]], " respectievelijk. Zie de bundel stralen (op de tekening hieronder) \ gevestigd in (0,0) - op de tekening zijn de stralen van dezelfde kleur \ parallel (en hoeken gemarkeerd met bogen van dezelfde kleur zijn gelijk).\n\n\ 3", StyleBox[". ", FontFamily->"Times New Roman"], StyleBox["[nodig: MACHTSVERHEFFING!]", FontFamily->"Times New Roman", FontColor->RGBColor[1, 0, 1]], StyleBox[": de getallen ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_1\)\), FontFamily->"Times New Roman"]]], StyleBox[", ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_2\)\), FontFamily->"Times New Roman"]]], StyleBox[", ..., ", FontFamily->"Times New Roman"], Cell[BoxData[ StyleBox[\(\[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ c\_n\)\), FontFamily->"Times New Roman"]]], " ontstaan door het getal ", Cell[BoxData[ StyleBox[\(z = \[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\ \)\), FontFamily->"Times New Roman"]]], " te verheffen tot de macht ", Cell[BoxData[ StyleBox[\(c\_1, \ c\_2, \ ... , \ c\_n\), FontFamily->"Times New Roman"]]], " respectievelijk. Een getal met modulus 1 tot de k-de macht verheffen is \ het argument vermenigvuldigen met k (k-1 keer roteren rond de oorsprong met \ de hoek \[CurlyPhi]).\n\nWat betekent dat? - dat, wat je eigenlijk al lang \ vermoedt: " }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "spirograaf", StyleBox[ " is het beeld van de eenheidscirkel onder de werking van de volgende \ functie S (een ", Background->None], StyleBox["VEELTERM", FontColor->RGBColor[1, 0, 0], Background->None], StyleBox["!!!):\n", Background->None], Cell[BoxData[ StyleBox[\(S[z] = r\_1\ \), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], Cell[BoxData[ \(z\^c\_1\)], FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], StyleBox["+", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], Cell[BoxData[ \(r\_2\)], FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], Cell[BoxData[ \(z\^c\_2\)], FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], StyleBox["+", FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], Cell[BoxData[ StyleBox[\(r\_3\ \), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], Cell[BoxData[ StyleBox[\(\(z\^c\_3 + \) ... + \), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], Cell[BoxData[ StyleBox[\(r\_n\ z\^c\_n\), FontFamily->"Times New Roman"]], FontSize->18, FontColor->RGBColor[1, 0, 0], Background->None], StyleBox[",\nvoor ", Background->None], StyleBox["z", FontSlant->"Italic", Background->None], StyleBox[" van de eenheidscirkel, dus ", Background->None], Cell[BoxData[ StyleBox[\(z = \[ExponentialE]\^\(\[ImaginaryI]\ \[CurlyPhi]\)\), FontFamily->"Times New Roman", FontSize->18, FontColor->RGBColor[1, 0, 0]]], Background->None] }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, Background->GrayLevel[0.900008]], Cell["\<\ Nu weet je wat was de betekenis van de formules onder elke spirograaf \ (\"nuttig voor de toekomst\" - en het is NU). Tot nu toe leek het misschien \ ietwat geheimzinnig...\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell["\<\ In de gesloten cel hieronder bevindt zich het programma die het verband \ tussen spirografen en complexe getallen helpt in te zien. Als je wil, kan je \ het bekijken. Dat programma is ook, zoals de animatie van de spirograaf, \ gemaakt voor een willekeurig aantal draaiende cirkels. Bij al te veel cirkels \ verliest het beeld zijn overzichtelijkheid. Experimenteer daar gerust zelf mee - je kan hieronder rode reeksen getallen \ door je eigen straallengtes (positieve getallen!) en snelheden (gehele \ getallen!) vervangen. De reeksen moeten even lang zijn. Evalueer de cel \ hieronder en de cel met de nieuwe gegevens.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[coords, som, machten, f, move, h, armen, stippelijnen, bogen, bogenCentrum, stralen, teksten, verbandSpiroComplex, veelterm, poly]; \n \ncoords[z_] := {Re[z], Im[z]}; \n\nsom := Apply[Plus, coeffList]; \n\n machten[machtenList_, z_] := \ z^machtenList; \n\n f[coeffList_, machtenList_, \[CurlyPhi]_] := If[Length[coeffList] == 1, coeffList[\([1]\)]\ E^\((I\ \[CurlyPhi]\ machtenList[\([1]\)])\), \((coeffList . \ machten[machtenList, z])\) /. z -> E^\((I\ \[CurlyPhi])\)]; \n\n move[coeffList_, machtenList_, a_] := Table[{Hue[a], PointSize[0.001], Point[coords[f[coeffList, machtenList, t]]]}, {t, 0, \ 2\ Pi, 0.001}]; \n\nh[coeffList_, machtenList_, \[CurlyPhi]_, 0] := 0\), RowBox[{ RowBox[{ \(h[coeffList_, machtenList_, \[CurlyPhi]_, n_] := f[Take[coeffList, n], Take[machtenList, n], \[CurlyPhi]]\), ";", "\n", "\n", \(armen[coeffList_, machtenList_, \[CurlyPhi]_] := Table[{Hue[3\ n/10], Thickness[0.008], Line[{coords[h[coeffList, machtenList, \[CurlyPhi], n]], coords[h[coeffList, machtenList, \[CurlyPhi], n + 1]]}]}, { n, 0, Length[coeffList] - 1, 1}]\), ";", StyleBox["\n", FontColor->RGBColor[0, 1, 1]], "\n", \(stippelijnen[coeffList_, machtenList_, \[CurlyPhi]_] := Table[{Dashing[{0.02, 0.02}], Line[{{\(-som\), Im[h[coeffList, machtenList, \[CurlyPhi], n]]}, {som, Im[h[coeffList, machtenList, \[CurlyPhi], n]]}}]}, {n, 1, Length[coeffList] - 1, 1}]\), ";", "\n", "\n", \(bogen[coeffList_, machtenList_, \[CurlyPhi]_] := Table[{Hue[3\ n/10], Thickness[0.006], If[machtenList[\([n + 1]\)] > 0, Circle[coords[ h[coeffList, machtenList, \[CurlyPhi], n]], .3, {0, machtenList[\([n + 1]\)]\ \[CurlyPhi]}], Circle[coords[ h[coeffList, machtenList, \[CurlyPhi], n]], .3, { machtenList[\([n + 1]\)]\ \[CurlyPhi], 0}]]}, {n, 0, Length[coeffList] - 1, 1}]\), ";", "\n", "\n", \(bogenCentrum[machtenList_, \[CurlyPhi]_] := Table[{Hue[3\ n/10], Thickness[0.003], If[machtenList[\([n + 1]\)] > 0, Circle[{0, 0}, .4 + n/10, {0, machtenList[\([n + 1]\)]\ \[CurlyPhi]}], Circle[{0, 0}, .4 + n/10, { machtenList[\([n + 1]\)]\ \[CurlyPhi], 0}]]}, {n, 0, Length[coeffList] - 1, 1}]\), ";", "\n", "\n", \(stralen[machtenList_, \[CurlyPhi]_] := Table[{Hue[3\ n/10], Thickness[0.005], Line[{{0, 0}, coords[E^ \((I\ \[CurlyPhi]\ machtenList[\([n + 1]\)])\)]}]}, {n, 0, Length[coeffList] - 1, 1}]\), ";", "\n", "\n", \(teksten[coeffList_, machtenList_, \[CurlyPhi]_] := \t{Text[FontForm[ "\<\[CurlyPhi]\>", {"\", 24}], { .8\ Cos[\[CurlyPhi]/2], .8\ Sin[\[CurlyPhi]/2]}], \n\t\t\t Text[FontForm[ \*"\"\\"",\ {"\", 16}], {Cos[\[CurlyPhi]] + .5, Sin[\[CurlyPhi]]}], \n Text[FontForm["\", {"\", 16}], coords[f[coeffList, machtenList, \[CurlyPhi]]] + {0, .2}]} \)}], "\n"}], \(verbandSpiroComplex[coeffList_, machtenList_, a_, \[CurlyPhi]_] := Show[{Graphics[Circle[{0, 0}, 1]], Graphics[stralen[machtenList, \[CurlyPhi]]], Graphics[armen[coeffList, machtenList, \[CurlyPhi]]], Graphics[stippelijnen[coeffList, machtenList, \[CurlyPhi]]], Graphics[bogen[coeffList, machtenList, \[CurlyPhi]]], Graphics[bogenCentrum[machtenList, \[CurlyPhi]]], Graphics[{Thickness[0.006], Line[{{0, 0}, coords[E^\((I\ \[CurlyPhi])\)]}]}], Graphics[{PointSize[0.01], Point[coords[E^\((I\ \[CurlyPhi])\)]]}], \n\t\t\tGraphics[{PointSize[0.01], Point[coords[f[coeffList, machtenList, \[CurlyPhi]]]]}], \n \t\t\tGraphics[move[coeffList, machtenList, a]], Graphics[teksten[coeffList, machtenList, \[CurlyPhi]]]}, AspectRatio -> Automatic, Axes -> True]; \n\n veelterm[coeffList_, machtenList_, \[CurlyPhi]_] := TraditionalForm[f[coeffList, machtenList, \[CurlyPhi]]]; \n poly[coeffList_, machtenList_] := If[Length[coeffList] == 1, coeffList[\([1]\)]\ z^\((machtenList[\([1]\)])\), \((coeffList . \ machten[machtenList, z])\)]; \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1.8, 1.5, .7}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({2, 5, 9}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(verbandSpiroComplex[coeffList, machtenList, .9, Pi/13]\)}], \(veelterm[coeffList, machtenList, \[CurlyPhi]]\), \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Nog een voorbeeld - een zeer leuke kurve...", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, .5, .2}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({2, 7, 15}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(verbandSpiroComplex[coeffList, machtenList, .4, Pi/13]\)}], \(veelterm[coeffList, machtenList, \[CurlyPhi]]\), \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Volgend voorbeeld - een bloem... Gebruikelijke analyse van de snelheidsco\[EDoubleDot]ffici\[EDoubleDot]nten: paarsgewijze verschillen (in dit voorbeeld maar 1 paar): 3-15=-12. Alle co\[EDoubleDot]ffici\[EDoubleDot]nten zijn gelijk aan 3 modulo 12 (geven \ rest 3 bij het delen door 12). Daarom 4 gelijke segmenten? (12/3):\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, .5}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({3, 15}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(verbandSpiroComplex[coeffList, machtenList, .6, Pi/20]\)}], \(veelterm[coeffList, machtenList, \[CurlyPhi]]\), \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Negatieve co\[EDoubleDot]ffici\[EDoubleDot]nten - veralgemening van begrip \ \"veelterm\".\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({3, 2, 1}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({3, 15, \(-7\)}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(verbandSpiroComplex[coeffList, machtenList, .9, 2\ Pi/13]\)}], \(veelterm[coeffList, machtenList, \[CurlyPhi]]\), \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Een opmerking:\n", Cell[BoxData[ \(3 z\^3 + 2 z\^15 + z\^\(-7\)\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["=", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(z\^\(-7\)\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["+", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(2 z\^15\)], FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox["+", FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(3 z\^3\)], FontFamily->"Times New Roman", FontSlant->"Italic"], " (optelling is commutatief). De ", "spirograaf", "lijn zou dus niet mogen veranderen als we de volgorde van draaiende \ cirkels veranderen! Even controleren:" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{\(Clear[coeffList, machtenList]\), ";", "\n", "\n", RowBox[{"coeffList", ":=", StyleBox[\({1, 2, 3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", RowBox[{"machtenList", ":=", StyleBox[\({\(-7\), 15, 3}\), FontColor->RGBColor[1, 0, 0]]}], ";", "\n", "\n", \(verbandSpiroComplex[coeffList, machtenList, .9, 2\ Pi/13]\)}], \(veelterm[coeffList, machtenList, \[CurlyPhi]]\), \(poly[coeffList, machtenList]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Opgave", FontWeight->"Bold"], ":\nOp hoeveel mogelijke manieren kunnen wij de spirograaflijn verkrijgen \ die ontstaat als resultaat van draaibeweging van ", StyleBox["n", FontSlant->"Italic"], " cirkels met stralen ", Cell[BoxData[ StyleBox[\(\(r\_1, \)\ \), FontFamily->"Times New Roman", FontSlant->"Italic"]]], Cell[BoxData[ StyleBox[\(r\_2, ... , r\_n\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " en snelheden ", Cell[BoxData[ \(\(\(c\_1, \)\ \)\)], FontFamily->"Times New Roman", FontSlant->"Italic"], Cell[BoxData[ \(c\_2, ... , c\_n\)], FontFamily->"Times New Roman", FontSlant->"Italic"], " respectievelijk (voorwaarde: ", Cell[BoxData[ StyleBox[\(r\_i \[NotEqual] r\_j\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " voor ", StyleBox["i\[NotEqual]j", FontFamily->"Times New Roman", FontSlant->"Italic"], " en ", Cell[BoxData[ StyleBox[\(c\_i \[NotEqual] c\_j\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " voor ", StyleBox["i\[NotEqual]j", FontFamily->"Times New Roman", FontSlant->"Italic"], ")? [Om je antwoord te controleren, klik de cel open]" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ StyleBox["Antwoord", FontWeight->"Bold"], ":\n", StyleBox["n!", FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[" ", FontColor->RGBColor[1, 0, 0]], "- evenveel als permutaties van ", StyleBox["n", FontSlant->"Italic"], " verschillende voorwerpen. We kunnen de cirkels in willekeurige volgorde \ zetten!" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Voorbeelden ", Cell[BoxData[ StyleBox[\(z\^4 + 2 z + 1\), FontFamily->"Times New Roman"]]], " en ", Cell[BoxData[ StyleBox[\(z\^5 + z\), FontFamily->"Times New Roman"]]], " - nulpunten en injectiviteit" }], "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H4D2"], Cell[TextData[{ "Bekijk eens een voorbeeld: veelterm ", Cell[BoxData[ StyleBox[\(P[z] = z\^4 + 2 z + 1\), FontFamily->"Times New Roman"]]], ". Hier nemen we voor de eerste keer een veelterm wiens vrije term is \ verschillend van nul. Dat betekent dat het beeld van de eenheidscirkel is een \ ", "spirograaf", "lijn voor de cirkels met stralen 1 en 2 en snelheden 4 en 1 \ respectievelijk, opgeschoven over een vector [1,0]. Op de linker \ coordinatenstelsel zie je de eenheidscirkel en op de rechter - zijn beeld \ onder de werking van die veelterm. Argumenten en functiewaarden hebben \ dezelfde kleur." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(<< Graphics`ArgColors`\n\), \(Clear[kleuren, punten, coords, complex]\n\), \(coords[z_] := {Re[z], Im[z]}\n\), \(complex[{a_, b_}] := a + b\ \[ImaginaryI]\n\), \(kleuren[set_List] := Table[ArgColor[set[\([j]\)]], {j, Length[set]}]; \n \npunten[set_List] := Table[{PointSize[0.02], Point[coords[set[\([j]\)]]]}, {j, Length[set]}]; \n\n puntenKlein[set_List] := Table[{PointSize[0.01], Point[coords[set[\([j]\)]]]}, {j, Length[set]}]; \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[f]\n\), \(f[z_] := z^4 + 2\ z + 1\n\), \(setCircle[x0_, y0_, r_] := Map[complex, Table[{x0 + r\ Cos[\[CurlyPhi]], y0 + r\ Sin[\[CurlyPhi]]}, { \[CurlyPhi], 0, 2\ Pi, .01}]]\n\), \(Show[ GraphicsArray[{ Graphics[ Transpose[{kleuren[setCircle[0, 0, 1]], puntenKlein[setCircle[0, 0, 1]]}], AspectRatio -> Automatic, PlotRange -> {{\(-5\), 5}, {\(-5\), 5}}, Axes -> True], Graphics[ Transpose[{kleuren[setCircle[0, 0, 1]], puntenKlein[f[setCircle[0, 0, 1]]]}], AspectRatio -> Automatic, PlotRange -> {{\(-5\), 5}, {\(-5\), 5}}, Axes -> True]}]]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Wat zijn de nulpunten van die veelterm? We laten dat uitrekenen door \"", StyleBox["Mathematica", FontSlant->"Italic"], "\":" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(N[Solve[z^4 + 2\ z + 1 == 0, z]]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Vier complexe nulpunten: twee \"zuiver\" re\[EDoubleDot]le en twee \"echt\" \ complexe.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Nu gaan wij de absolute waarden (de moduli) van de nulpunten uitrekenen. De \ absolute waarde is afstand van de oorsprong. Als we ze kennen, gaan wij \ weten, op welke cirkels met het middelpunt in de oorsprong de nulpunten van \ de veelterm liggen. Dan kunnen we de beelden van die cirkels apart bekijken \ (zie tekeningen hieronder):\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Clear[nulpt, f, pts]; \n\nf[z_] := z^4 + 2\ z + 1\ ; \n\n nulpt := Solve[f[z] == 0, z]; \n\n pts = Re[z] + \[ImaginaryI]\ Im[z] /. nulpt; \n\nN[Abs[pts]]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Absolute waarden van twee nulpunten zijn gelijk. Waarom? ", ButtonBox["Klik hierop om het antwoord te vinden", ButtonData:>"Nulpunten van een veelterm (toegevoegde)", ButtonStyle->"Hyperlink"], "." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"vraag over de nulpunten (toegevoegde) - terug"], Cell[BoxData[{ \(Clear[f, cirkelNul]; \n\nf[z_] := z^4 + 2\ z + 1\ ; \n\n coords[z_] := {Re[z], Im[z]}; \n\n cirkelNul[r_] := Show[GraphicsArray[{ Graphics[ Table[{Hue[r], PointSize[0.01], Point[coords[r\ \[ExponentialE]^\((\[ImaginaryI]\ t)\)]]}, { t, 0, 2\ Pi, .01}], AspectRatio -> Automatic, PlotRange -> {{\(-1.5\), 1.5}, {\(-1.5\), 1.5}}, Axes -> True], Graphics[ Table[{Hue[r], PointSize[0.01], Point[coords[ f[r\ \[ExponentialE]^\((\[ImaginaryI]\ t)\)]]]}, {t, 0, 2\ Pi, .01}], AspectRatio -> Automatic, PlotRange -> {{\(-5\), 7.5}, {\(-6\), 6}}, Axes -> True]}]]\n \), \(Do[cirkelNul[1]]\), \(Do[cirkelNul[0.543689]]\), \(Do[cirkelNul[1.3562]]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ De beelden van de cirkels passeren inderdaad door de oorsprong! Zoals \ verwacht.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "We krijgen dus 3 beelden van 3 verschillende cirkels onder de veelterm. \ Beelden van 2 eerste cirkels passeren maar 1 keer door de oorsprong. Waarom? \ - Op de eerste 2 cirkels liggen de twee re\[EDoubleDot]le nulpunten van de \ veelterm. 1 nulpunt op elke cirkel - dus het beeld van elke cirkel kan enkel \ maar 1 keer door het nul gaan. Op de derde, groene cirkel liggen twee \ complexe nulpunten van de veelterm. Ze zijn mekaars toegevoegden. Merk op dat \ het beeld van de groene cirkel inderdaad 2 keer door de oorsprong passeert. \ En dat de beide bogen die het startpunt van de spirograaf met de oorsprong \ verenigen, evenlang zijn. In dit geval ligt het vertrekpunt van de spirograaf \ op de ", "re\[EDoubleDot]le", " as, een beetje voorbij punt (7,0). De x-coordinaat van dit punt kan je \ uitrekenen als f(1.3562), waar ", StyleBox["f(z)=", FontFamily->"Times New Roman"], Cell[BoxData[ \(z\^4 + 2 z + 1\)], FontFamily->"Times New Roman"], ":" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Clear[f]; \nf[z_] := z^4 + 2\ z + 1; \n\nN[f[1.3562]]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Merk ook op dat de veelterm injectief is op de kleinste van de drie cirkels. \ Dat wil zeggen, de veelterm neemt op de kleinste (de donkerblauwe) cirkel \ geen twee keer dezelfde waarde aan. Voor twee grootste cirkels is dat niet \ meer waar. Op de rode cirkel bereikt de veelterm drie van de waarden twee \ keer (de kurve snijdt zichzelf in 3 verschillende punten!). Op de groene - \ zelfs 9 waarden! - er zijn immers 9 snijpunten. Zou dat niks te maken hebben \ met de grootte van de cirkel?\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ ******************************************************************************\ *****\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Een ander voorbeeld: vergelijking ", Cell[BoxData[ StyleBox[\(z\^5 + z = 0\), FontFamily->"Times New Roman"]], FontSlant->"Italic"], " heeft als oplossingen: nul en alle 4de machtswortels van -1. Vier van de \ vijf wortels van de veelterm ", Cell[BoxData[ StyleBox[\(V \((z)\) = z\^5 + z\), FontFamily->"Times New Roman", FontSlant->"Italic"]]], " liggen dus op de eenheidscirkel! Bekijk eens het beeld van de \ eenheidscirkel onder werking van de veelterm:" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(<< Graphics`ArgColors`\n\), \(Clear[kleuren, punten, coords, complex]\n\), \(coords[z_] := {Re[z], Im[z]}\n\), \(complex[{a_, b_}] := a + b\ \[ImaginaryI]\n\), \(kleuren[set_List] := Table[ArgColor[set[\([j]\)]], {j, Length[set]}]; \n \npunten[set_List] := Table[{PointSize[0.02], Point[coords[set[\([j]\)]]]}, {j, Length[set]}]; \n\n puntenKlein[set_List] := Table[{PointSize[0.01], Point[coords[set[\([j]\)]]]}, {j, Length[set]}]; \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[f]\n\), \(f[z_] := z^5 + z\n\), \(setCircle[x0_, y0_, r_] := Map[complex, Table[{x0 + r\ Cos[\[CurlyPhi]], y0 + r\ Sin[\[CurlyPhi]]}, { \[CurlyPhi], 0, 2\ Pi, .01}]]\n\), \(Show[ GraphicsArray[{ Graphics[ Transpose[{kleuren[setCircle[0, 0, 1]], puntenKlein[setCircle[0, 0, 1]]}], AspectRatio -> Automatic, PlotRange -> {{\(-2.5\), 2.5}, {\(-2.5\), 2.5}}, Axes -> True], Graphics[ Transpose[{kleuren[setCircle[0, 0, 1]], puntenKlein[f[setCircle[0, 0, 1]]]}], AspectRatio -> Automatic, PlotRange -> {{\(-2.5\), 2.5}, {\(-2.5\), 2.5}}, Axes -> True]}]] \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ De kurve - het beeld van de eenheidscirkel - passeert inderdaad 4 keer door \ de oorsprong. Bovendien snijdt de kurve zichzelf in 8 andere punten!\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Misschien een beetje kleinere cirkel nemen? r=0.9. Wat we over het beeld van \ de cirkel met alle zekerheid kunnen zeggen, is dat hij niet door de oorsprong \ gaat passeren. Alle nulpunten (= punten, wiens beelden zijn NUL) liggen \ immers op de eenheidscirkel of in de oorsprong zelf:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[f]\n\), \(f[z_] := z^5 + z\n\), \(setCircle[x0_, y0_, r_] := Map[complex, Table[{x0 + r\ Cos[\[CurlyPhi]], y0 + r\ Sin[\[CurlyPhi]]}, { \[CurlyPhi], 0, 2\ Pi, .01}]]\n\), \(Show[ GraphicsArray[{ Graphics[ Transpose[{kleuren[setCircle[0, 0, .9]], puntenKlein[setCircle[0, 0, .9]]}], AspectRatio -> Automatic, PlotRange -> {{\(-1.6\), 1.6}, {\(-1.6\), 1.6}}, Axes -> True], Graphics[ Transpose[{kleuren[setCircle[0, 0, .9]], puntenKlein[f[setCircle[0, 0, .9]]]}], AspectRatio -> Automatic, PlotRange -> {{\(-1.6\), 1.6}, {\(-1.6\), 1.6}}, Axes -> True]}]] \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Die kurve snijdt zichzelf nog maar 4 keer.", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Misschien nog een kleinere cirkel? Laat ons r=0.5 nemen:", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[f]\n\), \(f[z_] := z^5 + z\n\), \(setCircle[x0_, y0_, r_] := Map[complex, Table[{x0 + r\ Cos[\[CurlyPhi]], y0 + r\ Sin[\[CurlyPhi]]}, { \[CurlyPhi], 0, 2\ Pi, .01}]]\n\), \(Show[ GraphicsArray[{ Graphics[ Transpose[{kleuren[setCircle[0, 0, .5]], puntenKlein[setCircle[0, 0, .5]]}], AspectRatio -> Automatic, PlotRange -> {{\(-0.6\), 0.6}, {\(-0.6\), 0.6}}, Axes -> True], Graphics[ Transpose[{kleuren[setCircle[0, 0, .5]], puntenKlein[f[setCircle[0, 0, .5]]]}], AspectRatio -> Automatic, PlotRange -> {{\(-0.6\), 0.6}, {\(-0.6\), 0.6}}, Axes -> True]}]] \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Op die cirkel is de veelterm injectief! - geen enkele waarde wordt meer dan 1 \ keer bereikt!\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["Een familie veeltermen", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H4D3"], Cell[TextData[{ "Nu gaan wij een familie veeltermen ", Cell[BoxData[ StyleBox[\(P\_a[z] = z\^5 + a\ z\^2 + 0.1\ z\), FontFamily->"Times New Roman"]], FontSize->16, FontColor->RGBColor[1, 0, 0]], " analyseren voor parameters ", StyleBox["a", FontSlant->"Italic"], " van ", StyleBox["0.05", FontSlant->"Italic"], " tot ", StyleBox["0.95", FontSlant->"Italic"], " om de ", StyleBox["0.05", FontSlant->"Italic"], " (hoeveel veeltermen zijn dat dan?)" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["Wat zijn de nulpunten van die veeltermen?", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Table[Solve[z^5 + a\ z^2 + 0.1\ z == 0, z], {a, 0.05, 0.95, 0.05}]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Je ziet dat elke veelterm 5 nulpunten heeft. Eerste 6 veeltermen hebben \ alleen maar 1 re\[EDoubleDot]el nulpunt en 4 complexe. De rest heeft 3 re\ \[EDoubleDot]le en 2 complexe nulpunten (elk).\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Op de volgende tekening zie je de nulpunten van elke veelterm van de familie: - in het rood voor de veelterm met de parameter 0.05 - ... - in het blauw voor a=0.95 volgens de \"legende\" hieronder. De legende toont welke kleur bij welke \ parameter hoort.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(kleurenLegende := Table[Graphics[{Hue[a/2], PointSize[0.03], Point[{a, 0}]}, AspectRatio \[Rule] 1/3, Axes \[Rule] {True, False}, Ticks -> {0.05\ Range[19], None}], {a, .05, .95, .05}]; \n\n Show[kleurenLegende]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Het blauwe punt in de oorsprong is een nulpunt van alle veeltermen van de \ familie omdat ", Cell[BoxData[ StyleBox[\(z\^5 + a\ z\^2 + 0.1\ z = z\ \((z\^4 + a\ z + 0.1)\)\), FontFamily->"Times New Roman"]]], "." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[nulpt, f, pts]; \n\nf[z_] := z\^5 + a\ z\^2 + 0.1\ z\ ; \n\n nulpt := Solve[f[z] == 0, z]; \n\npts = {Re[z], Im[z]} /. nulpt; \n\n samenKleur := Table[Graphics[{ Circle[{0, 0}, 1], {Hue[a/2], PointSize[0.02], Point/@pts}}, AspectRatio \[Rule] Automatic, Axes \[Rule] Automatic], { a, .05, .95, .05}]; \n\nShow[samenKleur]\), \(Show[kleurenLegende]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, AspectRatioFixed->True], Cell[TextData[{ "Elke veelterm van de familie heeft 5 nulpunten: 1 \"blauwe\" en 4 in de \ \"eigen kleur\" (zie tekening hierboven). Alle nulpunten van al de veeltermen \ liggen binnen de eenheidscirkel ofwel op zijn rand (of net erbuiten).\nEnkele \ vragen voor u:\n1. Welke veeltermen (dwz voor welke parameters ", StyleBox["a", FontSlant->"Italic"], " ) hebben 3 re\[EDoubleDot]le nulpunten en welke alleen maar 1 (nul dus)? \ Je kan dat aflezen van de tekening hierboven (met behulp van de legende). \ Controleer dan je conclusie met de tabel met de oplossingen boven beide \ tekeningen.\n2. Leg uit waarom de verzameling van de nulpunten een \ symmetrieas heeft (welke rechte is dat?). Om je antwoord te controleren, surf \ naar het einde van de notebook (", ButtonBox["klik hier", ButtonData:>"Nulpunten van een veelterm (toegevoegde)", ButtonStyle->"Hyperlink"], ")." }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ In de tabel hieronder zie je de spirografen die horen bij de familie \ veeltermen. Elk in de eigen kleur van \"zijn\" veelterm - volgens de legende. \ De volgorde is van boven naar beneden volgens de kolommen (en dan van links \ naar rechts, maar dat had je wel al gedacht):\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ RowBox[{\(Clear[g, spirograaf]\), ";", "\n", "\n", RowBox[{ \(spirograaf[g_, a_, \[CurlyPhi]_, opts___]\), ":=", "\n", "\t", RowBox[{"ParametricPlot", "[", RowBox[{ \({Re[g], Im[g]}\), ",", \({\[CurlyPhi], \(-\[Pi]\), \ \[Pi]}\), ",", "\n", "\t\t", StyleBox["opts", FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], "\n", "\t\t", StyleBox[\(PlotRange \[Rule] All\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(AspectRatio \[Rule] Automatic\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(Frame \[Rule] True\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(Axes \[Rule] False\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(FrameTicks \[Rule] None\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(PlotStyle -> {Hue[a/2], Thickness[ .01]}\), FontColor->GrayLevel[0.500008]], StyleBox[",", FontColor->GrayLevel[0.500008]], StyleBox[\(PlotPoints \[Rule] 250\), FontColor->GrayLevel[0.500008]]}], "]"}]}], ";", "\n", "\n", \(g[a_, k_, \[CurlyPhi]_] := 0.1\ E^\((I\ \[CurlyPhi])\) + \((a + k\ 0.2)\)\ E^\((I\ 2\ \[CurlyPhi])\) + E^\((I\ 5\ \[CurlyPhi])\)\), ";", "\n", "\t\t", "\n", \(Show[GraphicsArray[ Table[Graphics[ spirograaf[g[a, k, \[CurlyPhi]], a + 0.2\ k, \[CurlyPhi], DisplayFunction -> Identity]], {a, 0.05, 0.2, 0.05}, {k, 0, 4, 1}]]]\)}]], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Show[kleurenLegende]\)], "Input"], Cell["En een animatie - die alle spirografen na mekaar toont.", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[h]; \n\n h[a_, \[CurlyPhi]_] := 0.1\ E^\((I\ \[CurlyPhi])\) + a\ E^\((I\ 2\ \[CurlyPhi])\) + E^\((I\ 5\ \[CurlyPhi])\)\n\t\t\), \(\(Do[ spirograaf[h[a, \[CurlyPhi]], a, \[CurlyPhi]], {a, 0.05, 0.95, 0.05}]; \)\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Show[kleurenLegende]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[TextData[{ "Nog eens animatie omtrent de \"familie-spirografen\", maar deze keer in \ een andere context: veelterm als functie en spirograaf als beeld van de \ eenheidscirkel. De betekenis van de kleuren is hier anders dan in de vorige \ animatie. Hier duidt men de argumenten van de functie en hun beelden met \ dezelfde kleur aan.\nDoe alle cellen van de output open en tel voor elke ", StyleBox["a", FontSlant->"Italic"], ", hoeveel keer de spirograaf-kurve rond de oorsprong gedraaid is!" }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(<< Graphics`ArgColors`\n\), \(Clear[kleuren, punten, coords, complex]\n\), \(coords[z_] := {Re[z], Im[z]}\n\), \(complex[{a_, b_}] := a + b\ \[ImaginaryI]\n\), \(kleuren[set_List] := Table[ArgColor[set[\([j]\)]], {j, Length[set]}]; \n \npunten[set_List] := Table[{PointSize[0.02], Point[coords[set[\([j]\)]]]}, {j, Length[set]}]; \n\n puntenKlein[set_List] := Table[{PointSize[0.01], Point[coords[set[\([j]\)]]]}, {j, Length[set]}]; \)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[{ \(Clear[f]\n\), \(f[z_, a_] := z^5 + a\ z^2 + 0.1\ z\n\), \(setCircle[x0_, y0_, r_] := Map[complex, Table[{x0 + r\ Cos[\[CurlyPhi]], y0 + r\ Sin[\[CurlyPhi]]}, { \[CurlyPhi], 0, 2\ Pi, .01}]]\n\), \(Do[Show[ GraphicsArray[{ Graphics[ Transpose[{kleuren[setCircle[0, 0, 1]], puntenKlein[setCircle[0, 0, 1]]}], AspectRatio -> Automatic, PlotRange -> {{\(-2\), 2}, {\(-2\), 2}}, Axes -> True], Graphics[ Transpose[{kleuren[setCircle[0, 0, 1]], puntenKlein[f[setCircle[0, 0, 1], a]]}], AspectRatio -> Automatic, PlotRange -> {{\(-2\), 2}, {\(-2\), 2}}, Axes -> True]}]], {a, 0.05, 0.95, 0.05}]\)}], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Elke spirograaf-kurve (behalve de laatste) draait 5 keer rond de oorsprong. De laatste kurve lijkt (2 keer zelfs!) door de oorsprong te passeren. Zouden \ de nulpunten van de laatste veelterm op de eenheidscirkel liggen? Een van de \ nulpunten is -0.945106 - ligt dus net binnen de disk, maar inderdaad niet zo \ ver van zijn rand. Misschien de twee complexe nulpunten:\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Abs[0.525249 - 0.85326\ I]\)], "Input", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell["\<\ Ook \"bijna\" op de eenheidscirkel - deze keer net buiten de rand. En de \ spirograaflijn draait maar 3 (=5-2) keer rond de oorsprong. Meer daarover \ in het volgende hoofdstuk.\ \>", "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["De Hoofdstelling van de Algebra", "Subsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{36, Inherited}, {Inherited, Inherited}}, CellTags->"H4D4"], Cell[TextData[{ StyleBox["Iedere veelterm (polynoom) in ", FontColor->RGBColor[1, 0, 0]], StyleBox["\[DoubleStruckCapitalC][X]", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[ " (verzameling van alle polynomen met complexe co\[EDoubleDot]ffici\ \[EDoubleDot]nten) met graad ", FontColor->RGBColor[1, 0, 0]], StyleBox["n>0", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[" heeft minstens \[EAcute]\[EAcute]n wortel in ", FontColor->RGBColor[1, 0, 0]], StyleBox["\[DoubleStruckCapitalC]", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[".", FontColor->RGBColor[1, 0, 0]] }], "Text", CellMargins->{{36, Inherited}, {Inherited, Inherited}}], Cell[CellGroupData[{ Cell["Een animatie", "Subsubsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellTags->"H4D4S1"], Cell[TextData[{ "In het vorige hoofdstuk onderzochten we de werking van een familie \ veeltermen op de eenheidscirkel. De cirkel was vast en de veeltermen \ veranderden. Nu gaan we iets anders doen: de werking van 1 bepaalde veelterm \ op verschillende cirkels bekijken. We gaan ", Cell[BoxData[ RowBox[{ StyleBox[\(V \((z)\) = z\^5 + z\^3 + 2 z + 2\), FontFamily->"Times New Roman", FontSlant->"Italic"], " "}]]], " gebruiken (die geeft mooie beelden). Hoe verandert de spirograaflijn met \ vergroten van de straal van het \"domein\". Bekijk eens de animatie voor de \ spirograaflijnen (herken je ze? - dezelfde lijnen heb je reeds gezien op de \ kaft van de notebook):" }], "Text", CellMargins->{{45, Inherited}, {Inherited, Inherited}}], Cell[BoxData[ \(Clear[f]; \n\nf[z_] := z^5 + z^3 + \ 2\ z + 2; \n\n coords[z_] := {Re[z], Im[z]}; \n\n Do[Show[GraphicsArray[{ Graphics[ Table[{Hue[r], PointSize[0.007], Point[coords[r\ \[ExponentialE]^\((\[ImaginaryI]\ t)\)]]}, { t, 0, 2\ Pi, .01}], AspectRatio -> Automatic, PlotRange -> {{\(-1.5\), 1.5}, {\(-1.5\), 1.5}}, Axes -> True], Graphics[ Table[{Hue[r], PointSize[0.009], Point[coords[ f[r\ \[ExponentialE]^\((\[ImaginaryI]\ t)\)]]]}, {t, 0, 2\ Pi, .01}], AspectRatio -> Automatic, PlotRange -> {{\(-9\), 13}, {\(-9\), 9}}, Axes -> True]}]], { r, .5, 1.4, .1}]\)], "Input", CellMargins->{{45, Inherited}, {Inherited, Inherited}}], Cell["\<\ Hoe groter de straal van de cirkel, wiens beeld we onderzoeken, hoe meer keer \ de spirograaflijn rond de oorsprong draait.\ \>", "Text", CellMargins->{{45, Inherited}, {Inherited, Inherited}}] }, Open ]], Cell[CellGroupData[{ Cell["Hoe elk nulpunt voor een extra lusje rond de oorsprong zorgt", "Subsubsection", CellDingbat->"\[FilledDiamond]", CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellTags->"H4D4S2"], Cell["\<\ Nu gaan we een van de veeltermen van de familie (voor parameter a=0.75) van \ het vorige hoofdstuk analyseren en zijn spirograaflijnen voor verschillende \ cirkels onderzoeken. We gaan proberen zoeken naar het verband tussen aantal \ nulpunten van de veelterm binnen de cirkel en aantal keer draaien van de \ spirograaflijn voor die cirkel rond de oorsprong.\ \>", "Text", CellMargins->{{45, Inherited}, {Inherited, Inherited}}], Cell["\<\ Voor dat doel vinden we eerst alle nulpunten van die veelter