Plane-to-plane
Two planes intersecting results in an infinite line between the two planes:
We don't actually care about this line. We just want a true or false Boolean to know if the planes intersect. Two planes intersect if they are not parallel. If the normals of the plane point in different directions, the planes intersect. If the normals of the plane point in the same direction, they do not intersect.
Getting ready
We are going to implement a function to test if two planes intersect. This function will only return a Boolean result, not the line of intersection.
How to do it…
Follow the given steps to determine if two planes are intersecting:
Declare the
PlanePlane
function inGeometry3D.h
:bool PlanePlane(const Plane& plane1, const Plane& plane2);
Implement the
PlanePlane
function inGeometry3D.cpp
:bool PlanePlane(const Plane& plane1, const Plane& plane2) {
Compute the direction of the intersection line
// Cross product returns 0 when used on parallel lines vec3 d = Cross(plane1...