def transform(self): # quaternion realizing transformation q1 = np.array((np.cos(0.5 * self.axial), 0, 0, np.sin(0.5 * self.axial))) q2 = q.axis_mover(self.direction) return q.invert(q.prod(q1, q2))
def transform(self): # return quaternion giving coord trans # pay attention to vectorization; this might be weird for single rows? return q.invert( np.column_stack((np.cos(0.5 * self.angle), 0, -1.0 * np.sin(0.5 * self.angle), 0)) ) # rotate by negative angle