CS-460/560, Week 11-B
Spring, 1998
R. Eckert
OVERVIEW OF 3-D COMPUTER GRAPHICS
3-D GRAPHICS: Displaying images of a real or imagined 3-D scene on a 2-D
screen.
Problem # 1: MODELING--
Representing objects in 3-D space (making a model).
First need to represent points ==> use of a 3-D coordinate system:
Cartesian: (x,y,z)
Spherical: rho--distance from origin
theta--aximuthal angle
phi--polar angle
Conversion: x = rho * sin(phi) * cos(theta)
y = rho * sin(phi) * sin(theta)
z = rho * cos(phi)
Types of 3-D models--
1. Boundary Representation (B-Rep)--surface descriptions. Two common
ones:
A. Polygonal. Object surfaces approximated by a mesh of planar
polygons.
Scene -->
Objects -->
Polygons -->
Vertices (points)
B. Bicubic parametric surface patches. Objects represented exactly by
nets of elements called surface patches. These are polynomials in
two parametric variables--usually cubic (e.g., Bezier surface
patches, B-Spline surface patches).
2. Solid Representation--solid modeling. Objects represented exactly by
combinations of elementary solid objects such as spheres, cylinders,
boxes, etc. These are called geometric primitives.
Constructive Solid Geometry (CSG)--Complex objects are built up by
combining geometric primitives using boolean set operations (union,
intersection, difference) and linear transformations. The object is
stored as a tree--the leaves contain primitives; nodes store set
operators or transformations.
Problem # 2--RENDERING--
Displaying a view of the model.
A. Projection--Going from 3-D to 2-D. Every world coordinate point in
the scene (xw,yw,zw) maps to a point on the device viewing screen
(xv,yv). Projection rays from each point in the scene which pass
through the projection plane (viewing screen) and which terminate on a
point called the "center of projection" are constructed. The intersection
point of projection ray with the projection plane is the projection
point (xv,yv). Two basic types of projection:
1. Parallel projection--The center of projection is at infinity.
Therefore the projection rays are parallel. Equal-size objects
at different distances from the screen have the same size on the
screen. Parallel lines in the scene project to parallel lines on the
screen. Useful in CAD.
2. Perspective projection--The center of projection is at a finite
distance from the screen. An object farther away from the screen
has a smaller projection on the screen than an equal-sized object
closer to the screen (i.e., farther objects appear to be smaller)-->
realistic images. Parallel lines in the scene do not necessarily
project to parallel lines on the screen.
B. Hidden surface removal--
Surfaces facing away from the viewer are invisible to him, and
should not be displayed (backface culling).
Surfaces blocked by objects closer to the viewer are invisible and
should not be displayed.
C. Shading--Projections of surfaces should be colored (shaded) with a
color that depends on the intensity of the light reflected from the
surface into the eyes of the viewer. Need an illumination/reflection
model that takes into account the material properties of surfaces and
how light interacts with them.
D. Other effects--e.g., shadows, transparency, multiple reflections,
atmospheric absorption, etc.
THE VIEWING PIPELINE--The chain of transformations and operations needed
to go from 3-D models of objects in a scene to an image of the scene on
the viewing screen.
1. Local coordinate space (3-D):
Individual object descriptions given
|
| Modeling Transformations
|
v
2. World coordinate space (3-D):
Scene is composed
Objects, lights positioned
|
| 3-D Viewing Transformation
|
v
3. Viewing coodinate space (3-D):
Eye/camera coordinate system
|
| 3-D clipping
| Backface culling
|
v
4. 3-D viewing volume:
Eye/camera coordinate system
|
| Projection Transformation
|
v
5. 2-D projection plane description:
2-D World coordinate system window
|
| 2-D Viewing Transformation (window to viewport)
| 2-D clipping
| Hidden surface removal
| Shading
| Other effects
|
v
6. 2-D Device coordinate space:
2-D Viewport coordinate system window