Cube Illusion

Cube Illusion
Loading the math board and drawing, please wait…
2018-11-19 12:48
This example demonstrates a cube illusion in a two-dimensional plane. It involves core mathematical concepts such as vectors, polygon construction, 2D transformations, and sequence generation. The construction uses GeoGebra commands and objects like Vector, Sequence, Polygon, and Rotate. It is suitable for high school students studying solid geometry and 2D vector transformations.

GeoGebra Commands & Parameters

  1. Vector((0, 0), A) → u
  2. Vector((0, 0), B) → v
  3. Sequence(Rotate[(cos(((i / n * 2) * π)), sin(((i / n * 2) * π))), π / 6, (0, 0)], i, 1, n) → Pts
  4. Sequence(Rotate[(((t - 1) * cos(((i / n * 2) * π))), ((t - 1) * sin(((i / n * 2) * π)))), π / 6, (0, 0)], i, 1, n) → PtsC
  5. Polygon(Element[Pts, 2], Element[Pts, 3], Element[Pts, 4], (0, 0), Element[Pts, 2]) → C1, f, g, h, i, j
  6. Rotate(C1, (2 * π / 3), (0, 0)) → L1
  7. Rotate(C1, ((2 * 2) * π / 3), (0, 0)) → L2
  8. Rotate(C1, ((3 * 2) * π / 3), (0, 0)) → L3
  9. Polygon(Element[PtsC, 3], Element[PtsC, 4], Element[PtsC, 5], (0, 0), Element[PtsC, 3]) → C2, k, l, m, p, q
  10. Rotate(C2, (2 * π / 3), (0, 0)) → M1
  11. Rotate(C2, ((2 * 2) * π / 3), (0, 0)) → M2
  12. Rotate(C2, ((3 * 2) * π / 3), (0, 0)) → M3
  13. Polygon(Element[PtsC, 2], Element[PtsC, 3], Element[PtsC, 4], (0, 0), Element[PtsC, 2]) → C3, r, s, a, b, c
  14. Rotate(C3, (2 * π / 3), (0, 0)) → N1
  15. Rotate(C3, ((2 * 2) * π / 3), (0, 0)) → N2
  16. Rotate(C3, ((3 * 2) * π / 3), (0, 0)) → N3
  17. Sequence(Sequence[Translate[M1, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → m_1
  18. Sequence(Sequence[Translate[M2, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → m_2
  19. Sequence(Sequence[Translate[M3, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → m_3
  20. Sequence(Sequence[Translate[L1, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → l_1
  21. Sequence(Sequence[Translate[L2, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → l_2
  22. Sequence(Sequence[Translate[L3, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → l_3
  23. Sequence(Sequence[Translate[N1, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → n_1
  24. Sequence(Sequence[Translate[N2, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → n_2
  25. Sequence(Sequence[Translate[N3, Vector[(i * u) + (j * v)]], i, 1, size], j, 1, size) → n_3