Homotopy: Roman Surface vs Boy Surface
Loading the math board and drawing, please wait…
① This GeoGebra example dynamically demonstrates a homotopy between the Roman surface and the Boy surface, showing a continuous deformation between two classical immersed surfaces in 3D space. ② The core mathematical concepts include homotopy, surface parametrization, topological equivalence, and continuous deformations of immersed surfaces, with emphasis on the Roman and Boy surface constructions. ③ Construction highlights: The Surface command is used to create parametric surfaces, and the Sequence command generates a series of intermediate surface frames; a slider controls the deformation parameter. Auxiliary points (A1-A5, B1-B4, etc.) and curves (l1, l2) help define and constrain the geometry, while image objects (image2, image3, image4) enhance the visual presentation. ④ This is suitable for university-level mathematics students or advanced undergraduates studying topology and differential geometry, and serves as an excellent visualization tool for understanding abstract homotopy concepts.
GeoGebra Commands & Parameters
Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, 0, π / 2, v, A1, A2) → B1Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, 0, π / 2, v, A2, A3) → B2Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, 0, π / 2, v, A3, A4) → B3Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, 0, π / 2, v, A4, A5) → B4Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π / 2, (2 * π / 2), v, A1, A2) → C1Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π / 2, (2 * π / 2), v, A2, A3) → C2Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π / 2, (2 * π / 2), v, A3, A4) → C3Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π / 2, (2 * π / 2), v, A4, A5) → C4Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π, (3 * π / 2), v, A1, A2) → D1Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, (3 * π / 2), (4 * π / 2), v, A1, A2) → E1Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, (3 * π / 2), (4 * π / 2), v, A2, A3) → E2Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, (3 * π / 2), (4 * π / 2), v, A3, A4) → E3Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π, (3 * π / 2), v, A2, A3) → D2Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π, (3 * π / 2), v, A3, A4) → D3Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, π, (3 * π / 2), v, A4, A5) → D4Surface(x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, (3 * π / 2), (4 * π / 2), v, A4, A5) → E4Sequence(CurveCartesian[x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), u, 0, (2 * π)], v, 0, (2 * π), (2 * π / m)) → l1Sequence(CurveCartesian[x(O) + ((2 - a) * f(u, v)), y(O) + ((2 - a) * g(u, v)), z(O) + ((2 - a) * h(u, v)), v, 0, (2 * π)], u, 0, (2 * π), (2 * π / m)) → l2