Find mirror location based on its reflection matrix

291 Views Asked by At

I have the following transformation matrix TM which is a reflection matrix:

   -0.0047    0.6875   -0.7262   92.8015
    0.6816    0.5336    0.5007  -63.9021
   -0.7317    0.4926    0.4711   67.5851
         0         0         0    1.0000

I already extracted its normal by doing:

a = sqrt((1 - TM(1,1))/2);
b = sqrt((1 - TM(2,2))/2);
c = sqrt((1 - TM(3,3))/2);

Now my question is: how can i obtain the mirror location (X,Y,Z) in 3d space?

Using Matlab to solve TMx=x -> Ax=B:

TMI = TM - eye(4);
B = [0 0 0 0]';
point = linsolve(TMI,B);

This code results in:

point =
   NaN
   NaN
   NaN
   NaN

Regards

1

There are 1 best solutions below

0
On BEST ANSWER

Let $M$ be the transformation matrix of a mirror reflection. Let $v$ be the position vector of some point. (In this discussion I consider the position vector to be a $4\times1$ matrix with the Cartesian coordinats of the point in the first three rows and a $1$ in the last row.)

Now never mind the mechanical matrix formulas for a while, Geometrically, what does $M$ do to the position vector $v$?

The reflection takes a point to its mirror image on the other side of the mirror, equally far away. That is, the mirror is exactly halfway between $v$ and $Mv.$ Also, the plane of the mirror is orthogonal to the line between the point and its image, that is, the vector $Mv - v.$

So pick a point, reflect it, and see what you have. You might start by choosing the origin of your coordinate system.

However, your $M$ is not a perfect reflection. If it were perfect, $M^2$ would be the identity, but in fact $M^2$ (if you calculate it) has a slight rotation about an axis nearly parallel to the alleged orthogonal vector calculated above, and also includes a small translation. In addition, the determinant is slightly greater than $1$ so even "rotation and translation" does not quite capture the extra work done by $M.$

So perhaps you should take the images of several points to find an approximate location of where the mirror would be if the entries in your matrix had not been rounded off from their true values.