problem with coordinate system

This topic is 367 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

I have two coordinate system LOCAL SYSTEM A and LOCAL SYSTEM B. OA and OB is the position about LOCAL SYSTEM A and LOCAL SYSTEM B respect to WORLD SYSTEM.

Let P0, P1 ,P2 are vertices about 2d triangle respect to LOCAL SYSTEM B. Let P0T, P1T, P2T the final vertex after apply a Rotation respect to LOCAL SYSTEM A. I would like find a trasformation respect to LOCAL SYSTEM B to move the local point P0, P1, P2 into P0T, P1T, P2T.

Let . the product operator between matrix and from matrix and vertex. Let MB the trasformation coordinate from LOCAL SYSTEM B to WORLD SYSTEM. MB.P0 give me the position about the vertex P0 respect to WORLD SYSTEM. Let MA the trasformation coordinate from LOCAL SYSTEM A to WORLD SYSTEM. I would like know the matrix MX where

MB.MX.P1=P1T MB.MX.P2=P2T MB.MX.P3=P3T

The matrix Mx express a trasformation in LOCAL SYSTEM B.

Share on other sites

I'm not quite sure whether I understand your problem correctly.

A) Generally one wants not to map particular vertices but the entire space. The common space, so to say, is the world space. So, using your matrix names, we have

MB . MX = MA   <==>.  MB^-1 . MB . MX = MB^-1 . MA.  <==>.  MX = MB^-1 . MA

or in words: from A to world and back to B. This makes sense only if MB is known and given.

B) If you really want to use particular vertices and all but MX is known, then you have up to 6 unknown values in MX (it's 2D, isn't it?) With 3 vertices you have 6 equations, so it can be solved in general, too. However, usually you have some constraints on MX, for example being a composition of translation, rotation, and perhaps scaling, which gives you just 5 unknowns in 2D if scaling is not uniform along both axes, and just 4 unknowns for uniform scaling, and just 3 without scaling. In such cases you need to think of how to consider this.

Share on other sites
MB.Mx=MA.T.Inverse[MA].MB where T is a composite tranformation and in my example is R
Mx=Inverse[MB].MA.T.Inverse[MA].MB

Inverse[MA].MB change coordinate from B to A
T apply transformation in A space.
MA convert the transform Points in space A in world position.
maybe work?

Share on other sites

Applying MA . T . MA^-1 . MB means that vertices given in coordinates in relation to space B are transformed by T that is given in space A, and the result is given in world coordinates (assuming column vector notation, as usual).

However, in the OP you ask for MX being the equivalent of T but within space B. Hence you need to resolve MB . MX = ..., so

MX = MB^-1 . MA . T . MA^-1 . MB

This step is not necessary if you want the vertices in world space anyway, of course.

1. 1
Rutin
40
2. 2
3. 3
4. 4
5. 5

• 18
• 19
• 12
• 14
• 9
• Forum Statistics

• Total Topics
633363
• Total Posts
3011510
• Who's Online (See full list)

There are no registered users currently online

×