How to represent two coordinate system transformations as one

346 Views Asked by At

I'm working on a system of relative euclidean coordinate systems.

I'd like to define every coordinate system relative to a global coordinate system, which I'll refer to as [0]. Then, for example, another coordinate system [1] could be denoted by a translation ($x$, $y$, $z$) from the global origin to the local origin, and a set of rotations ($\phi$, $\chi$, $\psi$) about the original $x$-, $y$-, and $z$-axes to indicate the new orientation.

This all seems to make sense to me. My problem is taing a coordinate system [2] defined in terms of [1], and coming up with the translations and rotations that directly relate it back to the global coordinate system [0].

Let's say [2] is defined by the translations ($a$, $b$, $c$) and then the rotations ($\alpha$, $\beta$, $\gamma$), all relative to the origin of [1], NOT the global origin.

How can I use this information to get a set of translations and rotations that describe [2] in terms of [0]?

1

There are 1 best solutions below

1
On

You may use the translation matrix to map one coordinate system to another. for example, let's denote a vector in coordinate system [0] as $\vec v_{[0]}$, the vector mapped to coordinate system [1] can be expressed as $\vec v_{[1]} = T_{[0]} \vec v_{[0]}$, here $T_{[0]}$ is the $3 \times 3$ translation matrix.

For a vector in coordinate system [2]: $\vec v_{[2]} = T_{[1]} \vec v_{[1]} = T_{[1]} T_{[0]} \vec v_{[0]}$

So the translation matrix from [0] to [2] is $T_{[1]} T_{[0]}$