コード例 #1
0
    def test_rotate_degrees_clockwise(self):
        """Tests rotating a vector degrees clockwise."""
        base = (1.0, 0.0)

        not_rotated = Telemetry.rotate_degrees_clockwise(base, 0.0)
        self.assertAlmostEqual(not_rotated[0], base[0])
        self.assertAlmostEqual(not_rotated[1], base[1])

        ninety = Telemetry.rotate_degrees_clockwise(base, 90.0)
        self.assertAlmostEqual(ninety[0], 0.0)
        self.assertAlmostEqual(ninety[1], -1.0)

        one_eighty = Telemetry.rotate_degrees_clockwise(base, 180.0)
        self.assertAlmostEqual(one_eighty[0], -base[0])
        self.assertAlmostEqual(one_eighty[1], base[1])

        two_seventy = Telemetry.rotate_degrees_clockwise(base, 270.0)
        self.assertAlmostEqual(two_seventy[0], 0.0)
        self.assertAlmostEqual(two_seventy[1], 1.0)

        three_sixty = Telemetry.rotate_degrees_clockwise(base, 360.0)
        self.assertAlmostEqual(three_sixty[0], base[0])
        self.assertAlmostEqual(three_sixty[1], base[1])

        negative_ninety = Telemetry.rotate_degrees_clockwise(base, -90.0)
        self.assertAlmostEqual(negative_ninety[0], two_seventy[0])
        self.assertAlmostEqual(negative_ninety[1], two_seventy[1])
コード例 #2
0
    def _get_extended_waypoint(self):
        """Returns the extended waypoint."""
        if self._current_waypoint_index == 0:
            return self._waypoints[0]
        if (self._current_waypoint_index >= 1
                and self._current_waypoint_index < len(self._waypoints)):
            previous_waypoint_m = self._waypoints[self._current_waypoint_index
                                                  - 1]
            current_waypoint_m = self._waypoints[self._current_waypoint_index]

            degrees = Telemetry.relative_degrees(previous_waypoint_m[0],
                                                 previous_waypoint_m[1],
                                                 current_waypoint_m[0],
                                                 current_waypoint_m[1])
            offset_m = Telemetry.rotate_degrees_clockwise((0.0, self.BEYOND_M),
                                                          degrees)
            return (current_waypoint_m[0] + offset_m[0],
                    current_waypoint_m[1] + offset_m[1])

        return self._waypoints[-1]
コード例 #3
0
ファイル: test_telemetry.py プロジェクト: bskari/sparkfun-avc
    def test_rotate_degrees_clockwise(self):
        """Tests rotating a vector degrees clockwise."""
        base = (1.0, 0.0)

        not_rotated = Telemetry.rotate_degrees_clockwise(base, 0.0)
        self.assertAlmostEqual(not_rotated[0], base[0])
        self.assertAlmostEqual(not_rotated[1], base[1])

        ninety = Telemetry.rotate_degrees_clockwise(base, 90.0)
        self.assertAlmostEqual(ninety[0], 0.0)
        self.assertAlmostEqual(ninety[1], -1.0)

        one_eighty = Telemetry.rotate_degrees_clockwise(
            base,
            180.0
        )
        self.assertAlmostEqual(one_eighty[0], -base[0])
        self.assertAlmostEqual(one_eighty[1], base[1])

        two_seventy = Telemetry.rotate_degrees_clockwise(
            base,
            270.0
        )
        self.assertAlmostEqual(two_seventy[0], 0.0)
        self.assertAlmostEqual(two_seventy[1], 1.0)

        three_sixty = Telemetry.rotate_degrees_clockwise(
            base,
            360.0
        )
        self.assertAlmostEqual(three_sixty[0], base[0])
        self.assertAlmostEqual(three_sixty[1], base[1])

        negative_ninety = Telemetry.rotate_degrees_clockwise(
            base,
            -90.0
        )
        self.assertAlmostEqual(negative_ninety[0], two_seventy[0])
        self.assertAlmostEqual(negative_ninety[1], two_seventy[1])