CAGD-banner.gif
On-Line Geometric Modeling Notes
POINTS AND VECTORS


The fundamental 3-dimensional space objects that form the basis for all operations in computer graphics are the point and the vector (sometimes called a free vector). These objects are often confused when studying the field and frequently students are taught that points and vectors are ``essentially'' the same. However, they are very different. Namely,

pdficonsmall.gif For a pdf version of these notes look here.


Geometrically, we draw points as dots and vectors as line segments with arrows. We will generally draw vectors by attaching them to a specific point, but it should be emphasized that any vector is positionless. We will denote points by capitalized bold letters such as $ {\bf P} $ and $ {\bf Q} $, and will denote vectors as lower case letters with an arrow above such as $ {\vec{v} } $ and $ {\vec{w} } $.


In computer graphics we utilize an affine space. This space is made up of a set of points $ {\cal P} $ and a vector space $ {\cal V} $. The points and vectors of this space are related in a fixed, but simple manner by the following axioms. We illustrate the axioms by utilizing the affine space of 2-dimensional points and vectors. In this example we represent points componentwise by utilizing parenthesis (e.g. $ (x,y,z)$) and vectors by utilizing brackets (e.g. $ <u,v,w>$).

Relating Points and Vectors

Several axioms exist that relate the points and vectors in an affine space. In general, the points are thought to play the primary role in the space, while the vectors are utilized to move about in the space from point to point. The general axioms are as follows.


From the three axioms, we can deduce that affine spaces have the following properties.

We note that these axioms show that points and vectors are two different entities. In particular, vectors can be added, but points cannot. Vectors can also be scaled, while points cannot. Many people look at points as playing the primary role in the geometry, while the role of vectors is to allow movement from point to point.

Affine Combinations of Points

There are operations on points which are fundamental to the nature of the computer graphics field. These operations are the affine combinations which arise from the following operation:

Let $ {\bf P} _1$ and $ {\bf P} _2$ be points in our affine space. Consider the expression

$\displaystyle {\bf P} \: = \: {\bf P} _1 + t ( {\bf P} _2 - {\bf P} _1 )
$

This equation is meaningful, as $ {\bf P} _2 - {\bf P} _1$ is a vector, and thus so is $ t ( {\bf P} _2 - {\bf P} _1 )$. Therefore $ {\bf P} $ is the sum of a point and a vector which is a valid operation. This point $ {\bf P} $ represents, in the affine space of two-dimensional points and vectors, a point on the line that passes through $ {\bf P} _1$ and $ {\bf P} _2$.

\includegraphics {figures/equation-of-a-line}

We note that if $ 0 \leq t \leq 1$ then $ {\bf P} $ is somewhere on the line segment joining $ {\bf P} _1$ and $ {\bf P} _2$.

This expression allows us to define a basic operation on points. We utilize the following notation

$\displaystyle {\bf P} = (1-t) {\bf P} _1 + t {\bf P} _2
$

to mean that $ {\bf P} $ is the point defined by

$\displaystyle {\bf P} \: = \: {\bf P} _1 + t ( {\bf P} _2 - {\bf P} _1 )
$

We can then define an affine combination of two points $ {\bf P} _1$ and $ {\bf P} _2$ to be

$\displaystyle {\bf P} \: = \: \alpha_1 {\bf P} _1 + \alpha_2 {\bf P} _2
$

where $ \alpha_1 + \alpha_2 = 1$. The form $ {\bf P} = (1-t) {\bf P} _1 + t
{\bf P} _2$ is shown to be an affine transformation by setting $ \alpha_2 =
t$.


We can generalize this to define an affine combination of an arbitrary number of points. If $ {\bf P} _1, {\bf P} _2, ..., {\bf P} _n$ are points and $ \alpha_1, \alpha_2, ..., \alpha_n$ are scalars such that $ \alpha_1+\alpha_2+\cdots+\alpha_n=1$, then

$\displaystyle \alpha_1 {\bf P} _1 +
\alpha_2 {\bf P} _2 +
\cdots +
\alpha_n {\bf P} _n
$

is defined to be the point

$\displaystyle {\bf P} _1 + \alpha_2 ( {\bf P} _2 - {\bf P} _1 ) + \cdots + \alpha_n ( {\bf P} _n - {\bf P} _1)
$


To construct an excellent example of an affine combination consider three points $ {\bf P} _1$, $ {\bf P} _2$ and $ {\bf P} _3$. A point $ {\bf P} $ defined by

$\displaystyle {\bf P} \: = \: \alpha_1 {\bf P} _1 + \alpha_2 {\bf P} _2 + \alpha_3 {\bf P} _3
$

where $ \alpha_1 + \alpha_2 + \alpha_3 = 1$, gives a point in the triangle $ \triangle {\bf P} _1 {\bf P} _2 {\bf P} _3$. We note that the definition of affine combination defines this point to be

$\displaystyle {\bf P} \: = \: {\bf P} _1 + \alpha_2 ( {\bf P} _2 - {\bf P} _1 ) + \alpha_3 ( {\bf P} _3 - {\bf P} _1)
$

The following illustration shows the point $ {\bf P} $ generated when $ \alpha_1 = \alpha_2 = \frac{1}{4}$ and $ \alpha_3 = \frac{1}{2}$.

\includegraphics {figures/affine-triangle}

In fact, it can be easily shown that if $ 0 \leq \alpha1,\alpha2,\alpha3 \leq 1$ then the point $ {\bf P} $ will be within (or on the boundary) of the triangle. If any $ \alpha_i$ is less than zero or greater than one, then the point will lie outside the triangle. If any $ \alpha_i$ is zero, then the point will lie on the boundary of the triangle.


\begin{singlespace}
\noindent
\footnotesize\bfseries All contents copyright (c) ...
...ment, University of California, Davis \\
All rights reserved.
\end{singlespace}


Ken Joy
2000-11-28