2 ms·
A point is the intersection of two "generic" lines in an ambient 2-d space. But you can have coincident lines which intersect in a line, or parallel non-coinci
by wnoise 6y ago
A point is the intersection of two "generic" lines in an ambient 2-d space. But you can have coincident lines which intersect in a line, or parallel non-coincident lines which have no intersection. Further, in 3-d, the majority of lines are "skew", and neither parallel nor intersecting.
Similarly in an ambient 3-d space, 2 generic planes intersect to give a line. But the planes can also be coincident or parallel. And in higher ambient spaces can intersect at only a point, rather than a line, or even fail to intersect in a non-parallel way.
In 4-d space, the intersection of two generic 3-d spaces does indeed give a plane, with exactly similar caveats.
The standard GA doesn't directly represent general lines or planes, however. The elements are the equivalent of "vectors" rather than "points", and always go through 0. The obvious way to handle these are parameterizing the lines and surfaces, but you're essentially working with equations for the surfaces, and keeping track of the variables.
The slick way of handling it is with _projective_ geometric algebra, and intersections turn into "meets". The meet of two parallel lines (planes) is now a "point (line) at infinity", and of a (line, plane) with itself is the line (plane) again. Skew lines have a meet of 0 (not the point 0, the number 0).
- bawana 6y agothanks again internet. some unknown intelligence, ironically named, wnoise, is confirming my intuition. That a plane is the result of two intersecting 3d volumes in a 4d space. And 'our' 3d space (where the meat lives) is the intersection of 2 4d volumes in a 5d space. But dear Wnoise, enlighten me about ' _projective_ geometric algebra, and intersections turn into "meets".' Where can I find the book, 'Projective_ geometric algebra' for dummies?
- wnoise 6y agoI don't have a book recommendation handy. It's "just" a combination of two neat techniques. Get books on each of those and understand them each, and you have the combination. GA has been well discussed here, so, the other half: Projectivization is a fairly standard trick even for normal geometry. It's adding an additional dimension, which is in most contexts just set to 1. (Projective actually just means treating all points on a ray as equivalent; this loses the dimension you just gained It lets rotations and translations be treated in a nearly uniform manner, and lets you do rotations around points that aren't the origin. It's used all over the place in much graphics code (usually under the name homogeneous coördinates). The last section of https://en.wikipedia.org/wiki/Homogeneous_coordinates https://en.wikipedia.org/wiki/Homogeneous_coordinates discusses this briefly. For online resources for the combination: another commenter has recommended https://bivector.net/ https://bivector.net/ , and it looks okay, with sections specifically on 2 and 3 dimensional projective geometric algebra. There is also the nice C++ header library klein: https://www.jeremyong.com/klein/ https://www.jeremyong.com/klein/