Class providing building methods for rigid motions in \(\mathbb{R}^{2}\).
More...
#include <RigidMotionR2Factory.h>
|
template<typename Archive > |
void | serialize (Archive &ar, const unsigned int version) |
| Serialize a \(\mathbb{R}^{2}\) rigid motion factory to a stream of bytes. More...
|
|
|
class | boost::serialization::access |
|
Class providing building methods for rigid motions in \(\mathbb{R}^{2}\).
- Author
- Alberto M. Esmoris Pena
- Version
- 1.0
- See also
- rigidmotion::RigidMotionFactory
◆ makeGlideReflection() [1/2]
RigidMotion RigidMotionR2Factory::makeGlideReflection |
( |
colvec const |
axis, |
|
|
double const |
glide |
|
) |
| const |
|
virtual |
Implementation of glide reflection rigid motion in \(\mathbb{R}^{2}\).
Let \(\vec{u}\) be an arbitrary axis, let \(\theta\) be the angle between \(\vec{u}\) and \(e_1\) and let \(\lambda\) specify how many glide in the \(\hat{u}\) axis direction will be applied after the reflection. Notice \(\hat{u} = \frac{\vec{u}}{\Vert\vec{u}\Vert}\), it is \(\vec{u}\) as normalized director vector. Thus, the affine application for the glide reflection would be \(Y = \lambda\hat{u} + AX\) where \(A\) is as documented for the makeReflection method.
- Parameters
-
axis | Reflection axis |
glide | How many glide apply in the direction of reflection axis afther the reflection |
- Returns
- Glide reflection rigid motion
- See also
- rigidmotion::RigidMotionR2Factory::makeReflection(colvec)
◆ makeGlideReflection() [2/2]
RigidMotion RigidMotionR2Factory::makeGlideReflection |
( |
double const |
theta, |
|
|
double const |
glide |
|
) |
| const |
|
virtual |
As makeGlideReflection method but receiving \(\theta\) as the angle between reflection axis and \(e_1\) instead of the reflection axis itself.
- Parameters
-
theta | Angle between \(e_1\) (unitary vector for x-axis in canonical basis) and rotation axis |
glide | How many glide apply in the direction of reflection axis afther the reflection |
- See also
- RigidMotionR2Factory::makeGlideReflection(colvec, double)
◆ makeIdentity()
RigidMotion RigidMotionR2Factory::makeIdentity |
( |
| ) |
const |
|
overridevirtual |
◆ makeReflection() [1/2]
RigidMotion RigidMotionR2Factory::makeReflection |
( |
colvec const |
axis | ) |
const |
|
virtual |
Implementation of reflection rigid motion in \(\mathbb{R}^{2}\).
Let \(\vec{u}\) be an arbitrary axis and let \(\theta\) be the angle between \(\vec{u}\) and \(e_1\). Thus, the affine application for the reflection would be \(Y = \vec{0} + AX\) where \(A\) is:
\[ A = \left[\begin{array}{ll} \cos(2\theta) & \sin(2\theta) \\ \sin(2\theta) & -\cos(2\theta) \end{array}\right] \]
- Parameters
-
- Returns
- Reflection rigid motion in \(\mathbb{R}^{2}\)
◆ makeReflection() [2/2]
RigidMotion RigidMotionR2Factory::makeReflection |
( |
double const |
theta | ) |
const |
|
virtual |
As makeReflection method but receiving \(\theta\) as the angle between reflection axis and \(e_1\) instead of the reflection axis itself.
- Parameters
-
theta | Angle between \(e_1\) (unitary vector for x-axis in canonical basis) and rotation axis |
- See also
- rigidmotion::RigidMotionR2Factory::makeReflection(colvec)
◆ makeRotation()
RigidMotion RigidMotionR2Factory::makeRotation |
( |
double const |
theta, |
|
|
colvec const |
center |
|
) |
| const |
|
virtual |
Implementation of rotation rigid motion in \(\mathbb{R}^{2}\).
Let \(\theta\) be the rotation angle and \(Q=(Q_x, Q_y)\) be the rotation center. Now, the affine application for the rotation would be \(Y = C + AX\) where:
\[ A = \left[\begin{array}{ll} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{array}\right] \]
and
\[ C = (I-A)Q = \left[\begin{array}{ll} 1-\cos(\theta) & \sin(\theta) \\ -\sin(\theta) & 1-\cos(\theta) \end{array}\right] \left[\begin{array}{l} Q_x \\ Q_y \end{array}\right] \]
- Parameters
-
theta | The rotation angle |
center | The rotation center point |
- Returns
- Rotation rigid motion in \(\mathbb{R}^{2}\)
◆ makeTranslation()
RigidMotion RigidMotionR2Factory::makeTranslation |
( |
colvec const |
shift | ) |
const |
|
override |
◆ serialize()
template<typename Archive >
void rigidmotion::RigidMotionR2Factory::serialize |
( |
Archive & |
ar, |
|
|
const unsigned int |
version |
|
) |
| |
|
inlineprivate |
Serialize a \(\mathbb{R}^{2}\) rigid motion factory to a stream of bytes.
- Template Parameters
-
- Parameters
-
ar | Specific rendering for the stream of bytes |
version | Version number for the \(\mathbb{R}^{2}\) rigid motion factory |
The documentation for this class was generated from the following files: