versor  3.0
C++11 library for Geometric algebra
Static Public Member Functions | List of all members
vsr::cga::Gen Struct Reference

Generators and Logarithms Optimized for 3D Conformal Geometric Algebra. More...

#include <vsr_cga3D_op.h>

Static Public Member Functions

static Rot rot (const Biv &b)
 vsr::cga::Rotor from vsr::cga::Bivector
 
static Rot rotor (const Biv &b)
 vsr::cga::Rotor from vsr::cga::Bivector
 
static Bst bst (const Pair &p)
 vsr::cga::Boost from vsr::cga::Pair
 
static Bst boost (const Pair &p)
 vsr::cga::Boost from vsr::cga::Pair
 
static Tsd dil (const Pnt &p, VSR_PRECISION t)
 vsr::cga::Dilator from vsr::cga::Point and amt t
 
static Tsd dilator (const Pnt &p, VSR_PRECISION t)
 vsr::cga::Dilator from vsr::cga::Point and amt t
 
template<class A >
static Trs trs (const A &a)
 vsr::cga::Translator from any type
 
template<class A >
static Trs translator (const A &a)
 vsr::cga::Translator from any type
 
template<class A >
static Trv trv (const A &a)
 vsr::cga::Transversor from any type
 
template<class A >
static Trv transversor (const A &a)
 vsr::cga::Transversor from any type
 
static Rot ratio (const Vec &v, const Vec &v2)
 vsr::cga::Rotor that takes one vec to another
 
static Biv log (const Rot &r)
 vsr::cga::Bivector log of vsr::cga::Rotor
 
static Rot rot (double theta, double phi)
 Generate a vsr::cga::Rotor from spherical coordinates. More...
 
static Rot rot (double yaw, double pitch, double roll)
 Generate a vsr::cga::Rotor from Euler angles. More...
 
static Mot mot (const Dll &dll)
 Generate a vsr::cga::Motor from a vsr::cga::DualLine Axis. More...
 
static Mot motor (const Dll &dll)
 Generate a vsr::cga::Motor from a vsr::cga::DualLine Axis. More...
 
static Dll log (const Mot &m)
 DualLine generator from a Motor. More...
 
static Dll log (const Dll &a, const Dll &b, VSR_PRECISION t=1.0)
 DualLine generator of Motor That Twists DualLine a to DualLine b by amt t;. More...
 
static Mot ratio (const vsr::cga::Dll &a, const vsr::cga::Dll &b, VSR_PRECISION t=1.0)
 Generate Motor that twists Dual Line a to Dual Line b;. More...
 
static Mot ratio (const vsr::cga::Mot &a, const vsr::cga::Mot &b, VSR_PRECISION t)
 Generate Motor that twists Motor a to Motor b;. More...
 
template<class A , class T >
static Bst bst (const A &tnv, const Vec &vec, T t)
 Generate a Translated Transversion. More...
 
static Bst ratio (const DualSphere &a, const DualSphere &b, bool bFlip=true)
 Generate Simple Boost rotor from ratio of two dual spheres calculates SQUARE ROOT (normalizes 1+R)
 
static Pair atanh2 (const Pair &p, VSR_PRECISION cs, bool bCW)
 atanh2 function for logarithm of general rotors, with clockwise boolean
 
static Pair log (const Bst &b, bool bCW=false)
 Log of a simple rotor (uses atanh2)
 
static Con ratio (const Circle &a, const Circle &b, bool bFlip=false, float theta=0)
 Generate Conformal Transformation from circle a to circle b uses square root method of Dorst et Valkenburg, 2011.
 
static Con ratio (const Pair &a, const Pair &b, bool bFlip=false, float theta=0)
 Generate Conformal Transformation from pair a to pair b uses square root method of Dorst et Valkenburg, 2011.
 
static vector< Pairsplit (const Pair &par)
 Bivector Split Takes a general bivector and splits it into commuting pairs will give sinh(B+-)
 
static vector< Pairsplit (const Con &con)
 Bivector Split Takes a general ROTOR and splits it into commuting pairs will give sinh(B+-)
 
static vector< Pairlog (const Con &rot)
 Split Log of General Conformal Rotor.
 
static vector< Pairlog (const Circle &ca, const Circle &cb, bool bFlip=false, VSR_PRECISION theta=0)
 Split Log from a ratio of two Circles.
 
static vector< Pairlog (const Pair &ca, const Pair &cb, bool bFlip=false, VSR_PRECISION theta=0)
 Split Log from a ratio of two Circles.
 
static Con con (const vector< Pair > &log, VSR_PRECISION amt)
 General Conformal Transformation from a split log.
 
static Con con (const vector< Pair > &log, VSR_PRECISION amtA, VSR_PRECISION amtB)
 General Conformal Transformation from a split log and two amts (one for each)
 
static Con con (const Circle &ca, const Circle &cb, VSR_PRECISION amt)
 
static Con con (const Circle &ca, const Circle &cb, VSR_PRECISION amtA, VSR_PRECISION amtB)
 
static Rotor xf (const Biv &b)
 generates a Euclidean rotor transformation from a Euclidean vsr::cga::Bivector;
 
static Motor xf (const DualLine &dll)
 generates a vsr::cga::Motor transformation from a vsr::cga::DualLine
 
static Dilator xf (const FlatPoint &flp)
 generates a vsr::cga::Dilator transformation from a vsr::cga::FlatPoint
 
static Bst xf (const Pair &p)
 generates a boost transformation from a point pair
 

Detailed Description

Generators and Logarithms Optimized for 3D Conformal Geometric Algebra.

See also
vsr::nga::Gen for Generic implementation details

Member Function Documentation

template<class A , class T >
static Bst vsr::cga::Gen::bst ( const A &  tnv,
const Vec vec,
t 
)
inlinestatic

Generate a Translated Transversion.

Parameters
tnvTangentVector
vecVector position in space
tscalar amt (typically 0 or 1)
static Dll vsr::cga::Gen::log ( const Mot m)
static

DualLine generator from a Motor.

Parameters
ma vsr::cga::Motor (a concatenation of rotation and translation)
static Dll vsr::cga::Gen::log ( const Dll a,
const Dll b,
VSR_PRECISION  t = 1.0 
)
static

DualLine generator of Motor That Twists DualLine a to DualLine b by amt t;.

Parameters
aDualLine source
bDualLine target
tamt to transform in range [0,1]
Returns
vsr::cga::Motor
static Mot vsr::cga::Gen::mot ( const Dll dll)
static

Generate a vsr::cga::Motor from a vsr::cga::DualLine Axis.

Parameters
dlla vsr::cga::DualLine generator axis of rotation
static Mot vsr::cga::Gen::motor ( const Dll dll)
static

Generate a vsr::cga::Motor from a vsr::cga::DualLine Axis.

Parameters
dlla vsr::cga::DualLine generator axis of rotation
static Mot vsr::cga::Gen::ratio ( const vsr::cga::Dll a,
const vsr::cga::Dll b,
VSR_PRECISION  t = 1.0 
)
static

Generate Motor that twists Dual Line a to Dual Line b;.

Parameters
aDualLine source
bDualLine target
tamt to transform in range [0,1]
Returns
vsr::cga::Motor;
static Mot vsr::cga::Gen::ratio ( const vsr::cga::Mot a,
const vsr::cga::Mot b,
VSR_PRECISION  t 
)
static

Generate Motor that twists Motor a to Motor b;.

Parameters
avsr::cga::Motor source
bvsr::cga::Motor target
tamt to transform in range [0,1]
Returns
vsr::cga::Motor
static Rot vsr::cga::Gen::rot ( double  theta,
double  phi 
)
static

Generate a vsr::cga::Rotor from spherical coordinates.

Parameters
thetain xz plane from (1,0,0) in range [0,PI]
phiin rotated xy plane in range [-PIOVERTWO, PIOVERTWO]
static Rot vsr::cga::Gen::rot ( double  yaw,
double  pitch,
double  roll 
)
static

Generate a vsr::cga::Rotor from Euler angles.

Parameters
yawin xz plane
pitchin (transformed) yz plane
rollin (transformed) xy plane

The documentation for this struct was generated from the following file: