Ejemplo n.º 1
0
    def test_trig_utilties(self):
        """Testing Vector2 cos() and sin() utilities"""

        r2 = math.sqrt(2)
        r3 = math.sqrt(3)
        yr3 = y * r3

        self.assertTrue(Vector2.close((x + y).cos(y), 1 / r2))
        self.assertTrue(Vector2.close(x.cos(x + yr3), 0.5))

        self.assertTrue(Vector2.close((x + y).sin(y), 1 / r2))
        self.assertTrue(Vector2.close(x.sin(x + yr3), r3 / 2))
Ejemplo n.º 2
0
    def test_angle(self):
        """Testing Vector2.angle()"""

        dr = math.radians

        for i in range(-179, +179):  # anticlockwise angle from x
            self.assertTrue(
                Vector2.close(
                    x.angle(x * math.cos(dr(i)) + y * math.sin(dr(i))), dr(i)))
Ejemplo n.º 3
0
    def test_close(self):
        """Testing Vector2.close()"""

        self.assertFalse(Vector2.close(1, 2), 'Vector2.close() failed')
        self.assertTrue(Vector2.close(1, 1 + 1e-100), 'Vector2.close() failed')
Ejemplo n.º 4
0
    def test_smallestAngleToNormalPlane(self):
        """Testing Vector2.smallestAngleToNormalPlane()"""

        dr = math.radians

        # first vector is y, second vector is 0 degrees anti-clockwise from x axis
        self.assertTrue(Vector2.close(dr(0), y.smallestAngleToNormalPlane(x)))
        self.assertTrue(
            Vector2.close(dr(+45), y.smallestAngleToNormalPlane(x + y)))  # +45
        self.assertTrue(Vector2.close(dr(+90),
                                      y.smallestAngleToNormalPlane(y)))  # +90
        self.assertTrue(
            Vector2.close(dr(+45),
                          y.smallestAngleToNormalPlane(-x + -y)))  # +135
        self.assertTrue(Vector2.close(
            dr(0), y.smallestAngleToNormalPlane(-x)))  # +180
        self.assertTrue(
            Vector2.close(dr(+45),
                          y.smallestAngleToNormalPlane(-x + -y)))  # +225
        self.assertTrue(
            Vector2.close(dr(+90), y.smallestAngleToNormalPlane(-y)))  # +270
        self.assertTrue(
            Vector2.close(dr(+45),
                          y.smallestAngleToNormalPlane(-x + -y)))  # +315
        self.assertTrue(Vector2.close(dr(0),
                                      y.smallestAngleToNormalPlane(x)))  # +360

        p2 = math.pi / 2
        p4 = math.pi / 4

        # original tests
        self.assertTrue(Vector2.close(y.smallestAngleToNormalPlane(y), p2))
        self.assertTrue(Vector2.close(y.smallestAngleToNormalPlane(y * 2), p2))
        self.assertTrue(Vector2.close(y.smallestAngleToNormalPlane(x), 0))
        self.assertTrue(Vector2.close(y.smallestAngleToNormalPlane(-x), 0))
        self.assertTrue(
            Vector2.close((x + y).smallestAngleToNormalPlane(x), p4))
        self.assertTrue(
            Vector2.close((x - y).smallestAngleToNormalPlane(x), p4))
Ejemplo n.º 5
0
    def test_close(self):
        """Testing Vector2.close()"""

        self.assertTrue(Vector2.close(0, Vector2.closeRadius() / 2))