MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: cross product

On Tuesday, July 9, 2002, at 06:50  AM, Umby wrote:

> Hi group,
> how can I achieve the CrossProduct of two 4*1 vectors (in homogeneous
> coordinate)?
> For instance: CrossProduct[{a,b,c,1},{d,e,f,1}]
> Thanks in advance
> Umby

You don't want to do that. Homogeneous coordinates represent points 
(little dots) not vectors  (little arrows). Homogeneous coordinates do 
not obey the algebraic/geometric laws that vectors do. So what is it 
that you really want to do?

The cross product is usually used to find a direction perpendicular to a 
piece of a plane. In the homogeneous context directions are handled by 
ideal points--points of the form {a,b,c,0}. Suppose that you have a 
piece of a surface and you want a perpendicular direction. To have a 
piece of a surface you must have at least 3 points: a triangle say.

Now, to keep from confusing myself, I am going to change notation. When 
writing homogeneous coordinates I will put the "extra" coordinate 
first--{1,a,b,c} instead of {a,b,c,1}. Directions are given by 
coordinates of the form {0,a,b,c}.

Let the 3-by-4 matrix M have the homogeneous coordinate vectors of the 
three points of your triangle for rows. Suppose that Minors[M,3] is 
{{a,b,c,d}}. A direction perpendicular to your triangle is {0,c,-b,a}.

Given the directions of some light sources you could now use this 
direction to compute a color for your triangle.

1. The homogeneous coordinates of the points need not begin with 1.
2. The list {a,b,c,d} gives the coordinates of the trivector 
representing the plane.
3. The computation uses only integer arithmetic.

Garry Helzer
Department of  Mathematics
University of Maryland
1303 Math Bldg
College Park, MD 20742-4015

  • Prev by Date: Re: Weird error which shouldn't be an error
  • Next by Date: Re: Sovling integrals: non-algebraic???
  • Previous by thread: Re: cross product
  • Next by thread: downloading notebooks