def __apply_transformation_vec3(self, a_point): ''' Applies the transformation to a given Verctor3. :param a_point: Vector3 ''' return (Matrix33.from_quaternion(self.__rotation_quaternion).T * a_point) + Vector3.from_vector4(self.__translation)[0]
def test_euler_equivalence(self): eulers = euler.create_from_x_rotation(np.pi / 2.) m = Matrix33.from_x_rotation(np.pi / 2.) q = Quaternion.from_x_rotation(np.pi / 2.) qm = Matrix33.from_quaternion(q) em = Matrix33.from_eulers(eulers) self.assertTrue(np.allclose(qm, m)) self.assertTrue(np.allclose(qm, em)) self.assertTrue(np.allclose(m, em))