3 ms·
I don't quite follow where you are deriving the reflection of a vector across another vector. You seem to assume that it is the parallel part which needs to b
by rhelz 3y ago
I don't quite follow where you are deriving the reflection of a vector across another vector. You seem to assume that it is the parallel part which needs to be flipped--isn't it the perpendicular part?
And the GA derivation doesn't seem that much different from the operator-based one, viz:
let a||b be the component of a parallel to b, let a_|_b be the component of a perpendicular to b:
I too would start where your operator-style derivation starts, i.e.
a reflected across b = (a||b) - (a_|_b) (flipping the perpendicular, not the parallel, component).
Given that a||b = (a.b)/b and (a_|_b) = (a^b)/b, we can express it as:
a reflected across b = (a.b)/b - (a^b)/b
Because the geometric product is associative, we can factor out the division by b, and rewrite it as:
= ((a.b)- (a^b))/b
Now, the numerator, (a.b) - (a^b), just looks so *achingly* close to a geometric product, doesn't it? If only we could somehow swap the sign of the exterior product....well, gee whiz, all we have to do is swap the order of the arguments!
= ((b.a) + (b^a))/b
= (b*a)/b
Substituting in for the definition of 1/b, we get the sandwich product
= (b*a*b)/(b*b)
which, if b is a unit vector, = b*a*b. If we start out with b as a unit vector, the derivation is so simple it feels like cheating:
a reflected across b = (a.b)*b - (a^b)*b = (a.b - a^b)* b = (b.a + b^a)*b = b*a*b.
Is that really so much harder to derive, or does it really give that much harder of a formula to remember, than the operator-based approach? If so, can you spell it out a bit?
To me anyways, the geometric product really shines here: because it operates so much like ordinary (though order-dependent) multiplication, its easy for me to use my mad algebra skillz to wrangle the expression into any particular form which is handy to me.