Skip to main content

Brownie

This is an photo I shot of our young dog. She is only four months old, and cute as a button.

Brownie

3D Math Primer - Cartesian Coordinate Systems

At work I am currently doing simulation and rendering of 3D models, and need to brush up on related mathematics. I was recommended a book on the subject called 3D Math Primer for Graphics and Game Development, 2nd edition. Although the title contains the words game development, the main focus of the book is on 3D math and the geometry and algebra of 3D space. It is also written in an informal and relaxed style, making it a fun read as well as a useful one.

I will chronicle my learning journey here.

1D Mathematics

The book starts with the absolute basics covering 1D mathematics and number lines (with the numbers represented as dead sheep, and negative numbers as ghost sheep). At this point it was becoming obvious that this was no regular textbook, but although the language is tongue-in-cheek, the book is a thorough treatment of the subject matter. The chapter quickly convers natural numbers, real numbers and rational numbers.

2D Cartesian Space

The book moves on to 2D Cartesian Space, and quickly covers origins, axes and axes orientation. We quickly learn that axes orientation is an arbitrary concept, and that it 2D space we can alway rotate the coordinate space to whatever orientation we want.

3D Cartesian Space

Adding a third axis to a plane creating a 3D space increases the difficulty for humans to visualize and describe the space. In 3D space points are specified using the numbers \(x\), \(y\) and \(z\), which give the signed distance to the planes \(yz\), \(xz\) and \(xy\) planes respectively.

All 3D coordinate spaces are not equal. While 2D coordinate spaces can always be rotated to line up with each other, this is not the case with 3D coordinate spaces. There are two distinct types, left-handed coordinate spaces and right-handed coordinate spaces. If two coordinate spaces have the same handedness, they can always be rotated so that the axes are aligned, but if they are of opposite handedness, this is not possible.

The easiest way to visualize this is having the thumb, index and middle finger pointing in perpendicular directions, signalling the positive direction of the three axes. The left and the right hand can never have the same orientation for all the three axes at the same time.

The definition of positive rotation is also different for left- and right-handed coordinate systems. Holding the hand with the thumb up, and the direction of the thumb representing the positive side of the axis, positive rotation around the axis is the direction in which the other fingers are curled.

Trigonometry

The final part of the chapter gives a brief overview of trigonometric functions, their values and properties as they relate to 3D Math.

Notes on Learning

On this site I will document the things I do, and write about the things I want to learn, and the process of learning them. The idea is to provide a structure for myself while learning, but my hope is that this also can serve as help for other people trying to learn the same things.

The stuff I write about will for the most part be related to computers, maths and music, as these are the things I work with and care about. However when the mood strikes I will post on other subjects as well.