def test_angle(self): """ """ v1 = Vector(1, 0, 0) v2 = Vector(0, 1, 0) self.assertTrue(abs(v1.get_angle(v2) - 90) < 10**-PRECISION) v1 = Vector(1, 0, 0) v2 = Vector(2, 0, 0) self.assertTrue(abs(v1.get_angle(v2) - 0) < 10**-PRECISION) v1 = Vector(1, 0, 0) v2 = Vector(1, 1, 0) self.assertTrue(abs(v1.get_angle(v2) - 45) < 10**-PRECISION) a = Vector(0, 0, 0).get_angle((1, 1, 1)) self.assertEqual(a, None) a = Vector(1, 1, 1).get_angle((0, 0, 0)) self.assertEqual(a, None)
def test___mul__2(self): """ """ v1 = Vector(1, 2, 3) v2 = Vector(4, 5, 6) self.assertEqual(v1 * v2, 1 * 4 + 2 * 5 + 3 * 6) self.assertEqual( v1 * v2, v1.magnitude * v2.magnitude * np.cos(np.radians(v1.get_angle(v2))))
def test___matmul__(self): """ """ v1 = Vector(1, 2, 3) v2 = Vector(4, 5, 6) v = v1 @ v2 self.assertTrue( abs(v.magnitude - (v1.magnitude * v2.magnitude * np.sin(np.radians(v1.get_angle(v2))))) < 10**-PRECISION)