Мой вопрос возник из-за необходимости преобразовать координату блока (x, y, width, height) в представление (xmin, ymin, xmax, ymax).
Первый простой рабочий код:
w1 = w // 2
w2 = w - w1 # keep integer coordinates without losing pixel for odd width
h1 = h // 2
h2 = h - h1
x1 = x - w1
y1 = y - h1
x2 = x + w2
y2 = x + h2
Но мне не нравится этот код спагетти.
Можно заменить вычисления w1, w2 и h1, h2 чем-то вроде (или лучше), чем python встроенный оператор divmod:
w1, w2 = divmod(w, 2)
h1, h2 = divmod(h, 2)
w2 += w1
h2 += h1
но для этого все еще требуется вторая операция для w2, h2.
Итак, мой первый вопрос: существует ли лучший оператор?
w1, w2 = divsplit(w, 2)
Есть ли более разумный способ вычислить интервал для x1, x2 и y1, y2?
x1, x2 = interval(x, w)
или
x1, x2 = interval(x, w1, w2)
Спасибо