Wolfram mathematica B&xE9;曲面的zier曲面面片

Wolfram mathematica B&xE9;曲面的zier曲面面片,wolfram-mathematica,interpolation,bezier,Wolfram Mathematica,Interpolation,Bezier,在Mathematica中,使用“Bezier函数”很容易生成曲面形式的立方Bézier面片(作为3D点列表) 例如: pts = {{{0, 0, 0}, {0, 1, 0}, {0, 2, 0}, {0, 3, 0}}, {{1, 0, 0}, {1, 1, 1}, {1, 2, 1}, {1, 3, 0}}, {{2, 0, 0}, {2, 1, 1}, {2, 2, 1}, {2, 3, 0}}, {{3, 0, 0}, {3, 1, 0}, {3, 2, 0},

在Mathematica中,使用“Bezier函数”很容易生成曲面形式的立方Bézier面片(作为3D点列表)

例如:

pts = {{{0, 0, 0}, {0, 1, 0}, {0, 2, 0}, {0, 3, 0}}, {{1, 0, 0}, {1, 
     1, 1}, {1, 2, 1}, {1, 3, 0}},
   {{2, 0, 0}, {2, 1, 1}, {2, 2, 1}, {2, 3, 0}},
   {{3, 0, 0}, {3, 1, 0}, {3, 2, 0}, {3, 3, 0}}};

f = BezierFunction[pts]

Show[Graphics3D[{PointSize[Medium], Red, Map[Point, pts]}],
 Graphics3D[{Gray, Line[pts], Line[Transpose[pts]]}], 
 ParametricPlot3D[f[u, v], {u, 0, 1}, {v, 0, 1}, Mesh -> None]]
但现在我有一个反问题,如果我们有一个3D曲面,我们怎么能得到一个基于它的立方体Bézier面片(根据一些规则)