class Flector4D
Defined in:
The TSFlector3D.h
Flector4D
class encapsulates a 4D reflection operator (flector). For more information about flectors, see the projective geometric algebra website.
Definition
class Flector4D
Member Functions
Flector4D::Set |
Sets all eight components of a flector. |
Flector4D::Unitize |
Unitizes the weight of a flector. |
Flector4D::MakeTransflection |
Returns a flector that represents a translation and a reflection. |
Flector4D::MakeRotoreflection |
Returns a flector that represents a rotation and a reflection. |
Flector4D::GetTransformMatrix |
Converts a flector to its corresponding 4 × 4 matrix. |
Flector4D::GetInverseTransformMatrix |
Converts a flector to the inverse of its corresponding 4 × 4 matrix. |
Flector4D::GetTransformMatrices |
Converts a flector to its corresponding 4 × 4 matrix and its inverse simultaneously. |
Flector4D::SetTransformMatrix |
Converts a 4 × 4 matrix to its corresponding flector. |
Constructor
Flector4D();
Flector4D(float sx, float sy, float sz, float sw, float hx, float hy, float hz, float hw);
Flector4D(const Vector4D& v, const Plane3D& g);
Flector4D(const Point3D& p, const Plane3D& g);
explicit Flector4D(const Vector4D& v);
explicit Flector4D(const Point3D& p);
explicit Flector4D(const Plane3D& g);
Parameters
sx,sy,sz,sw |
The values of the e1, e2, e3, and e4 coordinates. |
hx,hy,hz,hw |
The values of the e234, e314, e124, and e321 coordinates. |
g |
A plane whose entries are copied to the e234, e314, e124, and e321 coordinates. |
v |
A vector whose entries are copied to the e1, e2, e3, and e4 coordinates. |
p |
A point whose entries are copied to the e1, e2, and e3 coordinates. |
Description
The Flector4D
class encapsulates a reflection operator (flector) in the 4D projective geometric algebra. It has the general form sxe1 + sye2 + sze3 + swe4 + hxe234 + hye314 + hze124 + hwe321.The default constructor leaves the components of the flector undefined. If the vector
v
and plane g
are specified, then their coordinates are assigned to the vector part and trivector part of the flector, respectively. If only one of the vector v
and plane g
are specified, then the other part is set to zero. If the point p
is specified, then its w coordinate is assumed to be one.
Overloaded Operators
Flector4D& operator *=(float n); |
Multiplies by the scalar n .
|
Flector4D& operator /=(float n); |
Multiplies by the inverse of the scalar n .
|
Nonmember Operations
bool operator ==(const Flector4D& a, const Flector4D& b); |
Returns a boolean value indicating whether the two flectors a and b are equal.
|
bool operator !=(const Flector4D& a, const Flector4D& b); |
Returns a boolean value indicating whether the two flectors a and b are not equal.
|
Flector4D operator ~(const Flector4D& F); |
Returns the antireverse of the flector F .
|
Flector4D operator -(const Flector4D& F); |
Returns the negation of the flector F .
|
Flector4D operator *(const Flector4D& F, float n); |
Returns the product of the flector F and the scalar n .
|
Flector4D operator *(float n, const Flector4D& F); |
Returns the product of the flector F and the scalar n .
|
Flector4D operator /(const Flector4D& F, float n); |
Returns the product of the flector G and the inverse of the scalar n .
|
Motor4D operator *(const Flector4D& a, const Flector4D& b); |
Returns the geometric antiproduct of the flectors a and b , producing a motor.
|
Flector4D operator *(const Flector4D& a, const Motor4D& b); |
Returns the geometric antiproduct of the flector a and the motor b , producing a flector.
|
Flector4D operator *(const Motor4D& a, const Flector4D& b); |
Returns the geometric antiproduct of the motor a and the flector b , producing a flector.
|
float BulkNorm(const Flector4D& F); |
Returns the bulk norm of the flector F .
|
float WeightNorm(const Flector4D& F); |
Returns the weight norm of the flector F .
|
Vector3D Transform(const Vector3D& v, const Flector4D& F); |
Transforms the vector v with the flector F .
|
Bivector3D Transform(const Bivector3D& v, const Flector4D& F); |
Transforms the bivector v with the flector F .
|
Point3D Transform(const Point3D& p, const Flector4D& F); |
Transforms the point p with the flector F .
|
Line3D Transform(const Line3D& l, const Flector4D& F); |
Transforms the line l with the flector F .
|
Plane3D Transform(const Plane3D& g, const Flector4D& F); |
Transforms the plane g with the flector F .
|
See Also