Isosceles Triangle Tessellation with Rotation and Reflection

Isosceles Triangle Tessellation with Rotation and Reflection
Loading the math board and drawing, please wait…
2021-01-06 07:55
This example demonstrates—via a video-style construction—how to create an isosceles-triangle tessellation by repeatedly placing congruent triangle units to form a regular plane pattern. It highlights key geometry ideas: properties of isosceles triangles and symmetry via transformations, especially reflection (using bisector-based construction) and rotation/translation. The build process is reflected in the GeoGebra commands from the construction summary: LineBisector to obtain symmetry-relevant lines, Vector and OrthogonalVector to define direction and perpendicular vectors, Point/PointIn for candidate points, Intersect to compute intersection points, then Translate and Rotate to replicate the triangle unit across the plane, and Polygon to form and assemble the tessellated tiles (poly1/poly2/poly3) from the constructed points. Suitable for middle/high school geometry, transformation/symmetry lessons, and for classroom visualization or geometry modeling practice.

GeoGebra Commands & Parameters

  1. LineBisector(A, B) → f
  2. Point(f) → C
  3. Vector(B, C) → u
  4. OrthogonalVector(u) → v
  5. PointIn(Polygon[B + v, C + v, C - v, B - v]) → D
  6. PointIn(Polygon[B + v, C + v, C - v, B - v]) → E
  7. PointIn(Polygon[B + v, C + v, C - v, B - v]) → F
  8. PointIn(Polygon[B + v, C + v, C - v, B - v]) → G
  9. Intersect(Segment[A, B], f) → H
  10. LineBisector(H, C) → g
  11. Vector(H, A) → w
  12. Translate(Mirror[D, g], w) → I
  13. Translate(Mirror[E, g], w) → J
  14. Translate(Mirror[F, g], w) → K
  15. Translate(Mirror[G, g], w) → L
  16. PointIn(Circle[H, A]) → M
  17. PointIn(Circle[H, A]) → N
  18. Rotate(M, 180°, H) → M'
  19. Rotate(N, 180°, H) → N'
  20. Polygon(A, M, C, I, J, K, L, N, N', M', B, D, E, F, G) → poly1, a, g_1, c, i, j, k, l, m, n, n', m', b, d, e, f_1
  21. Translate(Polygon[Mirror[A, g], Mirror[M, g], Mirror[N, g], Mirror[N', g], Mirror[M', g], Mirror[B, g], Mirror[D, g], Mirror[E, g], Mirror[F, g], Mirror[G, g], Mirror[C, g], Mirror[I, g], Mirror[J, g], Mirror[K, g], Mirror[L, g]], w) → poly2
  22. Translate(Polygon[Mirror[A, g], Mirror[M, g], Mirror[N, g], Mirror[N', g], Mirror[M', g], Mirror[B, g], Mirror[D, g], Mirror[E, g], Mirror[F, g], Mirror[G, g], Mirror[C, g], Mirror[I, g], Mirror[J, g], Mirror[K, g], Mirror[L, g]], Vector[(-w)]) → poly3
  23. Translate(A, Vector[(2 * w)]) → A'
  24. Translate(M, Vector[(2 * w)]) → M'_1
  25. Translate(N, Vector[(2 * w)]) → N'_1
  26. Translate(N', Vector[(2 * w)]) → N''
  27. Translate(M', Vector[(2 * w)]) → M''
  28. Translate(B, Vector[(2 * w)]) → B'
  29. Translate(D, Vector[(2 * w)]) → D'
  30. Translate(E, Vector[(2 * w)]) → E'
  31. Translate(F, Vector[(2 * w)]) → F'
  32. Translate(G, Vector[(2 * w)]) → G'
  33. Translate(C, Vector[(2 * w)]) → C'
  34. Translate(I, Vector[(2 * w)]) → I'
  35. Translate(J, Vector[(2 * w)]) → J'
  36. Translate(K, Vector[(2 * w)]) → K'
  37. Translate(L, Vector[(2 * w)]) → L'
  38. Polygon(A', M'_1, C', I', J', K', L', N'_1, N'', M'', B', D', E', F', G') → poly1', a', g', c', i', j', k', l', m'_1, n'_1, n'', m'', b', d', e', f'
  39. Translate(A, Vector[(-2 * w)]) → A'_1
  40. Translate(M, Vector[(-2 * w)]) → M'_2
  41. Translate(N, Vector[(-2 * w)]) → N'_2
  42. Translate(N', Vector[(-2 * w)]) → N''_1
  43. Translate(M', Vector[(-2 * w)]) → M''_1
  44. Translate(B, Vector[(-2 * w)]) → B'_1
  45. Translate(D, Vector[(-2 * w)]) → D'_1
  46. Translate(E, Vector[(-2 * w)]) → E'_1
  47. Translate(F, Vector[(-2 * w)]) → F'_1
  48. Translate(G, Vector[(-2 * w)]) → G'_1
  49. Translate(C, Vector[(-2 * w)]) → C'_1
  50. Translate(I, Vector[(-2 * w)]) → I'_1
  51. Translate(J, Vector[(-2 * w)]) → J'_1
  52. Translate(K, Vector[(-2 * w)]) → K'_1
  53. Translate(L, Vector[(-2 * w)]) → L'_1
  54. Polygon(A'_1, M'_2, C'_1, I'_1, J'_1, K'_1, L'_1, N'_2, N''_1, M''_1, B'_1, D'_1, E'_1, F'_1, G'_1) → poly1'_1, a'_1, g'_1, c'_1, i'_1, j'_1, k'_1, l'_1, m'_2, n'_2, n''_1, m''_1, b'_1, d'_1, e'_1, f'_1
  55. Rotate(A, 180°, H) → A'_2
  56. Rotate(M, 180°, H) → M'_3
  57. Rotate(N, 180°, H) → N'_3
  58. Rotate(N', 180°, H) → N''_2
  59. Rotate(M', 180°, H) → M''_2
  60. Rotate(B, 180°, H) → B'_2
  61. Rotate(D, 180°, H) → D'_2
  62. Rotate(E, 180°, H) → E'_2
  63. Rotate(F, 180°, H) → F'_2
  64. Rotate(G, 180°, H) → G'_2
  65. Rotate(C, 180°, H) → C'_2
  66. Rotate(I, 180°, H) → I'_2
  67. Rotate(J, 180°, H) → J'_2
  68. Rotate(K, 180°, H) → K'_2
  69. Rotate(L, 180°, H) → L'_2
  70. Polygon(A'_2, M'_3, C'_2, I'_2, J'_2, K'_2, L'_2, N'_3, N''_2, M''_2, B'_2, D'_2, E'_2, F'_2, G'_2) → poly1'_2, a'_2, g'_2, c'_2, i'_2, j'_2, k'_2, l'_2, m'_3, n'_3, n''_2, m''_2, b'_2, d'_2, e'_2, f'_2
  71. Translate(g, Vector[C, H]) → g'_3
  72. Translate(Polygon[Mirror[A'_2, g'_3], Mirror[M'_3, g'_3], Mirror[N'_3, g'_3], Mirror[N''_2, g'_3], Mirror[M''_2, g'_3], Mirror[B'_2, g'_3], Mirror[D'_2, g'_3], Mirror[E'_2, g'_3], Mirror[F'_2, g'_3], Mirror[G'_2, g'_3], Mirror[C'_2, g'_3], Mirror[I'_2, g'_3], Mirror[J'_2, g'_3], Mirror[K'_2, g'_3], Mirror[L'_2, g'_3]], Vector[(-w)]) → poly4
  73. Translate(A'_2, Vector[(2 * w)]) → O
  74. Translate(M'_3, Vector[(2 * w)]) → P
  75. Translate(N'_3, Vector[(2 * w)]) → Q
  76. Translate(N''_2, Vector[(2 * w)]) → R
  77. Translate(M''_2, Vector[(2 * w)]) → S
  78. Translate(B'_2, Vector[(2 * w)]) → T
  79. Translate(D'_2, Vector[(2 * w)]) → U
  80. Translate(E'_2, Vector[(2 * w)]) → V
  81. Translate(F'_2, Vector[(2 * w)]) → W
  82. Translate(G'_2, Vector[(2 * w)]) → Z
  83. Translate(C'_2, Vector[(2 * w)]) → A_1
  84. Translate(I'_2, Vector[(2 * w)]) → B_1
  85. Translate(J'_2, Vector[(2 * w)]) → C_1
  86. Translate(K'_2, Vector[(2 * w)]) → D_1
  87. Translate(L'_2, Vector[(2 * w)]) → E_1
  88. Polygon(O, P, A_1, B_1, C_1, D_1, E_1, Q, R, S, T, U, V, W, Z) → poly5, o, z_1, a_1, b_1, c_1, d_1, e_1, p, q, r, s, t, u_1, v_1, w_1
  89. Translate(A'_2, Vector[(-2 * w)]) → F_1
  90. Translate(M'_3, Vector[(-2 * w)]) → G_1
  91. Translate(N'_3, Vector[(-2 * w)]) → H_1
  92. Translate(N''_2, Vector[(-2 * w)]) → I_1
  93. Translate(M''_2, Vector[(-2 * w)]) → J_1
  94. Translate(B'_2, Vector[(-2 * w)]) → K_1
  95. Translate(D'_2, Vector[(-2 * w)]) → L_1
  96. Translate(E'_2, Vector[(-2 * w)]) → M_1
  97. Translate(F'_2, Vector[(-2 * w)]) → N_1
  98. Translate(G'_2, Vector[(-2 * w)]) → O_1
  99. Translate(C'_2, Vector[(-2 * w)]) → P_1
  100. Translate(I'_2, Vector[(-2 * w)]) → Q_1
  101. Translate(J'_2, Vector[(-2 * w)]) → R_1
  102. Translate(K'_2, Vector[(-2 * w)]) → S_1
  103. Translate(L'_2, Vector[(-2 * w)]) → T_1
  104. Polygon(F_1, G_1, P_1, Q_1, R_1, S_1, T_1, H_1, I_1, J_1, K_1, L_1, M_1, N_1, O_1) → poly6, h, o_1, q_1, r_1, s_1, t_1, f_2, h_1, i_1, j_1, k_1, l_1, m_1, n_1, p_1
  105. Translate(poly4, Vector[(2 * w)]) → poly4'
  106. Translate(Mirror[H, g], w) → U_1
  107. Rotate(poly2, 180°, U_1) → poly2'
  108. Translate(g, Vector[H, C]) → g'_4
  109. Translate(Mirror[poly2', g'_4], Vector[(-w)]) → poly7
  110. Translate(poly2', Vector[(-2 * w)]) → poly2''

AI Drawing Prompt Reference

Construct an isosceles-triangle tiling on the plane by first defining a base segment with two endpoints and building symmetry-relevant angle bisectors from it (using the intersection of the bisector with the segment). From the bisector and a third reference point, define the direction and a perpendicular direction to locate candidate vertices as points lying on the same quadrilateral-shaped region. Create additional key points by taking intersection of the base segment with the first bisector, then place two points on the circle centered at that intersection with radius equal to the distance to an endpoint. Rotate those two circle points by 180° around the intersection to obtain corresponding symmetric points. Assemble a polygonal tile from the original endpoints, the rotated circle points, and the reflected counterparts across the constructed bisector lines. Finally, translate the assembled tile repeatedly along the direction vector (including shifts in the opposite sense) to form a larger repeating isosceles-triangle tessellation with both reflection and rotation symmetry.
The prompt above was compiled from the original drawing commands and is for reference only.