//Logo Image
Last updated: Yeh-Liang Hsu (2010-11-12).
Note: This is the course material for “ME550 Geometric modeling and computer graphics,” Yuan Ze University. Part of this material is adapted from CAD/CAM Theory and Practice, by Ibrahim Zeid, McGraw-Hill, 1991. This material is be used strictly for teaching and learning of this course.

Geometric properties of surfaces

1.    Bilinear Surface

A bilinear surface is derived by interpolating four data points, using linear equations in the parameters u and v so that the resulting surface has the four points at its corners, denoted P00, P10, P01, and P11, as shown in Figure 1.

Figure 1. A bilinear surface

Deriving the equation of a bilinear surface would be equivalent to finding the expression of the coordinates of an arbitrary point corresponding to the parameter values u and v. We assume that this point is obtained by dividing the line segment between P0v and P1v in the ratio u:(1-u). We also assume that P0v and P1v are the internal division points of the line segments P00P01 and P10P11 respectively, in the ratio v:(1-v). The point P(u, v) defined in this way will traverse the entire surface consistently with the increment of the parameter values u and v from 0 to 1. Based on these assumptions, P0v and P1v are

            P0v = (1-v)P00 + vP01                                                                              (1)

            P1v = (1-v)P10 + vP11                                                                               (2)

Similarly, P(u, v) is obtained from P0v and P1v as

            P(u, v) = (1-u)P0v + uP1v                                                                        (3)

Substituting Equation (1) and (2) into Equation (3) gives the following equation of a bilinear surface:

            P(u, v) = (1-u)[(1-v)P00 + vP01] + u[(1-v)P10 + vP11]

=[(1-u)(1-v)     u(1-v)      (1-u)v      uv][P00       P01   P10        P11]T       


We can verify that the four data points are at the corners of the bilinear surface by substituting the proper combination of 0 and 1 for u and v in Equation (4). Equation (4) also tells us that a bilinear surface is obtained by simply blending the effects of the corner points after they are weighted by the blending functions (1-u)(1-v), u(1-v), (1-u)v, uv. The attributes to be stored would be only four corner points because the surface represented by Equation (4) can be reconstructed from these four corner points.

Assignment 1

Define 4 corner points in 3D space. Write down the bilinear surface equation using Equation (4). Write a simple Matlab program to draw the surface. Use proper mesh and views to display the surface. Show your Matlab program too.

2.    Hermite Bicubic Surface

Because the blending functions are linear, the bilinear surface tends to be flat. Bicubic surfaces provide designers with better surface design tools when designing surfaces. The bicubic equation can be written as



where  and the coefficient matrix [C] is


Hermite Bicubic Surface is an extension of Hermite cubic spline. As shown in Figure 2, 16 boundary conditions are required to find the coefficients of the equation. They are the 4 corner data points, the 8 tangent vectors at the corner points (two at each point in the u and v directions), and the 4 twist vectors at the corner points.

Figure 2. A parametric surface patch with its boundary conditions

The twist vector at a point on a surface measures the twist in the surface at the point. It is the rate of change of the tangent vector  with respect to v or  with respect to u or it is the cross (mixed) derivative vector at the point.


The normal to a surface is another important analytical property. It is used to calculate cutter offsets for three-dimensional NC programming to machine surfaces, volume calculations, and shading of a surface model. The surface normal at a point is a vector which is perpendicular to both tangent vectors at the point (Figure 2); that is,


And the unit normal vector is given by


The Hermite bicubic surface can be written in terms of the 16 input vectors:  


where  is the Hermite matrix given by


and [B] is the geometry or boundary condition matrix:


Equation (11) can be further expressed as



The second order twist vectors  are difficult to define. The Ferguson surface (also called the F-surface patch) is a bicubic surface patch with zero twist vectors at the patch corners, as shown in Figure 3. Thus, the boundary matrix for the F-surface patch becomes

Figure 3. The F-surface patch


This special surface is useful in design and machining applications. The tangent vectors at the corner points can be approximated in terms of the corner positions using the direction and the length of chord lines joining the corner points. Hence, the designer does not have to input tangent vector information and the computations required to calculate the surface parameters are simplified. This is useful if tool paths are to be generated to mill the surface.

Assignment 2

Define 4 corner points in 3D space. Estimate the tangent vectors using the 4 corner points. Construct the boundary condition matrix [B] in Equation (13). Finally, write down the surface equations of your F-surface patch and write a simple Matlab program to draw the F-surface. Use proper mesh and view to display the surface. Show your Matlab program too.

3.    Geodesics

In general, two distinct points on a surface can be connected by many different paths, of different lengths, on the surface. The paths that have minimum lengths are analogous to a straight line connecting two points in euclidean space and are known as geodesics. Surface geodesics can, for example, provide optimized motion planning across a curved surface for numerical control machining, robot programming, and winding of coils around a rotor.

Assignment 3

Construct a sphere to represent the earth. Check out the latitudes and longitudes of Taipei, Tokyo, the North Pole, and San Francisco, and mark (approximately) the positions of the 4 cities on the earth. Check out the definition of a “great circle route”. Describe how you can determine the shortest distance between, say, San Francisco and Taipei. Draw the shortest path on the sphere.

The infinitesimal distance between two points (u, v) and (u+du, v+dv) on a surface is given by


Equation (17) is often called the first fundamental quadratic form of a surface and is written as




E, F, and G are the first fundamental, or metric, coefficients of the surface.

The distance between two points  and  shown in Figure 1, is obtained by integrating Equation (18) along a specified path  on the surface to give


where  and  The minimum S is the geodesic between the two points.

Figure 4. Surface geodesics.

4.    Curvatures

For a 2-D non-parametric curve y=f(x), the curvature k(x) (inverse of radius of curvature r(x)) can be expressed as below:


For small deflection (y'<<1), the curvature is approximated by


For a 2-D parametric curve , note that , and , Equation (21) can be transformed into


For a 2-D parametric curve represented in terms of its arc length s



but  and , thus we can obtain the simultaneous differential equations:



For a space curve of parametric representation , the curvature  at a point  on the curve is


where , .

Assignment 4

Use 4 control points to generate a Bezier curve in 2D space. Calculate the curvature at u=0.5 using both Equation (23) and Equation (27). Compare the results. Do the results make sense to you?

Referring to Figure 5, when we rotate the plane around the normal, the curvature varies and has a maximum and minimum value in two perpendicular directions. We call the extreme values the “principle normal curvatures” and denote them as  and .

Figure 5. Principle Curvature

The principle curvatures are the roots of the following equation:




 The Gaussian curvature at a point on the surface is defined as


The mean curvature is defined as


A “curvature map” in the u-v domain can be plotted for a surface to check the smoothness of the surface.

Assignment 5

Calculate the E, F, G in Equation (19) and L, M, N in Equation (29) on any given point of the bilinear surface generated in Assignment 1.

Assignment 6

For the bilinear surface you generated in Assignment 1, calculate the principle normal curvatures, Gaussian curvature, and mean curvature at u=0.5, v=0.5.