Advanced Graphics, Dr Neil Dodgson, University of Cambridge Computer Laboratory
Part II course, 2000

# 4A) Generative models

## Sweeps

These are three dimensional objects generated by sweeping a two dimensional shape along a path in 3D. Two special cases of the sweep are surfaces of revolution, where the path is a circle; and extrusions, where the path is a straight line.

Surfaces of revolution are covered in R&A section 6-2. Sweeps are covered in R&A section 6-3 and FvDFH section 12.4.

### Extrusion

On the left (above) is an example extrusion. On the right is its generating polygon (the red star), with the generated 3D object shown in semi-transparent cyan.

### Surface of revolution

On the left (above) is an example surface of revolution. On the right (above) is its generating quadrilateral (the red polygon), with the generated 3D object shown in semi-transparent cyan. Below that is another view of the same surface of revolution.

### Revolution or extrusion?

Some objects can be generated in more than one way. The hollow cylinder shown above (left) could be generated as either a surface of revolution (above right) or as an extrusion (immediately right).

## General sweeps

If we push the idea of a sweep to its limit we can think of many things which could be modified to produce a three dimensional swept shape:
• Cross section
Some two dimensional shape that is to be swept along the sweep path. It does not have to be circular. At right are two swept objects, one with a circular cross-section, one with a polygonal cross-section.
• Sweep path
The path along which the two dimensional cross section is swept to produce the three dimensional shape. It may be any curve. At right we see two views of the same swept object: a polygonal cross-section is swept along a convoluted path.
• Twist
How the cross section twists (rotates) as it moves along the sweep path. The default would be to have no twist at all. At right is a swept object with and without some twist.
• Scale

How the cross section scales (changes size) as it moves along the sweep path. The default would be to have it stay the same size along the whole path. Above are a cylinder, and the same cylinder with different scales along its length.
• Normal vector direction
The normal vector of the 2D cross section will usually point along the sweep path at each point. Changing this will change the nature of the swept object. See R&A Figure 6-17 for an example.
At right is a swept object with a circular cross-section, semi-circular path, and varying scale.

You may be able to think of parameters, other than those in the list above, which could be modify.

 Exercises [1998/7/12] Show how the following object can be represented as a swept object. Use the following different methods of specifying a geometrical model for this picture (assuming it's a three dimensional model and not a line drawing). Come as close as you can to the original for any of the methods, and describe the difficulties in using a particular method for this model. Extrusions Surfaces of revolution General sweeps For each of the following categories list five real-world objects which could be represented by the primitives in the category. The ray-tracing primitives in Part 2A Extrusions Surfaces of revolution General sweeps A flume (water tunnel) at a swimming complex is modeled as a circle swept along a particular path. The designers also want to model the volume swept out by a person traveling down the flume. (We can approximate the cross-section of a person with something roughly elliptical and we'll assume the `virtual' person doesn't move legs or arms while hurtling along.) Explain which parameters in the list would be need to be modified to specify the shape of the flume and which would need to be modified to model the volume swept out by a person traveling down the flume (alternatively, specify which parameters would be held constant, in each case, for the entire length of the sweep).

Neil Dodgson | Advanced Graphics | Computer Laboratory

Source file: p4a.html
Page last updated on Thu Sep 14 16:58:06 BST 2000