Stereographic Projection Demonstration by Malin Christersson

Stereographic Projection Demonstration by Malin Christersson
Loading the math board and drawing, please wait…
2016-04-13 23:38
This example demonstrates the stereographic projection, a classical geometric transformation that maps points on a sphere to a plane, preserving angles and circles. It visualizes how a sphere's surface is projected onto a plane from a chosen pole, illustrating the conformal nature of the mapping. Core mathematical concepts include 3D-to-2D mapping, orthogonal lines, arcs, translation, and the intersection of spheres with planes. The construction uses GeoGebra commands such as OrthogonalLine, Arc, Point, Translate, Sphere, If, and Segment, with objects including multiple labeled points (A1-E1, A2-E2, etc.) and auxiliary elements to build the projection diagram. Suitable for high school and university students studying solid geometry, coordinate geometry, or complex analysis, particularly for understanding the Riemann sphere and its relation to the complex plane.

GeoGebra Commands & Parameters

  1. OrthogonalLine((0, 0, 0), Plane[D1, D2, (0, 0, 0)]) → F1
  2. OrthogonalLine((0, 0, 0), Plane[D2, D7, (0, 0, 0)]) → F2
  3. OrthogonalLine((0, 0, 0), Plane[D7, D8, (0, 0, 0)]) → F5
  4. Arc(Circle[(0, 0, 0), 1, F1], D1, D2) → G1
  5. Arc(Circle[(0, 0, 0), 1, F2], D2, D7) → G2
  6. OrthogonalLine((0, 0, 0), Plane[D3, D1, (0, 0, 0)]) → F3
  7. Arc(Circle[(0, 0, 0), 1, F3], D3, D1) → G3
  8. OrthogonalLine((0, 0, 0), Plane[D7, D3, (0, 0, 0)]) → F4
  9. Arc(Circle[(0, 0, 0), 1, F4], D7, D3) → G4
  10. Point((0, 0, 0), Vector[UnitVector[Vector[D1] + Vector[D2]]]) → H1
  11. Point((0, 0, 0), Vector[UnitVector[Vector[D2] + Vector[D7]]]) → H2
  12. Arc(Circle[E1, E2, I1], E2, E1) → J1
  13. Arc(Circle[E2, E7, I2], E7, E2) → J2
  14. Point((0, 0, 0), Vector[UnitVector[Vector[D3] + Vector[D1]]]) → H3
  15. Arc(Circle[E3, E1, I3], E1, E3) → J3
  16. Point((0, 0, 0), Vector[UnitVector[Vector[D7] + Vector[D3]]]) → H4
  17. Arc(Circle[E7, E3, I4], E3, E7) → J4
  18. Arc(Circle[(0, 0, 0), 1, F5], D7, D8) → G5
  19. Point((0, 0, 0), Vector[UnitVector[Vector[D8] + Vector[D7]]]) → H5
  20. Arc(Circle[E8, E7, I5], E7, E8) → J5
  21. OrthogonalLine((0, 0, 0), Plane[D8, D6, (0, 0, 0)]) → F6
  22. Arc(Circle[(0, 0, 0), 1, F6], D8, D6) → G6
  23. Point((0, 0, 0), Vector[UnitVector[Vector[D6] + Vector[D8]]]) → H6
  24. Arc(Circle[E6, E8, I6], E8, E6) → J6
  25. OrthogonalLine((0, 0, 0), Plane[D2, D6, (0, 0, 0)]) → F7
  26. Arc(Circle[(0, 0, 0), 1, F7], D2, D6) → G7
  27. Point((0, 0, 0), Vector[UnitVector[Vector[D2] + Vector[D6]]]) → H7
  28. Arc(Circle[E2, E6, I7], E6, E2) → J7
  29. OrthogonalLine((0, 0, 0), Plane[D3, D5, (0, 0, 0)]) → F8
  30. Arc(Circle[(0, 0, 0), 1, F8], D3, D5) → G8
  31. Point((0, 0, 0), Vector[UnitVector[Vector[D3] + Vector[D5]]]) → H8
  32. Arc(Circle[E3, E5, I8], E5, E3) → J8
  33. OrthogonalLine((0, 0, 0), Plane[D4, D1, (0, 0, 0)]) → F9
  34. Arc(Circle[(0, 0, 0), 1, F9], D4, D1) → G9
  35. Point((0, 0, 0), Vector[UnitVector[Vector[D4] + Vector[D1]]]) → H9
  36. Arc(Circle[E4, E1, I9], E1, E4) → J9
  37. OrthogonalLine((0, 0, 0), Plane[D6, D4, (0, 0, 0)]) → F10
  38. Arc(Circle[(0, 0, 0), 1, F10], D6, D4) → G10
  39. Point((0, 0, 0), Vector[UnitVector[Vector[D6] + Vector[D4]]]) → H10
  40. Arc(Circle[E6, E4, I10], E4, E6) → J10
  41. OrthogonalLine((0, 0, 0), Plane[D4, D5, (0, 0, 0)]) → F11
  42. Arc(Circle[(0, 0, 0), 1, F11], D4, D5) → G11
  43. Point((0, 0, 0), Vector[UnitVector[Vector[D4] + Vector[D5]]]) → H11
  44. Arc(Circle[E4, E5, I11], E5, E4) → J11
  45. OrthogonalLine((0, 0, 0), Plane[D5, D8, (0, 0, 0)]) → F12
  46. Arc(Circle[(0, 0, 0), 1, F12], D5, D8) → G12
  47. Point((0, 0, 0), Vector[UnitVector[Vector[D5] + Vector[D8]]]) → H12
  48. Arc(Circle[E5, E8, I12], E8, E5) → J12
  49. Translate(J1, Vector[(0, 0, -1)]) → K1
  50. Translate(J2, Vector[(0, 0, -1)]) → K2
  51. Translate(J3, Vector[(0, 0, -1)]) → K3
  52. Sphere((0, 0, 0), 1) → e
  53. If(¬Defined[J5], Segment[E7, E8]) → K14
  54. If(¬Defined[J7], Segment[E2, E6]) → K15
  55. If(¬Defined[J8], Segment[E3, E5]) → K16
  56. If(¬Defined[J9], Segment[E4, E1]) → K17
  57. Segment((0, 0, 1), E1) → L1
  58. Segment((0, 0, 1), E2) → L2
  59. Segment((0, 0, 1), E3) → L3
  60. Segment((0, 0, 1), E4) → L4
  61. Segment((0, 0, 1), E5) → L5
  62. Segment((0, 0, 1), E6) → L6
  63. Segment((0, 0, 1), E7) → L7
  64. Segment((0, 0, 1), E8) → L8