## Perfect curves: Bezier, part 3

Posted by: Roger King

There is a problem with embedding images in ITKE blogs (or at least I have been having problems), so please look at this posting on the website I maintain for my animation students at the University of Colorado in Boulder:

**Specifying Curves.**

In the previous two postings of this blog, we looked at the problem of unambiguously specifying a curve with a minimal amount of information using a technique credited to a French engineer named Bezier.

**Brute force curve specification.**

For a straight line, all we need are two points to uniquely define a line. For a curve, we cannot do this. But by specifying a begin and an endpoint for a curve, along with one or more “control” vertices (points in 2-space that are actually not on the curve but infer its shape) and also providing a polynomial to go with these control vertices, we can define a complete, smooth, unique curve. The other choice would be to specify every single point along the curve, at the granularity of whatever mechanism we are using to record or view the curve (such as a computer display).

**Bezier curves.**

So, we see that by using Bezier mathematics, it is far easier for an engineer to pass the geometry of a curve to whoever is going to build the car, or for a 3D animator to design the curve in the face of a human character that will be displayed on a screen.

**But what do we do with these curves in the real world?**

Look at the image below:

**Straight line 3D objects**.

We have three “wireframe” objects in the figure, all created with Autodesk Maya, the highly popular 3D modeling and animation application. The one on the left is a straight line model, a cube, which is easily specified by simply supplying the x, y, z coordinate of the cube in 3-space.

**Smooth curve 3D objects.**

The middle object is a sphere. It has been specified with curved lines, using a technique called NURBS, which is closely related to Bezier mathematics. If you look carefully, you can see that all of the lines in this model are curved.

Imagine how much data would have to be recorded and conveyed if we had to specify every point on every curved line. Now, looking back at the previous two postings of this blog, and using Bezier or NURBS curves to represent the curved lines that make up the sphere’s wireframe, we see that it would demand radically less data.

**Polygon 3D, curved objects.**

Now consider the wireframe on the right. This one consists entirely of straight lines and presents an alternative to either using the brute force technique of specifying every point on a curve or using Bezier/NURBS mathematics. The surface of the sphere is built entirely out of two dimensional polygons. But to make this sphere look smooth, we would need a lot of very small polygons.

**Two ways of building 3D objects.**

In fact, these are the two ways we use to specify 3D objects. NURBS/Bezier curves and what is called “polygon” modeling. We don’t use the brute force method.

And, we note that while Maya is used largely to build entertainment or informal models, other applications that are used to create precise engineering and scientific models use these two approaches for the most part.

**More next time.**