Настолько полезная, что вполне возможно, кто-то ее уже решил и выложил как функцию в какую-нибудь библиотеку.
Дано: пиксельная картинка произвольной формы на холсте с размерами Х*Y. Считаем, что координаты левого верхнего угла холста 0,0.
Задача: Найти максимальные стороны прямоугольника с заданным соотношением сторон k, полностью находящегося в картинке.
[длина горизонтальной стороны прямоугольника]/[длина вертикальной стороны прямоугольника]=k.
Функция должна возвращать массив из трех чисел:
1-2) r[0], r[1] — координаты верхнего левого угла прямоугольника на холсте.
3) r[2] — длина горизонтальной стороны прямоугольника.