更快速地计算阵列2D位置

时间:2016-07-29 00:08:08

标签: c++

我有一个自定义图像对象,它以固定大小的图块组织,放置在图块网格中。例如,假设固定tileSize是256像素(每个图块是256x256像素的子图像),并且我的全局图像是1000x500像素:这会产生4x2图块的图块网格256x256像素。

现在,给定全局图像坐标中的一个点,这是我转换为平铺坐标的方式(即平铺网格中的平铺位置,加上该像素内的像素位置):

struct Point {
  int x;
  int y;
}

Point pGlobal = (...);

// Grid coordinates of the tile containing pGlobal
Point pTileGrid = Point(pGlobal.x / tileSize, pGlobal.y / tileSize);
// Pixel inside that tile that contains pGlobal
Point pTile     = Point(pGlobal.x % tileSize, pGlobal.y % tileSize);

问题是这很慢。我该如何优化呢?

提前谢谢你。如果我在任何时候都没有正确解释,请让我改进我的表述。

0 个答案:

没有答案