Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a collection of 3D points in the standard $x$, $y$, $z$ vector space. Now I pick one of the points $p$ as a new origin and two other points $a$ and $b$ such that $a - p$ and $b - p$ form two vectors of a new vector space. The third vector of the space I will call $x$ and calculate that as the cross product of the first two vectors.

Now I would like to recast or reevaluate each of the points in my collection in terms of the new vector space. How do I do that?

(Also, if 'recasting' not the right term here, please correct me.)

share|cite|improve this question
Are you sure you are intending x's magnitude to always be the result of the cross product, or only its direction? – Justin L. Jul 20 '10 at 23:47
Enjoy your three identical answers... – BBischof Jul 21 '10 at 5:52
up vote 3 down vote accepted

You are changing your basis vectors, call your new ones $i$, $j$, and $k$ where $i$ is defined from $a-p$, $j$ from $b-p$, and $k$ the cross product. Now recall that your basis vectors should be unit, so take the length of your three vectors and divide the vectors by their length, making $i$, $j$, and $k$ unit. Now $a = d(a,p)*i$, $b = d(b,p)*j$.

share|cite|improve this answer

What you are describing is an Affine Transformation, which is a linear transformation followed by a translation.

We know this because any straight lines in your original vector space is also going to be a straight line in your transformed vector space.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.