@@ -17,9 +17,23 @@ compose_rotation(R1, R2, R3, R4...)
1717in which ` R1 ` , ` R2 ` , ` R3 ` , ..., must be of the same type. This method returns the following
1818rotation:
1919
20+ ``` text
21+ First rotation
22+ |
23+ |
24+ R1 => R2 => R3 => R4 => ...
25+ |
26+ |
27+ Second rotation
28+ ```
29+
30+ Hence, ` compose_rotation(R1, R2) ` means the rotation ` R1 ` is applied first, followed by
31+ ` R2 ` .
32+
2033![ Composing rotations] ( ../assets/Fig_Composing_Rotations.png )
2134
22- Currently, this method supports DCMs, Euler angle and axis, Euler angles, and Quaternions.
35+ Currently, this method supports DCMs, Euler angle and axis, Euler angles, Quaternions,
36+ Classical Rodrigues Parameters (CRP), and Modified Rodrigues Parameters (MRP).
2337
2438``` @repl composing_rotations
2539D1 = angle_to_dcm(0.5, 0.5, 0.5, :XYZ)
@@ -45,6 +59,18 @@ q1 = angle_to_quat(0.5, 0.5, 0.5, :XYZ)
4559q2 = angle_to_quat(-0.5, -0.5, -0.5, :ZYX)
4660
4761compose_rotation(q1, q2)
62+
63+ c1 = angle_to_crp(0.2, 0.1, -0.1, :ZYX)
64+
65+ c2 = angle_to_crp(-0.1, 0.1, 0.2, :XYZ)
66+
67+ compose_rotation(c1, c2)
68+
69+ m1 = angle_to_mrp(0.2, 0.1, -0.1, :ZYX)
70+
71+ m2 = angle_to_mrp(-0.1, 0.1, 0.2, :XYZ)
72+
73+ compose_rotation(m1, m2)
4874```
4975
5076## Operator ∘
0 commit comments