3D Mathematics

What in the world is a Dual-Quaternion?

Dual quaternions are relatively new. You don't find them in many computer graphics books and very few people use them. Nonetheless, it is a mathematical concept you should be aware of if you are planning to develop a game engine.

Developing a Math Engine in C++: Implementing Quaternions

Developing a Math Engine in C++: Implementing Quaternions

Matrices are used to rotate 3D objects. However, they tend to be slow and consume too much memory. An alternative to matrices are quaternions. In this post, you will learn how to implement quaternions using C++ in the math engine.

Developing a Math Engine in C++: Implementing Matrices

Developing a Math Engine in C++: Implementing Matrices

In this post you will learn how to implement matrices in a game engine. Matrices are used to rotate, scale and skew 3D objects.

Developing a Math Engine in C++: Implementing Vectors

Developing a Math Engine in C++: Implementing Vectors

A math engine is an API that contains functions that allows 3D objects to translate/rotate. In this post, you will learn how to implement a Vector class in C++. This class will be used to translate 3D objects across a screen.

From Model Space to Screen Space- OpenGL Space Transformations

Transformations are not only used to rotate, scale or skew a coordinate system. They are also used to completely transform a coordinate system into a totally different coordinate system. For example, transforming a 3D coordinate system into a 2D coordinate system. This is what OpenGL does. It converts the 3D coordinate system of a character into a