• Advertisement
Sign in to follow this  

Collision of plane and sphere

This topic is 1602 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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 by Demx

Share this post


Link to post
Share on other sites
Advertisement

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Not sure what L*P is supposed to mean.

 

It means the dot product between the four-dimensional plane L = (Nx, Ny, Nz, D) and the homogeneous point P = (Px, Py, Pz, 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 (Nx, Ny, Nz, D) and the vector (Px, Py, Pz, 1).

Share this post


Link to post
Share on other sites

 

Not sure what L*P is supposed to mean.

 

It means the dot product between the four-dimensional plane L = (Nx, Ny, Nz, D) and the homogeneous point P = (Px, Py, Pz, 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 (Nx, Ny, Nz, D) and the vector (Px, Py, Pz, 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!

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement