Geometric Visualization of Möbius Transformations: Circles and Angle Corresponde

Geometric Visualization of Möbius Transformations: Circles and Angle Corresponde
Loading the math board and drawing, please wait…
2023-03-13 19:35
In collections geometriadinamica.es
This example visualizes how Möbius (fractional linear) transformations acting on the complex plane map circles and related loci into new geometric figures, while making the correspondence of key points and angle behavior visually inspectable. It centers on concepts such as complex Möbius transformations, conformal geometry (circle/line mapping in the complex plane), angle relationships under transformation, and the construction of image curves/trajectories via mapped point sets. In the GeoGebra construction, OrthogonalLine, Circle, and Intersect are used to create reference lines, circles, and intersection points; Ellipse, Angle, Segment, and Point organize constrained geometric elements; CurveCartesian, Sequence, Ray, and Polygon are employed to draw transformed curves, ordered point sets, rays, and connecting polygons. Transformation steps are realized through mapping/inversion-style objects (e.g., invierte) and rotational components (e.g., rota), together with complex-number parameters/variables (zz0, zz1, ZZ1… and related intermediate objects) to obtain the image geometry (such as ellipse-related objects, point sets, and labeled points) for direct comparison. Suitable for advanced high school, undergraduate preparatory work, and early university study in complex analysis, transformation geometry, and computational visualization.

GeoGebra Commands & Parameters

  1. OrthogonalLine(C, yAxis) → zz1
  2. Circle(C, 0.62) → zz0
  3. Intersect(zz0, zz1, 1) → ZZ1
  4. Intersect(zz0, zz1, 2) → ZZ2
  5. Ellipse(ZZ1, ZZ2, 0.65) → zElipse1
  6. Intersect(zElipse1, zz1) → ZZ5, ZZ6
  7. Point(zElipse1) → XY
  8. Angle(ZZ6, C, XY) → zAngRot
  9. OrthogonalLine(C, xAxis) → zz2
  10. Intersect(zz0, zz2, 2) → ZZ3
  11. Intersect(zz0, zz2, 1) → ZZ4
  12. Ellipse(ZZ3, ZZ4, 0.65) → zElipse2
  13. Intersect(zElipse2, zz2) → ZZ7, ZZ8
  14. Point(zElipse2) → Z
  15. Angle(ZZ8, C, Z) → zAngInc
  16. Segment(Q5, Q6) → p5
  17. Point(p5) → P5
  18. CurveCartesian(((r * u) * sin(zAngRot)), (r * (((-u) * cos(zAngRot)) * sin(zAngInc))), u, -10, 10) → ejex
  19. CurveCartesian(((r * v) * cos(zAngRot)), (((r * v) * sin(zAngRot)) * sin(zAngInc)), v, -10, 10) → ejey
  20. Segment(ZZ5, ZZ6) → zz4
  21. Segment(ZZ7, ZZ8) → zz3
  22. Intersect(zElipse2, zElipse1, 1) → zPunto1
  23. Intersect(zElipse2, zElipse1, 4) → zPunto2
  24. Segment(zPunto1, zPunto2) → zSeg2
  25. Segment(Base, PS) → h'
  26. Circle((PN + PS) / 2, r / 2) → c
  27. Sequence(CurveCartesian[x(Base) + ((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * sr) + ((r * v / (u^(2) + v^(2) + 1)) * cr), y(Base) - (((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * cr) * sin(zAngInc)) + (((r * v / (u^(2) + v^(2) + 1)) * sr) * sin(zAngInc)) + (((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f) * cos(zAngInc)), v, -1, 1], u, -1, 1, paso) → esfera2
  28. Sequence(CurveCartesian[x(Base) + (((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * sr) + (((r * v / (u^(2) + v^(2) + 1)) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * cr), y(Base) - ((((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * cr) * sin(zAngInc)) + ((((r * v / (u^(2) + v^(2) + 1)) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * sr) * sin(zAngInc)), u, -1, 1], v, -1, 1, paso) → plano1
  29. Sequence(CurveCartesian[x(Base) + (((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * sr) + (((r * v / (u^(2) + v^(2) + 1)) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * cr), y(Base) - ((((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * cr) * sin(zAngInc)) + ((((r * v / (u^(2) + v^(2) + 1)) * g / (g - ((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f))) * sr) * sin(zAngInc)), v, -1, 1], u, -1, 1, paso) → plano2
  30. Sequence(CurveCartesian[x(Base) + ((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * sr) + ((r * v / (u^(2) + v^(2) + 1)) * cr), y(Base) - (((r * ((u / (u^(2) + v^(2) + 1) * cos(invierte)) + ((1 / 2 - 1 / (u^(2) + v^(2) + 1)) * sin(invierte)))) * cr) * sin(zAngInc)) + (((r * v / (u^(2) + v^(2) + 1)) * sr) * sin(zAngInc)) + (((((-r) * u / (u^(2) + v^(2) + 1)) * sin(invierte)) + ((r * (1 / 2 - 1 / (u^(2) + v^(2) + 1))) * cos(invierte)) + f) * cos(zAngInc)), u, -1, 1], v, -1, 1, paso) → esfera1
  31. Ray(PN, PN + (0, 1)) → a
  32. Polygon(P3, P2, PN) → poly1, poly1b, poly1c, poly1a
  33. Polygon(P3, P4, PN) → poly2, poly2b, poly2a, poly2c
  34. Angle(P2, P3, PN) → α
  35. Angle(P3, P4, PN) → β
  36. Polygon(P4, PN, P1) → poly3, poly3c, poly3a, poly3b
  37. Angle(P4, P1, PN) → γ
  38. Polygon(P1, P2, PN) → poly4, poly4b, poly4a, poly4c
  39. Angle(P1, P2, PN) → δ
  40. OrthogonalLine(B, xAxis) → b
  41. OrthogonalLine(B, b) → d

AI Drawing Prompt Reference

Draw a Möbius transformation of circles and angle correspondences. Start by drawing a horizontal line and a vertical line, then draw a circle with a center point. Find the intersection points of the circle and the vertical line, construct an ellipse, and find its intersections with the vertical line. Use rotation and angle measurement to show the angle relationships after transformation, and draw a series of curves and polygons to represent the transformed geometric figures.
The prompt above was compiled from the original drawing commands and is for reference only.