0
8-connectedや26に接続されたセルのようなn次元空間のセルの近傍を取得しようとしていますが、どの次元でもn個のタプルがあります。n次元の近傍を見つける
隣接する隣接者は、どのディメンションでも+ 1/-1だけで十分です。
:私は困難を有してい部分が私は、各サブ次元の再発機能を書いて、そしてすべて+/-の組み合わせを生成1.だけ異なる座標の任意の量を有することができる対角線であります
def point_neighbors_recursive(point):
neighbors = []
# 1-dimension
if len(point) == 1:
neighbors.append([point[0] - 1]) # left
neighbors.append([point[0]]) # current
neighbors.append([point[0] + 1]) # right
return neighbors
# n-dimensional
for sub_dimension in point_neighbors_recursion(point[1:]):
neighbors.append([point[0] - 1] + sub_dimension) # left
neighbors.append([point[0]] + sub_dimension) # center
neighbors.append([point[0] + 1] + sub_dimension) # right
return neighbors
しかし、これは多くの冗長な近隣を返します。 もっと良い解決策はありますか?
単純な例、2Dまたは3Dの出力を表示できますか?私が複数の次元であなたのコードを試してみると、私は期待していた隣接点のセットを得ています:3次元(元を含む)。 – Prune