Array As Grid, как двигаться по диагонали? - PullRequest
4 голосов
/ 30 сентября 2011

У меня есть массив размером n ^ 2, представляющий квадратную сетку размером nxn.

Я хочу добраться от любого квадрата (от 0 до (n ^ 2) -1) до самого правого верхнего квадрата, по которому вы можете двигаться по диагонали по прямой линии.

Я уже понял, что для того, чтобы попасть в самый верхний левый квадрат, нужно взять текущий квадрат x, а самый верхний левый квадрат - x% (n + 1).

Кто-нибудь знает подобный метод для верхнего правого квадрата? Спасибо!

1 Ответ

1 голос
/ 30 сентября 2011

Если я вообще понял, что вы пытаетесь достичь, все, что вам нужно сделать, это соединить две точки прямой линией и с помощью формул линии вычислить координаты ячеек, через которые она проходит.Вы можете использовать для этого алгоритм рисования линий Брезенхэма .

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