Mathematics for 3D games programming and computer graphics