How to project a point onto a plane in 3D?

1) Make a vector from your orig point to the point of interest:

v = point-orig (in each dimension);

2) Take the dot product of that vector with the unit normal vector n:

dist = vx*nx + vy*ny + vz*nz; dist = scalar distance from point to plane along the normal

3) Multiply the unit normal vector by the distance, and subtract that vector from your point.

projected_point = point - dist*normal;

Edit with picture: I’ve modified your picture a bit. Red is v; v dot normal = length of blue and green (dist above). Blue is normal*dist. Green = blue * -1 : to find planar_xyz, start from point and add the green vector.

Share Follow edited May 8 ’18 at 2:07ACVM 1,45266 silver badges1414 bronze badges answered Mar 7 ’12 at 16:46

Leave a Comment