def generate(points): """Given a list of points construct balanced kd-tree.""" if len(points) == 0: return None # VERTICAL=1 is the initial division tree = KDTree() tree.root = generateSubTree(1, 2, points, 0, len(points) - 1) propagate(tree.root, maxRegion) return tree
def __init__(self): """App for creating KD tree dynamically and executing nearest neighbor queries.""" self.tree = KDTree() self.match = None self.shortline = None # set to true when you want to view a set of points that # were set not by user control. self.static = False self.master = tkinter.Tk() self.master.title('KD Tree Nearest Neighbor Application') self.w = tkinter.Frame(self.master, width=410, height=410) self.canvas = tkinter.Canvas(self.w, width=400, height=400) self.paint() self.canvas.bind("<Button-1>", self.click) self.canvas.bind("<Motion>", self.moved) self.w.pack()
def __init__(self): """App for creating KD tree dynamically and executing range queries.""" self.tree = KDTree() self.static = False # for range query self.selectedRegion = None self.queryRect = None self.master = tkinter.Tk() self.master.title('KD Tree Range Query Application') self.w = tkinter.Frame(self.master, width=410, height=410) self.canvas = tkinter.Canvas(self.w, width=400, height=400) self.paint() self.canvas.bind("<Button-1>", self.click) self.canvas.bind("<Motion>", self.moved) self.canvas.bind("<Button-3>", self.range) # when right mouse clicked self.canvas.bind("<ButtonRelease-3>", self.clear) self.canvas.bind("<B3-Motion>", self.range) # only when right mouse dragged self.w.pack()
def setUp(self): self.kd = KDTree()