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])
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]
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])