construction and iteration: mathematical generalization in Dynamic Geometry PRISM II, Toronto 16 May 2006 Nicholas Jackiw KCP Technologies njackiw@keypress.com http://www.keypress.com/sketchpad Introduction. The Dynamic Geometry act of dragging a point, and varying a shape, offers a powerful encounter with mathematical generalization, by visualizing the entire family of shapes determined by a set of mathematical relationships. Students can experience this within minutes of encountering the tool—it’s the very heart of basic Sketchpad activity—and quickly learn to use dragging, and construction, to explore and analyze mathematical conjectures. At a considerably more advanced level, however, Sketchpad offers even more powerful tools for generalizing mathematical expressions, objects, and actions you’ve created in Sketchpad. Geometric loci generalize a construction across an entire range of possible positions. Analytic functions generalize an arithmetic relationship across an entire range of possible values. Iteration generalizes an arbitrary mathematical relationship across an entire range of possible repetitions. These forms of generalization are the historical building blocks of mathematical development. By working first with a simple construction of a basic shape, and then iterating that shape to produce a fractal of both visual and arithmetical beauty, in this workshop you’ll encounter mathematical generalization at both ends of the Sketchpad spectrum. Contents simple constructions: how to build a square advanced constructions: a pythagorean tree about iteration geometric iteration challenges numeric iteration challenges fractal iteration challenges 16 May 2006 GSP Workshop: PRISM II 2 3 4 5 6 7 1 simple constructions: how to build a square why construct? 1. Choose the Segment Tool (in the toolbox); then click and drag in your sketch (the white space to the right of the Sketchpad toolbox) to draw a segment. With the tool still chosen, draw a few more segments to get the hang of them. 2. Now try to draw a square, using only the Segment Tool. Once you succeed, use the Arrow Tool (top of the toolbox) to drag each of your square’s vertices. What happens to the square? Probably, your square stretched and twisted—and no longer stayed “square.” This is because when you drew it, you constructed four segments connecting four points. That’s a good mathematical definition of a quadrilateral, but not a good mathematical definition of a square. When you drag parts of drawings in Sketchpad, the program respects the mathematical definitions you’ve provided in that drawing—and nothing more. (This is the Dynamic Geometry principle.) Here since you’ve defined a quadrilateral, your diagram behaves as a (general) quadrilateral. Construction is the mathematical art of drawing by precise definition. To construct a square, we’ll need to define elements that account for a square’s right angles (we’ll use perpendicular lines) and for the fact that all of its edges have the same length (we’ll use circles). to the square 1. Draw a segment AB with the Segment Tool. (Don’t worry about getting the labels to show up yet.) 2. With the Arrow Tool, click A, B, and the segment between them, so all three objects appear selected as at left. Choose Construct | Perpendicular Lines. 3. Now use the Compass Tool (above the Segment Tool) to draw a circle centered on A and passing through B. Be sure not to let go of the mouse button until the mouse is directly over point B (B will appear highlighted). 4. Construct another circle centered on B passing through A. Then construct a segment between the intersections of each circle with the perpendicular lines through its center. 5. Do you see a square? With the Arrow Tool, select construction elements like the circles that you no longer want to see and choose Display | Hide Objects. Use segments to finish the square’s edges. When done, drag the vertices with the Arrow Tool to see how your square “behaves.” 16 May 2006 GSP Workshop: PRISM II 2 advanced constructions: a pythagorean tree continuing from your square 1. Now let’s introduce some labels and color. Choose the Text Tool, and click the four vertices of your square in the order you created them. If your square’s still in its original position, it will look like this one. 2. Back to the Arrow Tool to select the four points and construct their Polygon Interior. This shades in the square. 3. Construct the Midpoint of the top-edge, and then select that midpoint, D, and E, and construct the Arc on Circle centered at the midpoint, starting at D, and arcing to E. 4. Use the Segment and Text Tools to construct a CE and ED, where E is any point on your arc. What angle is CED? Let’s review what you’ve done. You began with a segment AB. On top of it you built a square, and on top of that a right triangle. The right triangle has two “exposed” edges, CE and ED. To create a Pythagorean tree, we’d like to repeat this process, but instead of starting it with AB, we want to start it with CE. That will give us another smaller square “to the left.” Then we want to repeat it again, this time starting with ED to give us a third smaller square “to the right.” Then we want to do the same thing again—to each of these smaller squares! Rather than repeat all these steps yourself, have Sketchpad do it, by iteratively transforming the locations of starting points A and B. 5. With the Arrow Tool select only points A and B. Then choose Transform | Iterate. 6. With the Iteration dialog box showing, click C and E in your sketch, to complete the “mapping” of A and B’s location to the locations of C and D (see picture at left). 7. In the Structure menu, choose Add New Map to create a second “map” for the locations of A and B. This time, map them to E and D (as shown). 8. Increase the number of iterations with the Display menu a few times. 9. Then close the dialog box and drag point E. If ABCD has 1 square unit of area, what is the area of the full tree shown at left? 16 May 2006 GSP Workshop: PRISM II 3 about iteration In mathematics, iteration refers to the act of performing of some mathematical process—a computation, algorithm, or construction—on some initial value, and then repeating that process on the result. Each repetition of the process is a single iteration of the process. For example, counting whole numbers—0, 1, 2, 3, 4—can be thought of as starting with the initial value of zero, and then iterating the operation of “adding one.” Iteration in Mathematics Iteration appears across mathematics, from the simplest arithmetic operations (such as counting) to very recent ideas about fractals and chaos. In the school curriculum, iterative processes may show up in: • • • • • • • • Arithmetic Procedures (e. g. counting, long division, etc.) Sequences and Series Calculus — Limits and Approximations Fractals & Chaos Optimization Geometric Art & Design Recursion Dynamical Systems, Statistical Mechanics, etc. In addition, iterative phenomena and processes frequently appear in physics, biology, and chemistry. Iteration and Mathematical Thinking / Problem Solving The repetitive nature of iterative processes makes them appropriate to a variety of problem contexts and problem solving strategies: • • • Extrapolation: If you can’t find an answer, can you find a process that leads to an answer? (If so, iterate that process until you reach the solution.) Incremental Approximation: If you can’t find an answer, can you find a process that allows you to improve an arbitrary guess? (If so, iterate that process until your approximation is “close enough” for the purposes of the problem.) Divide & Conquer: If a problem is too hard to solve, can it be split into two smaller problems which are easier to solve? If so, iteratively “divide” the problem into small enough parts that the parts can be solved, and then assemble your result from the “conquered” problem parts. 16 May 2006 GSP Workshop: PRISM II 4 geometric iteration challenges For geometric iteration, use the Iterate dialog box to map pre-image points to image points. Sketchpad repeats your construction as these iterated points move to their images. After iterating, experiment with the level of iteration by pressing + or – when your iterated construction is selected. Midpoint Polygon Hint: Map AE, BF, CD. A A F C F D E B D C E B Rotation & Dilation: F F E E D D B B C C A A Golden Spiral: A B 16 May 2006 A C D B GSP Workshop: PRISM II C D 5 numeric iteration challenges For numeric iterations, use the Iterate dialog box to map one “parameter” pre-image to a calculation based on that parameter. As you increase the level of iteration (n), Sketchpad displays a table containing the values of all iterated measurements and calculations. Numeric iteration can be used to explore numeric sequences and series. Basic Function Iteration Hint: First define pre-image seed (using Graph | New Parameter); then define f(x) (New Function), then calculate f(seed) (Calculate). Iterate seedf(seed). Then try changing your function f (by double-clicking it) to explore other iterated functions. seed = 1.00 f x = 2 x f seed = 2.00 n f see d 0 2.0 0 1 4.0 0 2 8.0 0 3 16.00 4 32.00 5 64.00 Approximating the Square Root of p (Hero’s Method) p gu ess0 + n p = 5.00000 2 guess0 = 1.00000 p guess0+ guess0 2 gu ess0 0 3.0000 0 1 2.3333 3 2 2.2381 0 3 2.2360 7 4 2.2360 7 5 2.2360 7 = 3.00000 p = 2.23607 Fibonnaci Numbers ( fn = fn-2 + fn-1 ) f 0 = 1.00 f 1 = 1.00 f 0 +f 1 = 2.00 n f 0 +f 1 0 2.0 0 1 3.0 0 2 5.0 0 3 8.0 0 4 13.00 Numeric iteration can be combined with geometric visualization: Plot your individual calculated values before iterating, and Sketchpad will plot the entire series after iterating. 16 May 2006 GSP Workshop: PRISM II 6 fractal iteration challenges Fractal iterations frequently involve more than one map—that is, the same pre-image or set of pre-images maps to two or more sets of post-images simultaneously. To create multiple mappings in the Iterate dialog box, use Structure: Add New Map. Sierpinski Gasket: Hint: Make 3 Maps of ABC: ABCADE, ABCDBF, ABCECF. A A E D C F B E D F B C Koch Curve: A B A B Pythagorean Tree: E C D E A B C A 16 May 2006 GSP Workshop: PRISM II D B 7