PHP: как получить оригинальное значение числа после масштабирования (для логики масштабирования)

в настоящее время я делаю некоторую логику «увеличить / уменьшить» в php,
и теперь у меня есть некоторые проблемы с масштабированием значения и возвращением его к исходному значению в php (если это применимо к js, это было бы здорово).

вот коды

$scale          = 1;
$currentScale   = 1;
$position       = 50;
$step           = 5; // or 10

for($index = 1; $index <= $step; $index++){
echo('-----------------------------------------------------<br>');

$currentScale       = $scale / $index;
$position           = $position * $currentScale;
$originalPosition   = (($scale / $currentScale) * $position) * (($scale / $currentScale) / $scale);

echo('current scale : ' . $currentScale . '<br>');
echo('current position : ' . $position . '<br>');
echo('original position : ' . $originalPosition . '<br>');
}

цель состоит в том, чтобы сделать значение $ originalPosition таким же, как первое значение $ position (для каждого масштаба), я пробовал много формул, но не повезло, надеюсь, что вы, ребята, можете помочь.

заранее спасибо.

-1

Решение

хорошо, я думаю, что я нашел решение, я оставлю этот код здесь на случай, если кто-то столкнется с той же проблемой

    $scale          = 1;
$currentScale   = 1;
$position       = 80; // change it to any value
$step           = 5;

echo('original position : ' . $position . '<br>');

for($i = $step; $i >= 1; $i--){
echo('-----------------------------------------------------<br>');

$currentScale       = ($scale / $step) * $i;
$position           = $position * $currentScale;
$originalPosition   = $position;

$maxLoop = $step - $i;

if($maxLoop){
for($j = $maxLoop; $j >= 0 ; $j--){
$tempScale          = $scale - (($scale / $step) * $j);
$originalPosition   = $originalPosition / $tempScale;
}
}

echo('max rescale loop : ' . $maxLoop . '<br>');
echo('current scale : ' . $currentScale . ' ( ' . $currentScale * 100 . '% )<br>');
echo('current position : ' . $position . '<br>');
echo('original position : ' . $originalPosition . '<br>');
}
exit;

здесь результат, исходная позиция остается такой же, как исходное значение
введите описание изображения здесь

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]