Aperiodic Parallelogram Tessellation
Loading the math board and drawing, please wait…
① This example demonstrates how to construct an aperiodic tessellation of the plane using parallelograms, where the entire plane is covered seamlessly by congruent parallelograms with varying orientations or positions, without translational periodicity. ② Core mathematical concepts include aperiodic tiling, geometric properties of parallelograms, translation transformations, and sequence generation, involving plane filling and symmetry analysis. ③ Construction highlights: from the construction summary, GeoGebra commands such as Ray, Point, Polygon, Translate, and Sequence are used; points A, B, C, D and polygon poly1 are defined, then translations and sequences generate multiple parallelograms (poly2, list1 through list6) to form the non-periodic arrangement. ④ Suitable for high school and above, this example is ideal for exploring tiling theory, geometric transformations, or art-mathematics integration, and can serve as a teaching case for mathematical modeling or computer-assisted geometric design.
GeoGebra Commands & Parameters
Ray(A, B) → fPoint(Ray[A, Rotate[B, (360 * ° / N), A]]) → CPolygon(A, B, D, C) → poly1, a, b, d, cTranslate(Polygon[Mirror[A, Ray[A, Rotate[B, (180 * ° / N), A]]], Mirror[B, Ray[A, Rotate[B, (180 * ° / N), A]]], Mirror[D, Ray[A, Rotate[B, (180 * ° / N), A]]], Mirror[C, Ray[A, Rotate[B, (180 * ° / N), A]]]], Vector[A, C]) → poly2Sequence(Polygon[Translate[A, Vector[(i * Vector[A, B])]], Translate[B, Vector[(i * Vector[A, B])]], Translate[D, Vector[(i * Vector[A, B])]], Translate[C, Vector[(i * Vector[A, B])]]], i, 0, M - 1) → list1Translate(Mirror[A, Ray[A, Rotate[B, (180 * ° / N), A]]], Vector[A, C]) → ETranslate(Mirror[B, Ray[A, Rotate[B, (180 * ° / N), A]]], Vector[A, C]) → FSequence(Translate[poly2, Vector[(i * Vector[E, F])]], i, 0, M - 1) → list2Translate(Mirror[C, Ray[A, Rotate[B, (180 * ° / N), A]]], Vector[A, C]) → GSequence(Translate[list1, Vector[(i * Vector[A, G])]], i, 0, M - 1) → list3Sequence(Translate[list2, Vector[(i * Vector[A, G])]], i, 0, M - 1) → list4Sequence(Rotate[list3, ((i * 360) * ° / N), A], i, 0, N - 1) → list5Sequence(Rotate[list4, ((i * 360) * ° / N), A], i, 0, N - 1) → list6