8
$\begingroup$

Given disjoint surfaces $q_i$ in 3D and their 1D boundary curves $\partial q_i = \gamma_i$, I seek a surface $p$ that joins the $q_i$, where $p \cup q_i$ forms a (piecewise) $C^k$ surface that minimizes some energy functional.

For $k = 0$, this reduces to Plateau's problem and one only needs the $\gamma_i$. There are fantastic answers to this problem here.

For example let my surfaces $q_i$ be the following open tubes:

n = 20;
mr = MeshRegion[
   Join[
    Append[-1.0] /@ CirclePoints[.25, n],
    Append[-0.5] /@ CirclePoints[.25, n]
    ],
   {
    Polygon[Range[n]],
    Polygon[Partition[Flatten[Riffle[Partition[Range[n], 2, 1, 1], Range[n] + n]], 3]],
    Polygon[Partition[Flatten[Riffle[Partition[Range[n] + n, 2, 1, 1], RotateLeft[Range[n]]]], 3]]
    }
 ];
mr = DiscretizeRegion[
  Region`Mesh`MeshRegionJoin[mr, 
   TransformedRegion[mr, RotationTransform[Pi/2, {0, -1, 0}]]], 
  PlotTheme -> "Default"]

enter image description here

Let's connect them with some (open) surface:

bd = MeshRegion[MeshCoordinates[mr], Region`InternalBoundaryEdges[mr]];
conv = RegionBoundary[ConvexHullMesh[MeshCoordinates[bd]]];
dfs = RegionDistance[InfinitePlane[MeshCoordinates[#][[1 ;; 3]]]] & /@ ConnectedMeshComponents[bd];
centroids = PropertyValue[{conv, 2}, MeshCellCentroid];
joint = MeshRegion[
   MeshCoordinates[conv],
   Pick[MeshCells[conv, 2], 
    Thread[Greater[Min /@ Transpose[Through[dfs[centroids]]], 10^-12.]]]
   ];
joint = DiscretizeRegion[joint, MaxCellMeasure -> {2 -> .001}]

enter image description here

We can use areaGradientDescent to modify the joint, leading to a $C^0$ solution through gradient flow:

Show[
  MeshRegion[mr, MeshCellStyle -> {0 -> None, 1 -> None, 2 -> GrayLevel[.8]}],
  areaGradientDescent[joint, 1, 1]
]

enter image description here

I seek to find stationary surfaces of higher order Laplacian flows

$$ \frac{\partial p}{\partial t} = \Delta^{k+1}_M p. $$

For example, some higher order results will look like the following (source): enter image description here

How can I incorporate the appropriate boundary conditions into a method such as areaGradientDescent to achieve a $C^k$ result?

$\endgroup$
9
  • $\begingroup$ Dear Greg, something similar to the second example can be obtained by minimizing the Willmore-like energy $\int_{\mathcal{S}} |\Delta p|^2 \, \omega_{\mathcal S}$ subject to Dirichlet and Neumann boundary conditions. One can compute local minimizers with a projected $H^2$-gradient flow on the manifold of surfaces satisying the boundary conditions. I implemented this for my research, but it is a bit heavy and contains a lot of self-written Mathematica code. $\endgroup$ Commented Sep 6, 2018 at 17:37
  • $\begingroup$ The appropriate energy for the third example might be $\int_{\mathcal{S}} |\operatorname{d} \! \Delta p|^2 \, \omega_{\mathcal{S}}$ and one could apply a third boundary condition (something like the second normal derivatives). Projected $H^3$-gradient flow might be an option, but the Gram matrices to invert would probably enormous condition number. I am not sure whether that would work out with my setting with direct solvers as I haven't tried that yet. $\endgroup$ Commented Sep 6, 2018 at 17:41
  • $\begingroup$ If you are deeply interested, I might try to post at least some code for a discrete Willmore energy (along with its derivative) and for a $H^2$-inner product. $\endgroup$ Commented Sep 6, 2018 at 17:49
  • 1
    $\begingroup$ Huh, what am I supposed to say? I once had some code for minimizing Willmore energy with clamped boundary conditions. The difficulty there was to use a consistent discretization (which I did not) and to get the derivatives of the energy and the constraints implemented correctly. Then one can run a simple projected gradient flow with respect to a H^2-inner product. It would take me a couple of days to port the code to something that could be pusblished here. So I'd rather prefer to not do it. Sorry. Now I have to be more disciplined about my time management than I used to be. $\endgroup$ Commented May 17, 2024 at 17:41
  • 1
    $\begingroup$ The $H^3$ energy is an entirely different beast. I have no idea whether that can behave correctly on a triangle mesh. So I'd rather not say anything about this. $\endgroup$ Commented May 17, 2024 at 17:44

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.