If B is a point pair, you can also just get its centre with c = down(B einf B) and its 'dipole vector' d = [ √(a²)/(a⋅einf) ]. Here, [ x ] means discard the conformal components. The two points are then c ± d.
This has the same problem I said at the start that it won't work if one of the points is the point at infinity (as I think you know, Leo calls these "flat" point pairs, though this terminology drives Chris Doran and Joan Lasenby barmy). Such things maybe seems like not that big of a deal. But point pairs where one is the point at infinity are extremely common. Uniform scalings are precisely such point pairs. So are point reflections, which are the only things one can call "points" that are euclidean transformations as versors (these are PGA points). You get one whenever you meet a line and a plane.
Something else, that's only occurred to me now. One might also have a point pair with a diameter of 0. Or a point pair where both points are at infinity, like e₁₊+ e₁₋ = e1∞. In this situation there are no two null vectors that wedge together to get B.
But you can still get a pair of vectors that wedge to B that *aren't* null. They'll be reflection spheres (as Pin+ elements) tangent at B with one point "in" one sphere and the other in the other. My formula gives you those if you just skip the normalization step (you have to since B⋅B = 0)
If B is a point pair, you can also just get its centre with c = down(B einf B) and its 'dipole vector' d = [ √(a²)/(a⋅einf) ]. Here, [ x ] means discard the conformal components. The two points are then c ± d.
This has the same problem I said at the start that it won't work if one of the points is the point at infinity (as I think you know, Leo calls these "flat" point pairs, though this terminology drives Chris Doran and Joan Lasenby barmy). Such things maybe seems like not that big of a deal. But point pairs where one is the point at infinity are extremely common. Uniform scalings are precisely such point pairs. So are point reflections, which are the only things one can call "points" that are euclidean transformations as versors (these are PGA points). You get one whenever you meet a line and a plane.
Something else, that's only occurred to me now. One might also have a point pair with a diameter of 0. Or a point pair where both points are at infinity, like e₁₊+ e₁₋ = e1∞. In this situation there are no two null vectors that wedge together to get B.
But you can still get a pair of vectors that wedge to B that *aren't* null. They'll be reflection spheres (as Pin+ elements) tangent at B with one point "in" one sphere and the other in the other. My formula gives you those if you just skip the normalization step (you have to since B⋅B = 0)