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