diff --git a/exp/geometry.py b/exp/geometry.py --- a/exp/geometry.py +++ b/exp/geometry.py @@ -37,6 +37,13 @@ class Line(): if a is None or b is None: return None return Line(a,b) + def score(self,points): + score=len(self.points) + for a in self.points: + closest=sorted(points,key=lambda b: a.dist(b))[:4] + score+=sum(0.01 for b in closest if b in self.points) + return score + def __str__(self): return "({0},{1})".format(self.a,self.b) def __repr__(self): return "Line({0},{1})".format(repr(self.a),repr(self.b))