• Create Account

## Point-Plane distance

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

3 replies to this topic

### #1cold_heats_.--.  Members

127
Like
0Likes
Like

Posted 27 August 2012 - 08:59 AM

Hello.
I am following WildBunny's tutorial regarding a simple physics engine :
http://www.wildbunny...es-for-dummies/
However, I have some trouble understanding this part :

"
for all particles i
{
for all planes j
{
distance = P[i].x*Planes[j].a + P[i].y*Planes[j].b + Planes[j].c;

if (distance < 0)
{
// collision responce
}
}
}
What this code is doing is finding, by projection, how much of the vector from the plane to the particle is in the direction of the plane normal."

If every particle is determined by its (x,y) point, isn't this a vector from the origin to that point ?

This line :
"distance = P[i].x*Planes[j].a + P[i].y*Planes[j].b + Planes[j].c"
doesnt actually compute the dot product of the origin-point vector and plane normal rather than the plane-point(vector) and normal dot-product?

I drew some sketches so you can see my point.I am testing a particle against the plane who's normal isnt normalized .
[Sorry, I actually mean dot-product , not cross ] .

I know there's a flaw in my reasoning, but I dont seem to get it .

Edited by cold_heats_.--., 27 August 2012 - 09:55 AM.

### #2Álvaro  Members

20272
Like
0Likes
Like

Posted 27 August 2012 - 09:32 AM

"Plane" is a really odd name for a line on a plane. Actually, I think those objects should be called half-planes, because they seem to be the sets of points that satisfy Ax+By+C<0.

I don't understand your question at all. There is no cross product in 2D. All the code is doing is checking which particles seem to violate some constraints, with each constraint expressed as a half plane of forbidden positions.

### #3cold_heats_.--.  Members

127
Like
0Likes
Like

Posted 27 August 2012 - 10:00 AM

@alvaro , the author does specify they are actually lines when we refer to 2D.
My question is why does he say he computes the dot product between the vector-from-the-plane-to-point and plane-normal , if the line
" distance = P[i].x*Planes[j].a + P[i].y*Planes[j].b + Planes[j].c; " calculates the dot product between the vector-from-the-origin-to-point and the plane-normal ?

### #4Álvaro  Members

20272
Like
0Likes
Like

Posted 27 August 2012 - 11:55 AM

We have already established that the author is not tremendously careful with language, so I wouldn't worry a whole lot about the exact wording. That said, he is basically right. The formula for the "the dot product between the vector-from-the-origin-to-point and the plane-normal" wouldn't have `+ Planes[j].c]' at the end.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.