9
$\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$

1 Answer 1

16
$\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$
1
  • $\begingroup$ Thanks, very clear answer! $\endgroup$ Jan 7, 2018 at 11:22

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.