Boy Surface: Parametric Equation Construction and Visualization

Boy Surface: Parametric Equation Construction and Visualization
Loading the math board and drawing, please wait…
2023-03-15 18:06
In collections geometriadinamica.es
This example demonstrates the construction and 3D visualization of the Boy surface, a classic non-orientable surface in differential geometry and topology. Construction highlights: 1) Use CurveCartesian command to plot the Boy surface according to its parametric equations; 2) Generate surface point sequences via Sequence command; 3) Build angle parameters needed for parametric equations using Ellipse and Angle commands; 4) Complete auxiliary geometric constructions with Circle and Intersect. This example is ideal for university-level differential geometry courses as a visual teaching aid, and can also serve as an introductory topology teaching tool for explaining non-orientable surfaces and their relationship to the Möbius strip.

GeoGebra Commands & Parameters

  1. Segment(Q5, Q6) → p5
  2. Point(p5) → P5
  3. Segment(Q3, Q4) → p2
  4. Point(p2) → P3
  5. Segment(P3, Q4) → p4
  6. Point(p4) → P4
  7. Segment(Q1, Q2) → p1
  8. Point(p1) → P1
  9. Segment(P1, Q2) → p3
  10. Point(p3) → P2
  11. OrthogonalLine(C, xAxis) → zz2
  12. Circle(C, 0.62) → zz0
  13. Intersect(zz0, zz2, 1) → ZZ4
  14. Intersect(zz0, zz2, 2) → ZZ3
  15. Ellipse(ZZ3, ZZ4, 0.65) → zElipse2
  16. Point(zElipse2) → Z
  17. Intersect(zElipse2, zz2) → ZZ7, ZZ8
  18. Angle(ZZ8, C, Z) → zAngInc
  19. OrthogonalLine(C, yAxis) → zz1
  20. Intersect(zz0, zz1, 2) → ZZ2
  21. Intersect(zz0, zz1, 1) → ZZ1
  22. Ellipse(ZZ1, ZZ2, 0.65) → zElipse1
  23. Point(zElipse1) → XY
  24. Intersect(zElipse1, zz1) → ZZ5, ZZ6
  25. Angle(ZZ6, C, XY) → zAngRot
  26. Segment(ZZ5, ZZ6) → zz4
  27. Segment(ZZ7, ZZ8) → zz3
  28. Intersect(zElipse2, zElipse1, 1) → zPunto1
  29. Intersect(zElipse2, zElipse1, 4) → zPunto2
  30. Segment(zPunto1, zPunto2) → zSeg2
  31. CurveCartesian((r * (((1 / 2 * ((2 * ((cos(α) * sin(v)))^(2)) - ((sin(α) * sin(v)))^(2) - (cos(v))^(2) + ((((2 * sin(α)) * sin(v)) * cos(v)) * (((sin(α) * sin(v)))^(2) - (cos(v))^(2))) + (((cos(v) * cos(α)) * sin(v)) * (((cos(α) * sin(v)))^(2) - (cos(v))^(2))) + ((((cos(α) * sin(v)) * sin(α)) * sin(v)) * (((sin(α) * sin(v)))^(2) - ((cos(α) * sin(v)))^(2))))) * sin(zAngRot)) + ((sqrt(3) / 2 * (((sin(α) * sin(v)))^(2) - (cos(v))^(2) + (((cos(v) * cos(α)) * sin(v)) * ((cos(v))^(2) - ((cos(α) * sin(v)))^(2))) + ((((cos(α) * sin(v)) * sin(α)) * sin(v)) * (((sin(α) * sin(v)))^(2) - ((cos(α) * sin(v)))^(2))))) * cos(zAngRot)))), (r * ((((-1 / 2 * ((2 * ((cos(α) * sin(v)))^(2)) - ((sin(α) * sin(v)))^(2) - (cos(v))^(2) + ((((2 * sin(α)) * sin(v)) * cos(v)) * (((sin(α) * sin(v)))^(2) - (cos(v))^(2))) + (((cos(v) * cos(α)) * sin(v)) * (((cos(α) * sin(v)))^(2) - (cos(v))^(2))) + ((((cos(α) * sin(v)) * sin(α)) * sin(v)) * (((sin(α) * sin(v)))^(2) - ((cos(α) * sin(v)))^(2))))) * cos(zAngRot)) * sin(zAngInc)) + (((sqrt(3) / 2 * (((sin(α) * sin(v)))^(2) - (cos(v))^(2) + (((cos(v) * cos(α)) * sin(v)) * ((cos(v))^(2) - ((cos(α) * sin(v)))^(2))) + ((((cos(α) * sin(v)) * sin(α)) * sin(v)) * (((sin(α) * sin(v)))^(2) - ((cos(α) * sin(v)))^(2))))) * sin(zAngRot)) * sin(zAngInc)) + ((((cos(α) * sin(v)) + (sin(α) * sin(v)) + cos(v)) * (((cos(α) * sin(v)) + (sin(α) * sin(v)) + cos(v))^(3) + (((4 * ((sin(α) * sin(v)) - (cos(α) * sin(v)))) * (cos(v) - (sin(α) * sin(v)))) * ((cos(α) * sin(v)) - cos(v))))) * cos(zAngInc)))) - 2, v, v1, v2) → curva2
  32. CurveCartesian((r * (((1 / 2 * ((2 * ((cos(u) * sin(3.14159 / 2)))^(2)) - ((sin(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2) + ((((2 * sin(u)) * sin(3.14159 / 2)) * cos(3.14159 / 2)) * (((sin(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2))) + (((cos(3.14159 / 2) * cos(u)) * sin(3.14159 / 2)) * (((cos(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2))) + ((((cos(u) * sin(3.14159 / 2)) * sin(u)) * sin(3.14159 / 2)) * (((sin(u) * sin(3.14159 / 2)))^(2) - ((cos(u) * sin(3.14159 / 2)))^(2))))) * sin(zAngRot)) + ((sqrt(3) / 2 * (((sin(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2) + (((cos(3.14159 / 2) * cos(u)) * sin(3.14159 / 2)) * ((cos(3.14159 / 2))^(2) - ((cos(u) * sin(3.14159 / 2)))^(2))) + ((((cos(u) * sin(3.14159 / 2)) * sin(u)) * sin(3.14159 / 2)) * (((sin(u) * sin(3.14159 / 2)))^(2) - ((cos(u) * sin(3.14159 / 2)))^(2))))) * cos(zAngRot)))), (r * ((((-1 / 2 * ((2 * ((cos(u) * sin(3.14159 / 2)))^(2)) - ((sin(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2) + ((((2 * sin(u)) * sin(3.14159 / 2)) * cos(3.14159 / 2)) * (((sin(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2))) + (((cos(3.14159 / 2) * cos(u)) * sin(3.14159 / 2)) * (((cos(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2))) + ((((cos(u) * sin(3.14159 / 2)) * sin(u)) * sin(3.14159 / 2)) * (((sin(u) * sin(3.14159 / 2)))^(2) - ((cos(u) * sin(3.14159 / 2)))^(2))))) * cos(zAngRot)) * sin(zAngInc)) + (((sqrt(3) / 2 * (((sin(u) * sin(3.14159 / 2)))^(2) - (cos(3.14159 / 2))^(2) + (((cos(3.14159 / 2) * cos(u)) * sin(3.14159 / 2)) * ((cos(3.14159 / 2))^(2) - ((cos(u) * sin(3.14159 / 2)))^(2))) + ((((cos(u) * sin(3.14159 / 2)) * sin(u)) * sin(3.14159 / 2)) * (((sin(u) * sin(3.14159 / 2)))^(2) - ((cos(u) * sin(3.14159 / 2)))^(2))))) * sin(zAngRot)) * sin(zAngInc)) + ((((cos(u) * sin(3.14159 / 2)) + (sin(u) * sin(3.14159 / 2)) + cos(3.14159 / 2)) * (((cos(u) * sin(3.14159 / 2)) + (sin(u) * sin(3.14159 / 2)) + cos(3.14159 / 2))^(3) + (((4 * ((sin(u) * sin(3.14159 / 2)) - (cos(u) * sin(3.14159 / 2)))) * (cos(3.14159 / 2) - (sin(u) * sin(3.14159 / 2)))) * ((cos(u) * sin(3.14159 / 2)) - cos(3.14159 / 2))))) * cos(zAngInc)))) - 2, u, u1, u2) → curva1
  33. CurveCartesian((r * (((1 / 2 * ((2 * ((cos(u) * sin(β)))^(2)) - ((sin(u) * sin(β)))^(2) - (cos(β))^(2) + ((((2 * sin(u)) * sin(β)) * cos(β)) * (((sin(u) * sin(β)))^(2) - (cos(β))^(2))) + (((cos(β) * cos(u)) * sin(β)) * (((cos(u) * sin(β)))^(2) - (cos(β))^(2))) + ((((cos(u) * sin(β)) * sin(u)) * sin(β)) * (((sin(u) * sin(β)))^(2) - ((cos(u) * sin(β)))^(2))))) * sin(zAngRot)) + ((sqrt(3) / 2 * (((sin(u) * sin(β)))^(2) - (cos(β))^(2) + (((cos(β) * cos(u)) * sin(β)) * ((cos(β))^(2) - ((cos(u) * sin(β)))^(2))) + ((((cos(u) * sin(β)) * sin(u)) * sin(β)) * (((sin(u) * sin(β)))^(2) - ((cos(u) * sin(β)))^(2))))) * cos(zAngRot)))), (r * ((((-1 / 2 * ((2 * ((cos(u) * sin(β)))^(2)) - ((sin(u) * sin(β)))^(2) - (cos(β))^(2) + ((((2 * sin(u)) * sin(β)) * cos(β)) * (((sin(u) * sin(β)))^(2) - (cos(β))^(2))) + (((cos(β) * cos(u)) * sin(β)) * (((cos(u) * sin(β)))^(2) - (cos(β))^(2))) + ((((cos(u) * sin(β)) * sin(u)) * sin(β)) * (((sin(u) * sin(β)))^(2) - ((cos(u) * sin(β)))^(2))))) * cos(zAngRot)) * sin(zAngInc)) + (((sqrt(3) / 2 * (((sin(u) * sin(β)))^(2) - (cos(β))^(2) + (((cos(β) * cos(u)) * sin(β)) * ((cos(β))^(2) - ((cos(u) * sin(β)))^(2))) + ((((cos(u) * sin(β)) * sin(u)) * sin(β)) * (((sin(u) * sin(β)))^(2) - ((cos(u) * sin(β)))^(2))))) * sin(zAngRot)) * sin(zAngInc)) + ((((cos(u) * sin(β)) + (sin(u) * sin(β)) + cos(β)) * (((cos(u) * sin(β)) + (sin(u) * sin(β)) + cos(β))^(3) + (((4 * ((sin(u) * sin(β)) - (cos(u) * sin(β)))) * (cos(β) - (sin(u) * sin(β)))) * ((cos(u) * sin(β)) - cos(β))))) * cos(zAngInc)))) - 2, u, u1, (2 * u2)) → a1
  34. Sequence(CurveCartesian[(r * (((1 / 2 * ((2 * ((cos(u) * sin(v)))^(2)) - ((sin(u) * sin(v)))^(2) - (cos(v))^(2) + ((((2 * sin(u)) * sin(v)) * cos(v)) * (((sin(u) * sin(v)))^(2) - (cos(v))^(2))) + (((cos(v) * cos(u)) * sin(v)) * (((cos(u) * sin(v)))^(2) - (cos(v))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * sin(zAngRot)) + ((sqrt(3) / 2 * (((sin(u) * sin(v)))^(2) - (cos(v))^(2) + (((cos(v) * cos(u)) * sin(v)) * ((cos(v))^(2) - ((cos(u) * sin(v)))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * cos(zAngRot)))), (r * ((((-1 / 2 * ((2 * ((cos(u) * sin(v)))^(2)) - ((sin(u) * sin(v)))^(2) - (cos(v))^(2) + ((((2 * sin(u)) * sin(v)) * cos(v)) * (((sin(u) * sin(v)))^(2) - (cos(v))^(2))) + (((cos(v) * cos(u)) * sin(v)) * (((cos(u) * sin(v)))^(2) - (cos(v))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * cos(zAngRot)) * sin(zAngInc)) + (((sqrt(3) / 2 * (((sin(u) * sin(v)))^(2) - (cos(v))^(2) + (((cos(v) * cos(u)) * sin(v)) * ((cos(v))^(2) - ((cos(u) * sin(v)))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * sin(zAngRot)) * sin(zAngInc)) + ((((cos(u) * sin(v)) + (sin(u) * sin(v)) + cos(v)) * (((cos(u) * sin(v)) + (sin(u) * sin(v)) + cos(v))^(3) + (((4 * ((sin(u) * sin(v)) - (cos(u) * sin(v)))) * (cos(v) - (sin(u) * sin(v)))) * ((cos(u) * sin(v)) - cos(v))))) * cos(zAngInc)))) - 2, u, u1, u2], v, v1, v2, paso) → list2
  35. Sequence(CurveCartesian[(r * (((1 / 2 * ((2 * ((cos(u) * sin(v)))^(2)) - ((sin(u) * sin(v)))^(2) - (cos(v))^(2) + ((((2 * sin(u)) * sin(v)) * cos(v)) * (((sin(u) * sin(v)))^(2) - (cos(v))^(2))) + (((cos(v) * cos(u)) * sin(v)) * (((cos(u) * sin(v)))^(2) - (cos(v))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * sin(zAngRot)) + ((sqrt(3) / 2 * (((sin(u) * sin(v)))^(2) - (cos(v))^(2) + (((cos(v) * cos(u)) * sin(v)) * ((cos(v))^(2) - ((cos(u) * sin(v)))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * cos(zAngRot)))), (r * ((((-1 / 2 * ((2 * ((cos(u) * sin(v)))^(2)) - ((sin(u) * sin(v)))^(2) - (cos(v))^(2) + ((((2 * sin(u)) * sin(v)) * cos(v)) * (((sin(u) * sin(v)))^(2) - (cos(v))^(2))) + (((cos(v) * cos(u)) * sin(v)) * (((cos(u) * sin(v)))^(2) - (cos(v))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * cos(zAngRot)) * sin(zAngInc)) + (((sqrt(3) / 2 * (((sin(u) * sin(v)))^(2) - (cos(v))^(2) + (((cos(v) * cos(u)) * sin(v)) * ((cos(v))^(2) - ((cos(u) * sin(v)))^(2))) + ((((cos(u) * sin(v)) * sin(u)) * sin(v)) * (((sin(u) * sin(v)))^(2) - ((cos(u) * sin(v)))^(2))))) * sin(zAngRot)) * sin(zAngInc)) + ((((cos(u) * sin(v)) + (sin(u) * sin(v)) + cos(v)) * (((cos(u) * sin(v)) + (sin(u) * sin(v)) + cos(v))^(3) + (((4 * ((sin(u) * sin(v)) - (cos(u) * sin(v)))) * (cos(v) - (sin(u) * sin(v)))) * ((cos(u) * sin(v)) - cos(v))))) * cos(zAngInc)))) - 2, v, v1, v2], u, u1, u2, paso) → list1

AI Drawing Prompt Reference

Draw the Boy surface, a classic non-orientable surface. First, draw two ellipses and a circle. The ellipses intersect the circle to obtain angle points. Construct reference points. Then, use angles and ellipse parameters to generate points, and connect them with a sequence to form a curve. Finally, visualize the curve.
The prompt above was compiled from the original drawing commands and is for reference only.