Answer the question
In order to leave comments, you need to log in
How to find the transition matrix by vectors?
Let the vector v1 = [10, 10, 1, 1] be given in the basis e1.
The vector v1 is multiplied by the transition matrix View
. The result of the multiplication is the vector v1" = [ 9.63 9.61 1.96 1. ]
Is it possible to find the transition matrix View knowing the coordinates of the vectors v1, v1 "... vn, vn"?
The final task is to find the angles of rotation and translation of the basis e1 given the coordinates of the vectors in two bases.
Ps. if possible with an explanation or a reference to the theory.
Answer the question
In order to leave comments, you need to log in
Of course it is possible if among v1, v2 ... there are at least 4 linearly independent vectors.
If you write View*v1 = v1", then you will get a system of linear equations, 4 equations and 16 unknowns (unknowns are the elements of the View matrix).
Further, we add equations to these equations for 4 more equations View*v2 = v2". You will get a system with 8 equations and 16 unknowns.
Etc.
In the end, doing this with all vi, vi", you get 4 * n equations and 16 unknowns.
Judging by the name View, you work in terms of computer graphics, when vectors are rows and are multiplied by a matrix on the left: v1' = v1*View.
Take 4 linearly independent vectors v1,v2,v3,v4, make up a matrix M from them, in which they are written row by row. From the corresponding vectors v1',v2',v3',v4' construct the matrix M'. Then M' = M*View (this is pretty obvious - just remember how matrices are multiplied). Hence, View = Inverse(M)*M' (multiply the previous formula by Inverse(M) on the left).
If there are more than 4 pairs, and the correspondences are only approximate, then the situation is more complicated - you will have to call the least squares method for help. If there are any restrictions on the View matrix, then you will also have to tinker with it (because the matrix calculated from the first 4 vectors can be, for example,
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question