in reply to (OT) moving points from one plane to another

So you have 3 points on the first plane, (x1, y1, z1), (x2, y2, z2) and (x3, y3, z3). They map to 3 other points (s1, t1, u1), (s2, t2, u2) and (s3, t3, u3). You'd like to figure out the transformation to map the rest of the first plane onto the second plane.

The simplest solution is to realize that for any point in the first plane, there must exist a and b such that the point can be written as (x1 + a*(x2-x1) + b*(x3-x1), y1 + a*(y2-y1) + b*(y3-y1), z1 + a*(z2-z1) + b*(z3-z1)). The affine transformation that takes the first plane to the second will map that point to (s1 + a*(s2-s1) + b*(s3-s1), t1 + a*(t2-t1) + b*(t3-t1), u1 + a*(u2-u1) + b*(u3-u1)).

Now given any point in the first plane, all you have to do is solve for a and b, then you've got your answer.

(Please note that the direction that BrowserUk pointed you in usually gives the wrong answers, and can't even be tried if the planes are parallel.)

  • Comment on Re: (OT) moving points from one plane to another

Replies are listed 'Best First'.
Re^2: (OT) moving points from one plane to another
by merrymonk (Hermit) on Jul 10, 2009 at 11:49 UTC
    I am not sure where I should add this since there are a number of threads.
    Therefore I have added this to the end.
    I have now implemented the general approach suggested by BrowserUK.
    I have checked the result by
    1. making sure that the rotated points do lie on the second plane
    2. checking the distances between corresponding pairs of points on both planes.
    Both checks work out fine.
    So until I read the additional comments about this question I thought that the problme was solved! (I did appreciate that there is a failure condition for parallel planes but this special case is easy to deal with.)
    My next task is to look at some of the situations mentioned and see what happens to my current solution.
      Your biggest sanity check should be that the 3 points you started with should wind up in the specified target location. If that is not true then you've merely found a mapping of one plane onto the other, but not the desired one.