A LOGO Beadwork Design ProblemIf you have no experience as a programmer, it may be useful to work through one extended example to provide some experience with the activities that are involved. It is important to have some sense of the process of putting a program together. The example is an adaptation of an Indian beadwork design (see below) developed by Bradley and Taylor (1992). While the description presented here will focus mostly on the development of a program to create the desired design, you might also want to consider the geometry, general mathematics, and problem solving involved. If this were presented as a lesson, the teacher would want to make certain the students focused on these other areas of content and did not limit their attention to the problems of programming. LOGO Beadwork Design Problem Analyze the ProblemThe first step in developing a program to generate the beadwork design might be to carefully examine the design. Since the approach we are taking is intended to emphasize the use of procedures, a productive approach might be to examine the design to determine what modules or units seem obvious. As you might expect, this beadwork design was selected for this demonstration because it is highly symmetrical and is based on a basic unit - the isosceles right triangle. An intricate design has been created by connecting isosceles triangles according to a specific pattern. An analysis should suggest that one of the basic procedures this program will require should draw an isosceles right triangle. What do we know about such triangles? We probably remember that such triangles have two equal sides, have angles of 45-90-45 degrees, and are defined by the expression a2+b2=c2. The side of the triangle defined as c2 also goes by the unusual name of hypotenuse. We might start by recognizing that since two sides of an isosceles triangle are equal the expression describing such triangles can be rewritten as a2+a2=c2 or 2(a2)=c2. The value of c (the hypotenuse) would equal a2. If we don't happen to know what the 2 is, we can ask LogoWriter to PRINT SQRT 2 and we learn that this value equals 1.414. So the length of the hypotenuse would equal the length of a side multiplied by 1.414. With this information we should be able to write a procedure to draw an isosceles triangle. Just so we can play around with triangles of different sizes, the procedure should probably contain a variable to represent the length of the two equal sides. When students write programs in LOGO to draw a triangle, they are likely to run into a problem they do not anticipate. Students usually think in terms of internal angles (e.g., remember when you learned that the internal angles of a triangle sum to 180) and are likely to generate "triangles" like the one shown below. Creating the Necessary SubproceduresThe LOGO turtle defines turns relative to its present orientation and the programmer has to determine whether the turn the turtle is to make defines an internal or external angle. If the desired internal angle is 45 and the turtle's orientation would require that the turn be defined in terms of an external angle, the turn would be 135°. Now that you understand some of the nuances of programming in LOGO, you probably get some feel for why exercises such as the one described here require careful thinking and also provide a different perspective on a content domain (i.e., geometry). One program to generate an isosceles triangle follows. Triangle with Right Orientation
Further analysis of the desired pattern will indicate that the individual units of the pattern are often expressed as mirror images of each other. It may be useful to write a procedure that will draw a triangle with the opposite orientation. Triangle with Left Orientation
One of the more challenging problems with this design is determining how to nest one triangle within another. This task is accomplished by moving the turtle into the interior of the external triangle with the pen up, putting the pen down, and then drawing a second triangle with shorter sides. The turtle is positioned within the external triangle by moving it along one leg, turning the turtle 90° into the triangle, and moving forward. The distance to move along the leg and then into the triangle were discovered by trial and error. The smaller triangle is generated by calling the triangle procedure and defining the length of SIDE for the small triangle by subtracting a constant from the length of SIDE for the large triangle. Procedure for Embedding a Small Triangle Within a Large Triangle
Creating SuperproceduresThe final two procedures are really superprocedures for combining the subprocedures created to this point. The additional commands in the superprocedures are required to properly align the turtle before drawing the various parts of the total design. Superprocedures to Draw Beadwork Design
A Superprocedures to Create the Final Project
Based on example from:s Bradley, C. & Taylor, L. (1992). Teaching mathematics with technology: The four directions Indian beadwork design with Logo. Arithmetic Teacher, 39(9), 46-49. |
|||
About | Outline | Copyright | |||