0

The objective is to construct a rotation matrix defining a Cartesian frame B with respect to frame A. We only know one axis of B. In more details I know the Z-axis of B. Thus, the objective is to get X and Y axes such that the rotation matrix is $^AR_B= (X~ Y ~Z)$.

If we assume the orientation around Z is not constrained, how to get X and Y? One solution would be to solve $X^TZ=0$ and $\|X\|=1$ which leads to a circular solution. But is there not a straight forward manner to get X and Y?

Courier
  • 133
  • 1
    Is Gram-Schmidt straightforward enough? – David K Jul 28 '17 at 11:25
  • @DavidK More details pls? – Courier Jul 28 '17 at 11:27
  • Do you know Euler angles? It will help you to visualize better. Take a look at this link. By two rotations you can make the $Z$ axes of two frames to coincide. A third rotation can be done so that the $X$ and $Y$ axes coincide. – Hosein Rahnama Jul 28 '17 at 11:35
  • Thanks a lot! In fact I can directly use cross product. I just take any vector $V$ different from Z. Then set $X=Z\times V/norm$. Then $Y=Z \times X$, which solves my problem. – Courier Jul 28 '17 at 11:43
  • See https://math.stackexchange.com/questions/1909536/basis-to-hyperplane, https://math.stackexchange.com/questions/710103/algorithm-to-find-an-orthogonal-basis-orthogonal-to-a-given-vector/712030#712030, and many other related questions. Yours is essentially a duplicate of them. – amd Jul 28 '17 at 21:45

0 Answers0