Demx 389 Report post Posted September 2, 2013 (edited) hi, I'm reading the book Mathematics for 3d game programming and computer graphics, and got a doubt in the mentioned section ( page 362 ). It says the distance between a point P ( center of sphere ) and L ( defined as < N, D > ) can be defined as L*P = r. Then the book says the relationship can also be written as N*P + D = r. Is this correct? Shouldn't it really be N*P - D = r? Thanks Edited September 2, 2013 by Demx 0 Share this post Link to post Share on other sites
Mussi 4407 Report post Posted September 2, 2013 Not sure what L*P is supposed to mean. I suppose with N*P you mean the dot product between normal N and point P. Depending on how you define your plane, you should either add or subtract D. In the case of Ax + Bx + Cz = D, you should subtract D. And in the case of Ax + Bx + Cz + D = 0, you should add D. Also note that N needs to be normalized for this. If it's not, you should use the following (N.P +- D) / |N| = r. 0 Share this post Link to post Share on other sites
Cosmic314 2002 Report post Posted September 2, 2013 Wolfram to the rescue: http://mathworld.wolfram.com/Point-PlaneDistance.html See the subtopic / link to Hessian normal form: http://mathworld.wolfram.com/HessianNormalForm.html Basically, the book is correct. If 'r' is positive then your point is on the side of the plane to where the normal points. If 'r' is negative, it's on the opposite side. 1 Share this post Link to post Share on other sites
Eric Lengyel 3460 Report post Posted September 2, 2013 Not sure what L*P is supposed to mean. It means the dot product between the four-dimensional plane L = (N_{x}, N_{y}, N_{z}, D) and the homogeneous point P = (P_{x}, P_{y}, P_{z}, 1). The plus sign in the book is correct. If you're familiar with my more recent talks on Grassmann Algebra, then this is more accurately stated as the wedge product between the antivector (N_{x}, N_{y}, N_{z}, D) and the vector (P_{x}, P_{y}, P_{z}, 1). 2 Share this post Link to post Share on other sites
Mussi 4407 Report post Posted September 3, 2013 Not sure what L*P is supposed to mean. It means the dot product between the four-dimensional plane L = (N_{x}, N_{y}, N_{z}, D) and the homogeneous point P = (P_{x}, P_{y}, P_{z}, 1). The plus sign in the book is correct. If you're familiar with my more recent talks on Grassmann Algebra, then this is more accurately stated as the wedge product between the antivector (N_{x}, N_{y}, N_{z}, D) and the vector (P_{x}, P_{y}, P_{z}, 1). Aha yes, I remember the wedge product from a distant geometric algebra course. I'm assuming the OP cited the notation wrongly(should be L^P right?). Thank you for the link, seems very extensive! 0 Share this post Link to post Share on other sites