Tensor Product Surfaces
The de Casteljau Algorithm
Tensor Product Approach for the de Casteljau Algorithm
Given the surface
\(S(u,v)=\sum_{j=0}^m\,B_j^m(v)\,\left(\sum_{i=0}^n\,B_i^n(u)\,\mathbf{b}_{i,j}\right)=:\sum_{j=0}^m\,B_j^m(v)\,\mathbf{b}_j(u)\)
and the parameter values \(u,\, v \in [0,1]\)
-
\(m+1\) times de Casteljau in \(u\): \(\mathbf{c}_j=\sum_{i=0}^n B_i^n(u)\mathbf{b}_{i,j}, \; 0\leq j \leq m\)
-
de Casteljau in \(v\) (once): \(S(u,v)=\sum_{j=0}^m B_j^m(v)\mathbf{c}_j\)
Remark: performance issues
-
\(m+1\) times de Casteljau in \(u\): \(\mathbf{c}_j=\sum_{i=0}^n B_i^n(u)\mathbf{b}_{i,j}, \; 0\leq j \leq m\)
-
de Casteljau in \(v\) (once): \(S(u,v)=\sum_{j=0}^m B_j^m(v)\mathbf{c}_j\)
The JavaScript Code