Tessellations with Java

Roseann Krane <rkrane@dimacs.rutgers.edu> &
Sherida Hare < hare@dimacs.rutgers.edu> &
MVHS students Mike Carns, Jefferson Ng, & Amber Bullington
Version of 29 Jun 97


General Information

The Problem
To teach students about tessellations and how to create them using the Java programming language. Students will:
  1. Use a series of guided explorations to learn about tessellations.
  2. Learn the vocabulary and step through a process to visualize and create tessellations.
  3. Learn how to modify a Java program to create an animated tessellation. See the web site, Tessellations with Java, which gives the student a step by step lesson.

Suggested Materials
A computer with an operating system that is Netscape and Java capable such as Windows 95, Windows NT, Macintosh, or Sun.

Prerequisites
This lesson is intended for secondary students, but students of any age familiar with programming may utilize this project.
  1. Knowledge of basic geometry.
  2. Ability to use a computer.
  3. For program modification, ability to use Java.

Activity Description

Guided Exploration

Part I: Math Vocabulary Review

Students will be guided through a series of questions and answers:

  1. What is a Plane? - Imagine a plane to be a tabletop with no thickness that continues infinitely in all directions.
  2. What is a Translation? - If we move a figure to a new location by sliding it a fixed distance in a fixed direction, the motion is called a translation.
  3. What is a Rotation? - If we move a figure to a new location by turning it about a fixed axis, the motion is referred to as a rotation or a turn.
  4. What is the Center of Rotation? - The point or axis about which a figure is rotated is called the center of rotation. The angle through which the figure turns is called the angle of rotation.
  5. What is a Reflection? - If we move a figure to a new location by flipping it about a fixed line the motion is called a reflection or flip. The fixed line about which the figure is flipped is called the line of reflection. (It is called a reflection because if a mirror were placed along a line the transformed figure would coincide with the mirror image of the figure in its original location.)
  6. What is a Glide Reflection? - This transformation combines the motions of a reflection and a translation to move a figure to its new location.
    • By flipping it about a fixed line.
    • By sliding it at a fixed distance in a direction parallel to that line.

Part II: Walking through the steps of how to make a tessellation.

Students should be familiarized with the following concepts:

Tessellations are a mixture of common shapes used to create a pattern on a plane. For example, if we take squares and layer them on the floor, we can cover the entire floor with it, without any space leftover. We can do the same with triangles and hexagons.






A hexagon is essentially six triangles placed together. It can be made of many shapes... Or one shape, modified to fit. The only requirement for a tessellation is that it covers the entire plane.





Part III: Using computers to produce tilings

Students will learn how to run and modify a JAVA program to create their own tessellations.

Steps for Creating Tessellating Art with Java (To do the tessellation in Java, you must have a system that will support the language, such as Macintosh, Windows NT, Windows 95, or the Sun Operating System. )

  1. Download the jdk1.1 Sun example by clicking here to download the Windows95/NT version. You will also find the MAC version at this site.
  2. Click here for directions from Sun or follow the directions listed next.
  3. In Windows, click on start, run, and type the path and name of the file. It will install into the correct directories. Or for both Windows and MAC, click on the folder that holds the file and on the file itself. This will install the Java program.
  4. Modify the CLSFractal.java code which is in the

    c:\jdk1.1\demo\fractal directory.

The only changes that should be made to this demonstration program are a deletion of the paint function and an addition of a new paint function that draws the objects wanted. The following example shows how paint was modified to become a diamond tessellation.

Example.


public void paint(Graphics g) { Dimension screen = size();
           int vert_diff = (int)screen.height / 10;
           int hors_diff = (int)screen.width / 20;
           int m, n = 0;
           int x, y = 0;
           x = 0;
       
           for (m = 0; m < 20; m++)
           {
                   for (n = 0; n < 10; n++)
                   {
                           x = (m*hors_diff) + (hors_diff / 2);
                           y = (n*vert_diff) + (vert_diff / 2);
                           g.drawLine(x, y, x + (hors_diff / 2), y + (vert_diff / 2));
                           g.drawLine(x + (hors_diff / 2), y + (vert_diff/ 2), x, y + vert_diff);
                           g.drawLine(x, y + vert_diff, x - (hors_diff/2 ), y + (vert_diff / 2));
                           g.drawLine(x - (hors_diff / 2), y + (vert_diff/ 2), x, y);
                   }
           }
       }

After you have done the above, to compile Java, on a command line compiler type at the DOS prompt(C:\>) as follows (remember to press enter after each line):

cd jdk1.1\bin

javac c:\jdk1.1\demo\fractal\CLSFractal.java

The program is now compiled, type "exit" at the prompt. To see the program click on example1 in the web project. Scroll to the bottom of the tessellation page (example1) to see the whole source code.

Concluding the Exploration
The length of this lesson depends on the age, math knowledge, and computer profiency of the student. The intermediate level student might want to spend a week on this project depending on their computer programming knowledge. Whereas an advanced computer programming student could do this project in one class session. The teacher could break the lesson into three parts, demonstrating tessellations, how to make tessellations, and using Java to make tessellations. The software is essential to the learning of JAVA tessellations.

Sample Results from Exploration
Students will use a series of guided explorations to learn all about tessellations. Students will learn the vocabulary, step through a process to visualize a tessellation, and learn how to make a tessellation. Students will be able to run the diamond tessellation on their own computer. Students should be able to modify the program to make their own forms of tessellations depending on time allowed.

A Mathematical Approach
Explore the transformations illustrated below in connection with repetitive procedures. Use these repetitive procedures to create tessellations by constructing an iteration that can be used in the program.

Further Problems for Review or Assessment
  • Study Esher tessellations and decide on one you can emulate with the program.
  • See the project for a list of student exercises.
  • See the project for a list of links to tessellation information.

  • Writing Assignment
    Study the sample code which creates diamonds. Modify the program to create rectangles or other objects. Test the program and modify it until you are satisfied it does what you want it to do.

    Followup Problems or Activities
  • Explore the use of other software such as Tellalmania and / or Geometer Sketchpad.
  • Step students throught the BBU educational software produced by Jeff Weeks, Topology Games.
  • Allow the students free time to explore and create their own tessellations.
  • Attachments

    Doing this project requires the Tessellations with JAVA student lesson.

    Teaching Notes

    References

    Cantey, Judith E. “Tessellations”. NCTM Projects to Enrich School Mathematics: Level 3. Reston, VA: NCTM.

    Crowe, Donald. Symmetry, Rigid Motions, and Patterns: HiMAP Module 4. Arlington, MA: COMAP, 1986.

    Giganti, Paul Jr, and Mary Cittadino, “The Art of Tessellation”. The Arithmetic Teacher. Volume 37. Number 7, March 1990: 6-16.

    Grumbaum, Branko and Geoffrey Shephard, Tilings and Patterns, New York: W. H. Freeman, 1987.

    Schattschneider, Doris. MC Escher: Visions of Symmetry. NY: WH Freeman Co. 1990.

    Seymour, Dale and Jill Britton Introduction to Tessellations. Palo Alto, CA: Dale Seymour Publications, CA 1989.

    Comments From Teachers Who Have Used This Unit

    "The visuals created an easy learning environment for the understanding of what tessellations are about."

    "The students enjoyed making the tessellations and had a better understanding of transformations at the end of the lesson."

    "The students derived confidence from being able to create a JAVA program by only modifing a simple function."

    "Students enjoyed instant satisfaction from seeing their projects come to life through the use of JAVA."


    Index of Lesson Plans
    DIMACS Research and Education Institute (DREI)