From e88225c6a6d7766231ecfaacfd44eb3903a9e914 Mon Sep 17 00:00:00 2001 From: SpitfireX Date: Wed, 12 Aug 2015 05:51:36 +0200 Subject: Some more angle stuff (possibly incomplete and/or hacky) --- interval_utils.py | 13 ++++++++++--- strategy.py | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/interval_utils.py b/interval_utils.py index e95445a..0d77f4f 100644 --- a/interval_utils.py +++ b/interval_utils.py @@ -49,6 +49,13 @@ def find_largest_angle_interval(intervals): def get_point_angle(origin, p): dx = p[0] - origin[0] dy = p[1] - origin[1] - rads = atan2(-dy,dx) - rads %= 2*pi - return rads + return math.atan2(dy,dx) + +def check_point_in_interval(origin, p, interval): + ang = get_point_angle(origin, p) + print(interval) + print(canonicalize_angle_interval(interval)) + if ang > interval[0] and ang < interval[1]: + return True + else: + return False \ No newline at end of file diff --git a/strategy.py b/strategy.py index 28aaa60..11926ac 100644 --- a/strategy.py +++ b/strategy.py @@ -99,5 +99,15 @@ class Strategy: # more debugging gui.draw_line(c.player.center, self.target, self.color) - - return self.target + + #test stuff pls ignore + interval = [0, 0.5*math.pi] + point = (c.player.center[0]+10, c.player.center[1]+200) + + gui.draw_arc(c.player.center, 200, interval, (0,0,0)) + gui.draw_circle(point, 2, (0,0,0)) + + print(math.degrees(get_point_angle(c.player.center, point))) + print(check_point_in_interval(c.player.center, point, interval)) + + return self.target \ No newline at end of file -- cgit v1.2.1