VISH  0.2
Public Types | Public Member Functions | Friends
Eagle::PhysicalSpace::bivector Class Reference

A three-dimensional Bi-Vector which is span by two vectors to define a plane. More...

#include </home/werner/origo/vish/ocean/eagle/PhysicalSpace.hpp>

List of all members.

Public Types

Public Member Functions

Friends


Detailed Description

A three-dimensional Bi-Vector which is span by two vectors to define a plane.

It is represented by three numbers, like a vector, but has different algebraic properties.

Bi-vectors are useful specify rotations. The sum of a bivector and a scalar yields a rotor, which can be applied to any object such as a vector (sweeping a direction) or another bivector (sweeping a plane).

A bi-vector is constructed from two vectors:

   vector A, B;
   bivector AB = bivector(A,B);

The wedge operator of two vectors also yields a bi-vector and is the same operation:

   vector A, B;
   bivector& AB = A^B;

Alternatively the bivector can be setup by explicit specification of its component, which corresponds to a normal vector. Given a bivector, the associated normal vector can be retrieved using the star operator:

   bivector A;
   vector normalA = *A;

Member Function Documentation

vector Eagle::PhysicalSpace::bivector::operator() ( const vector v) const [inline]

Compute UvU, which is a 90 degree rotation of the vector v along the plane U.

Parameters:
thisThe bivector U.
         vector v;
         bivector U;

         vector   v_rotated = U(v);

The documentation for this class was generated from the following file: