A Bezier triangle is a special type of Bezier surface obtained by interpolating (linear, quadratic, cubic, or higher) by control points.
Content
Nth Bezier Triangle
The n- th generalized Bezier triangle has ( n + 1) ( n + 2) / 2 control points a i β j γ k , where i , j , k are non-negative integers such that i + j + k = n [ 1] . Then the surface is defined as
for all non-negative real numbers s + t + u = 1.
In the linear case ( ) The Bezier triangle is a flat triangle whose vertices are three control points. Quadratic ( ) The Bezier triangle has 6 control points that are located on its sides. Cubic Bezier Triangle ( ) is defined by 10 control points and is a Bezier triangle of the smallest order for which there is an internal control point that is not located on the side. In all cases, the sides of the triangle will be Bezier curves of the same degree.
Bezier Cubic Triangle
The cubic Bezier triangle is the surface given by the equation
where α 3 , β 3 , γ 3 , α 2 β, αβ 2 , β 2 γ, βγ 2 , αγ 2 , α 2 γ and αβγ are the control points of the triangle, and s, t, u (for 0 ≤ s, t , u ≤ 1 and s + t + u = 1) are barycentric coordinates inside the triangle. [2] [1]
Also, the Bezier triangle can be represented in a more general form as
according to the formula for the n-th order Bezier triangle.
The angles of the triangle are points α 3 , β 3 and γ 3 . The sides of the triangle are Bézier curves with the same control points as the Bézier triangle.
If the term with γu is excluded, the correct Bezier curve is obtained. By adding additional terms, you can get a Bezier tetrahedron or a Bezier polytope .
Due to the properties of the equation, the triangle is entirely contained within the volume bounded by control points, and affine transformations of control points transform the whole triangle in a similar way.
Division of a Bezier Cubic Triangle
The advantage of using Bezier triangles in computer graphics is the fact that to divide a Bezier triangle into two Bezier triangles, only addition and division by 2, and not arithmetic of floating point numbers, are necessary. This means that smooth Bezier triangles can be recursively approximated by a collection of regular triangles by dividing the triangles by two until the triangles formed are sufficiently small.
Below is a method for calculating new control points for half the initial Bezier triangle with angle α 3 , the second angle at half the Bezier curve between α 3 and β 3 and the third angle γ 3 .
-
- Similarly, using only addition and division by two,
| |||||||||||||||
| |||||||||||||||
|
- where: = means replacing the vector on the left with the vector on the right.
- Note that halving a Bezier triangle is similar to halving a Bezier curve of any order to the order of a Bezier triangle.
Notes
- ↑ 1 2 Farin, Gerald (2002), Curves and surfaces for computer-aided geometric design (5 ed.), Academic Press Science & Technology Books, ISBN 978-1-55860-737-8
- ↑ 3D Surface Rendering in Postscript , < http://www.math.ubc.ca/~cass/courses/m308-03b/projects-03b/drader/main.htm >
Links
- Quadratic Bézier Triangles As Drawing Primitives Contains more info on planar and quadratic Bézier triangles.
- Paper about the use of cubic Bézier patches in raytracing (German)
- Curved PN triangles (a special kind of cubic Bézier triangles)
- Pixel-Shader-Based Curved Triangles