Ubiquitous Triangles: Constructing a Triangle Family via Complex Numbers & Trans

Ubiquitous Triangles: Constructing a Triangle Family via Complex Numbers & Trans
Loading the math board and drawing, please wait…
2023-03-19 02:03
In collections geometriadinamica.es
This example demonstrates how to generate a family of “ubiquitous” triangles across the plane by combining complex-number representations with geometric transformations, highlighting which geometric relationships remain invariant under the construction. Key concepts include complex-number operations (interpreted geometrically as additions/divisions, i.e., transformations), the role of geometric means/ratio-type configurations (connected to midpoint or proportional constructs), vector composition as reflected by parallelogram relations, and angle-based control (to fix directions and rotation). Construction-wise, it uses GeoGebra tools such as OrthogonalLine for perpendicular constraints, Circle and Ellipse to define circular/elliptic loci or auxiliary frames, Intersect to compute critical intersection points, and Point/Segment/Polygon to build vertices, sides, and triangle regions. Angle is used to enforce or visualize the governing angle conditions. Translate and Vector establish translation and vector relationships, while the combination of vector/angle information supports rotation-like placement in the triangle family. Finally, Sequence and Element (together with stored point sets like pointsA/pointsB and labels such as B1/B2/B3) allow the triangles to update and appear in multiple positions as a dynamic construction. Suitable for high-school advanced geometry and early university topics on complex numbers, transformation geometry, and dynamic geometric exploration.

GeoGebra Commands & Parameters

  1. OrthogonalLine(C, xAxis) → z2
  2. Circle(C, 0.62) → z0
  3. Intersect(z0, z2, 1) → Z4
  4. Intersect(z0, z2, 2) → Z3
  5. Ellipse(Z3, Z4, 0.65) → zElipse2
  6. Point(zElipse2) → Z
  7. Intersect(zElipse2, z2) → Z7, Z8
  8. Angle(Z8, C, Z) → zAngInc
  9. OrthogonalLine(C, yAxis) → z1
  10. Intersect(z0, z1, 2) → Z2
  11. Intersect(z0, z1, 1) → Z1
  12. Ellipse(Z1, Z2, 0.65) → zElipse1
  13. Point(zElipse1) → XY
  14. Translate((0, 0), v) → O
  15. OrthogonalLine(O, yAxis) → d
  16. Point(d) → G
  17. Vector((0, 0), G) → w
  18. Intersect(zElipse1, z1) → Z5, Z6
  19. Segment(Z5, Z6) → z4
  20. Segment(Z7, Z8) → z3
  21. Intersect(zElipse2, zElipse1, 1) → zPunto1
  22. Intersect(zElipse2, zElipse1, 4) → zPunto2
  23. Segment(zPunto1, zPunto2) → zSeg2
  24. Angle(Z6, C, XY) → zAngRot
  25. Sequence(PuntoEsfera[C, XY, Z, radio, 0, (s * α)], s, 0, n) → puntosA
  26. Sequence((x(w) + x(Element[puntosA, s]), y(w) + y(Element[puntosA, s])), s, 1, n + 1) → puntosB
  27. Element(puntosB, 1) → B1
  28. Element(puntosB, 2) → B2
  29. Element(puntosB, 3) → B3
  30. Polygon(B1, B2, B3) → poly2, b1, b2, b3
  31. Sequence(Segment[Element[puntosB, s], Element[puntosA, s]], s, 1, n) → aristas
  32. Sequence(Angle[Element[puntosB, s + 1], Element[puntosB, s], Element[puntosA, s + 1]], s, 1, n) → angulos
  33. Sequence(If[s > 1 ∧ Element[angulos, s - 1] > 180° ∧ Element[angulos, s] > 180°, false, If[s ≟ 1 ∧ Element[angulos, n] > 180° ∧ Element[angulos, s] > 180°, false, true]], s, 1, n) → aristasVisibles
  34. Element(aristas, 1) → a1
  35. Element(aristas, 1) → a1b
  36. Element(aristas, 2) → a2
  37. Element(aristas, 2) → a2b
  38. Element(aristas, 3) → a3
  39. Element(aristas, 3) → a3b
  40. Point(a1) → A
  41. Point(a2) → B
  42. Point(a3) → D
  43. Polygon(A, D, B) → poly1, p3, p2, p1
  44. Sequence(If[Element[angulos, s] > 180°, false, true], s, 1, n) → carasVisibles
  45. Angle(B1, B2, B3) → β

AI Drawing Prompt Reference

Construct a family of triangles generated by complex number representations and geometric transformations. Start by generating a series of triangles on the plane using complex number operations and geometric transformations. Define auxiliary frames with circles and ellipses, and determine critical points through intersections. Then, use vector and angle information for translation and rotation, and finally, dynamically display multiple triangle positions using sequence and element commands.
The prompt above was compiled from the original drawing commands and is for reference only.