Получить список точек для построения квадртатов
Никак не могу что то сообразить. Есть список точек (X,Y). которые образуют некую сетку.
points = [ (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (2, 4), (4, 0), (4, 2), (4, 4) ]
Мне необходимо из этих точек получить список точек, которые образуют квадрат. Т.е. на выходе я пытаюсь получить такой формат:
rectList = [[(0, 0), (0, 2), (2, 0), (2, 2)], [(0, 2), (0, 4),(2, 2), (2, 4)], [(2, 0), (2, 2), (4, 0), (4, 2)]]
Вот такие квадраты мне необходимо получить(цветом выделил, чтобы было более наглядно):
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Просто обходите по строкам и по столбцам
n = 3
rectList = []
points = [ (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (2, 4), (4, 0), (4, 2), (4, 4) ]
for i in range(n-1):
for j in range(n-1):
rectList.append([points[i * n + j], points[i * n + j + 1], points[(i + 1) * n + j + 1], points[(i + 1) * n + j]])
print(rectList)

