def test_inverse(self): t = Affine(linear=self.randomMatrix(), translation=self.randomVector()) inv = t.inverse() self.assertTrue(inv(t).is_identity()) self.assertTrue((inv * t).is_identity())
def test_orthogonality(self): self.assertTrue( Affine.identity().is_orthogonal() ) self.assertTrue( Affine( rotation_axis=self.randomVector(), rotation_deg=numpy.random.rand()*360).is_orthogonal() ) self.assertFalse( Affine(scaling=2.0).is_orthogonal() )
def test_identity(self): vec = self.randomVector() t = Affine.identity() self.assertVecsEqual( vec, t(vec) ) self.assertTrue( t.is_identity() ) self.assertFalse( Affine(translation=(1,2,3)).is_identity() ) self.assertFalse( Affine(rotation_axis='y', rotation_deg=10).is_identity() ) rotCcw = Affine(rotation_axis=(1,0,0), rotation_deg=90) rotCw = Affine(rotation_axis='x', rotation_deg=-90) self.assertTrue(rotCcw(rotCw).is_identity())
def tracer_coordinate_system(self): return Affine.identity()