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