Point and AABB
If we think of an Axis Aligned Bounding Box (AABB) as a Min and Max point, a test point is only inside the AABB if it is greater than Min and less than Max. Similarly, to get the closest point to a test point on the surface of the AABB, we just have to clamp the test point to the min and max points of the AABB:
Getting ready
We are going to implement a function to test if a point is contained within an Axis Aligned Bounding Box. This test will compare the point component-wise to the min and max points of the AABB. We are also going to implement a function to find the point on the Axis Aligned Bounding Box closest to a given test point. To find the closest point, we will clamp the test point to the min and max points of the AABB, component-wise.
How to do it…
Perform the following steps to implement point tests for an AABB:
Declare
PointInAABB
andClosestPoint
inGeometry3D.h
:bool PointInAABB(const Point& point, const AABB& aabb); Point ClosestPoint(const AABB&aabb,...