@property
def matrix(self):
    r_matrix = quat_to_matrix(self.quat)
    tmp = np.identity(4)
    tmp[0, :3] = r_matrix[0]
    tmp[1, :3] = r_matrix[1]
    tmp[2, :3] = r_matrix[2]
    t_matrix = np.array([[1, 0, 0, self.position[0]], [0, 1, 0, self.position[1]], [0, 0, 1, self.position[2]], [0, 0, 0, 1]], dtype=np.float32)
    return ((np.identity(4) @ t_matrix) @ tmp)
@property
def matrix(self):
    r_matrix = quat_to_matrix(self.quat)
    tmp = np.identity(4)
    tmp[0, :3] = r_matrix[0]
    tmp[1, :3] = r_matrix[1]
    tmp[2, :3] = r_matrix[2]
    t_matrix = np.array([[1, 0, 0, self.position[0]], [0, 1, 0, self.position[1]], [0, 0, 1, self.position[2]], [0, 0, 0, 1]], dtype=np.float32)
    return ((np.identity(4) @ t_matrix) @ tmp)