Left- and Right-Handed Coordinate Systems

Lately I’ve been working the core engine math library, and as a result had to delve into the wonderful world of “handedness”. This part of implementing a cohesive math library has always been a stumbling block for me in the past, so this time around things are much clearer. Here are some of my notes.

Left-Handed Coordinate System Right-Handed Coordinate System
left-handed right-handed
Matrix Layout: Row Vectors Matrix Layout: Column Vectors
rowvectors columnvectors
Matrix Multiplication:

[pmath size=15]M = M_1M_2{cdots}M_n[/pmath]
Matrix Multiplication:

[pmath size=15]M = M_n{cdots}M_2M_1[/pmath]
Polygon Winding: Clockwise Polygon Winding: Counter-Clockwise