8
$\begingroup$

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!

$\endgroup$
14
$\begingroup$

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]]

$\endgroup$
  • $\begingroup$ Thanks, very clear answer! $\endgroup$ – Ulrich Neumann Jan 7 '18 at 11:22

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.