versor
3.0
C++11 library for Geometric algebra
|
constructive syntactic sugar for making geometric elements More...
#include <vsr_cga3D_op.h>
Static Public Member Functions | |
static Pair | pair (const DualSphere &s, const Vec &v) |
constructs a Pair on Sphere s in v direction More... | |
static Pair | pair (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z, Vec vec=Vec::y, VSR_PRECISION r=1.0) |
Point Pair at x,y,z with direction vec (default Y) and radius r (default 1) | |
static Point | pointA (const Pair &pp) |
First point of point pair pp. | |
static Point | pointB (const Pair &pp) |
Second point of point pair pp. | |
static Point | point (const Circle &c, VSR_PRECISION t) |
Point on Circle at theta t. | |
static Point | point (const DualSphere &s, const Vec &v) |
Point on Sphere in v direction. | |
static Point | point (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z) |
Point from x,y,z. | |
static Point | point (const Vec &v) |
Point from vec. | |
static Point | point (const Line &, const Point &) |
Point on line l closest to p. | |
static Point | point (const DualLine &, const Point &) |
Point on dualline l closest to p. | |
static Circle | circle (const Point &a, const Point &b, const Point &c) |
Circle through three points. | |
static Circle | circle (const Point &p, VSR_PRECISION r, const Biv &biv=Biv::xy) |
Circle at point p with radius r, facing direction biv. | |
static Circle | circle (const Biv &B) |
Circle at origin in plane of bivector B. | |
static Circle | circle (const Vec &v, VSR_PRECISION r=1.0) |
static Circle | circle (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z, Biv biv=Biv::xy, VSR_PRECISION r=1.0) |
static Sphere | sphere (const Pnt &a, const Pnt &b, const Pnt &c, const Pnt &d) |
static DualSphere | sphere (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z, VSR_PRECISION r=1.0) |
static DualSphere | sphere (const Point &p, VSR_PRECISION r=1.0) |
static DualPlane | plane (VSR_PRECISION a, VSR_PRECISION b, VSR_PRECISION c, VSR_PRECISION d=0.0) |
Dual plane with normal and distance from center. | |
static DualPlane | plane (const Vec &v, VSR_PRECISION d=0.0) |
Dual plane from vec and distance from center. | |
static Plane | plane (const Pnt &a, const Pnt &b, const Pnt &c) |
Direct plane through three points. | |
static DualLine | axis (const Cir &c) |
DualLine axis of circle c. | |
static Line | line (const Vec &a, const Vec &b) |
Direct line through points a and b. | |
static Line | line (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z) |
Direct line through origin. | |
static Line | dualLine (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z) |
Dual line through origin. | |
static Line | line (const Point &a, const Point &b) |
Direct line through two points. | |
static Line | line (const Point &a, const Vec &b) |
Direct line through point a in direction b. | |
static Circle | hline (const Point &a, const Point &b) |
Hyperbolic line through two points. | |
static Circle | sline (const Point &a, const Point &b) |
Spherical line through two points. | |
static VSR_PRECISION | distance (const Lin &lin, const Pnt &pnt) |
Squared Distance between a line and a point. | |
static Circle | meet (const Dls &s, const Dls &d) |
circle intersection of dual spheres | |
static Circle | meet (const Dls &s, const Dlp &d) |
circle intersection of dual sphere and direct plane | |
static Circle | meet (const Dls &s, const Pln &d) |
circle intersection of dual spehre and direct plane | |
static Circle | meet (const Sphere &s, const DualPlane &d) |
circle intersection of direct sphere and dual plane | |
static Circle | meet (const Sphere &s, const Plane &d) |
circle intersection of direct sphere and direct plane | |
static Point | meet (const Line &lin, const DualPlane &) |
normalized and nulled point intersection of line and dual plane | |
static Point | meet (const DualLine &, const DualPlane &) |
normalized and nulled point intersection of dualline and dual plane | |
static Point | meet (const Line &la, const Line &lb) |
Point intersection of two lines. | |
static Pair | meet (const Cir &cir, const Dlp &dlp) |
point pair intersection of circle and Dual plane | |
static Pair | meet (const Cir &cir, const Dls &s) |
point pair intersection of circle and Dual sphere | |
static bool | hit (const Point &, const Pair &) |
hit tests between point and pair (treats pair as an "edge") | |
static bool | hit (const Point &, const Circle &) |
hit tests between point and circle (treats circle as "disc") | |
static double | squaredDistance (const Point &a, const Point &b) |
static Point | hnorm (const Pnt &p) |
hyperbolic normalization of a conformal point | |
static double | hdist (const Pnt &pa, const Pnt &pb) |
hyperbolic distance between two conformal points | |
static Pair | hgen (const Pnt &pa, const Pnt &pb, double amt) |
hyperbolic translation transformation generator between two conformal points | |
static Point | hspin (const Pnt &pa, const Pnt &pb, double amt) |
hyperbolic spin transformation from pa to pb by amt (0,1) | |
template<class A , class B > | |
static Point | affine (const A &a, const B &b, VSR_PRECISION t) |
constructive syntactic sugar for making geometric elements
if we are in namespace cga we can just write
Construct::point(x,y,z)
or to help create a generic generator
Construct::gen( <some bivector element> )
|
static |
constructs a Pair on Sphere s in v direction
s | vsr::cga::DualSphere; |
v | vsr::cga::Vec; |