Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2.1] 3D Imaging, Analysis and Applications-Springer-Verlag London (2012).pdf
Скачиваний:
12
Добавлен:
11.12.2021
Размер:
12.61 Mб
Скачать

4 Representing, Storing and Visualizing 3D Data

147

strength is the sum of the field strengths due to each control structure. Distances to line segments and planes is usually taken as the distance to the closest point on the structure. A single point yields a sphere whose radius is determined by the chosen contour value. Where there are more than one control point, the fields interact and the resulting isosurface bulges between points. Approaches along these lines are known variously as metaballs, blobbies and soft objects. Rendering isosurfaces for display is not straightforward. The most common approach is to convert to a polygonal model [7]. Alternatives include raytracing the surface [21], which involves computing ray-surface intersections, as described above, or using point sampling and point-based rendering. An implicit surface representation that is commonly used for the interpolation of ‘missing parts’ of surfaces is the Radial Basis Function [11].

4.2.2.6 Parametric Surface

A parametric surface [14] is one which is defined by parametric equations with two parameters, as follows:

x = fx (u, v),

y = fy (u, v),

z = fz(u, v).

For example, the radius r sphere example given above can be described in terms of spherical coordinate parameters:

x = r sin θ cos α,

y = r sin θ sin α,

z = r cos θ .

A surface in such a form is easy to evaluate and, if the parametric equations are differentiable, it is straightforward to calculate differential properties of the surface. The problem is that it is very difficult to describe anything other than fairly simple shapes using an algebraic parametric description. For this reason, complex shapes are composed from piecewise parametric surfaces. These parametric patches are blended together to obtain the overall surface and each patch is defined in terms of a set of control points over the unit square. To evaluate a parametric patch at a point, the tensor product of parametric curves defined by the control points is computed. This is achieved by combining control points with polynomial blending functions. Most commonly, these are bicubic:

f (u, v) = UMPMT VT

(4.5)

148

W.A.P. Smith

Fig. 4.3 A Bézier surface patch. Control points are shown in red, the control grid in blue and the interpolated surface in black

where U = [u3 u2 u 1] and V = [v3 v2 v 1] and

 

P1,1

P1,2

P1,3

P1,4

 

 

P

P2,1

P2,2

P2,3

P2,4

 

,

(4.6)

 

= P3,1

P3,2

P3,3

P3,4

 

 

 

 

 

 

 

 

 

 

 

 

P4,1

P4,2

P4,3

P4,4

 

 

 

are the function values of the control points (for a bicubic patch, these are specified by a 4 × 4 grid sampling). The matrix M describes a blending function for a parametric cubic curve. Two common examples include B-spline:

 

 

1

1

1

1

 

 

 

 

 

 

6

2

2

6

 

 

M

 

1

1

1

0

 

(4.7)

 

2

 

2

 

 

,

 

B-Spline =

 

1

 

 

1

 

 

 

 

 

 

 

2

0

2

0

 

 

 

 

 

 

1

2

1

 

 

 

 

 

 

 

 

6

3

6

0

 

 

 

 

 

 

 

 

 

 

and Bézier:

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

 

3

1

 

 

 

MBezier

3

6

3

0

.

 

(4.8)

 

 

3

3

 

0

0

 

 

 

 

 

=

 

 

 

 

 

 

 

 

1

0

 

0

0

 

 

 

Bézier patches have some useful properties. The patch will lie completely within the convex hull of its control points and the Bézier surface will pass through the control points at the corner of the patch. It does not generally pass through the other control points. They are visually intuitive and popular in interactive editing applications for this reason. An example of a Bézier patch is shown in Fig. 4.3. To achieve C0 continuity between adjacent patches, the boundary control points (and

4 Representing, Storing and Visualizing 3D Data

149

Fig. 4.4 An example

NURBS surface patch

hence boundary curve) must be aligned. C1 continuity is achieved by aligning the boundary curve and derivatives. This requires that four sets of three control points must be collinear.

An extremely useful generalization of B-splines and Bézier surfaces are Nonuniform Rational B-Splines (NURBS) [53, 56]. An example of a NURBS surface patch is given in Fig. 4.4. The distribution of control points in a NURBS surface may be non-uniform. They are invariant to affine and perspective transformations, which means that such transformations can be applied to the control points to obtain the same surface as applying the transformation to the surface computed from the original control points. A NURBS surface is defined by its order, a weighted set of control points and a knot vector. A point on a NURBS surface is given by a weighted sum of a number of control points (usually only a small subset) determined by a polynomial blending function. The parameter space is divided up into intervals and a control point only influences certain intervals. This results in the desirable property of local support, which means one part of the surface can be adjusted without influencing others. The knot vector is a sequence of parameter values, which determine how and where a control point affects the NURBS surface. The order of a NURBS surface determines the number of nearby control points, which influence a point on the surface. The NURBS surface is a unifying representation that offers a single mathematical form for both standard analytical shapes (e.g. conics) and free-form surfaces.

4.2.2.7 Comparison of Surface Representations

The best choice of surface representation is application dependent. Table 4.1 summarizes some of the broad strengths and weaknesses of the surface representations discussed above. Generally speaking, polygonal meshes are the most widely used representation and the standard rendering pipeline, such as OpenGL, is optimized for their use. Subdivision surfaces are popular in animation and interactive editing applications. Parametric surfaces are widely used in CAD, as are implicit surfaces, which also find use in mathematical or scientific applications.