-1

高校時代からデカルト グラフを扱っていなかったので、実生活に関連するデカルト グラフの必要性を実際に発見しました。奇妙な必要性かもしれませんが、デカルト座標を呼び出すことでアクセスできるデカルト グラフ上のポイントにデータを割り当てる必要があります。グラフには無限の点が必要です。例えば。

                       ^
 [-2-2,a ][ -1-2,f ][0-2,k ][1-2,p][2-2,u]
 [-2-1,b ][ -1-1,g ][0-1,l ][1-1,q][1-2,v]
<[-2-0,c ][ -1-0,h ][0-0,m ][1-0,r][2-0,w]>
 [-2--1,d][-1--1,i ][0--1,n][1-1,s][2-1,x]
 [-2--2,e][-1--2,j ][0--2,o][1-2,t][2-2,y]
                       v

実際の値は重要ではありません。しかし、私が変数 m を使用しているとします。これはデカルト グラフでは 0-0 になります。1 スペース上に移動した場合のデカルト座標を計算する必要があります。

理論的には、== ("0-1") という python 変数があるとします。それを - で分割する必要があると思います。これにより、x=0、y=1 になります。次に、(int(y)+1) を実行し、x を y の間に「-」を付けて再接続する必要があります。

私ができるようにしたいのは、引数(x + 1、y + 0)を使用して関数を呼び出し、プログラムが上記を実行してから、計算したデカルト座標を返すことです。

実際にスペースの値を取得する必要はなく、デカルト座標だけを取得する必要があります。re.sub() を利用できると思いますが、この関数を正しくフォーマットして「-」で分割する方法がわかりません。また、計算を正しく実行する方法もわかりません。

どうすればいいですか?

4

3 に答える 3

2

無限格子を表すには、タプル (x,y) を値にマップする辞書を使用します。

grid[(0,0)] = m
grid[(0,1)] = l

print(grid[(0,0)])
于 2012-05-06T12:10:44.777 に答える
1

問題を完全に理解しているかどうかはわかりませんが、リストのリストを使用して 2D 構造を取得することをお勧めします。

次に、特定の値を検索するにはcoords[x-minX][y-minY]、x、y が必要な整数インデックスであり、minX と minY が最小値 (例では -2) である場合に行うことができます。

また、より柔軟な n-dim オブジェクト配列タイプを提供するNumPyを調べて、各軸を「スライス」したり、サブ範囲を取得したりすることもできます。このような配列の操作に慣れていない場合は、NumPy のドキュメントが役立つ場合があります。

編集:文字列を0-1構成する整数に分割するには、次を使用できます。

s = '0-1'
[int(x) for x in s.split('-')]
于 2012-05-06T12:13:08.153 に答える
0

変数名と座標の間の双方向マッピングを作成したい場合は、変数名で座標を検索し、それに関数を適用してから、関数によって生成された新しい座標セットを使用して次の変数を見つけることができます。

関数を適用できる数値タプルと、dict のキーとして使用できる文字列との間のマッピングは簡単です。

于 2012-05-06T12:16:13.450 に答える