算法:PIP 多边形与点位置关系
纯手撸代码解决PIP问题
编程语言为Python
面向对象
创建一个geometry类,其中包括点、线、多边形对象。
class Geometry:
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
class Point(Geometry):
# contains X/Y
def __init__(self, name, x, y):
super().__init__(name)
self.__x = x
self.__y = y
def get_x(self):
return float(self.__x)
def get_y(self):
return float(self.__y)
class Line(Geometry):
# contains 2 points
def __init__(self, name, p1: Point, p2: Point):
super().__init__(name)
if not isinstance(p1, Point) or not isinstance(p2, Point):
raise ValueError("point must be an object of " + str(type(Point)))
self.__p1 = p1
self.__