#coding:utf8
__author__ = 'ga'
__doc__ =u'''
点是几何算法里重要坐标,
这里偷懒,point代表点,也代表向量了,(⊙o⊙)哦'''
import math
import geoUtil
class Point():
__doc__ = u'''可以当成点,也可以当成点到(0,0)点的向量'''
def __init__(self, px = 0, py= 0):
self.x = px
self.y = py
def __add__(self, p):
return Point(self.x + p.x, self.y + p.y)
def __sub__(self, p):
return Point(self.x - p.x, self.y - p.y)
def __div__(self, d):
return Point(self.x / d, self. y /d)
def __mul__(self, d):
return Point(self.x * d, self. y *d)
@property
def unit(self):
return Point(self.x / self.length, self.y / self.length)
def eq(self, p):
return geoUtil.deq(self.x, p.x) and geoUtil.deq(self.y, p.y)
@property
def length(self):
return math.sqrt(self.x**2 + self.y**2)
#这里只能用int。咕~~(╯﹏╰)b,这样调用也挺不方便的
def __len__(self):
return int(self.length + 0.5)
def output(self):
print "(%.4f, %.4f)"%(self.x, self.y)
几何-点的构建(python版)
最新推荐文章于 2024-05-16 02:16:41 发布