#### Description

3D vector operator; multiplies the components
of *vector1* by the corresponding components in *vector2*,
and returns the dot product, or multiplies each of the components
of the vector by the scalar value and returns a new vector.

*vector1* ** vector2 *returns
the dot product of the two vectors, which is not a new vector. This
operation is the same as *vector1*.`dotproduct`.*vector2.*

*vector* * *scalar* multiplies
each of the components in the vector by the scalar value and returns
a new vector.

*transform* * *vector* multiplies
the *transform* by the *vector* and returns a new vector.
The new vector is the result of applying the positional and rotational changes
defined by *transform* to the *vector*. Note that *vector* * *transform* is not
supported.