|
The Vish Visualization Shell 0.3
Vish
|
Geometric algebra of the physical 3D-space, by which we mean the Clifford algebara over Euclidean, three-dimensional space. More...
Classes | |
| struct | AABB |
| Simplistic class for Axis-Aligned Bounding Box. More... | |
| struct | AABB_2D |
| Axis-aligned bounding box in 2D dimensions out of 3D, allowing for projections other than XY. More... | |
| struct | AnalyticFunction |
| Abstract base class for analytical functions that are evaluated on a physical space. More... | |
| class | bivector |
| A three-dimensional Bi-Vector which is span by two vectors to define a plane. More... | |
| struct | Frustum |
| A frustum and operations on it, as described by either a set of corner points or six planes. More... | |
| struct | HessianNormalPlane |
| class | MultiVector |
| A full multivector in 3D consists of | |
| class | OddMultiVector |
| The combination of a vector and a trivector yields an odd multivector, which is dual to a rotor. More... | |
| struct | Plane |
| Normal form of a plane. More... | |
| class | point |
| A point in physical 3D space. More... | |
| class | rotor |
| A rotor is the sum of scalar with a bivector. More... | |
| struct | Span |
| struct | Span< 1 > |
| A one-dimensional span, also a known as a Ray. More... | |
| struct | Span< 2 > |
| A two-dimensional span, also a known as the parametric form of a plane. More... | |
| struct | Span< 3 > |
| class | trivector |
| A Tri-Vector, or oriented volume in 3D space. More... | |
| class | vector |
| 3-dimensional vector. More... | |
| struct | Viewport |
| A helper class describing an axis-aligned rectangle. More... | |
Typedefs | |
| typedef rotor | EvenMultiVector |
| A rotor is an even multivector. | |
Functions | |
| double | computeIntersectionDistance (const Plane &P, const Ray &R) |
| Compute the intersection parameter | |
| vector | dot (const bivector &a, const vector &b) |
| Inner (dot) product of a bivector and a vector. | |
| vector | dot (const trivector &a, const bivector &b) |
| xyz ( xy + yz + zx ) = xyz xy + xyz yz + xyz zx = -xzy xy - xyz zy - yxz zx = zxy xy = -zyx xy - xyz zy - yxz zx z x y | |
| vector | dot (const vector &a, const bivector &b) |
| Inner (dot) product of a vector and bivector. | |
| double | dot (const vector &a, const vector &b) |
| Euclidan Inner (dot) product of two vectors. | |
| Metric | dyadic (const vector &a, const vector &b) |
| Tensor product or dyadic product of two vectors. | |
| rotor | exp (const bivector &i) |
| Compute the exponential of a bivector, which implements a rotation as given by the norm of the bivector. | |
| rotor | exp (const bivector &U, double phi) |
| Implement a rotation of phi degrees along the bivector U. | |
| rotor | exp (const rotor &s) |
| Compute the exponential of a rotor (by Andrew Hamilton). | |
| void | glTranslate (const Eagle::PhysicalSpace::point &origin) |
| Perform an OpenGL glTranslate() call on a point given in physical space. | |
| void | glVertex (const Eagle::PhysicalSpace::point &P) |
| Perform an OpenGL glVertex() call on a point given in physical space. | |
| rotor | ln (const rotor &s) |
| Compute the natural logarithm of a rotor (by Andrew Hamilton). | |
| Ray | makeRay (const point &A, const point &B) |
| Make a ray from two points, starting from the first one. | |
| vector | operator% (const vector &l, const vector &r) |
| Compute the three-dimensional cross product. | |
| bivector | operator() (const bivector &V) const |
| Rotate a bivector. | |
| OddMultiVector | operator* (const bivector &a, const vector &b) |
| Geometric product of bivector and vector yields an odd multivector, the sum of a vector and trivector. | |
| OddMultiVector | operator* (const rotor &R, const vector &v) |
| rotor | operator* (const vector &l, const vector &r) |
| The multiplication operation on two vectors implements the geometric product | |
| rotor | operator+ (const bivector &U, double r) |
| Create a rotor as sum of bi-vector and scalar. | |
| rotor | operator+ (const rotor &U, double r) |
| Add a scalar value to a rotor. | |
| rotor | operator+ (double r, const bivector &U) |
| Create a rotor as sum of scalar and bi-vector. | |
| rotor | operator+ (double r, const rotor &U) |
| Add a scalar value to a rotor. | |
| point | operator- (const point &P, const vector &v) |
| rotor | operator- (const rotor &U, double r) |
| Add a scalar value to a rotor. | |
| rotor | operator- (double r, const bivector &U) |
| Create a rotor as difference of scalar and bi-vector. | |
| rotor | operator- (double r, const rotor &U) |
| Add a scalar value to a rotor. | |
| rotor | operator/ (const rotor &l, const rotor &r) |
| Note that | |
| rotor | operator/ (const vector &l, const vector &r) |
| Divide two vectors, yielding the rotation operation to sweep the second vector to the first one. | |
| trivector | operator^ (const bivector &a, const vector &b) |
| Compute outer product of bivector and vector. | |
| trivector | operator^ (const vector &a, const bivector &b) |
| Compute outer product of vector and bivector. | |
| bivector | operator^ (const vector &a, const vector &b) |
| Wedge product of two vectors yields a bivector. | |
| rotor | operator~ (const rotor &r) |
| Compute the inverse rotor. | |
| rotor | pow (const rotor &r, double t) |
| Compute the power of a rotor. | |
| Matrix< 4, 4, double > | rotmatrix (const rotor &r) |
| Compute the classical 4x4 rotation Matrix. | |
| rotor | slerp (const rotor &r1, const rotor &r2, double t) |
| Interpolate between q1 (t = 0) and q2 (t = 1): q = (q2/q1)^t q1 . | |
Geometric algebra of the physical 3D-space, by which we mean the Clifford algebara over Euclidean, three-dimensional space.
It can reflect the properties of a flat, 3-dimensional manifold or the tangential space of a curved, 3-dimensional manifold.
A rotor is an even multivector.
A rotor is an even MultiVector.
|
inline |
Euclidan Inner (dot) product of two vectors.
Compute the Euclidean dot product (inner product) of two vectors.
Referenced by computeIntersectionDistance(), Eagle::PhysicalSpace::rotor::operator()(), operator*(), and Eagle::PhysicalSpace::rotor::operator*().
Tensor product or dyadic product of two vectors.
Creates a tensor of order two.
|
inline |
Geometric product of bivector and vector yields an odd multivector, the sum of a vector and trivector.
An odd multivector is dual to a rotor, an even multivector.
References dot().
|
inline |
Use its vec() member function to retrieve the vectorial part.