Ron Goldman, in, 2003 7.6.3.1 Conversion to Piecewise Bezier FormBezier curves are special types of B-spline segments. In Chapter 5 we developed fast algorithms for analyzing Bezier segments, including simple procedures for rendering and intersecting Bezier curves.
![]()
Bezier curve. Bezier curves are used in computer graphics to draw shapes, for CSS animation and in many other places.
One of the simplest ways to analyze B-spline curves is to convert them to piecewise Bezier form and then to perform the analysis on the Bezier segments, using the Bezier algorithms we have already developed. We shall also see that this approach leads to a straightforward proof of the variation diminishing property for B-spline curves.
We can apply knot insertion to convert from B-spline to piecewise Bezier form. Consider a cubic B-spline segment P( t) defined over a knot sequence t 1, t 6. Relative to this knot sequence, we are interested only in the segment of P( t) for which t 3 ≤ t ≤ t 4, and we want to convert from this B-spline representation of P( t) to a Bezier representation of P( t). For the interval t 3 ≤ t ≤ t 4, the Bezier knots are simply t 3, t 3, t 3, t 4, t 4, t 4. By Equation (7.3) the control points of P( t) can be computed by evaluating the blossom of P( t) at consecutive knots. Thus we have ▪B-spline control points.
THEOREM 7.4B-spline curves are variation diminishing.Proof The de Boor algorithm is a corner-cutting procedure (see Figure 7.3). Since knot insertion is the blossomed version of the de Boor algorithm, knot insertion is also a corner-cutting procedure. Therefore, the piecewise Bezier control polygon is variation diminishing with respect to the original B-spline control polygon. But by Corollary 5.4 each Bezier segment is variation diminishing with respect to its Bezier control polygon. Hence the entire B-spline curve must be variation diminishing with respect to the original B-spline control polygon. (3.3) c n ( t ) = ∑ i = 0 n B i n ( t ) b i, B i n ( t ); = ( n i ) t i ( 1 − t ) n − i.Here, b i represent the points B i, and the homogeneous coordinate vectors b i are chosen such that b i + b i+1 represents the frame point F i.
The parameter interval for the chosen segment is 0, 1, in particular we have c n(0) = b 0, c n(1) = b n, c n(0.5)ℝ = F. Also just by intersecting osculating spaces, the so-called blossom can be defined and its properties may be seen as special cases of results on normal curves (see chapter 4).A projective map in P n is defined if we know how it acts on the points of a simplex (say B 0, B n) and a further point F which is in general position with respect to the points B i.
Thus, representation (3.3) also reveals the remarkable property that any two normal curves, in fact, even any two segments of normal curves in P n are projectively equivalent. This “standard” curve segment has no singularities, inflections, or other degeneracies in the sequence of osculating spaces. (7.1) p 0 p 1 ⋮ p n = B 0 n ( t 0 ) B 1 n ( t 0 ) B 2 n ( t 0 ) ⋯ B n n ( t 0 ) B 0 n ( t 1 ) B 1 n ( t 1 ) B 2 n ( t 1 ) ⋯ B n n ( t 1 ) ⋮ ⋮ ⋮ ⋮ B 0 n ( t n ) B 1 n ( t n ) B 2 n ( t n ) ⋯ B n n ( t n ) b 0 b 1 ⋮ b n ,or p = B b. The matrix B is called the generalized Vandermonde of the interpolation problem. One can show that the determinant of B is nonzero, and therefore a unique solution to the interpolation problem exists.
The direct approach results in two or three (depending on the dimensionality of the data points) linear systems with the same coefficient matrix, therefore it is best to construct the LU decomposition of B.Instead of using the Bernstein basis, one could choose any basis. The monomials, 1, t, t 2, t n, have been the historical favorite (see Davis 7); in this case, the matrix B is simply called the Vandermonde. Ron Goldman, in, 2003 8.7.4 The Boundaries of a Toric Bezier PatchThe boundaries of a toric Bezier patch are the Bezier curves determined by their boundary control points. This result holds provided only that the constant coefficients c ij for the barycentric coordinate functions corresponding to lattice points along the boundary of the Newton polygon of the lattice polygon are properly chosen.
We are going to prove this assertion shortly below. Thus, unlike general pyramid patches, in toric Bezier patches we maintain control over the boundary of the patch. This control is one of the main advantages of toric Bezier patches over arbitrary pyramid patches. Exercises1.Show that the boundaries of a rational toric Bezier patch are the rational Bezier curves determined by the mass-points along their boundaries.
2.Consider a boundary of a toric Bezier patch.a.Show that along a patch boundary, the pyramid algorithm reduces to the triangular computation along the lateral face of the pyramid whose base consists of the corresponding boundary control points. B.Explain how this triangular computation is related to the de Casteljau algorithm for a Bezier curve with the same control points. Circle and HyperbolaThe x-resultant of these two implicit equations is 144 y 4 − 360 y 3 + 269 y 2 − 60 y whose roots are y = 0, y = 4/3, y = 3/4, and y = 5/12. These are the y-coordinates of the points of intersection of the two curves.We can use the y-resultant to find the x-coordinates of the points of intersection. The y-resultant is 144 x 4 − 48 x 3 − 461 x 2 + 40 x + 325 which has roots x = 1, x = 5/3, x = −5/4, and x = −13/12.We now know the x and y components of the points of intersection, but we don′t know which x goes with which y!
One way to determine that is simply to evaluate each curve equation with every x and every y to see which ( x, y) pairs satisfy both curve equations simultaneously. A more clever way is to use Euclid's algorithm which computes the GCD of two polynomials. In fact, Euclid's algorithm spares us the trouble of computing both the x-resultant and the y-resultant.Suppose we had only computed the y-resultant and we wanted to find the y-coordinate of the point of intersection whose x-coordinate is 5/3. That is to say, we want to find a point ( 5 3, y) which satisfies both curve equations. We substitute x = 5/3 into the circle equation to get 16/6 - y 2 = 0 and into the hyperbola equation to get 6 y 2 − 15y + 28/3 = 0. We now simply want to find a value of y which satisfies both of these equations. Euclid's algorithm tells us that the GCD of these two is 3 y − 4 = 0, and thus one point of intersection is ( 5 3, 4 3).
18 t 4 − 459 t 3 + 991 t 2 + 1031 t − 437 = 0.We now compute the roots of this degree four polynomial, which are 23, 1/3, 19/6 and − 1. These are the parametric values on the second curve for the intersection points. From the parametric equation of the second curve, the corresponding ( x, y) coordinates can be easily found: (5/3, 4/3), (−1, 0), (−5/4, 3/4), (5/3, −4/3).
The parametric values on the first curve for the intersection points can be found from the inversion formulas s = y/(1 − x) and s = -(1 + x)/ y. They are −2, 0, 1/3 and 2, respectively.Tests indicate that this implicitization-based intersection algorithm is several times faster than subdivision methods for quadratic and cubic curves, but subdivision methods are faster for curves of degree five and greater 38. Ron Goldman, in, 2003 6.3 Change of Basis AlgorithmsBlossoming is a powerful machine for deriving change of basis formulas. Theorem 6.1 is sometimes called the dual functional property of the blossom because it shows how to use the blossom to compute the Bezier control points of any polynomial curve. Indeed, just as the divided difference evaluated at the nodes provides the dual functionals for the Newton basis (see Section 4.2), the blossom evaluated at the end points of the parameter domain represents the dual basis for the Bernstein basis. Applying Theorem 6.1, we can convert any polynomial curve to Bezier form by blossoming the curve and evaluating the blossom at the end points of the parameter domain.
Here we shall show how to apply blossoming to derive three important results from Chapter 5: subdivision, degree elevation, and conversion from monomial to Bezier form. Let's try degree elevation. Here we are given the control points for a Bezier curve of degree n, and we must find the control points that represent the same curve as a Bezier curve of degree n + 1. Let P( t) be a Bezier curve of degree n over the interval 0, 1 with control points P 0, P n, and let Q 0, Q n+1 be the control points that represent P( t) over the interval 0, 1 as a Bezier curve of degree n + 1. If p n denotes the blossom of P as a polynomial of degree n and p n+1 denotes the blossom of P as a polynomial of degree n + 1, then by the dual functional property. P j = ∑ k = 0 j ( k j ) Q k,which is exactly the change of basis formula derived in Section 5.5.1.The derivations of these three change of basis algorithms—subdivision, degree elevation, and conversion from monomial to Bezier form—are very slick.
In Chapter 5 we had to invent a new trick every time we wanted to convert from some new basis to Bezier form. We applied probability theory (urn models) to derive subdivision, algebraic identities to achieve degree elevation, and generating functions to convert from monomial to Bezier form. Here there is only one trick: blossoming. Thus blossoming simplifies and unifies the analysis of Bezier curves.
It is a very clever idea. F ( 0, 0 ︸ n − k, 1, 1 ︸ k ) = F ( t ), ( − 1 ) k ( n k ) B n − k n ( t ) n, 5.Blossoming polynomial identities yields identities for the blossom.
A.What are the blossom identities corresponding to the identities in Exercises 1–3? B.What formula for the blossom do you get when you blossom Taylor's Theorem? 6.Let P k n ( t ) = ( t - t k ) n Π j ≠ k ( t j - t k ), k = 0, n, and let P ( t ) = ∑ k = 0 n P k n ( t ) P k.Using the result of Section 6.2, Exercise 2, show that. P k = p ( a, a ︸ n − k, b, b ︸ k ) k = 0, n.a.Show that P ( t ) = ( t, t ︸ n ). B.Conclude that in the axioms for the blossom the diagonal property can be replaced by the dual functional property. C.In the axioms for the divided difference (see Section 4.4), which axiom corresponds to the diagonal property?
What is the corresponding dual functional property? 8.Let b j n ( u 1, u n ) denote the blossom of the Bernstein basis function B j n ( t ) over the interval 0,1.
In computer graphics, we often need to draw different types of objects onto the screen. Objects are not flat all the time and we need to draw curves many times to draw an object.
Types of Curves
A curve is an infinitely large set of points. Each point has two neighbors except endpoints. Curves can be broadly classified into three categories − explicit, implicit, and parametric curves.
Implicit Curves
Implicit curve representations define the set of points on a curve by employing a procedure that can test to see if a point in on the curve. Usually, an implicit curve is defined by an implicit function of the form −
f(x, y) = 0
It can represent multivalued curves (multiple y values for an x value). A common example is the circle, whose implicit representation is
x2 + y2 - R2 = 0
Explicit Curves
A mathematical function y = f(x) can be plotted as a curve. Such a function is the explicit representation of the curve. The explicit representation is not general, since it cannot represent vertical lines and is also single-valued. For each value of x, only a single value of y is normally computed by the function.
Parametric Curves
Curves having parametric form are called parametric curves. The explicit and implicit curve representations can be used only when the function is known. In practice the parametric curves are used. A two-dimensional parametric curve has the following form −
P(t) = f(t), g(t) or P(t) = x(t), y(t)
The functions f and g become the (x, y) coordinates of any point on the curve, and the points are obtained when the parameter t is varied over a certain interval [a, b], normally [0, 1].
Bezier Curves
Bezier curve is discovered by the French engineer Pierre Bézier. These curves can be generated under the control of other points. Approximate tangents by using control points are used to generate curve. The Bezier curve can be represented mathematically as −
$$sum_{k=0}^{n} P_{i}{B_{i}^{n}}(t)$$
Where $p_{i}$ is the set of points and ${B_{i}^{n}}(t)$ represents the Bernstein polynomials which are given by −
$${B_{i}^{n}}(t) = binom{n}{i} (1 - t)^{n-i}t^{i}$$
Where n is the polynomial degree, i is the index, and t is the variable.
The simplest Bézier curve is the straight line from the point $P_{0}$ to $P_{1}$. A quadratic Bezier curve is determined by three control points. A cubic Bezier curve is determined by four control points.
Properties of Bezier Curves
Bezier curves have the following properties −
B-Spline Curves
The Bezier-curve produced by the Bernstein basis function has limited flexibility.
The B-spline basis contains the Bernstein basis as the special case. The B-spline basis is non-global.
A B-spline curve is defined as a linear combination of control points Pi and B-spline basis function $N_{i,}$ k (t) given by
$C(t) = sum_{i=0}^{n}P_{i}N_{i,k}(t),$ $ngeq k-1,$$t: epsilon : [ tk-1,tn+1 ]$
Where,
$${t_{i}:i = 0, ... n + K}$$
The Ni, k functions are described as follows −
$$N_{i,1}(t) = left{begin{matrix} 1,& if :u : epsilon : [t_{i,}t_{i+1}) 0,& Otherwiseend{matrix}right.$$
and if k > 1,
$$N_{i,k}(t) = frac{t-t_{i}}{t_{i+k-1}} N_{i,k-1}(t) + frac{t_{i+k}-t}{t_{i+k} - t_{i+1}} N_{i+1,k-1}(t)$$
and
$$t : epsilon : [t_{k-1},t_{n+1})$$
Properties of B-spline Curve![]()
B-spline curves have the following properties −
![]() Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
March 2023
Categories |