def test_rotation_aligning_vectors(self): vec1 = (2,0,0) vec2 = (0,3,0) mat = transformations.rotation_aligning_vectors(vec1, vec2) self.assertVecsEqual( numpy.dot(mat, vec1), (0,2,0) ) mat0 = transformations.rotation_aligning_vectors(vec1, vec1) self.assertTrue( Affine(linear=mat0).is_identity() )
def tracer_coordinate_system(self): rotation = Affine(linear=rotation_aligning_vectors((0,0,1), self.axis)) scaling = Affine(scaling=(self.R, self.R, self.height)) return rotation(scaling)
def tracer_coordinate_system(self): return Affine( linear = rotation_aligning_vectors((1,0,0), self.normal), translation = -numpy.ravel(self.normal)*self.h )