def move_toward(curr_angle, target_angle, inc): if abs(angle_dist.angle_dist(target_angle, curr_angle)) < inc: return target_angle elif angles.is_1_clockwise_from_2(target_angle, curr_angle): return curr_angle + clockwise(inc) else: return curr_angle + angles.counterwise(inc)
def transist(start_angle, end_angle, t, max_t): if t >= max_t: return end_angle angle_dist_ = angle_dist.angle_dist(start_angle, end_angle) print "angle_dist: ", angle_dist_ delta = (float(angle_dist_) / max_t * t) print "delta: ", delta return move_toward(start_angle, end_angle, delta)
def is_1_counterwise_from_2(ang1, ang2): return angle_dist.angle_dist(ang1, ang2) > 0
def is_1_clockwise_from_2(ang1, ang2): return angle_dist.angle_dist(ang1, ang2) < 0