Java тип отношений вещь?
Есть 2 максимальных пары. Есть 2 текущих пары.
double maxpower = 100000.0;
double maxradius = 4.0;
double power = 0;
double radius = 0;
Я пытаюсь составить уравнение, где по мере увеличения и увеличения мощности радиус также увеличивается. Когда удвоенная мощность достигает 100000.0(maxpower), значение радиуса мощности должно быть равно 4(maxradius)
2 ответа
Решение
Вы хотите масштабировать power
значение, которое может иметь значение 0..maxPower
в диапазоне 0..maxRadius
, Это простая формула
radius = power * maxRadius / maxPower;
Если ты хочешь radius
В диапазоне 1..maxRadius
вместо этого формула
radius = 1 + (power * (maxRadius-1) / maxPower);
Всякий раз, когда значение power
изменения, просто установите значение radius
в power/25000.0
,
Эквивалентно, всякий раз, когда какое-то значение x
добавлен в power
обновить значение radius
добавляя x/25000.0
к этому.