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,

For a postscript 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 tex2html_wrap_inline218 and tex2html_wrap_inline220, and will denote vectors as lower case letters with an arrow above such as tex2html_wrap_inline222 and tex2html_wrap_inline224.


In computer graphics we utilize an affine space. This space is made up of a set of points tex2html_wrap_inline226 and a vector space tex2html_wrap_inline228. 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 tex2html_wrap_inline300 and tex2html_wrap_inline302 be points in our affine space. Consider the expression
displaymath61
This equation is meaningful, as tex2html_wrap_inline304 is a vector, and thus so is tex2html_wrap_inline306. Therefore tex2html_wrap_inline308 is the sum of a point and a vector which is a valid operation. This point tex2html_wrap_inline310 represents, in the affine space of two-dimensional points and vectors, a point on the line that passes through tex2html_wrap_inline312 and tex2html_wrap_inline314.

tex2html_wrap368

We note that if tex2html_wrap_inline316 then tex2html_wrap_inline318 is somewhere on the line segment joining tex2html_wrap_inline320 and tex2html_wrap_inline322.

This expression allows us to define a basic operation on points. We utilize the following notation
displaymath64
to mean that tex2html_wrap_inline324 is the point defined by
displaymath66
We can then define an affine combination of two points tex2html_wrap_inline326 and tex2html_wrap_inline328 to be
displaymath69
where tex2html_wrap_inline330. The form tex2html_wrap_inline332 is shown to be an affine transformation by setting tex2html_wrap_inline334.


We can generalize this to define an affine combination of an arbitrary number of points. If tex2html_wrap_inline336 are points and tex2html_wrap_inline338 are scalars such that tex2html_wrap_inline340, then
displaymath71
is defined to be the point
displaymath73


To construct an excellent example of an affine combination consider three points tex2html_wrap_inline342, tex2html_wrap_inline344 and tex2html_wrap_inline346. A point tex2html_wrap_inline348 defined by
displaymath75
where tex2html_wrap_inline350, gives a point in the triangle tex2html_wrap_inline352. We note that the definition of affine combination defines this point to be
displaymath77
The following illustration shows the point tex2html_wrap_inline354 generated when tex2html_wrap_inline356 and tex2html_wrap_inline358.

tex2html_wrap370

In fact, it can be easily shown that if tex2html_wrap_inline360 then the point tex2html_wrap_inline362 will be within (or on the boundary) of the triangle. If any tex2html_wrap_inline364 is less than zero or greater than one, then the point will lie outside the triangle. If any tex2html_wrap_inline366 is zero, then the point will lie on the boundary of the triangle.


This document maintained by Ken Joy

Comments to the Author

All contents copyright (c) 1996, 1997
Computer Science Department,
University of California, Davis
All rights reserved.



Ken Joy
Thu Jul 24 12:19:50 PDT 1997