0

私は座標系や、これらを扱う数学の多くに精通していません。私がやろうとしているのは、ポイント(x、y)を取得し、次のように1次元配列でその位置を見つけることです:

(0,2)->0 (1,2)->1 (2,2)->2
(0,1)->4 (1,1)->5 (2,1)->6
(0,0)->8 (1,0)->9 (2,0)->10

矢印は、座標がどの値にマップされるべきかを示しています。各行の後にインデックスがスキップされることに注意してください。かなり些細な解決策になると思いますが、これに似た質問が見つからず、自分でアイデアを思いつくことができませんでした。2次元配列の幅と高さは知っています。助けてくれてありがとう!


私の質問があいまいであるか、間違った用語を使用している可能性があります。申し訳ありません。

座標 (0,0) が左下の位置になることはわかっています。また、左上の座標をインデックス 0 に配置する必要があることも知っています。新しい行ごとにインデックスが 1 つスキップされます。座標系のサイズはさまざまですが、行数と列数はわかっています。

4

3 に答える 3

2

最初のステップでは、値を上下逆にして、ポイントをそのまま維持します。

(0,2)->8 (1,2)->9 (2,2)->10
(0,1)->4 (1,1)->5 (2,1)->6
(0,0)->0 (1,0)->1 (2,0)->2

y出力に 4 倍と 1 倍の影響があることがわかりますx

したがって、非常に単純な が得られ4y + xます。

元に戻ると、変換が次のようになっていることに気付くでしょう(x,y) <- (x,2-y)(つまり、上記の各ポイントをこの変換で変換すると、元の必要なマッピングが得られます)。

したがって、それを式に代入すると、 が得られ(2-y)*4 + xます。

これは 3x3 に固有のものですが、2 と 4 を変数に置き換えることで一般化できると確信しています。

于 2013-05-29T16:52:18.123 に答える
1

寸法を縮小して重なりを避けたい場合は、モートン曲線などの空間充填曲線が必要です。あなたの例は、3x3 行列であるため、ペアノ曲線のように見えます。これらの曲線は計算が難しいですが、いくつかの優れた点があります。しかし、自己回避曲線を探すだけなら、独自の曲線を作成できますか? ここを読んでください: http://www.fractalcurves.com/Root4Square.html .

于 2013-05-29T16:39:27.710 に答える