def getAwayPoints(points, radius):
 awayPoints = []
 oneOverOverlapDistance = (1000.0 / radius)
 pixelDictionary = {}
 for point in points:
  x = int((point.real * oneOverOverlapDistance))
  y = int((point.imag * oneOverOverlapDistance))
  if (not getSquareIsOccupied(pixelDictionary, x, y)):
   awayPoints.append(point)
   pixelDictionary[(x, y)] = None
 return awayPoints

def getAwayPoints ( points , radius ) : awayPoints = [ ] oneOverOverlapDistance = ( 1000.0 / radius ) pixelDictionary = { } for point in points : x = int ( ( point . real * oneOverOverlapDistance ) ) y = int ( ( point . imag * oneOverOverlapDistance ) ) if ( not getSquareIsOccupied ( pixelDictionary , x , y ) ) : awayPoints . append ( point ) pixelDictionary [ ( x , y ) ] = None return awayPoints
get a path with only the points that are far enough away from each other .