【发布时间】:2012-01-19 18:28:03
【问题描述】:
这类似于bin packing problem,但有一些变化。
我拥有的是一个时间序列的注释数据,当我绘制图表时,我想将注释放置在总体上与注释点距离最小的位置。
这张图表(无故被盗)显示了我想做的事情:。
我知道这是一个优化问题,但我不知道从哪里开始。我首先要做的是将它放在相应的 x 处,然后向上/向下移动 y 以找到可用的位置并保存已绘制的区域。虽然这很有效,但它并没有真正充分利用可用空间,我想知道是否有更好的方法。
我想知道是否有任何已知的算法可以解决这个或类似的问题?
补充说明:它不需要是最佳的,但它绝对需要快速。这是在渲染期间完成的,因此在执行时 UI 会被阻塞。
【问题讨论】:
-
如果不需要优化(并且您没有明确定义要优化的内容),解决方案可以通过哪些方式成为次优以提高速度?
-
我想最小化与注释点的距离。 (每个注释都有一个 (x,y) 来注释。)
-
如果您提到的算法(即向上/向下移动 y 以找到可用位置)太慢,那么可能没有足够好的解决方案适合您!
-
实际上,该评论可能应该被忽略,因为我正在做其他事情以使该部分更快到可以接受的程度。
-
为什么要在渲染过程中进行这种计算?它似乎是工作线程的理想候选者。
标签: algorithm language-agnostic