我必须以这样的方式对齐元素以避免它们相交,但又不能将它们移动得太远:
为简单起见,元素是矩形的(实际上是边界框)。元素只能通过它的法向量(可以是任何角度)移动。
有什么著名的算法可以在这里使用吗?每次大约需要对齐 50-200 个元素(延迟很重要,应该是几毫秒),我不知道不要以为,蛮力是个好主意(但还没有尝试)
更深入:我必须实现街道的名称标签。比方说,我有矢量线(街道),现在,文本应该沿着这些矢量显示(它可以旋转,而不是扭曲)。但是文本不应该重叠太多,所以我必须沿着它的矢量线移动它。也许这些东西有一些算法?
所有这一切都发生在运行时,当用户在街道上导航时。
PS:我用的是Qt(简单的QPainter,不是图形框架)
最佳答案
OK,找了半天,找到了合适的:Automatic label placement , Dynamic Label Placement in Practice
关于algorithm - 二维对象分布算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34526236/