algorithm - 二维对象分布算法

标签 algorithm gis graphics2d

我必须以这样的方式对齐元素以避免它们相交,但又不能将它们移动得太远:

Before and after

为简单起见,元素是矩形的(实际上是边界框)。元素只能通过它的法向量(可以是任何角度)移动。

有什么著名的算法可以在这里使用吗?每次大约需要对齐 50-200 个元素(延迟很重要,应该是几毫秒),我不知道不要以为,蛮力是个好主意(但还没有尝试)

更深入:我必须实现街道的名称标签。比方说,我有矢量线(街道),现在,文本应该沿着这些矢量显示(它可以旋转,而不是扭曲)。但是文本不应该重叠太多,所以我必须沿着它的矢量线移动它。也许这些东西有一些算法?

所有这一切都发生在运行时,当用户在街道上导航时。

PS:我用的是Qt(简单的QPainter,不是图形框架)

最佳答案

OK,找了半天,找到了合适的:Automatic label placement , Dynamic Label Placement in Practice

关于algorithm - 二维对象分布算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34526236/

相关文章:

c++ - 确定 2x2 正方形包含数字 1-4(无重复)的算法

r - R 中 floodFill 算法的代码有什么问题?

postgresql - ST_DWithin 将参数作为 degree ,而不是 meters ,为什么?

java - 为什么java在jpeg图像上绘制错误的颜色线?

java - Graphics2d 方法不产生输出

java - 出数位数的平方到89

algorithm - 为 FTP 和 HTTP 传输选择缓冲区大小

javascript - 防止传单无限向左或向右平移

java - 如何在 android GIS sdk 100.2.1 中将多边形层与我当前的 GPS 相交

java - 我应该为我的 2D 滚动 map 使用什么缓冲策略?