The Various Coordinate Systems:
This is valid in some form for all rendering environments.
Master Space, Model Space, Symbol Space:
Used to define hand-designed or procedurally-generated (master) objects
or "symbols".
There may be a hierachy of such model spaces,
but at the lowest level (at the "leaves"), the geometry is "flat"
(non-hiererchical).
World Space, Scene Space:
Used to composite the overall scene.
Hierarchy of (instantiated,
transformed) groups and objects.
(Watch out in what sequence the transformations are applied !)
Rendering Space, Eye Space, Camera Space:
Defines from where we want to view the scene, and what lies outside the
viewing angle.
We form a new coordinate system with its origin in the eye (or in the
camera lens),
and with its z-axis in the looking direction; we also form an "up"
direction for the display.
The projection screen (retina,
film) is perpendicular to that
direction,
and lies at some distance;
it contains a rectangle (the "window")
that defines what part of the
overall scene will be rendered.
From the eye we do a point projection
( perspective projection )onto
the screen;
alternatively, we can do a parallel
projection from the direction of
the eye.
In either case, we may clip away stuff that is too close or too far
away.
Image Space:
This is the 2D space of the projection
screen.
Often the scene hierarchy has been lost; it is now just a flat set of
lines,
polygons,
etc.
The drawing primitives may have been (re-)arranged into (display)
segments;
these may be grouped for similar treatment (color, transparency,
visibility,
spatial location).
This set may then be clipped by the "window" (rectangular area in the
projection
plane).
Normalized Device Coordinates:
Fit everything into a unit square for easy manipulation and mapping
onto the screen
or into rectangular viewports (= `window' to the laymen) on the screen.
This is achieved through a simple coordinate transformation of all
elements inside the "window."
This gives us device independence
!
Screen Space:
Pixels or x,y addresses of the actual display device.
Dots, lines, filled areas, etc ... are expressed typically in integers
> 0.
Y-axis may be upside down (counting pixel rows downward).
Much more on all this in the next couple of weeks ...
CSG
and Boolean set operations:
Sausage = bent cylinder plus spherical end-caps.
Show 2D composite.
[Ch 9.10.1]
B-rep
and winged-edge data structure:
Tessallate surface; describe polygons via vertices, edges.
[Ch 4.2]
Procedural modeling:
Use a program to generate the sausage: Sweep a circle through space
along a curve.
Start small for front-cap, keep constant through main part of sausage,
taper down to zero for end cap.
("Procedural Generation of Parameterized Parts" preferable to:
"Primitive
Instancing" )
[Ch 11.1]
Instantiation
Hierarchy:
Ways to build complicated scenes in an organized manner.
This is a general principle that can combine parts made with
any of the above methods.
Reuse such parts several time by making (possibly transformed) copies
of them.
[Ch 9.2]
(more on that later)
Skim: 2ndEd: Ch 4, Ch 8, Ch 11.1,
Skim: 3rdEd: Ch 4, Ch 9, Ch 11.1,