3
$\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$
  • $\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 Mar 31 '17 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$ – J. M. is away Mar 31 '17 at 12:04
5
$\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, privacy policy and cookie policy

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