BezierSurfacePlot

A simple code, which uses the MATLAB function bernsteinMatrix and the computation of the Kronecker product, to plot a Bezier surface.

You are now following this Submission

This simple code generalizes to the case of Bézier surfaces the use of the MATLAB function to plot Bézier curves.
The key fact is that the basis used for the Bézier patch S(u,v) of degree (m,n) is the tensor product of the Bernstein basis used for the curves. Consequently, the corresponding collocation matrix is the Kronecker product of the collocation matrices of the curve case.
Matrix B1 is the collocation matrix corresponding to the first variable (u), which has m+1 columns for degree m; matrix B2 is the collocation matrix corresponding to the second variable (v), which has n+1 columns for degree n. The collocation matrix for the Bézier surface is computed as A = kron(B1,B2) (the Kronecker product of B1 and B2).
The input arguments are the degrees (m and n) and the matrix P with 3 columns and (m+1)(n+1) rows. Each row of P is the corresponding control point, ordered as follows: b_00, b_01,...,b_0n, b_10, b_11, ..., b_1n, ..., b_m0, b_m1, ...., b_mn.
By the way, the collocation matrices (for the univariate case) should be called Bernstein-Vandermonde matrices (instead of Bernstein matrices), a name given in the paper
  • Ana Marco, José-Javier Martínez: A fast and accurate algorithm for solving Bernstein-Vandermonde linear systems. Linear Algebra and its Applications 422 (2007), 616-628.

Cite As

Javier Martínez Yubero (2026). BezierSurfacePlot (https://se.mathworks.com/matlabcentral/fileexchange/107884-beziersurfaceplot), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0