_______ __ _______ | | |.---.-..----.| |--..-----..----. | | |.-----..--.--.--..-----. | || _ || __|| < | -__|| _| | || -__|| | | ||__ --| |___|___||___._||____||__|__||_____||__| |__|____||_____||________||_____| on Gopher (inofficial) URI Visit Hacker News on the Web COMMENT PAGE FOR: URI Planes in 3D Space keithalewis wrote 21 hours 11 min ago: [1] would like to have a word with you. [2] was so impressed he wrote a book to explain it. It is much easier to just read and try to understand what smarter people than us spent their precious time on earth figuring out. Newton was on to something about standing on shoulders of giants.An option available to anyone. URI [1]: https://en.m.wikipedia.org/wiki/Hermann_Grassmann URI [2]: https://en.m.wikipedia.org/wiki/Giuseppe_Peano danielvaughn wrote 1 day ago: Those graphics are beautiful. dargscisyhp wrote 1 day ago: Great article, would love to know what you're using to create these diagrams! alexharri wrote 22 hours 50 min ago: They're created with ThreeJS and react-three-fiber. My website is open source, you can find all of the 3D scenes here: URI [1]: https://github.com/alexharri/website/tree/master/src/threejs... pixelpoet wrote 17 hours 17 min ago: Nice work, one thing (which you'll see everywhere once you've fixed it yourself) though: in TeX you want to escape functions like cos, i.e. use "\cos" not "cos", which will get rendered as a product of 3 variables c, o and s. alexharri wrote 10 hours 3 min ago: Just pushed a fix changing "cos" to "\cos", looks much better. Thank you! sleepingreset wrote 1 day ago: same! BenoitP wrote 1 day ago: What a wonderfully crafted piece. But a part of me can't refrain from saying it would have looked way more elegant and succinct in 3D Projective Geometric Algebra. Most of the last sections (all intersections) feel like corner cases, when in PGA they are one and the same. at_compile_time wrote 21 hours 52 min ago: Yup. Geometric algebra has one equation for each of: projection, rejection, join (e.g., two points into a line), and meet (e.g., two planes interacting at a line). The algebraic expression is the same regardless of the elements you're working with or the space you're working in. You get transformations too, as easy as M=b/a, where M can be applied to any element in the algebra by taking the square root and applying double-sided multiplication such that b = âM a ~âM, where tilde represents the reverse. These transformations are isomorphic to complex numbers, quaternions, and hypercomplex numbers, and understanding them makes other explanations of these concepts feel inadequate and woefully un-geometric. Add in logarithms and the exponential map for these transformations and we can perform linear interpolation between states and parametrize transformations. I'm just a motivated amateur and I can do all of these things. The vector algebra I learned in engineering is useful, and it's often all I need for simple 3-dimensional problems, but it's just shy of something far more powerful and far more general. sebastos wrote 1 day ago: For those interested, this appears to be a really high quality library that provides a 3D PGA C++ API: [1] I've always wanted to find an excuse to rebuild some projects at work around this. URI [1]: https://github.com/jeremyong/klein ngruhn wrote 1 day ago: I keep hearing this and I'm very interested. But most recommended resources I've seen so far are more targeted at Physicists. Any good text book for CS people? Edit: nevermind, read in other comments that [1] has a ton of resources. URI [1]: https://bivector.net/ greenbit wrote 1 day ago: "A plane in 3D space can be thought of as a flat surface that stretches infinitely far, splitting space into two halves." Fun fact - if you have the coefficients of the equation ax+by+cz+d=0 that represents your plane, you can plug any point (x,y,z) into the expression ax+by+cz+d, and the result will be positive in one half-space, and negative in the other. I think if you divide the values by sqrt(a^2+b^2+c^2), you end up with the distance from the point to the plane. Easy enough to see which half-space is which by plugging in the origin. I.e., if 'd' is positive, the origin is in the positive half. phkahler wrote 1 day ago: Fun fact. Take 4 points representing the vertices of a tetrahedron. Put them in a 4x4 matrix, using 1 as the 4th element then invert the matrix. The 4 row vectors of the result will be the coefficients for the plane equations of the faces of the tetrahedron. They'll be scaled such that the point not on a plane will evaluate to 1 when plugged into the equation. You can see this easily because multiplying the planes matrix by the points matrix is just plugging each of the 4 points into each of the 4 plane equations, and you get the identity matrix by definition. thechao wrote 1 day ago: > They'll be scaled such that the point not on a plane will evaluate to 1 when plugged into the equation. Evaluating a plane equation with a point will give a signed distance from the point to the plane. However, unless the equation is normalized, the distance could be scaled in unusual ways that are less than useful. I think a better way to say this is that a point who's shortest straight line distance to the line is 1 will evaluate to 1, after taking the absolute value. The LRBni ISA had a whole set of instructions designed to take advantage of signed distance fields defined in both plane equation & barycentric forms. (That's what the bit mask for the lanes was for, in part.) a1369209993 wrote 21 hours 30 min ago: > However, unless the equation is normalized, the distance could be scaled in unusual ways that are less than useful. > > []the[] point not on a plane will evaluate to 1 They mean the vertex (of the tetrahedron). The signed distance function is scaled such that the (single remaining) vertex that isn't at distance 0 (by construction) will instead be at distance 1. So the distance is always scaled in a unique well-defined way (assuming not all four points are coplanar). Whether that way of scaling is useful depends on your use case, of course. nbcomplete wrote 1 day ago: Due to lack of familiarity, I did not understand this description. I asked ChatGPT to clarify. In case it helps anyone else, I pasted its response below. I asked if this technique had a name, and it just made something up, so if you know what it's called please share. Feel free correct any mistakes. Here it is: This statement explains a mathematical relationship between the vertices of a tetrahedron and the plane equations of its faces using linear algebra. To break it down: 1. *Tetrahedron and Matrix Representation*: Consider a tetrahedron with four vertices. These vertices are represented as points in space. Each point can be described using three coordinates (x, y, z). These points are arranged in a 4x4 matrix, where each row represents one point, and the fourth element of each row is set to 1. 2. *Matrix Inversion*: This matrix is then inverted. Matrix inversion is a mathematical operation that finds the "inverse" of a matrix, which when multiplied by the original matrix, results in the identity matrix. 3. *Plane Equations*: The resulting inverted matrix will have four row vectors. These row vectors represent the coefficients of the plane equations of the faces of the tetrahedron. In other words, each row vector corresponds to a plane equation that defines one face of the tetrahedron. 4. *Scaling*: The coefficients are scaled such that when a point not lying on a particular face is plugged into the corresponding plane equation, it evaluates to 1. This scaling ensures that the point lies outside the plane. 5. *Multiplication*: Multiplying the inverted matrix (representing the plane equations) by the original matrix (representing the vertices) essentially plugs each vertex into each plane equation. The result should be the identity matrix, indicating that each point satisfies exactly one plane equation, which is consistent with the definition of a tetrahedron. In essence, this process uses linear algebra to relate the geometry of a tetrahedron to the equations of its faces, providing a systematic way to compute the equations of the planes that make up the tetrahedron's faces. radarsat1 wrote 1 day ago: Even though it's well intended, I feel like pasting in responses from ChatGPT should be against HN guidelines, if it's not yet. Reason is, if I want that type of explanation, I can go and get it myself. I come here for people's personal comments, not to read them regurgitate what they had an LLM generate. And I use ChatGPT all the time so don't get me wrong, I just think it doesn't add a lot to the discussion here and takes up a lot of room. robswc wrote 19 hours 56 min ago: I agree on principal and instinct... but then I realize how often people add quotes from Wikipedia or 1st or 2nd results from a google search. Maybe most of the bad vibe comes from the "wall of text" and "tone" ChatGPT outputs. radarsat1 wrote 15 min ago: Agreed. Terr_ wrote 1 day ago: I'm torn on this, because I don't want to have LLM stuff gunking everything up either, but I think there's a general case to be made for comments like: "For anyone who is confused about X like I was, I found this explanation." In other words, how would one exclude LLM regurgitation but permit Wikipedia quotes? amelius wrote 23 hours 9 min ago: Ask the LLM to cite a source, then use that. jsenn wrote 1 day ago: Another useful representation is as a point in spherical coordinates. The polar+azimuth angles encode the normal, and the radius encodes the distance from the origin. This is handy because it puts similar planes nearby in space. For example, it allows you to efficiently cluster objects by coplanarity using a spatial index. zodiac wrote 1 day ago: Interesting, in this representation a plane is represented by the point on it closest to the origin, right? jsenn wrote 1 day ago: Yes, that's a good way of thinking about it. 11001100 wrote 1 day ago: there is a great project using multiple planes in 3D space: URI [1]: https://cybernetic.dev/cube gary_0 wrote 1 day ago: I was recently algebra-ing down a complex 3D algorithm to speed it up, and it seemed peculiar how so many things can be boiled down into to a crap-ton of dot products. One of the recurring mathematical themes of the universe, I guess. ReleaseCandidat wrote 1 day ago: There is an error in the line's description, any normal of a line is perpendicular to the line itself (all through a point of the line are contained in a plane perpendicular to the line, with two special ones, the principal normal and the binormal, as with every curve) and does not point "in the direction of the line". A remark: a plane has two (different) unit length normals, which point in exactly opposite directions (one can be obtained by multiplying the other by -1). This determines the positive and negative half-spaces in which each plane splits the 3 dimensional space - the positive and negative direction, which appears for example in the distance calculation on the site. makerdiety wrote 1 day ago: > Learning about planes felt abstract and non-intuitive to me. âSure, that's a plane equation, but what do I do with it? What does a plane look like?â It took some time for me to build an intuition for how to reason about and work with them. Imagine how far human society can go if people dumped the desire for intuition that appeals to anthropocentric sensibilities. But I guess that's forbidden dark arts and wasting time with trivial pursuits and stuff is the culture to adopt while you're in the modern day Rome equivalent. y = mx + b is enough for me. harshaxnim wrote 1 day ago: Anthropomorphic intuition has its advantages - it cuts down the ideas search space with its learnt heuristics. We are intuitive beings, and system 2 thinking is very deliberate and not so natural to us. Secondly, it might often be intractable to process things with sys2 thinking. That said, I donât think anthropomorphic intuition is necessarily static; I can learn new intuitive skills with enough practice - for example, a person grown in a tribe with very rudimentary speech cannot intuit how to communicate even mildly non-simple ideas, but I can do half a decent job very intuitively. And finally I think even if you donât care for intuition, it cares for you. I mean, if you play with y=mx+c long enough, youâll gain an intuition, intuitively. So, with these devices (like visualisers etc.), weâre essentially trying to gain an intuitive understanding deliberately, which I see nothing wrong with. Itâs just meta intuition. makerdiety wrote 1 day ago: A preference for level two is what got us a general theory of relativity and, subsequently, working global positioning satellite technology. Having a cognitive bias toward visual presentations of planes in 3D and higher space leads to techno-scientific stagnation. cityofdelusion wrote 1 day ago: Intuition is just a starting point â and one that changes with experience gained. Two students can start to learn piano either âintuitivelyâ or mathematically and both end up at the same level of skill 30 years later. There isnât some linear path of progression based off where you start â thatâs whatâs amazing about the human brain, itâs incredibly parallel and mesh based. makerdiety wrote 1 day ago: The problem is that learning to play the piano isn't innovative. (So, technically, a monkey could eventually do it.) Because innovation is stifled by intuition. Particularly intuition meant to serve human ends. It's a simple equation: take away intuition and you're left with revolutions in technology and science. sqeaky wrote 1 day ago: I think you have this exactly backwards. Einstein applied his intuition to find gaps in special relativity. He had built an intuition for how light works and asked what happened in corner cases so he could rapidly understand the boundaries of. Then after finding those cases busted out the math to create a rigorous solution. Source: [1] "Level two" ? As if there is a single best way to think and we should all climb towards it? There are advantages and disadvantages to every approach. Find what works in a domain and keep experimenting. URI [1]: https://www.britannica.com/story/how-albert-einstein-dev... adrian_b wrote 1 day ago: The general relativity theory was not about gaps or corner cases of special relativity. It was about extending the theory outside its domain of applicability. The theory of special relativity showed how to transform the physical quantities between inertial reference systems, i.e. systems where Newton's law of inertia is true. The relative velocity between the origins of such systems must be constant and there must be no relative rotational movement between them. The theory of special relativity was not applicable to non-inertial reference systems, like one that has an accelerated motion relative to an inertial system. Einstein's quest has been to find the transformation relations for this more general case. Together with the theory of the stimulated emission of radiation (1917), this has been the most original part of Einstein's work, because the previous transformations of the special relativity had been discovered before Einstein, he had just given a new explanation for them. The only intuition related to general relativity was the guiding principle that whatever transformations will be found they must lead to indistinguishable local behavior of the forces of gravity vs. the forces of inertia. makerdiety wrote 1 day ago: Karl Marx said something along the lines of "Each man does a job according to his abilities." Something like that. I take it, then, this modern society and civilization wants to specialize in low level technician style work and wait for aliens or angels to come and do the hard work of inventing faster than light travel? You know, intuition is the best scientists and engineers can do and all. xanderlewis wrote 1 day ago: "From each according to his ability, to each according to his needs" mwexler wrote 1 day ago: Just to get it out of the way, I assumed just from the title that this was about airplanes in 3d space and was excited to see what I was missing, as I thought they all flew in a 3 dimensional context. I know I'm not the only one... ReleaseCandidat wrote 1 day ago: There are woodworking planes too, with which the title makes more sense. memco wrote 1 day ago: Are bivectors a 4th way to express planes in 3D space or is that what the 3rd method the article describes is. I didnât see them mentioned anywhere in the article. I only have a cursory knowledge of their existence and use so not totally sure how they fit, but I feel like they should. tsuru wrote 1 day ago: If you use 3D Plane-based Geometric Algebra ( [1] ) planes are vector elements and bivectors could be the line intersection of two planes. I'm grossly simplifying here, see link for more info on this interpretation. There are more algebras that have other interpretations of bivectors. URI [1]: https://bivector.net shiandow wrote 1 day ago: Shame this doesn't include my favorite description, a 4d vector in projective affine coordinates. Instead of a normal and point or constant you get (x,y,z,1) . P = 0. The translation between the two is trivial. If you want a plane spanned by 3 points you just can use the generalized cross product to find P. One advantage is that you can avoid all the special cases with 3 intersecting planes. There exists exactly 1 point that is on all 3 planes, but as this is in projective coordinates it might lie at infinity. alexharri wrote 1 day ago: I haven't heard of this before, I'd be interested in learning more about how this is useful. Do you know of a good resource to read more about this? shiandow wrote 1 day ago: I honestly don't know, I encountered the concept during my study, but it took lots of practice to get comfortable with it. Most articles I encounter are too practical to really foster understanding, or too technical to work as an introduction. You can start with a description of how projective matrices work (and how translation and rotation are related to it). After that, best tips I can give are start with 2D until you can't bear to see another cross product. Then get familiar with Cramer's rule and higher dimensions. You'll need sone fluency in linear algebra. My first practical use of the concept was to rectify photographs where e.g. a building was not quite upright. That might be a good starting point. alexharri wrote 1 day ago: Thanks a lot, will use this as a starting point boppo1 wrote 1 day ago: Do you have any good resources for developing an intuition about the projective plane? randv wrote 1 day ago: super cool...thanks DIR <- back to front page