# quat2rod

Convert quaternion to Euler-Rodrigues vector

## Syntax

``rod=quat2rod(quat)``

## Description

````rod=quat2rod(quat)` function calculates the Euler-Rodrigues vector, `rod`, for a given quaternion `quat`. The quaternion input and resulting Euler-Rodrigues vector represent a right-hand passive transformation from frame A to frame B.Aerospace Toolbox uses quaternions that are defined using the scalar-first convention. This function normalizes all quaternion inputs.```

example

## Examples

collapse all

This example shows how to determine the Euler-Rodrigues vector from the quaternion.

`q = [-0.7071 0 0.7071 0]`
```q = 1×4 -0.7071 0 0.7071 0 ```
`r = quat2rod( q )`
```r = 1×3 0 -1.0000 0 ```

## Input Arguments

collapse all

M-by-4 array of quaternions. `quat` has its scalar number as the first column.

Data Types: `double`

## Output Arguments

collapse all

M-by-3 matrix containing M Euler-Rodrigues vectors.

## Algorithms

An Euler-Rodrigues vector $\stackrel{⇀}{b}$ represents a rotation by integrating a direction cosine of a rotation axis with the tangent of half the rotation angle as follows:

`$\stackrel{\to }{b}=\left[\begin{array}{ccc}{b}_{x}& {b}_{y}& {b}_{z}\end{array}\right]$`

where:

`$\begin{array}{l}{b}_{x}=\mathrm{tan}\left(\frac{1}{2}\theta \right){s}_{x},\\ {b}_{y}=\mathrm{tan}\left(\frac{1}{2}\theta \right){s}_{y},\\ {b}_{z}=\mathrm{tan}\left(\frac{1}{2}\theta \right){s}_{z}\end{array}$`

are the Rodrigues parameters. Vector $\stackrel{⇀}{s}$ represents a unit vector around which the rotation is performed. Due to the tangent, the rotation vector is indeterminate when the rotation angle equals ±pi radians or ±180 deg. Values can be negative or positive.

## References

[1] Dai, J.S. "Euler-Rodrigues formula variations, quaternion conjugation and intrinsic connections." Mechanism and Machine Theory, 92, 144-152. Elsevier, 2015.

## Version History

Introduced in R2017a