polar¶
Module: core
Category: mat3dvaluator
Type string: "polar"
Parameters¶
| Name | Description | Default | Units |
|---|---|---|---|
center |
center | {0,0,0} | [] |
axis |
axis | {0,0,1} | [] |
vector1 |
vector1 | {1,0,0} | [] |
vector2 |
vector2 | {1,0,0} | [] |
radius1 |
radius1 | 0 | [] |
radius2 |
radius2 | 1 | [] |
Description¶
Assume \(\mathbf{p}\) the position of a point at which we want to calculate a \(3 \times 3\) matrix.
First, find the vector to the axis
and its length
Define the unit vector,
Calculate the relative radius \(w=(R - R_0)/(R_1 - R_0)\)
Define \(\mathbf{R}_{01}\) as the rotation that rotates \(\mathbf{v}_0\) to \(\mathbf{v}_1\) and \(\mathbf{R}_w\) the rotation matrix by interpolating between the identity matrix \(\mathbf{I}\) and \(\mathbf{R}_{01}\) at fraction \(w\). Then, define,
Define \(\mathbf{Q}\) the rotation matrix that rotates \(\mathbf{e}_x=(1,0,0)\) to \(\mathbf{b}\) and define \(\mathbf{d}=\mathbf{Q}\,\mathbf{e}_y\).
Next, construct three orthogonal vectors,
Finally, construct the orthonormal matrix.