Game Development Reference

In-Depth Information

makers use models based on skew surfaces, which are later triangulated in order to

simplify the rendering calculations. Triangulation, a complicated problem addressed

in section 14.4, is necessarily a compromise between the precision of the triangulated

model, the time required for rendering and the time taken for the triangulation.

These days, the model makers favour NURBS surfaces for modelling objects.

For example, CATIA for CAD and also 3DS Max for computer graphics. With

file formats dedicated to virtual reality (for example, VRML), it is also possible to

directly incorporate NURBS surfaces, even though they are triangulated for real time

visualisation.

14.3.3 Nurbs surfaces

Most of the attributes of NURBS surfaces are described in the explanation of the

initials:

•

NU:
NURBS surfaces are non-uniform;

•

R:
The equations describing them are rational;

•

BS:
These are Bezier splines.

In short, theNURBS are rational parametric surfaces constructed using two param-

eters
u
and
v
, a set of control points, a sequence of knots and the weight assigned to

each of these control points. They make it possible to represent the surfaces used in

CAD with greater precision, and also to consider different types of continuity between

surfaces of the same object. The NURBS surfaces are generalisations of non-rational

B-splines which result from rational Bezier curves. We can further add that these are

the generalisations of Bezier curves.

Let's start from the very beginning: A Bezier curve of degree
n
is a
C
(
u
) parametric

curve defined by:

n

C(
u
)

=

B
i
,
n
(
u
)
P
i

0

≤

u

≤

1

(14.1)

i

=

0

The
P
i
are called the control points of the curve. The basic
B
i
,
n
functions are the

standard Bernstein polynomials of degree
n
defined by:

n

!

u
i
(1

u
)
n
−
i

B
i
,
n
(
u
)

=

−

(14.2)

i

!

(
n

−

i
)

!

The Bezier curves are very useful in a two-dimensional interactive design; you can see

them in all Windows applications, for example. Typically, we use a 3 degree curve

(which then has four control points) like shown in figure 14.11. Unfortunately, the

Bezier curves cannot be used for representing conic sections. A conic section (for exam-

ple a circle) can be represented using a rational function (quotient of two polynomials),

i.e. in dimension 3:

X
(
u
)

W
(
u
)

Y
(
u
)

W
(
u
)

Z
(
u
)

W
(
u
)

x
(
u
)

=

y
(
u
)

=

z
(
u
)

=

(14.3)

Search Nedrilad ::

Custom Search