versor  3.0
C++11 library for Geometric algebra
Macros

For making commonly used geometric entities. More...

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)))
 

Detailed Description

For making commonly used geometric entities.