Проверка всех точек вокруг заданной на совпадение с оной с различным шагом

199
20 июня 2017, 23:31

Есть массив точек созданных на основе BufferedImage методом:

  int[] imgRGB = img.getRGB(0, 0, width, hight, null, 0, width);

И нужно реализовать возможность сравнения точки со всеми окружающими ее на определенный шаг. То есть если точка находится на нулевой позиции(а может на любой вообще) в массиве сделанном на основе изображения 4х4(а может и в много большем), а шаг 1, то точку с индексом 0 надо будет сравнить с точками имеющими индексы: 4(нижний), 5(диагональ лево-низ), 1(левый). Если же увеличить шаг до 2, то придется сравнивать уже с 4, 5, 1, 8, 9, 10, 6, 2. Более наглядно видно на приложенном изображении. Понятно, что проблем с получением ширины/высоты/диагонали нет, а вот в добавляющихся на каждом шагу точки(6/9 на втором, 7,11/13,14 на третьем) и состоит проблема. Методы для сравнения есть, нужно создать алгоритм для получения позиций всех точек при заданном шаге. Делается всё на java

Answer 1
int height = ...          // высота изображения
int width = ...           // ширина изображения
int index0 = ...          // индекс точки, с которой сравниваете
int i0 = index0 / width;  // i-координата точки, с которой сравниваете
int j0 = index0 % width;  // j-координата точки, с которой сравниваете
int radius = ...          // шаг
for (int i = i0 - radius; i <= i0 + radius; ++i)
    for (int j = j0 - radius; j <= j0 + radius; ++j)
        if (0 <= i && i < height && 0 <= j && j < width) {
            int index = i * width + j;
            // тут сравнение
        }
READ ALSO
Не удается найти &ldquo;Java&rdquo;

Не удается найти “Java”

Не могу понять почему пишет

178
UUID с Postgresql + hibernate

UUID с Postgresql + hibernate

Не могу настроить Id для типа UUIDВсе время выскакиевает ошибка No identifier specified for entity: org

265
Как правильно делать замеры в psd макете?

Как правильно делать замеры в psd макете?

Никак не могу понять, как нужно замерять размер всей страницы, шрифтов и отдельных блоков в макете psd

341
Позиционирование блоков относительно background-image

Позиционирование блоков относительно background-image

Здравствуйте, Есть вот такая вот задача: Блоки с нумерацией выступают в качестве ссылок, в качестве background выступает изображение на фоне в блочном...

222