【发布时间】:2011-07-16 18:58:36
【问题描述】:
我想计算存储为位压缩整数数组的位图(黑白)的质心。我知道有一些快速算法可以计算整数中设置的位数,但这并不能帮助我计算质心。有什么想法吗?
例如,如果我的位图如下所示:
111000
111000
111000
000000
000000
000000
质心在 1, 1。打包成 32 位整数(您选择 Endian),它可能看起来像这样:{width: 6, height: 6} { 3817734144, 0 }。
如果您还可以在不迭代每个位的情况下获得质量(示例中为 9),则可获得奖励积分。
【问题讨论】:
-
我认为这对算法无关紧要,但为了记录:你想要浮点精度,还是整数坐标就足够了?如果是这样,它们应该如何四舍五入?
-
你们对连通性提供哪些保证?
-
通过上述设置位计数算法之一,质量应该是微不足道的。可能最简单的方法是单独通过。至于质心,我的直觉是,就任何有效的算法而言,您的数据表示确实对您不利,因为您将其打包成整数是以节省空间为代价来提高时间复杂度的任何关心位的几何布局。
-
@AakashM 没有,很遗憾。
-
@Martin 我也有这种感觉,但我必须同时针对此位图渲染几何图形并快速查询单点。实际的渲染过程不是瓶颈,所以如果你能提出更好的表示,我会感兴趣。
标签: algorithm bitmap collision-detection centroid