Mathematica では、「BezierFunction」を使用して曲面形式の立方ベジエ パッチを(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 サーフェスがある場合、それを基にした立方ベジエ パッチを取得するにはどうすればよいでしょうか (いくつかの規則によって)。