Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

Вычисление координат в матрице

#c_sharp #алгоритм #математика #геометрия #вычислительная_геометрия


Есть 5x5 матрица квадратов в произвольной части экрана. Как найти координаты (x,
y) в центре каждого квадрата?


    


Ответы

Ответ 1



координатные оси вправо и вниз l, t, r, b = координаты матрицы s = ширина разделительной линии (отступы по краям ей тоже равны) n, m = количество прямоугольников по вертикали и горизонтали w = (r-l - s * (m+1)) / m h = (t-b - s * (n+1)) / n x0 = l + s + w / 2 y0 = t + s + h / 2 i, j = номера строки и столбца в 0-индексации x = x0 + (w+s)*i y = y0 + (h+s)*j PS: Если значения (даже промежуточные) дробные, то при реализации алгоритма имеет смысл сделать всё одной формулой, чтобы умножение что до деления. PPS: Если отступов по краям нет, то вместо +1 надо использовать -1.

Комментариев нет:

Отправить комментарий