我有一个“复杂”的问题,我可以在屏幕上随机放置一些元素(黑色)顶部的工具提示(橙色)。工具提示是一个大的正方形,在它的四个边中间有一个三角形指向元素方向。默认情况下,三角形将位于元素的中间,但只要靠近它就可以移动,所以我们不能轻易理解它是指这个元素而不是另一个元素。物品放置算法
问题是,工具提示不得彼此重叠,并且不能超出屏幕。
我想到了第一次提示每次向配售(倒三角),它们的默认位置,然后检查它们是否出屏幕或重叠另外一个,如果是的话,尝试另一个位置。但是使用这种技术(这可能是最简单的方法),但我不能保证最好的放置位置,因为一旦放置了工具提示,如果另一个不适合任何地方,我不会替换他,否则会变得太复杂。
有人有任何提示/想法如何处理这种类型的问题?
谢谢!
谢谢!另一个相关的职位供参考:http://stackoverflow.com/questions/5833695/bubble-chart-label-placement-algorithm-preferably-in-javascript – nox