9

A quite arbitrarily closed curve k[φ](on the sphere) defines two parts of a sphere. How can I mesh for example the smaller surface part? I intend to use the mesh topology for further calculation (area or something like this)

For example

k[φ_] := {Cos[φ] Sin[π/10 - 1/20 π Sin[4 φ]], 
   Sin[φ] Sin[π/10 - 1/20 π Sin[4 φ]], Cos[π/10 - 1/20 π Sin[4 φ]]} 

defines a surface part enter image description here which I would like to mesh(triangle)?

My first attempt considering only the boundray

ParametricRegion[k[φ], {{φ, 0, 2 Pi}}]
DiscretizeRegion[%] 
(* DiscretizeRegion did not find any sample points *)

fails.

Is there an easy way to create such a surface mesh? Thanks!

Ulrich Neumann
  • 53,729
  • 2
  • 23
  • 55

1 Answers1

16

The curve is smooth, and the great circles tangent to the curve never pass through the interior point {0, 0, 1} over φ:

Hence the interior can be parametrized by

expr = Normalize[k[φ] r + (1 - r) {0, 0, 1}] /. Abs -> Identity // FullSimplify;

where $0\leq r\leq1$.

I don't understand why DiscretizeRegion returns the weird output

DiscretizeRegion[ParametricRegion[expr, {{φ, 0, 2 Pi}, {r, 0, 1}}]]

but DiscretizeGraphics works:

DiscretizeGraphics[ParametricPlot3D[expr, {φ, 0, 2 Pi}, {r, 0, 1}, PlotPoints -> 65, Mesh -> None]]

Coolwater
  • 20,257
  • 3
  • 35
  • 64