|
|
Bzier TriangleA cubic Bzier triangle is a surface with the equation -
-
& & & \ \ \beta^3\ t^3 & & & \\ & & & & & & \\ & & +\ 3\alpha\beta^2\ st^2 & & +\ 3\beta^2\gamma\ t^2 u & & \\ & & & & & & \\ & +\ 3\alpha^2\beta\ s^2 t & & +\ 6\alpha\beta\gamma\ stu & & +\ 3\beta\gamma^2\ tu^2 & \\ & & & & & & \\ +\ \alpha^3\ s^3\ & & +\ 3\alpha^2\gamma\ s^2 u & & +\ 3\alpha\gamma^2\ su^2 & & +\ \gamma^3\ u^3 \end{matrix} where α3, β3, γ3, α2β, αβ2, β2γ, βγ2, αγ2, α2γ and αβγ are the control points of the triangle. An example Bzier triangle with control points marked The corners of the triangle are the points α3, β3 and γ3. The edges of the triangle are themselves Bzier curves, with the same control points as the Bzier triangle. It is also possible to create quadratic or other degrees of Bzier triangles, by changing the exponent in the original equation, in which case there will be more or less control points. With the exponent 1, the resulting Bzier triangle is actually a regular flat triangle. In all cases, the edges of the triangle will be Bzier curves of the same degree. By removing the γu term, a regular Bzier curve results. Also, while not very useful for display on a physical computer screen, by adding extra terms, a Bzier tetrahedron or Bzier polytope results. Due to the nature of the equation, the entire triangle will be contained within the volume surrounded by the control points, and affine transformations of the control points will correctly transform the whole triangle in the same way. An advantage of Bzier triangles in computer graphics is, they are smooth, and can easily be approximated by regular triangles, by recursively dividing the Bzier triangle into two separate Bzier triangles, until they are considered sufficiently small, using only addition and division by two, not requiring any floating point arithmetic whatsoever. - The following computes the new control points for the half of the full Bzier triangle with the corner α3, a corner halfway along the Bzier curve between α3 and β3, and the third corner γ3.
-
\begin{vmatrix} \boldsymbol{\alpha^3}'\\ \boldsymbol{\alpha^2\beta}'\\ \boldsymbol{\alpha\beta^2}'\\ \boldsymbol{\beta^3}'\\ \boldsymbol{\alpha^2\gamma}'\\ \boldsymbol{\alpha\beta\gamma}'\\ \boldsymbol{\beta^2\gamma}'\\ \boldsymbol{\alpha\gamma^2}'\\ \boldsymbol{\beta\gamma^2}'\\ \boldsymbol{\gamma^3}' \end{vmatrix}=\begin{vmatrix} 1&0&0&0&0&0&0&0&0&0\\ {1\over 2}&{1\over 2}&0&0&0&0&0&0&0&0\\ {1\over 4}&{2\over 4}&{1\over 4}&0&0&0&0&0&0&0\\ {1\over 8}&{3\over 8}&{3\over 8}&{1\over 8}&0&0&0&0&0&0\\ 0&0&0&0&1&0&0&0&0&0\\ 0&0&0&0&{1\over 2}&{1\over 2}&0&0&0&0\\ 0&0&0&0&{1\over 4}&{2\over 4}&{1\over 4}&0&0&0\\ 0&0&0&0&0&0&0&1&0&0\\ 0&0&0&0&0&0&0&{1\over 2}&{1\over 2}&0\\ 0&0&0&0&0&0&0&0&0&1 \end{vmatrix}\cdot\begin{vmatrix} \boldsymbol{\alpha^3}\\ \boldsymbol{\alpha^2\beta}\\ \boldsymbol{\alpha\beta^2}\\ \boldsymbol{\beta^3}\\ \boldsymbol{\alpha^2\gamma}\\ \boldsymbol{\alpha\beta\gamma}\\ \boldsymbol{\beta^2\gamma}\\ \boldsymbol{\alpha\gamma^2}\\ \boldsymbol{\beta\gamma^2}\\ \boldsymbol{\gamma^3} \end{vmatrix} - equivalently, using addition and division by two only,
-
| | | | | β3:=(αβ2+β3)/2 | | | | αβ2:=(α2β+αβ2)/2 | | β3:=(αβ2+β3)/2 | | α2β:=(α3+α2β)/2 | | αβ2:=(α2β+αβ2)/2 | | β3:=(αβ2+β3)/2 |
| | | | β2γ:=(αβγ+β2γ)/2 | | αβγ:=(α2γ+αβγ)/2 | | β2γ:=(αβγ+β2γ)/2 |
| | - where := means to replace the vector on the left with the vector on the right.
- Note that halving a bézier triangle is similar to halving Bzier curves of all orders up to the order of the Bzier triangle.
See also:
|
 |