Всем математикам, пожалуйста, прочитайте весь вопрос, на который можно ответить без знания HTML5: -)
Я масштабирую (масштабирую) холст HTML5, и я хочу сделать это за множество маленьких шагов вместо одного большого шага, чтобы сделать скроллинг «гладким». Чтобы объяснить это:
Когда пользователь поворачивает колесо прокрутки, однажды моя цель - увеличить холст на 20%. Теперь я хочу разделить это на, скажем, 20 маленьких шагов.
Моя проблема в том, что из-за ограниченной библиотеки canvas я могу использовать для этого только метод scale (xscale, yscale) в 2d Context. Таким образом, я не могу установить единицы к определенному размеру, который облегчит это. Я должен использовать фактор на каждом этапе и не могу понять, как это можно сделать.
Таким образом, единицы измерения моего холста равны 100 на шаге 1, я хочу, чтобы они были равны 130 на шаге 20 с 19 маленькими шагами между ними.
- oldscale: 100,: фактор: x, newscale: 101
- oldscale: 101,: фактор: x, newscale: 102
- oldscale: 102,: фактор: x, newscale: 103
......
Переменные i теперь являются текущим номером шага (0-19), итогами (20) и целевым увеличением в процентах (20)
Это очень простой пример того, что мне нужно. Основная проблема в том, что у меня есть доступ только к X, и я не могу напрямую влиять на весы.
Кто-нибудь может помочь? Надеюсь, я хорошо это объяснил.