Rotation: Difference between revisions

From Rigid Geometric Algebra
Jump to navigation Jump to search
No edit summary
Line 9: Line 9:
== Calculation ==
== Calculation ==


The exact rotation calculations for points, lines, and planes are shown in the following table.
The exact rotation calculations for points, lines, and planes are shown in the following table, where $$\mathbf v = (R_{vx}, R_{vy}, R_{vz})$$ and $$\mathbf m = (R_{mx}, R_{my}, R_{mz})$$.


{| class="wikitable"
{| class="wikitable"
Line 17: Line 17:


$$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3 + p_w \mathbf e_4$$
$$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3 + p_w \mathbf e_4$$
| style="padding: 12px;" | $$\begin{split}\mathbf R \mathbin{\unicode{x27C7}} \mathbf p \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{R}}} =\, &\left[(1 - 2R_{vy}^2 - 2R_{vz}^2)p_x + 2(R_{vx}R_{vy} - R_{vz}R_{vw})p_y + 2(R_{vz}R_{vx} + R_{vy}R_{vw})p_z + 2(R_{vy}R_{mz} - R_{vz}R_{my} + R_{vw}R_{mx})p_w\right]\mathbf e_1 \\ +\, &\left[(1 - 2R_{vz}^2 - 2R_{vx}^2)p_y + 2(R_{vy}R_{vz} - R_{vx}R_{vw})p_z + 2(R_{vx}R_{vy} + R_{vz}R_{vw})p_x + 2(R_{vz}R_{mx} - R_{vx}R_{mz} + R_{vw}R_{my})p_w\right]\mathbf e_2 \\ +\, &\left[(1 - 2R_{vx}^2 - 2R_{vy}^2)p_z + 2(R_{vz}R_{vx} - R_{vy}R_{vw})p_x + 2(R_{vy}R_{vz} + R_{vx}R_{vw})p_y + 2(R_{vx}R_{my} - R_{vy}R_{mx} + R_{vw}R_{mz})p_w\right]\mathbf e_3 \\ +\, &p_w\mathbf e_4\end{split}$$
| style="padding: 12px;" | $$\mathbf a = \mathbf v \times \mathbf p_{xyz} + p_w\mathbf m$$
 
$$\mathbf p'_{xyz} = \mathbf p_{xyz} + 2(R_{vw}\mathbf a + \mathbf v \times \mathbf a)$$
 
$$p'_w = p_w$$
|-
|-
| style="padding: 12px;" | [[Line]]
| style="padding: 12px;" | [[Line]]


$$\begin{split}\boldsymbol l =\, &l_{vx} \mathbf e_{41} + l_{vy} \mathbf e_{42} + l_{vz} \mathbf e_{43} \\ +\, &l_{mx} \mathbf e_{23} + l_{my} \mathbf e_{31} + l_{mz} \mathbf e_{12}\end{split}$$
$$\begin{split}\boldsymbol l =\, &l_{vx} \mathbf e_{41} + l_{vy} \mathbf e_{42} + l_{vz} \mathbf e_{43} \\ +\, &l_{mx} \mathbf e_{23} + l_{my} \mathbf e_{31} + l_{mz} \mathbf e_{12}\end{split}$$
| style="padding: 12px;" | $$\begin{split}\mathbf R \mathbin{\unicode{x27C7}} \boldsymbol l \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{R}}} =\, &\left[(1 - 2R_{vy}^2 - 2R_{vz}^2)l_{vx} + 2(R_{vx}R_{vy} - R_{vz}R_{vw})l_{vy} + 2(R_{vz}R_{vx} + R_{vy}R_{vw})l_{vz}\right]\mathbf e_{41} \\ +\, &\left[(1 - 2R_{vz}^2 - 2R_{vx}^2)l_{vy} + 2(R_{vy}R_{vz} - R_{vx}R_{vw})l_{vz} + 2(R_{vx}R_{vy} + R_{vz}R_{vw})l_{vx}\right]\mathbf e_{42} \\ +\, &\left[(1 - 2R_{vx}^2 - 2R_{vy}^2)l_{vz} + 2(R_{vz}R_{vx} - R_{vy}R_{vw})l_{vx} + 2(R_{vy}R_{vz} + R_{vx}R_{vw})l_{vy}\right]\mathbf e_{43} \\ +\, &\left[-4(R_{vy}R_{my} + R_{vz}R_{mz})l_{vx} + 2(R_{vy}R_{mx} + R_{vx}R_{my} - R_{vw}R_{mz})l_{vy} + 2(R_{vz}R_{mx} + R_{vx}R_{mz} + R_{vw}R_{my})l_{vz} + (1 - 2R_{vy}^2 - 2R_{vz}^2)l_{mx} + 2(R_{vx}R_{vy} - R_{vz}R_{vw})l_{my} + 2(R_{vz}R_{vx} + R_{vy}R_{vw})l_{mz}\right]\mathbf e_{23} \\ +\, &\left[-4(R_{vz}R_{mz} + R_{vx}R_{mx})l_{vy} + 2(R_{vz}R_{my} + R_{vy}R_{mz} - R_{vw}R_{mx})l_{vz} + 2(R_{vx}R_{my} + R_{vy}R_{mx} + R_{vw}R_{mz})l_{vx} + (1 - 2R_{vz}^2 - 2R_{vx}^2)l_{my} + 2(R_{vy}R_{vz} - R_{vx}R_{vw})l_{mz} + 2(R_{vx}R_{vy} + R_{vz}R_{vw})l_{mx}\right]\mathbf e_{31} \\ +\, &\left[-4(R_{vx}R_{mx} + R_{vy}R_{my})l_{vz} + 2(R_{vx}R_{mz} + R_{vz}R_{mx} - R_{vw}R_{my})l_{vx} + 2(R_{vy}R_{mz} + R_{vz}R_{my} + R_{vw}R_{mx})l_{vy} + (1 - 2R_{vx}^2 - 2R_{vy}^2)l_{mz} + 2(R_{vz}R_{vx} - R_{vy}R_{vw})l_{mx} + 2(R_{vy}R_{vz} + R_{vx}R_{vw})l_{my}\right]\mathbf e_{12}\end{split}$$
| style="padding: 12px;" | $$\mathbf a = \mathbf v \times \boldsymbol l_{\mathbf v}$$
 
$$\mathbf b = \mathbf v \times \boldsymbol l_{\mathbf m}$$
 
$$\mathbf c = \mathbf m \times \boldsymbol l_{\mathbf v}$$
 
$$\boldsymbol l'_{\mathbf v} = \boldsymbol l_{\mathbf v} + 2(R_{vw}\mathbf a + \mathbf v \times \mathbf a)$$
 
$$\boldsymbol l'_{\mathbf m} = \boldsymbol l_{\mathbf m} + 2(R_{vw}(\mathbf b + \mathbf c) + \mathbf v \times (\mathbf b + \mathbf c) + \mathbf m \times \mathbf a)$$
|-
|-
| style="padding: 12px;" | [[Plane]]
| style="padding: 12px;" | [[Plane]]


$$\mathbf g = g_x \mathbf e_{423} + g_y \mathbf e_{431} + g_z \mathbf e_{412} + g_w \mathbf e_{321}$$
$$\mathbf g = g_x \mathbf e_{423} + g_y \mathbf e_{431} + g_z \mathbf e_{412} + g_w \mathbf e_{321}$$
| style="padding: 12px;" | $$\begin{split}\mathbf R \mathbin{\unicode{x27C7}} \mathbf g \mathbin{\unicode{x27C7}} \smash{\mathbf{\underset{\Large\unicode{x7E}}{R}}} =\, &\left[(1 - 2R_{vy}^2 - 2R_{vz}^2)g_x + 2(R_{vx}R_{vy} - R_{vz}R_{vw})g_y + 2(R_{vz}R_{vx} + R_{vy}R_{vw})g_z\right]\mathbf e_{423} \\ +\, &\left[(1 - 2R_{vz}^2 - 2R_{vx}^2)g_y + 2(R_{vy}R_{vz} - R_{vx}R_{vw})g_z + 2(R_{vx}R_{vy} + R_{vz}R_{vw})g_x\right]\mathbf e_{431} \\ +\, &\left[(1 - 2R_{vx}^2 - 2R_{vy}^2)g_z + 2(R_{vz}R_{vx} - R_{vy}R_{vw})g_x + 2(R_{vy}R_{vz} + R_{vx}R_{vw})g_y\right]\mathbf e_{412} \\ +\, &\left[2(R_{vy}R_{mz} - R_{vz}R_{my} - R_{vw}R_{mx})g_x + 2(R_{vz}R_{mx} - R_{vx}R_{mz} - R_{vw}R_{my})g_y + 2(R_{vx}R_{my} - R_{vy}R_{mx} - R_{vw}R_{mz})g_z + g_w\right]\mathbf e_{321}\end{split}$$
| style="padding: 12px;" | $$\mathbf a = \mathbf v \times \mathbf g_{xyz}$$
 
$$\mathbf g'_{xyz} = \mathbf g_{xyz} + 2(R_{vw}\mathbf a + \mathbf v \times \mathbf a)$$
 
$$g'_w = g_w + 2[(\mathbf m \times \mathbf g_{xyz}) \cdot \mathbf v - R_{vw}(\mathbf m \cdot \mathbf g_{xyz})]$$
|}
|}



Revision as of 05:16, 8 April 2024

A rotation is a proper isometry of Euclidean space.

For a unitized line $$\boldsymbol l$$, the specific kind of motor

$$\mathbf R = \boldsymbol l\sin\phi + {\large\unicode{x1d7d9}}\cos\phi$$ ,

performs a rotation by twice the angle $$\phi$$ about the line $$\boldsymbol l$$ with the sandwich product $$\mathbf R \mathbin{\unicode{x27C7}} \mathbf x \mathbin{\unicode{x27C7}} \mathbf{\underset{\Large\unicode{x7E}}{R}}$$. The operator $$\mathbf R$$ differs from a general motor only in that it is always the case that $$R_{mw} = 0$$. The line $$\boldsymbol l$$ and its weight dual $$\boldsymbol l^\unicode["segoe ui symbol"]{x2606}$$ are invariant under this operation. The line $$\boldsymbol l^\unicode["segoe ui symbol"]{x2606}$$ lies in the horizon in directions perpendicular to the direction of $$\boldsymbol l$$.

Calculation

The exact rotation calculations for points, lines, and planes are shown in the following table, where $$\mathbf v = (R_{vx}, R_{vy}, R_{vz})$$ and $$\mathbf m = (R_{mx}, R_{my}, R_{mz})$$.

Type Transformation
Point

$$\mathbf p = p_x \mathbf e_1 + p_y \mathbf e_2 + p_z \mathbf e_3 + p_w \mathbf e_4$$

$$\mathbf a = \mathbf v \times \mathbf p_{xyz} + p_w\mathbf m$$

$$\mathbf p'_{xyz} = \mathbf p_{xyz} + 2(R_{vw}\mathbf a + \mathbf v \times \mathbf a)$$

$$p'_w = p_w$$

Line

$$\begin{split}\boldsymbol l =\, &l_{vx} \mathbf e_{41} + l_{vy} \mathbf e_{42} + l_{vz} \mathbf e_{43} \\ +\, &l_{mx} \mathbf e_{23} + l_{my} \mathbf e_{31} + l_{mz} \mathbf e_{12}\end{split}$$

$$\mathbf a = \mathbf v \times \boldsymbol l_{\mathbf v}$$

$$\mathbf b = \mathbf v \times \boldsymbol l_{\mathbf m}$$

$$\mathbf c = \mathbf m \times \boldsymbol l_{\mathbf v}$$

$$\boldsymbol l'_{\mathbf v} = \boldsymbol l_{\mathbf v} + 2(R_{vw}\mathbf a + \mathbf v \times \mathbf a)$$

$$\boldsymbol l'_{\mathbf m} = \boldsymbol l_{\mathbf m} + 2(R_{vw}(\mathbf b + \mathbf c) + \mathbf v \times (\mathbf b + \mathbf c) + \mathbf m \times \mathbf a)$$

Plane

$$\mathbf g = g_x \mathbf e_{423} + g_y \mathbf e_{431} + g_z \mathbf e_{412} + g_w \mathbf e_{321}$$

$$\mathbf a = \mathbf v \times \mathbf g_{xyz}$$

$$\mathbf g'_{xyz} = \mathbf g_{xyz} + 2(R_{vw}\mathbf a + \mathbf v \times \mathbf a)$$

$$g'_w = g_w + 2[(\mathbf m \times \mathbf g_{xyz}) \cdot \mathbf v - R_{vw}(\mathbf m \cdot \mathbf g_{xyz})]$$

See Also