[comp.graphics] HELP with TEXTURE-MAPPING MTH

kskelm@happy.colorado.edu (05/02/91)

     I am currently writing a texture mapping program.  There is one
thing I am having a problem with:

     After computing the intersection of a ray with a plane (all objects
are rectangles), I have a point in 3-space, (X,Y,Z).  I also know the locations
of all vertices in the rectangle, and I currently generate a vector from the
first vertex to the first (our local X' axis) and a vector from the first
vertex to the third (our local Y' axis).

     My problem comes once I know the (X,Y,Z) coordinates of the point of
intersection; I want to find out how far along the X' axis and how far along
the Y' axis (relative to the first vertex) the point (A) in question is. 
Currently, I am using the vector formula

                  | X' (dot) A |
   ||proj X'|| =  --------------
         A           || A ||

  for the X' axis, and substitute Y' for X' for the Y' axis.

  P1----------------------> X'
   |\
   | \
   |  \
   |   o A = point in question
   V
  Y'

  This works for X' and Y' axes that coincide with the normal X and Y axes,
but when X' and Y' are rotated, results go to hell; the texture is reflected
along the angle BY which X' and Y' are rotated!
   
    Can anyone suggest a formula that is NOT position dependant????

  Please?
 
   Thanks for your help,

       Kevin Kelm.
+------------------------------------------------------------+
|      ///  Kevin "Visionary will be done RSN" Kelm          |
|     ///  kskelm@happy.colorado.edu                         |
| \\\/// "Reality is subjective-- if you can make your own,  |
|  \XX/ then who's crazy? That's entertainment software!"-me |
| C code run.  Run, code, run--PLEASE!                       |
+------------------------------------------------------------+