How do I map a trapezoid onto another trapezoid?

449 Views Asked by At

How can I map a trapezoid onto another one with flipped axes. Assuming I know the coordinates of all the points (except $(x\prime,y\prime)$) how can I find $(x\prime,y\prime)$?

The drawing isn't to scale, its just to get my idea across.

transformation

2

There are 2 best solutions below

0
On

Create your transformation in the following steps:

  1. $R$ - rotate the trapezoid $ABCD$ so it becomes oriented the same way as the other one.
  2. $S$ - scale the rotated trapezoid so it becomes the same size as the other one.
  3. $T$ - translate the scaled trapezoid so it coincides with the other one.

Your map then is $f(x) = T(S(R(x)))$ and if you did it correctly, the 4 vertices will map out exactly. Then find your image with the same map.

2
On

If you extend $AB$ and $CD$ until they meet at a point $P$, and do the same for the primed vertices to get a point $P'$, are the angles at $P$ and $P'$ known to be the same? If so, then @gt6989b's solution will work OK. If not, then there's a theorem that says that for any two quadruples of points in the plane, there's a projective transformation taking one to the other.

And if you just want a MAP from one to the other, and don't care whether it's linear, projective, etc., then doing something like a bilinear map is probably your best bet. Finding a bilinear map or projective map between two quadrilaterals is pretty well described in multiple places on the web, so I'm not gonna repeat it here.