Как мне масштабировать один прямоугольник до максимально возможного размера внутри другого прямоугольника?

У меня есть исходный прямоугольник и целевой прямоугольник. Мне нужно найти максимальный масштаб, до которого можно масштабировать источник при подгонке к целевому прямоугольнику исохраняя исходное соотношение сторон.

Google нашелодин способ сделать это, но я не уверен, работает ли он во всех случаях. Вот мое домашнее решение:

Рассчитайте высоту / ширину для каждого прямоугольника. Это дает наклоны диагоналейmsrc а такжеmdest.Еслиmsrc < mdstИсточник масштабаширина соответствовать целиширина (и высота шкалы в том же соотношении)В противном случае источник масштабавысота соответствовать целивысота (и ширина шкалы в том же соотношении)

Ищем другие возможные решения этой проблемы. Я даже не уверен, работает ли мой алгоритм во всех случаях!

Ответы на вопрос(5)

Ваш ответ на вопрос