Curves and Surfaces (Advanced Methods in Computer Graphics) Part 6

Coons Patches

The interpolation methods discussed in the previous section use positions and derivatives defined at the control points as boundary conditions. A surface patch may be required to have curves with known equations along its four edges. Suppose four edge curves forming the boundary of a region are given by parametric functions C1(u), C2(u), D1(v), D2(v) as shown in Fig. 7.28. All four curves are defined over the same interval [0, 1].

At the corner points, the curves satisfy the conditions P00 = C1(0) = D1(0), P10 = C1(1) = D2(0), P01 = C2(0) = D1(1), and Pu = C2(1) = D2Ü). By linearly interpolating between corresponding points of C1(u) and C2(u) using the second parameter v, we get the following ruled surface:

tmpc2f9-525_thumb[2][2][2][2]_thumb

Similarly, interpolating between D1(v) and D2(v) using the parameter u, we get another ruled surface:

tmpc2f9-526_thumb[2][2][2][2]_thumb


Figure 7.29a shows four Bezier curves surrounding a region in three-dimensional space. The corresponding ruled surfaces generated by the two equations given above are shown in Fig. 7.29b, c. Each ruled surface follows the shape of the bounding curves along one parametric direction.

The bilinear Coons patch bounded by the four parametric curves is obtained by adding together the above two ruled surfaces and subtracting the surface obtained fromEq. 7.68:

tmpc2f9-527_thumb[2][2][2][2]_thumb

Figure 7.30 shows the surface patch produced by applying the above equation in the example given in Fig. 7.29.

A region for a surface patch specified using four bounding curves

Fig. 7.28 A region for a surface patch specified using four bounding curves

(a) A region specified by four bounding curves. (b) Ruled surface RC(u,v). (c) Ruled surface RD (u,v)

Fig. 7.29 (a) A region specified by four bounding curves. (b) Ruled surface RC(u,v). (c) Ruled surface RD (u,v)

Bilinear Coons patch corresponding to the set of curves in Fig. 7.29a

Fig. 7.30 Bilinear Coons patch corresponding to the set of curves in Fig. 7.29a

It can be easily verified that the surface patch P(u, v) satisfies the desired boundary conditions:

tmpc2f9-531_thumb[2][2][2][2]_thumb

Generally the derivatives along the parametric directions of bilinear Coons patches are not always continuous, and hence the surface patches do not join smoothly along a common edge curve. Bi-cubic interpolants are used to obtain first order geometric continuity along joining curves. A bi-cubic Coons patch is a smooth blending surface created by using Hermite polynomials (see Eq. 7.29) instead of linear interpolants:

tmpc2f9-532_thumb[2][2][2][2]_thumb

where,

tmpc2f9-533_thumb[2][2][2][2]_thumb

Bi-Cubic Bezier Patches

In this section, we consider the extension of cubic Bezier curve segments to Bezier surface patches. The general Bezier equation in Eq. 7.35 can be extended to a two-parameter surface equation as

tmpc2f9-534_thumb[2][2][2][2][2]

The two-dimensional array of points Pj, i = 1 …n C 1, j = 1… m C 1 forms a control polygonal surface. As a special case of the above, the bi-cubic Bezier patch is defined using a topologically quadrilateral arrangement of 16 control points Pj, i = 1 …4, j = 1 …4 (Fig. 7.31):

Setting m = n = 3 in Eq. 7.78, we get

tmpc2f9-535_thumb[2][2][2][2][2]

where,tmpc2f9-536_thumb[2][2][2][2][2]and

Itmpc2f9-537_thumb[2][2][2][2][2]

A bi-cubic Bezier patch has several desirable properties that makes it suitable for surface design applications (Fig. 7.32). From Eq. 7.78, it can be seen that P(0, 0) = P11, P(1, 0) = P41, P(0, 1) = P14, and P(1, 1) = P44. Thus, the four corner points of the control polygonal surface lie on the Bezier patch. It can also be observed that

tmpc2f9-540_thumb[2][2][2][2][2]

The above equation shows that P(u, 0) is a cubic Bezier curve formed using the control points P11, P21, P31 and P41. Similarly, we can prove that the remaining edge curves of the surface patch are also Bezier curves. In fact, for any constant c, both P(u, c) and P(c, v) are cubic Bezier curves.

 A control polygonal surface for a bi-cubic Bezier patch

Fig. 7.31 A control polygonal surface for a bi-cubic Bezier patch

A Bezier control polygonal surface and wireframe model of its cubic Bezier patch

Fig. 7.32 A Bezier control polygonal surface and wireframe model of its cubic Bezier patch

 (a) Polygonal elements along a common edge must be coplanar to ensure first-order continuity. (b) Control polygonal surfaces joined together to form a closed surface. (c) The resulting Bezier patches have first order continuity

Fig. 7.33 (a) Polygonal elements along a common edge must be coplanar to ensure first-order continuity. (b) Control polygonal surfaces joined together to form a closed surface. (c) The resulting Bezier patches have first order continuity

Since Eq. 7.78 defines a convex combination of the control points, the Bezier surface patch lies within the convex hull of the control points. Another important property useful in computer graphics is the affine invariance of Bezier patches. For any affine transformation given by a matrix T, the transformed Bezier surface can be obtained as

tmpc2f9-544_thumb[2][2][2][2][2]

which shows that the transformed patch can also be obtained by computing the Bezier surface of the transformed control points.

When several Bezier patches are joined together to form complex shapes, it becomes necessary to have at least first-order geometric continuity along the edges where two patches join. A sufficient condition for meeting this requirement is the co-planarity of polygonal elements of the corresponding control surfaces that share a common edge (Fig. 7.33a).

The surface of the Utah Teapot is specified using 32 control polygonal surfaces. A section of the main body consisting of four control surfaces is shown in Fig. 7.33b. The bold lines show the edges where the surfaces meet. The Bezier patches form a continuous surface as shown in Fig. 7.33c.

Summary

This topic has outlined some of the fundamental curve and surface generation techniques used in computer graphics. Polynomial interpolation curves of high orders do not provide the flexibility and shape control needed in many applications. Piecewise cubic curves provide a computationally simple solution where convex combinations of four control points are generated using a set of blending functions. When a set of piecewise curves are joined together, parametric continuity at the points where the curve segments meet becomes important. Tangential continuity is generally achieved by adding end-point constraints for the first order derivatives. Hermite curves, cardinal splines and cubic Bezier curves are all generated in this fashion. Piecewise curves with higher order continuity can be generated using B-splines. Rational Bezier curves and rational B-spline curves are constructed using the homogeneous coordinate representation of the control points.

This topic has also introduced important spline based surface design techniques using blending polynomials in two independent parameters. Bi-cubic surface patches can be seamlessly joined together to form complex three-dimensional shapes.

Next post:

Previous post: