# PM_ROTATION_VECTOR

NAME

SYNTAX

CONSTRUCTORS

DATA

OPERATORS

OTHER FUNCTIONS ON PM_CARTESIAN OBJECTS

## NAME

PM_ROTATION_VECTOR
- Three-axis cartesian position

## SYNTAX

#include
<posemath.h>

struct PM_CARTESIAN;

## CONSTRUCTORS

PM_CARTESIAN()

Construct the point
<0,0,0>.

PMCARTESIAN(double
*x*, double *y*, double *z*)

Construct the point (*x*,
*y*, *z*).

PMCARTESIAN(const
PM_CARTESIAN &v)

Construct a copy of point
*v*.

## DATA

double x, y, z
;

## OPERATORS

operator[](int
*n*);

Return the *n*th component
of the vector (x=0, y=1, z=2)

FIXME:
Unclear.

int
operator==(PM_CARTESIAN *v1, PM_CARTESIAN v2_*), int
operator!=(PM_CARTESIAN *v1, PM_CARTESIAN v2_*)

Elementwise equality and
inequality operator

PM_CARTESIAN
operator+(PM_CARTESIAN *v1*, PM_CARTESIAN *v2*),
PM_CARTESIAN operator-(PM_CARTESIAN *v1*, PM_CARTESIAN
*v2*)

Addition and subtraction of
vectors

PM_CARTESIAN
operator*(double *s*, PM_CARTESIAN *v*),
PM_CARTESIAN operator*(PM_CARTESIAN *v*, double
*s*)

Scalar multiplication of
*v* by *s*.

PM_CARTESIAN
operator/(PM_CARTESIAN *v*, double *s*)

Scalar multiplication of
*v* by *1/s*

## OTHER FUNCTIONS ON PM_CARTESIAN OBJECTS

double
dot(PM_CARTESIAN *vl*, PM_CARTESIAN *v2*)

Returns the dot product of the
two vectors. Both vectors are required to have the same
length, the return value is the sum of the pairwise products
of the vectors' components.

PM_CARTESIAN
cross(PM_CARTESIAN *v1*, PM_CARTESIAN *v2*)

Returns the cross-product of
two vectors, which in 3D yields a vector that is orthogonal
to both v1 and v2. See
https://en.wikipedia.org/wiki/Cross_product .

PM_CARTESIAN
norm(PM_CARTESIAN *v*)

FIXME: It just normalizes
*v*, right?