Как обрабатывать области из сетки 1D массива? - PullRequest
0 голосов
/ 15 сентября 2018

В настоящее время я создаю базовые методы для выбора областей из массива индексов 1D-сетки.

До сих пор я мог обрабатывать линейные выборки с заданным направлением и лимитом, что прекрасно работает.с шагом по координатам, X целевой индекс:

O O O O O O O O O O
O O O O 1 O O O O O
O O O O 1 O O O O O
O O O O 1 O O O O O
O O O O * 1 1 O O O
O O O 1 O O O O O O
O O 1 O O O O O O O
O 1 O O O O O O O O

Дело в том, что, когда я пытаюсь создать более сложные фигуры, я сталкиваюсь со стеной и не знаю ни одного алгоритма, который мог бы сделать это проще.Я попытался выбрать с помощью треугольника или ромба, подобного этому, не в состоянии правильно закрыть его (получая каждый X), не выполняя грязную работу циклов и условий повсюду:

O O O O O O O O O O    O O O O O O O O O O
O 1 X X 1 X X 1 O O    O O O O 1 O O O O O
O O 1 X 1 X 1 O O O    O O O X 1 X O O O O
O O O 1 1 1 O O O O    O O X 1 1 1 X O O O
O O O O * O O O O O    O 1 1 1 * 1 1 1 O O
O O O O O O O O O O    O O X 1 1 1 X O O O
O O O O O O O O O O    O O O X 1 X O O O O
O O O O O O O O O O    O O O O 1 O O O O O

Есть ли математическоеспособ, который может спасти меня от создания новой функции для каждого размера каждой фигуры (как сделал)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...