Евгений
Ребят, помогите решить одну задачу.
Ширина картинки: 967.
Высота картинки: 869.
Должна быть высота картинки: 738.
Насколько надо увеличить ширину, чтобы соотношение высоты к ширине было таким?
Сейчас соотношение ширины к высоте: 89,87 (869 / 967 * 100).
Должно быть: 76,31 (738 / 967 * 100).
Как решить эту задачу? Где взять формулу?
Ну попробуй порассуждать самостоятельно. Эту формулу можно самому вывести. Это же пропорции.
Обозначим ширину за единицу 1 и положим, что
a = 967
b = 869
k = ? ()
Тогда можно составить пропорцию следующим образом
a/b = 1/k
И после простейших преобразований решить обычное линейное уравнение от k
k = b * 1 / a = b / a
k = 869 / 967
k = ~ 0.9
Таким образом мы нашли какую часть от ширины занимает высота в заданных пропорциях.
И сейчас несложно составить формулу для нахождения любой другой ширины или высоты именно в этих пропорциях (коэффициент пропорциональности k), если известна одна из этих величин
a2 = x
b2 = 738
k = ~0.9
Решаем уравнение относительно х
x = 738 / 0.9 = 820
И тогда итоговая формула для нахождения значения, на которое нужно уменьшить ширину, чтобы сохранить пропорции, примет следующий вид
x = a - b2 / (b / a)
Где a и b изначальные значения ширины и высоты, b2 второе значение высоты
Если на джава скрипте:
let width = 967;
let height = 869;
let heightNew = 738;
let diff = width - heightNew / (height / width);