我有一个“复杂”的问题,我在可以随机放置在屏幕上的元素(黑色)之上有一堆工具提示(橙色)。工具提示是一个大正方形,在它的 4 个边之一的中间有一个三角形指向元素方向。默认情况下,三角形会在元素的中间,但只要靠近它就可以移动,所以我们不能轻易理解它指的是这个元素而不是另一个元素。
问题是,工具提示不能相互重叠,也不能超出屏幕。
我考虑过首先将每个工具提示放置到它们的默认位置(三角形向下),然后检查它们是否超出屏幕或与另一个重叠,如果是,请尝试另一个位置。但是使用这种技术(这可能是最简单的一种),我不能保证最佳放置,因为一旦放置了工具提示,如果另一个不能放在任何地方,我将不会替换他,否则它会变得太复杂。
有人对如何处理此类问题有任何提示/想法吗?
谢谢!!
最佳答案
这看起来像是 map 标注问题的一个实例。维基百科有 an article about it .
关于元素放置算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18341101/