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 к этому.

Другие вопросы по тегам