# Find initial surface to minimize between two close curves

I have two close curves in space defined by $g$ and $h$ with:

Px[t_, A_, p_] := ((\[Pi] - t) t (p \[Pi] (\[Pi] - 2 t)^2 + 16 A (\[Pi] - t) t))/\[Pi]^4
X[t_, a_, px_] := If[t <= \[Pi], Px[t, a, px], -Px[t - \[Pi], a, px]]

Py[t_, A_, \[Epsilon]_] := ((\[Pi] - 2 t) (256 A (\[Pi] - t)^2 t^2 (9 \[Pi]^2 - 16 \[Pi] t + 16 t^2) + (\[Pi] - 4 t)^2 (3 \[Pi] - 4 t)^2 (3 \[Pi]^2 + 38 \[Pi] t - 38 t^2) \[Epsilon]))/(27 \[Pi]^7)
Y[t_, b_, \[Epsilon]_] := If[t <= \[Pi], Py[t, b, \[Epsilon]], Py[2 \[Pi] - t, b, \[Epsilon]]]

Pz[t_, A_, p_] := ((\[Pi] - 2 t) (\[Pi] - t) t (3 p \[Pi] (\[Pi] - 4 t)^2 (3 \[Pi] - 4 t)^2 + 256 A (\[Pi] - t) t (9 \[Pi]^2 - 16 \[Pi] t + 16 t^2)))/(27 \[Pi]^7)
Z[t_, c_, pz_] := If[t <= \[Pi], Pz[t, c, pz], Pz[t - \[Pi], c, pz]]

g[t_] := {X[t, 2, 1], Y[t, 1, .1], Z[t, 1, 2]}
h[t_] := {-Y[t, 1, .1], X[t, 2, 1], Z[t, 1, 2]}

ParametricPlot3D[{g[t], h[t]}, {t, 0, 2 \[Pi]}]


I would now want to build the minimal surface defined by those boundaries. But I have trouble adapting this solution to a situation where the initial surface is not a Disk[] but an Annulus[].

Is it easy to adapt, or do I miss something topologically sneaky?
How do I construct this minimal surface?

• Would it be appropriate to ask here how to plot the surface defined by each of these lines in 3D space -e.g the one defined by g[t], or would I need to start a new question? – GerardF123 Oct 19 '18 at 12:46
• @GerardF123 I'm not sure I'm getting your point. If you're strictly asking about g[t] then it is not a surface that it defines but a line (the blue one I think). If you need the surface that is an interpolation between h and g, then your answer has been given by Ulrich below. If it is the minimal surface you need, then see this post I've pointed to. Tell me if any of these suit :) – iago-lito Oct 19 '18 at 15:37
• Thanks for your reply. What I was getting at is that g[t] looks to me like the outline of the blade of a propeller of a ship. I wanted to draw that surface in. – GerardF123 Oct 19 '18 at 16:01
• @GerardF123 Okay I get it (it turns out you're right btw). Then I would define h(t) = g(t-𝜋) or something like this (it is like computing the interpolation between the curve and a delayed value of itself, try 𝜋 or other values), then use the result as a starting point for the minimization procedure described there. Does this make sense to you? :) – iago-lito Oct 19 '18 at 16:22
• Yes, thank you very much. – GerardF123 Oct 19 '18 at 20:14

Show [ParametricPlot3D[{g[t], h[t]}, {t, 0, 2 \[Pi]}],

• For me it seems to be a meshing problem of ParametricPlot3D . If you plot the mesh "by hand" everything is ok: Show[Table[ ParametricPlot3D[ Evaluate[ # g[t] + (1 - #) h[t]] , {t, 0, 2 \[Pi] } ] &[u], {u, 0, 1, .1}], Table[ParametricPlot3D[ Evaluate[ u g[#] + (1 - u) h[#]] , {u, 0, 1 } ] &[t], {t, 0, 2 Pi , 2 Pi/20.}], PlotRange -> All, Boxed -> False, Axes -> False ] – Ulrich Neumann Aug 31 '18 at 13:01