Record TCL3VectorHelper
Unit
Declaration
type TCL3VectorHelper = record helper for TCL3Vector
Description
Record helper for TCL3Vector providing geometric operations specific to grade-1 elements of Cl(3,0).
All operations follow the conventions of Clifford algebra over R3:
The geometric product is the fundamental product of the algebra.
The inner (dot) product lowers the grade of the result.
The outer (wedge) product raises the grade of the result.
The dual maps a grade-
kelement to a grade-3-kelement via multiplication bye₁₂₃⁻¹*The cross product is the dual of the wedge product:
u × v = (u ∧ v)*and is specific toℝ³.Projection, rejection, reflection and rotation are defined via the geometric product and its inverse.
Overview
Methods
| Public | function Conjugate: TCL3Vector; |
| Public | function Cross(const AVector: TCL3Vector): TCL3Vector; |
| Public | function Dot(const AVector: TCL3Bivector): TCL3Vector; overload; |
| Public | function Dot(const AVector: TCL3Multivector): TCL3Multivector; overload; |
| Public | function Dot(const AVector: TCL3Trivector): TCL3Bivector; overload; |
| Public | function Dot(const AVector: TCL3Vector): double; overload; |
| Public | function Dual: TCL3Bivector; |
| Public | function ExtractVector(AComponents: TCL3MultivectorComponents): TCL3Vector; |
| Public | function Inverse: TCL3Vector; |
| Public | function Norm: double; |
| Public | function Normalized: TCL3Vector; |
| Public | function Projection(const AVector: TCL3Bivector): TCL3Vector; overload; |
| Public | function Projection(const AVector: TCL3Multivector): TCL3Multivector; overload; |
| Public | function Projection(const AVector: TCL3Trivector): TCL3Vector; overload; |
| Public | function Projection(const AVector: TCL3Vector): TCL3Vector; overload; |
| Public | function Reciprocal: TCL3Vector; |
| Public | function Reflection(const AVector: TCL3Bivector): TCL3Vector; overload; |
| Public | function Reflection(const AVector: TCL3Multivector): TCL3Multivector; overload; |
| Public | function Reflection(const AVector: TCL3Trivector): TCL3Vector; overload; |
| Public | function Reflection(const AVector: TCL3Vector): TCL3Vector; overload; |
| Public | function Rejection(const AVector: TCL3Bivector): TCL3Vector; overload; |
| Public | function Rejection(const AVector: TCL3Multivector): TCL3Multivector; overload; |
| Public | function Rejection(const AVector: TCL3Trivector): double; overload; |
| Public | function Rejection(const AVector: TCL3Vector): TCL3Vector; overload; |
| Public | function Reverse: TCL3Vector; |
| Public | function Rotation(const AVector1, AVector2: TCL3Bivector): TCL3Vector; overload; |
| Public | function Rotation(const AVector1, AVector2: TCL3Multivector): TCL3Multivector; overload; |
| Public | function Rotation(const AVector1, AVector2: TCL3Trivector): TCL3Vector; overload; |
| Public | function Rotation(const AVector1, AVector2: TCL3Vector): TCL3Vector; overload; |
| Public | function SameValue(const AValue: TCL3Multivector): boolean; |
| Public | function SameValue(const AValue: TCL3Vector): boolean; |
| Public | function SquaredNorm: double; |
| Public | function ToMultivector: TCL3Multivector; |
| Public | function ToString: string; |
| Public | function ToString(APrecision, ADigits: longint): string; |
| Public | function Wedge(const AVector: TCL3Bivector): TCL3Trivector; overload; |
| Public | function Wedge(const AVector: TCL3Multivector): TCL3Multivector; overload; |
| Public | function Wedge(const AVector: TCL3Trivector): double; overload; |
| Public | function Wedge(const AVector: TCL3Vector): TCL3Bivector; overload; |
Description
Methods
| Public | function Conjugate: TCL3Vector; |
|
Returns the Clifford conjugate of the vector. The conjugate combines reversion and grade involution. For a vector ( | |
| Public | function Cross(const AVector: TCL3Vector): TCL3Vector; |
|
Returns the cross product of two vectors. The cross product is the dual of the wedge product: Parameters
| |
| Public | function Dot(const AVector: TCL3Bivector): TCL3Vector; overload; |
|
Returns the inner (dot) product of a vector and a bivector. Lowers the grade: Parameters
| |
| Public | function Dot(const AVector: TCL3Multivector): TCL3Multivector; overload; |
|
Returns the inner (dot) product of a vector and a multivector. The result is a full TCL3Multivector due to grade mixing. Parameters
| |
| Public | function Dot(const AVector: TCL3Trivector): TCL3Bivector; overload; |
|
Returns the inner (dot) product of a vector and a trivector. Lowers the grade: Parameters
| |
| Public | function Dot(const AVector: TCL3Vector): double; overload; |
|
Returns the inner (dot) product of two vectors. Lowers the grade: Parameters
| |
| Public | function Dual: TCL3Bivector; |
|
Returns the dual of the vector with respect to the pseudoscalar | |
| Public | function ExtractVector(AComponents: TCL3MultivectorComponents): TCL3Vector; |
|
Returns a new vector containing only the components specified by Parameters
| |
| Public | function Inverse: TCL3Vector; |
|
Returns the inverse of the vector under the geometric product. For a non-zero vector | |
| Public | function Norm: double; |
|
Returns the Euclidean norm of the vector: | |
| Public | function Normalized: TCL3Vector; |
|
Returns the unit vector in the same direction. Each component is divided by Norm. | |
| Public | function Projection(const AVector: TCL3Bivector): TCL3Vector; overload; |
|
Returns the projection of the vector onto a bivector subspace. Defined as: Parameters
| |
| Public | function Projection(const AVector: TCL3Multivector): TCL3Multivector; overload; |
|
Returns the projection of the vector onto a multivector subspace. Defined as: Parameters
| |
| Public | function Projection(const AVector: TCL3Trivector): TCL3Vector; overload; |
|
Returns the projection of the vector onto a trivector subspace. Defined as: Parameters
| |
| Public | function Projection(const AVector: TCL3Vector): TCL3Vector; overload; |
|
Returns the projection of the vector onto another vector. Defined as: Parameters
| |
| Public | function Reciprocal: TCL3Vector; |
|
Returns the reciprocal of the vector: | |
| Public | function Reflection(const AVector: TCL3Bivector): TCL3Vector; overload; |
|
Returns the reflection of the vector through a bivector. Defined as: Parameters
| |
| Public | function Reflection(const AVector: TCL3Multivector): TCL3Multivector; overload; |
|
Returns the reflection of the vector through a multivector. Defined as: Parameters
| |
| Public | function Reflection(const AVector: TCL3Trivector): TCL3Vector; overload; |
|
Returns the reflection of the vector through a trivector. Defined as: Parameters
| |
| Public | function Reflection(const AVector: TCL3Vector): TCL3Vector; overload; |
|
Returns the reflection of the vector through another vector. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3Bivector): TCL3Vector; overload; |
|
Returns the rejection of the vector from a bivector subspace. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3Multivector): TCL3Multivector; overload; |
|
Returns the rejection of the vector from a multivector subspace. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3Trivector): double; overload; |
|
Returns the rejection of the vector from a trivector subspace. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3Vector): TCL3Vector; overload; |
|
Returns the rejection of the vector from another vector. Defined as: Parameters
| |
| Public | function Reverse: TCL3Vector; |
|
Returns the reverse of the vector. The reverse of a grade- | |
| Public | function Rotation(const AVector1, AVector2: TCL3Bivector): TCL3Vector; overload; |
|
Returns the vector rotated by the rotor defined by two bivectors. The rotation is applied as: Parameters
| |
| Public | function Rotation(const AVector1, AVector2: TCL3Multivector): TCL3Multivector; overload; |
|
Returns the vector rotated by the rotor defined by two multivectors. The rotation is applied as: Parameters
| |
| Public | function Rotation(const AVector1, AVector2: TCL3Trivector): TCL3Vector; overload; |
|
Returns the vector rotated by the rotor defined by two trivectors. The rotation is applied as: Parameters
| |
| Public | function Rotation(const AVector1, AVector2: TCL3Vector): TCL3Vector; overload; |
|
Returns the vector rotated by the rotor defined by two vectors. The rotor is constructed as Parameters
| |
| Public | function SameValue(const AValue: TCL3Multivector): boolean; |
|
Returns Parameters
| |
| Public | function SameValue(const AValue: TCL3Vector): boolean; |
|
Returns Parameters
| |
| Public | function SquaredNorm: double; |
|
Returns the squared Euclidean norm of the vector: | |
| Public | function ToMultivector: TCL3Multivector; |
|
Converts the vector to a full TCL3Multivector. All components are zero except | |
| Public | function ToString: string; |
|
Converts the vector to its default string representation. The format is | |
| Public | function ToString(APrecision, ADigits: longint): string; |
|
Converts the vector to a formatted string with controlled precision. The format is Parameters
| |
| Public | function Wedge(const AVector: TCL3Bivector): TCL3Trivector; overload; |
|
Returns the outer (wedge) product of a vector and a bivector. Raises the grade: Parameters
| |
| Public | function Wedge(const AVector: TCL3Multivector): TCL3Multivector; overload; |
|
Returns the outer (wedge) product of a vector and a multivector. Only components of Parameters
| |
| Public | function Wedge(const AVector: TCL3Trivector): double; overload; |
|
Returns the outer (wedge) product of a vector and a trivector. Always zero in Parameters
| |
| Public | function Wedge(const AVector: TCL3Vector): TCL3Bivector; overload; |
|
Returns the outer (wedge) product of two vectors. Raises the grade: Parameters
| |
Generated by PasDoc 1.0.4.