Umbilic Torus Surface

Umbilic Torus Surface
Loading the math board and drawing, please wait…
2020-09-20 15:37
This GeoGebra example constructs an Umbilic Torus using sequence and surface commands, demonstrating complex three-dimensional geometry, continuity, and rotational symmetry. It integrates concepts from coordinate geometry, parametric equations, and calculus, illustrating how step functions and combinatorial arrangements can generate intricate surface meshes. The model is suitable for advanced high school and undergraduate mathematics courses exploring spatial geometry, calculus, and parametric surfaces.

GeoGebra Commands & Parameters

  1. Sequence((-π) + (((2 * π)) / n * k), k, 0, n) → L_1, {-3.141592653589793, -3.036872898470133, -2.9321531433504737, -2.827433388230814, -2.722713633111154, -2.6179938779914944, -2.5132741228718345, -2.408554367752175, -2.303834612632515, -2.199114857512855, -2.0943951023931957, -1.9896753472735358, -1.8849555921538759, -1.7802358370342162, -1.6755160819145565, -1.5707963267948966, -1.4660765716752369, -1.3613568165555772, -1.2566370614359172, -1.1519173063162575, -1.0471975511965979, -0.9424777960769379, -0.8377580409572785, -0.7330382858376185, -0.6283185307179586, -0.5235987755982991, -0.41887902047863923, -0.3141592653589793, -0.20943951023931984, -0.10471975511965992, 0, 0.10471975511965947, 0.2094395102393194, 0.3141592653589793, 0.4188790204786388, 0.5235987755982987, 0.6283185307179586, 0.7330382858376181, 0.837758040957278, 0.9424777960769379, 1.0471975511965974, 1.1519173063162569, 1.2566370614359172, 1.3613568165555767, 1.4660765716752362, 1.5707963267948966, 1.675516081914556, 1.7802358370342155, 1.8849555921538759, 1.9896753472735353, 2.094395102393195, 2.199114857512855, 2.3038346126325147, 2.408554367752174, 2.5132741228718345, 2.617993877991494, 2.7227136331111534, 2.827433388230814, 2.9321531433504733, 3.0368728984701328, 3.141592653589793}
  2. Sequence((-π) + (((2 * π)) / n * (k + 1)), k, 0, n) → L_2, {-3.036872898470133, -2.9321531433504737, -2.827433388230814, -2.722713633111154, -2.6179938779914944, -2.5132741228718345, -2.408554367752175, -2.303834612632515, -2.199114857512855, -2.0943951023931957, -1.9896753472735358, -1.8849555921538759, -1.7802358370342162, -1.6755160819145565, -1.5707963267948966, -1.4660765716752369, -1.3613568165555772, -1.2566370614359172, -1.1519173063162575, -1.0471975511965979, -0.9424777960769379, -0.8377580409572785, -0.7330382858376185, -0.6283185307179586, -0.5235987755982991, -0.41887902047863923, -0.3141592653589793, -0.20943951023931984, -0.10471975511965992, 0, 0.10471975511965947, 0.2094395102393194, 0.3141592653589793, 0.4188790204786388, 0.5235987755982987, 0.6283185307179586, 0.7330382858376181, 0.837758040957278, 0.9424777960769379, 1.0471975511965974, 1.1519173063162569, 1.2566370614359172, 1.3613568165555767, 1.4660765716752362, 1.5707963267948966, 1.675516081914556, 1.7802358370342155, 1.8849555921538759, 1.9896753472735353, 2.094395102393195, 2.199114857512855, 2.3038346126325147, 2.408554367752174, 2.5132741228718345, 2.617993877991494, 2.7227136331111534, 2.827433388230814, 2.9321531433504733, 3.0368728984701328, 3.141592653589793, 3.2463124087094526}
  3. Sequence(Surface[Fx(u, v), Fy(u, v), Fz(u, v), u, (-π), π, v, Element[L_1, k], Element[L_2, k]], k, 1, n) → L_3, {(((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v)))), (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v))))), (sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v))))}
  4. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, (-π), π, v, (-π), π) → a
  5. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 1], Element[L_2, 1], v, (-π), π) → A1
  6. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 2], Element[L_2, 2], v, (-π), π) → A2
  7. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 3], Element[L_2, 3], v, (-π), π) → A3
  8. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 4], Element[L_2, 4], v, (-π), π) → A4
  9. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 5], Element[L_2, 5], v, (-π), π) → A5
  10. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 6], Element[L_2, 6], v, (-π), π) → A6
  11. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 7], Element[L_2, 7], v, (-π), π) → A7
  12. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 8], Element[L_2, 8], v, (-π), π) → A8
  13. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 9], Element[L_2, 9], v, (-π), π) → A9
  14. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 10], Element[L_2, 10], v, (-π), π) → A10
  15. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 11], Element[L_2, 11], v, (-π), π) → A11
  16. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 12], Element[L_2, 12], v, (-π), π) → A12
  17. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 13], Element[L_2, 13], v, (-π), π) → A13
  18. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 14], Element[L_2, 14], v, (-π), π) → A14
  19. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 15], Element[L_2, 15], v, (-π), π) → A15
  20. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 16], Element[L_2, 16], v, (-π), π) → A16
  21. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 17], Element[L_2, 17], v, (-π), π) → A17
  22. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 18], Element[L_2, 18], v, (-π), π) → A18
  23. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 19], Element[L_2, 19], v, (-π), π) → A19
  24. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 20], Element[L_2, 20], v, (-π), π) → A20
  25. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 21], Element[L_2, 21], v, (-π), π) → A21
  26. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 22], Element[L_2, 22], v, (-π), π) → A22
  27. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 23], Element[L_2, 23], v, (-π), π) → A23
  28. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 24], Element[L_2, 24], v, (-π), π) → A24
  29. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 25], Element[L_2, 25], v, (-π), π) → A25
  30. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 26], Element[L_2, 26], v, (-π), π) → A26
  31. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 27], Element[L_2, 27], v, (-π), π) → A27
  32. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 28], Element[L_2, 28], v, (-π), π) → A28
  33. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 29], Element[L_2, 29], v, (-π), π) → A29
  34. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 30], Element[L_2, 30], v, (-π), π) → A30
  35. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 31], Element[L_2, 31], v, (-π), π) → A31
  36. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 32], Element[L_2, 32], v, (-π), π) → A32
  37. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 33], Element[L_2, 33], v, (-π), π) → A33
  38. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 34], Element[L_2, 34], v, (-π), π) → A34
  39. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 35], Element[L_2, 35], v, (-π), π) → A35
  40. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 36], Element[L_2, 36], v, (-π), π) → A36
  41. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 37], Element[L_2, 37], v, (-π), π) → A37
  42. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 38], Element[L_2, 38], v, (-π), π) → A38
  43. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 39], Element[L_2, 39], v, (-π), π) → A39
  44. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 40], Element[L_2, 40], v, (-π), π) → A40
  45. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 41], Element[L_2, 41], v, (-π), π) → A41
  46. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 42], Element[L_2, 42], v, (-π), π) → A42
  47. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 43], Element[L_2, 43], v, (-π), π) → A43
  48. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 44], Element[L_2, 44], v, (-π), π) → A44
  49. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 45], Element[L_2, 45], v, (-π), π) → A45
  50. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 46], Element[L_2, 46], v, (-π), π) → A46
  51. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 47], Element[L_2, 47], v, (-π), π) → A47
  52. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 48], Element[L_2, 48], v, (-π), π) → A48
  53. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 49], Element[L_2, 49], v, (-π), π) → A49
  54. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 50], Element[L_2, 50], v, (-π), π) → A50
  55. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 51], Element[L_2, 51], v, (-π), π) → A51
  56. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 52], Element[L_2, 52], v, (-π), π) → A52
  57. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 53], Element[L_2, 53], v, (-π), π) → A53
  58. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 54], Element[L_2, 54], v, (-π), π) → A54
  59. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 55], Element[L_2, 55], v, (-π), π) → A55
  60. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 56], Element[L_2, 56], v, (-π), π) → A56
  61. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 57], Element[L_2, 57], v, (-π), π) → A57
  62. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 58], Element[L_2, 58], v, (-π), π) → A58
  63. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 59], Element[L_2, 59], v, (-π), π) → A59
  64. Surface(Fx(u, v), Fy(u, v), Fz(u, v), u, Element[L_1, 60], Element[L_2, 60], v, (-π), π) → A60

AI Drawing Prompt Reference

Create a 3D visualization of an “Umbilic Torus” as a parameterized surface mesh. Use two parameters: let u run from -π to π and use an evenly spaced discretization into n segments to define a sequence of u values, while v spans from -π to π. Generate the surface points by the parametric equations x = sin(u) * (7 + cos(u/3 - 2v) + 2*cos(u/3 + v)), y = cos(u) * (7 + cos(u/3 - 2v) + 2*cos(u/3 + v)), and z = sin(u/3 - 2v) + 2*sin(u/3 + v). Then split the surface into multiple adjacent surface patches using successive u intervals (for different segment choices) over the full v range, so the patches connect into a continuous, rotationally symmetric, intricate torus-like geometry.
The prompt above was compiled from the original drawing commands and is for reference only.