javascript – 有效确定点在2d空间中的哪个矩形
作者:互联网
我有一大堆在html5画布上绘制的矩形.
我希望能够使用鼠标跟踪与此图像进行交互(我不能使用SVG,因为它不能扩展到10-100k矩形).有没有任何数据结构/算法,给定鼠标x,y坐标能够告诉你鼠标在哪个框(使用矩形的计算位置)?我在想像k-d树,但不确定.
解决方法:
如果您的数据始终是显示的形式,我认为您应该能够比空间树数据结构做得更好.
由于数据的结构为y,因此您应该能够根据O(1)时间内的偏移量计算点所在的矩形“条带”.
如果按排序顺序存储每个“条带”中的单个矩形(使用xmax表示),则应该能够使用二进制搜索(在O(log(n))中找到条带内的特定矩形).
希望这可以帮助.
标签:javascript,algorithm,data-structures,html5-canvas,kdtree 来源: https://codeday.me/bug/20190529/1181163.html