def test_rotmat_0(self): """Test rotmat when the rotation is 0 deg (singularity).""" v1 = Vector([1.0, 0.8, 0]) v2 = Vector([1.0, 0.8, 0]) rot = rotmat(v1, v2) v3 = v1.left_multiply(rot) self.assertTrue(numpy.allclose(v1.get_array(), v3.get_array()))
def test_refmat(self): v1 = Vector(0, 0, 1) v2 = Vector(0, 1, 0) ref = refmat(v1, v2) self.assertTrue(numpy.allclose(ref[0], [1.0, 0.0, 0.0])) self.assertTrue(numpy.allclose(ref[1], [0.0, 0.0, 1.0])) self.assertTrue(numpy.allclose(ref[2], [0.0, 1.0, 0.0])) self.assertTrue( numpy.allclose(v1.left_multiply(ref).get_array(), [0.0, 1.0, 0.0]))
def test_refmat(self): """Test refmat can mirror one matrix to another.""" v1 = Vector(0, 0, 1) v2 = Vector(0, 1, 0) ref = refmat(v1, v2) self.assertTrue(numpy.allclose(ref[0], [1.0, 0.0, 0.0])) self.assertTrue(numpy.allclose(ref[1], [0.0, 0.0, 1.0])) self.assertTrue(numpy.allclose(ref[2], [0.0, 1.0, 0.0])) self.assertTrue( numpy.allclose(v1.left_multiply(ref).get_array(), [0.0, 1.0, 0.0]))
def test_rotmat_90(self): """Test regular 90 deg rotation.""" v1 = Vector(0, 0, 1) v2 = Vector(0, 1, 0) rot = rotmat(v1, v2) self.assertTrue(numpy.allclose(rot[0], numpy.array([1.0, 0.0, 0.0]))) self.assertTrue(numpy.allclose(rot[1], numpy.array([0.0, 0.0, 1.0]))) self.assertTrue(numpy.allclose(rot[2], numpy.array([0.0, -1.0, 0.0]))) self.assertTrue( numpy.allclose(v1.left_multiply(rot).get_array(), [0.0, 1.0, 0.0])) self.assertTrue( numpy.allclose( v1.right_multiply(numpy.transpose(rot)).get_array(), [0.0, 1.0, 0.0]))