gpt4 book ai didi

c++ - 负 X,Y 坐标到线性数组索引?

转载 作者:行者123 更新时间:2023-11-28 05:00:50 25 4
gpt4 key购买 nike

我一直(未成功)尝试将 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 异常之后,我感觉很愚蠢 :)

如果有人能给我任何帮助,我将不胜感激。提前致谢!

最佳答案

高度[(x - x_min) * 行 + (y - y_min)] 怎么样?

这里x_miny_min都是-10,rows是20。

请注意,x_maxy_max 都将为 9,因为您在每个维度中允许 20 个点。 21 会更对称。

从 vector 中给定的 index 恢复 xy 需要使用整数除法和 %

关于c++ - 负 X,Y 坐标到线性数组索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com