def translation_matrix(dx=0, dy=0, dz=0): """ Return matrix for translation along vector (dx, dy, dz). """ return np.array([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [dx, dy, dz, 1]])
def rotate_z_matrix(radians): """ Return matrix for rotating about the z-axis by 'radians' radians """ c = np.cos(radians) s = np.sin(radians) return np.array([[c, -s, 0, 0], [s, c, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])
def identity_matrix(): return np.array([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])