Итак, я хочу сравнить один двумерный массив с другим 2-мерным массивом (фактически частью других больших 2-мерных массивов). Что мне нужно сделать, так это сравнить первый массив со вторым, но мне также нужно сравнить его с несколькими ракурсами, вращая один из них, если хотите.Вращающиеся многомерные массивы
Я пишу это в C++ и я использую векторы (в случае, если существует определенный алгоритм или функция для них, что помогло бы)
Вот пример того, что мне нужно, чтобы быть в состоянии сделать с это:
Take this map:
0001000
0001000
0001000
0001111
0000000
Compare it to this (which means if 1 is road and 0 is grass, this would help
me find 'turns' in the road):
010
110
000
Comparing it like that won't yield any results, BUT, if I rotate it to 180
degrees:
010
011
000
It fits.
Более конкретно я сравню целую кучу небольших массивов с большим массивом. Я не буду сравнивать каждое местоположение на большом массиве, только выбирайте случайное местоположение и произвольный случайный массив, поворачивайте малый массив на все 4 стороны и посмотрите, совпадают ли они. Я повторю это несколько сотен раз, чтобы найти приличную выборку мест, где случайный выбранный образец небольших карт положительно сравнивается с большой картой.
В основном ... :)
Банкоматы Я пытаюсь понять это, но я не хочу, чтобы изобретать колесо, если я могу помочь ему.
(ОБНОВЛЕНИЕ: Близко к решению этого! Я понял, что мне нужно повернуть меньшую сетку 8 раз, мне нужно сопоставить каждое зеркало! UPDATE2: lol Я решил это wtf. Будет опубликован, как только я пойму, что код, как это обычно бывает, 5 мая. Я так сумасшедший!)
реверсирование моих петель? –
Довольно хороший вопрос. Однако тег нечетный. – thb
просто из любопытства: для чего это? что делает программное обеспечение в целом? – clamp