5
$\begingroup$

How to draw a surface with four space curves as boundaries of the surface?

ParametricPlot3D[{{u, 0, u^2}, {0, v, v^2}, {u, 1, u^2 + 1}, {1, v,1 + v^2}}, {u, 0, 1}, {v, 0, 1}]

From this one:

enter image description here

to this one:

enter image description here

Your answer is appreciated.

$\endgroup$
  • 1
    $\begingroup$ These things are called 'Coons patches' - see here en.wikipedia.org/wiki/Coons_patch $\endgroup$ – flinty Jun 1 '20 at 11:48
  • $\begingroup$ Sometimes, this is also referred to as "transfinite interpolation". $\endgroup$ – J. M.'s ennui Jun 1 '20 at 12:15
7
$\begingroup$

As in my comment above, these are called 'Coons patches' https://en.wikipedia.org/wiki/Coons_patch

The following is simply adapted from the equations on that page:

c0[t_] := {t, 0, t^2}
d0[t_] := {0, t, t^2}
c1[t_] := {t, 1, 1 + t^2}
d1[t_] := {1, t, 1 + t^2}
lc[s_, t_] := (1 - t) c0[s] + t c1[s]
ld[s_, t_] := (1 - s) d0[t] + s d1[t]
b[s_, t_] := 
 c0[0] (1 - s) (1 - t) + c0[1] s (1 - t) + c1[0] (1 - s) t + c1[1] s t
patch[s_, t_] := lc[s, t] + ld[s, t] - b[s, t]
Show[
 ParametricPlot3D[#[t], {t, 0, 1}, PlotStyle -> {Thick, Red}, 
    PlotRange -> All, BoxRatios -> 1] & /@ {c0, d0, c1, d1},
 ParametricPlot3D[patch[s, t], {s, 0, 1}, {t, 0, 1}, PlotRange -> All,
   BoxRatios -> 1]
 ]

coons patch plot

$\endgroup$
  • $\begingroup$ I learned new things today. Thank you very much..^^ $\endgroup$ – VTeh Jun 1 '20 at 14:10

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.