There are just a few basic ideas that are used over and over again in computer graphics. Here are the ones I find most important for a basic course.
The inner, or dot, or scalar product of two vectors is a number.
It can represent a length or the scaled cosine of the angle between two
vectors. We've mostly interested in vectors of length three (3) or four (4).
We'll write inner products of vectors
and
as
Matrices can be thought of as collections of vectors.
Most of our matrices will be
and used to transforms points from
one coordinate systems to another. We'll write matrices as
The cross product of two three dimensional vectors is another vector:
The cross product vector is perpendicular to the other two vectors.
Let
and
be two three dimensional vectors.
Their cross product is
Lines are extremely important in computer graphics.
The parametric representation is perhaps the most useful form.
If
and
are two points the line defined by them is:
Polygons are simply figures enclosed by contiguous line segments that connect points or vertices or corners of the polygon. A triangle is the most simple polygon, squares and rectangles are also simple. Polygons can become complex. We'll need to make some restrictions on what types of polygons we'll allow in a graphics systems later.
Homogeneous coordinates are formed appending and extra coordinate with value
1. For example,
``Things close by in time or space are frequently similar.''This concept applies in many areas of computer science, certainly not just in graphics.
Incremental algorithms follow from noticing coherent patterns.
They are distinguished by the use of one (or more) old values to
generate a new value.
For example, if you know
is a point on a line y=mx+band x' is incremented by 1, then we can compute a new y by
simply adding the slope m, that is
Linear interpoations is basis for many incremental algorithms.
When a value y changes via a linear formula: y=mx+b,
a change in x by an amount
,
results in a new value
of y that is produced by adding increment
to y.
An algorithmic concept that says: ``serve the greatest good.'' Usually, this is interpreted as ``make the common case fast.''