2次元座標グリッドの負の座標を、配列内に配置するための線形インデックスに変換しようとしましたが、失敗しました。負のX、Y線形配列インデックスの座標?
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);
}
}
上記の私は負の座標を使用しようとしました前に、何をやっていたの簡易版です。
正直、私は迷っています。それは解決することが極めて簡単でなければならないようにこれはそうですが、ここで私は任意のヘルプ誰もが私を与えることができ感謝しout_of_range例外の無い結果とたくさんの固体2時間:)
後に愚かな感じてい。前もって感謝します!
アレイにアクセスする前に '20 * x + y'を表示するとよいでしょう。 –
std :: mapは、ネガを大括弧で囲むことができます。 (または他のハッシュタイプのうちの1つ) –
titapo
@titapoパフォーマンス要件について最初に質問していないのは恐ろしいアドバイスです。 'std :: map'は' log(n) 'アクセスの複雑さを持っています。 –