4
$\begingroup$

There is a $3D$ graphic of the Umbilic torus.

x[u_, v_] := Sin[u] (7 + Cos[u/3 - 2 v] + 2 Cos[u/3 + v])
y[u_, v_] := Cos[u] (7 + Cos[u/3 - 2 v] + 2 Cos[u/3 + v])
z[u_, v_] := Sin[u/3 - 2 v] + 2 Sin[u/3 + v]

ParametricPlot3D[{x[u, v], y[u, v], z[u, v]}, {u, -Pi, Pi}, {v, -Pi, Pi}, 
PlotPoints -> 150, MaxRecursion -> 3, Boxed -> False, Axes -> False, Mesh -> 36]

but there is a gap on the mesh

enter image description here

How can I make a mesh like this?

enter image description here

$\endgroup$
2
  • $\begingroup$ It depends on what you would like to do: Would this help you: mr = DiscretizeRegion[ ParametricRegion[{x[u, v], y[u, v], z[u, v]}, {{u, -Pi, Pi}, {v, -Pi, Pi}}]]; HighlightMesh[mr, {2}] $\endgroup$
    – user21
    Commented Mar 31, 2017 at 11:58
  • 1
    $\begingroup$ That mesh irregularity seems to be inherent in the parametric equations you used; the situation is similar to that of the Möbius strip. To see this for yourself, add the settings Mesh -> {Subdivide[-π, π, 8]}, MeshFunctions -> {#5 &}. $\endgroup$ Commented Mar 31, 2017 at 12:04

1 Answer 1

6
$\begingroup$

The parameterization is all fine. It is just that you need a number of rectangles in the v-direction that is divisable by 3. The issue here is that Mesh counts only the interior mesh lines, so that the value of Mesh needs to be smaller by 1 than the number of desired reactangles.

x[u_, v_] := Sin[u] (7 + Cos[u/3 - 2 v] + 2 Cos[u/3 + v])
y[u_, v_] := Cos[u] (7 + Cos[u/3 - 2 v] + 2 Cos[u/3 + v])
z[u_, v_] := Sin[u/3 - 2 v] + 2 Sin[u/3 + v]

ParametricPlot3D[{x[u, v], y[u, v], z[u, v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi},
 PlotPoints -> {149, 149},
 MaxRecursion -> 3,
 Boxed -> False, Axes -> False,
 Mesh -> {35, 35},
 BoundaryStyle -> Directive[Thick, Black],
 MeshStyle -> Directive[Thick, Black],
 ViewPoint -> {0, 0, 4}
 ]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.