元素放置算法

标签 algorithm logic tooltip

我有一个“复杂”的问题,我在可以随机放置在屏幕上的元素(黑色)之上有一堆工具提示(橙色)。工具提示是一个大正方形,在它的 4 个边之一的中间有一个三角形指向元素方向。默认情况下,三角形会在元素的中间,但只要靠近它就可以移动,所以我们不能轻易理解它指的是这个元素而不是另一个元素。

问题是,工具提示不能相互重叠,也不能超出屏幕。

Image of my tooltip problem

我考虑过首先将每个工具提示放置到它们的默认位置(三角形向下),然后检查它们是否超出屏幕或与另一个重叠,如果是,请尝试另一个位置。但是使用这种技术(这可能是最简单的一种),我不能保证最佳放置,因为一旦放置了工具提示,如果另一个不能放在任何地方,我将不会替换他,否则它会变得太复杂。

有人对如何处理此类问题有任何提示/想法吗?

谢谢!!

最佳答案

这看起来像是 map 标注问题的一个实例。维基百科有 an article about it .

关于元素放置算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18341101/

相关文章:

algorithm - 如何定义一个可以在 O(1) 内获得最小数字的堆栈

ruby - 拨动开关/T-Flip 翻转

php - 是休息; die() php 之后需要

mysql - 如何编写这个 MySQL 查询?

javascript - 窗口外的大工具提示

c++ - 是否可以使用 WIN32 API 和 GDI+ (C++) 对工具提示进行样式化

java - KMP 字符串匹配算法陷入循环

algorithm - Log(n) 中的四联数

c - 调试错误 : DFS(Depth First Search) Graph, ADT

jquery - IE位置问题中的工具提示