-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Game Physics Cookbook
By :
A point in 3D is very similar to a point in 2D. The 3D point adds a new Z component:

Like the 2D point, the 3D point can also be expressed by a vector. The point is where the vector points to.
We are going to create a new header file for 3D geometry, Geometry3D.h. All future 3D geometry will be added to this file. Because a 3D point has the same definition as a 3D vector, we're not creating a point struct. Instead we are going to re-declare the vec3 struct as a point using the typedef keyword.
Follow these steps to redefine a 3D vector as a 3D point:
Create a new C++ header file, call this file Geometry3D.h.
Add the basic header guards to the file and include vectors.h and matrices.h:
#ifndef _H_GEOMETRY_3D_ #define _H_GEOMETRY_3D_ #include "vectors.h" #include "matrices.h" #endif
Because a Point has the same definition as a 3D vector, we are not going to make a new Point structure. Instead, we will re-define vec3 as Point using a typedef:
typedef vec3 Point;