Check which side of a plane points are on
3d, math, pseudocode
Solution
Let `a*x+b*y+c*z+d=0` be the equation determining your plane.
Substitute the `[x,y,z]` coordinates of a point into the left hand side of the equation (I mean the `a*x+b*y+c*z+d`) and look at the sign of the result.
The points having the same sign are on the same side of the plane.
Honestly, I did not examine the details of what you wrote. I guess you agree that what I propose is simpler.
Problem
I'm trying to take an array of 3D points and a plane and divide the points up into 2 arrays based on which side of the plane they are on. Before I get to heavily into debugging I wanted to post what I'm planning on doing to make sure my understanding of how to do this will work. Basically I have the plane with 3 points and I use (pseudo code): ``` var v1 = new vector(plane.b.x-plane.a.x, plane.b.y-plane.a.y, plane.b.z-plane.a.z); var v2 = new vector(plane.c.x-plane.a.x, plane.c.y-plane.a.y, plane.c.z-plane.a.z); ``` I take the cross product of these two vectors to get the normal vector. Then I loop through my array of points and turn them into vectors and calculate the dot product against the normal. Then i use the dot product to determine the side that the point is on. Does this sound like it would work?