Regressive Product

group reg

The regressive product is implemented in terms of the exterior product. Given multivectors \(\mathbf{a}\) and \(\mathbf{b}\), the regressive product \(\mathbf{a}\vee\mathbf{b}\) is equivalent to \(J(J(\mathbf{a})\wedge J(\mathbf{b}))\). Thus, both meets and joins reside in the same algebraic structure.

Joining two points

    kln::point p1{x1, y1, z1};
    kln::point p2{x2, y2, z2};

    // l contains both p1 and p2.
    kln::line l = p1 & p2;

Joining a line and a point

    kln::point p1{x, y, z};
    kln::line l2{mx, my, mz, dx, dy, dz};

    // p2 contains both p1 and l2.
    kln::plane p2 = p1 & l2;

Summary

Members Descriptions
public line KLN_VEC_CALL operator&(point a,point b) noexcept
public plane KLN_VEC_CALL operator&(point a,line b) noexcept
public plane KLN_VEC_CALL operator&(line b,point a) noexcept
public plane KLN_VEC_CALL operator&(point a,branch b) noexcept
public plane KLN_VEC_CALL operator&(branch b,point a) noexcept
public plane KLN_VEC_CALL operator&(point a,ideal_line b) noexcept
public plane KLN_VEC_CALL operator&(ideal_line b,point a) noexcept
public dual KLN_VEC_CALL operator&(plane a,point b) noexcept
public dual KLN_VEC_CALL operator&(point a,plane b) noexcept

Members

line KLN_VEC_CALL operator&(point a,point b) noexcept

plane KLN_VEC_CALL operator&(point a,line b) noexcept

plane KLN_VEC_CALL operator&(line b,point a) noexcept

plane KLN_VEC_CALL operator&(point a,branch b) noexcept

plane KLN_VEC_CALL operator&(branch b,point a) noexcept

plane KLN_VEC_CALL operator&(point a,ideal_line b) noexcept

plane KLN_VEC_CALL operator&(ideal_line b,point a) noexcept

dual KLN_VEC_CALL operator&(plane a,point b) noexcept

dual KLN_VEC_CALL operator&(point a,plane b) noexcept