Rz1: matrix( [c1, -s1, 0], [s1, c1, 0], [0, 0, 1] ); Ry: matrix( [c2, 0, s2], [ 0, 1, 0],[-s2, 0, c2] ); Rz2: matrix( [c3, -s3, 0], [s3, c3, 0], [0, 0, 1] ); R: Rz2 . Ry . Rz1;