line2 = Line( self.gameobject, self.get_coordinates() - v * self.radius, self.get_coordinates() - v * self.radius + additional_coordinates) line3 = Line( self.gameobject, self.get_coordinates() - v * self.radius + additional_coordinates, self.get_coordinates() + v * self.radius + additional_coordinates) line4 = Line( self.gameobject, self.get_coordinates() + v * self.radius + additional_coordinates, self.get_coordinates() + v * self.radius) return [ self, circle2, MultilineObject(self.gameobject, self.coordinates, [line1, line2, line3, line4]) ] if __name__ == '__main__': from objects.game_object.game_object import GameObject from physics.coordinates import Coordinates from objects.game_object.hitboxes.line import Line g = GameObject([]) g.coordinates = Coordinates(5, 0) c = Circle(g, Coordinates(1, 0), 5) l = Line(g, Coordinates(2, 0), Coordinates(2, 0)) print(c.get_intersections(l))
return False return True def future_shape(self, additional_coordinates): line1 = self line2 = Line(self.gameobject, self.get_coordinates() + self.e, self.get_coordinates() + additional_coordinates + self.e) line3 = Line(self.gameobject, self.get_coordinates() + additional_coordinates + self.e, self.get_coordinates() + additional_coordinates) line4 = Line(self.gameobject, self.get_coordinates() + additional_coordinates, self.get_coordinates()) return [ MultilineObject(self.gameobject, self.get_coordinates(), [line1, line2, line3, line4]) ] if __name__ == '__main__': from objects.game_object.game_object import GameObject from physics.coordinates import Coordinates from objects.game_object.hitboxes.rectangle import Rectangle g = GameObject([]) g.coordinates = Coordinates(0, 0) l1 = Line(g, Coordinates(1, 1), Coordinates(2, 0)) c = Coordinates(2, 1) print(c.distance(l1))