BezierSurfacePlot

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

Vous suivez désormais cette soumission

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.

Citation pour cette source

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

Informations générales

Compatibilité avec les versions de MATLAB

  • Compatible avec toutes les versions

Plateformes compatibles

  • Windows
  • macOS
  • Linux
Version Publié le Notes de version Action
1.0.0