template<class
X, class
Y, class Corner1Tag, class Corner2Tag, class Corner3Tag, std::size_t D>
class TriangularBernsteinPolynomialBasis< X, Y, Corner1Tag, Corner2Tag, Corner3Tag, D >
A class which evaluates the triangular Bernstein polynomials.
Triangular Bernstein polynomials of degree \( D \) are defined as: \( T_{i_1,i_2,i_3}(x,y) = \binom{D}{i_1\,i_2\,i_3} \lambda_1^{i_1} \lambda_2^{i_2} \lambda_3^{i_3}, \quad i_1 +i_2+i_3 =D \)
Where \( \lambda_1 \), \( \lambda_2 \), and \( \lambda_3 \) are the barycentric coordinates of \( (x,y) \)
c.f. Toshniwal et al. 2017 Multi-degree smooth polar splines: A framework for geometric modeling and isogeometric analysis https://doi.org/10.1016/j.cma.2016.11.009
- Template Parameters
-
X | The first dimension of the cartesian coordinate system. |
Y | The second dimension of the cartesian coordinate system. |
Corner1Tag | A class to identify the first corner. |
Corner2Tag | A class to identify the second corner. |
Corner3Tag | A class to identify the third corner. |
D | The degree of the polynomial. |