versor  3.0
C++11 library for Geometric algebra
Classes | Namespaces | Macros | Variables
vsr_cga3D_op.h File Reference

Common Operations Specific to CGA3D. More...

#include <math.h>
#include <vector>
#include "vsr_cga3D_types.h"
#include "vsr_cga3D_round.h"
#include "detail/vsr_generic_op.h"
#include "util/vsr_constants.h"
#include "util/vsr_math.h"

Go to the source code of this file.

Classes

struct  vsr::cga::Op
 Extraction of axis-angle orientation and 3D position features from Multivectors. More...
 
struct  vsr::cga::Gen
 Generators and Logarithms Optimized for 3D Conformal Geometric Algebra. More...
 
struct  vsr::cga::Construct
 constructive syntactic sugar for making geometric elements More...
 

Namespaces

 vsr
 

the versor library namespace

 
 vsr::cga
 3D Conformal Geometric Algebra Namespace
 

Macros

#define E1   e1(1)
 
#define E2   e2(1)
 
#define E3   e3(1)
 
#define PT(x, y, z)   vsr::cga::Round::null(vsr::cga::Vec(x,y,z))
 A vsr::cga::Point at coordinates x,y,z.
 
#define DLS(r)   vsr::cga::Round::dls(0,0,0,r)
 A vsr::cga::DualSphere at (0,0,0) with radius r.
 
#define PV(v)   vsr::cga::Round::null(v)
 
#define PX(f)   vsr::cga::Round::null(vsr::cga::Vec(f,0,0))
 
#define PY(f)   vsr::cga::Round::null(vsr::cga::Vec(0,f,0))
 
#define PZ(f)   vsr::cga::Round::null(vsr::cga::Vec(0,0,f))
 
#define PAIR(x, y, z)   (PT(x,y,z)^PT(-x,-y,-z))
 A vsr::cga::Pair of points at x,y,z and -x,-y,-z.
 
#define CXY(f)   (PX(f)^PY(f)^PX(-f)).unit()
 A vsr::cga::Circle in xy plane with radius f.
 
#define CXZ(f)   (PX(f)^PZ(f)^PX(-f)).unit()
 A vsr::cga::Circle in xz plane with radius f.
 
#define CYZ(f)   (PY(f)^PY(-f)^PZ(f)).unit()
 A vsr::cga::Circle in yz plane with radius f.
 
#define F2S(f)   f*1000.0
 
#define S2F(f)   f/1000.0
 
#define LN(x, y, z)   ( vsr::cga::Point(0,0,0,1,.5)^PT(x,y,z)^vsr::cga::Inf(1) )
 vsr::cga::Line through origin in direction x,y,z
 
#define DLN(x, y, z)   ( vsr::Op::dl(LN(x,y,z)) )
 vsr::cga::DualLine through origin in direction x,y,z
 
#define PAO   vsr::cga::Point(0,0,0,1,0)
 vsr::cga::Point At Origin
 
#define EP   vsr::cga::Dls(0,0,0,1,-.5)
 unit vsr::cga::DualSphere at origin: swap with infinity for hyperbolic space
 
#define EM   vsr::cga::Dls(0,0,0,1,.5)
 unit imaginary vsr::cga::DualSphere at origin: swap with infinity for spherical space
 
#define INFTY   vsr::cga::Inf(1)
 vsr::cga::Infinity(1)
 
#define HYPERBOLIC_INF   EP
 
#define SPHERICAL_INF   EM
 
#define EUCLIDEAN_INF   INFTY
 
#define HLN(x, y, z)   (vsr::cga::Ori(1)^PT(x,y,z)^EP)
 
#define HDLN(x, y, z)   (vsr::Op::dl(HLN(x,y,z)))
 

Variables

auto vsr::cga::pointOnLine
 Point on line closest to another point v. More...
 
auto vsr::cga::pointOnCircle
 a single point on circle c at theta t More...
 
auto vsr::cga::pointsOnCircle
 n points on circle c More...
 
auto vsr::cga::pairOnSphere
 a pair on dual sphere More...
 
auto vsr::cga::pointOnSphere
 a single point on dual sphere s at theta t and phi p More...
 
auto vsr::cga::pointsOnSphere
 many points on sphere (could use map func from gfx::data) More...
 

Detailed Description

Common Operations Specific to CGA3D.