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