负x,y坐标为线性阵列索引
Negative X,Y Coordinates to linear array index?
我一直在(失败)试图将2D坐标网格的负坐标转换为旨在放置在数组中的线性索引。
std::vector<float> heights(20*20);
for ( int x = -10; x < 10; x++ ) {
for ( int y = -10; y < 10; y++ ) {
heights[20*x + y] = NoiseGenerator.GetPerlinFractal(x, y);
}
}
以上是我在尝试使用负坐标之前我所做的的简化版本。
老实说,我不知所措。这似乎应该是非常易于解决的问题,但是在稳定的2个小时的没有结果和大量OUT_OF_RANGE异常之后,我感到很愚蠢:)
我感谢任何人都能给我的任何帮助。预先感谢!
heights[(x - x_min) * rows + (y - y_min)]
?
这里x_min
和y_min
都是-10,rows
为20。
请注意,x_max
和y_max
均为9,因为您在每个维度中允许20分。21本来是更对称的。
从矢量中给定的index
恢复x
和y
将需要使用整数部门和%
。
相关文章:
- OpenMP阵列性能较差
- 如何将三维尺寸不固定的三维阵列展平为一维阵列
- 当我的阵列太大时出现分段错误
- 向量上的线性搜索
- 位阵列上的快速AND运算
- 阵列必须使用大括号封闭的初始器进行初始化
- 二叉搜索如何比线性搜索更快?
- 没有从阵列<float>到阵列<int>的可行转换
- 线性丢番图方程 - 求给定区间内的解数和解
- C++动态安全 2D 交错阵列
- 查找自动生成键并具有线性内存消耗的小型关联数组
- 将平面阵列重塑为复杂的特征类型
- 为什么字符串比较的 == 运算符相对于任一字符串长度线性时间(似乎)?
- 如何使用英特尔 PIN 捕获阵列的所有负载?
- 线性阵列和多维之间有什么区别
- 负x,y坐标为线性阵列索引
- 是子阵列保证通过线性分配
- 将线性阵列转换为二维矩阵
- 对多维阵列的访问比线性阵列要慢
- 处理线性上采样音频阵列