1
\$\begingroup\$

I have got 2 Points in 3D Space whose TRS Matrix' from 0.0 to there current place is known. Now I want to change the Matrix of the left point so that the matrix of the right point combined with the new Matrix results in the point being at the same position as before. Here a short illustration that I hope helps a little. Sorry for the bad explanation

enter image description here

\$\endgroup\$
3
  • \$\begingroup\$ You want to derive a transformation matrix to move point B (right) to point A (left)? \$\endgroup\$
    – dot_Sp0T
    Dec 5, 2017 at 18:36
  • \$\begingroup\$ Bad explanations only hurt the Asker. Are you trying to find a displacement vector such that the current vector plus the unknown vector result in the old displacement vector? \$\endgroup\$
    – Stephan
    Dec 5, 2017 at 18:38
  • \$\begingroup\$ yes I need such a matrix and have to calculate it out of the two known ones. I need the Matrix tho not a vector, Rotation, translation and Scalar also have to be changed accordingly if there were any \$\endgroup\$
    – Zero9178
    Dec 5, 2017 at 18:50

2 Answers 2

2
\$\begingroup\$

The question hardly makes sense for points, since, if I'm not mistaken, there are infinitely many matrices that would fit.

If you mean 'objects' rather than 'points', then the answer simple:

You have

B × С = A

where A is the matrix of the left object, B is the matrix of the right object, and C is unknown.

                B × С = A  ↔ 
↔  inverse(B) × B × C = inverse(B) × A  ↔
↔                   C = inverse(B) × A

Thus you need to multiply the inverse matrix of the right object by the matrix of the left object.

\$\endgroup\$
1
\$\begingroup\$

Points have no orientation, only a position.

This means your question does not make sense. There is no "matrix" for a point. If there was a matrix, the point would be a local coordinate frame (three axes and an origin.)

To move a point from B to A, you add a translation vector (not apply a 4x4 matrix.)

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .