Кватерионы это же в трёхмерном пространстве, где 3 оси вращения. А разговор о 2d-движке, где одна ось. Зачем тут кватерионы?
Кватерионы это же в трёхмерном пространстве, где 3 оси вращения. А разговор о 2d-движке, где одна ось. Зачем тут кватерионы?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вращение битмапа на произвольный угол - это задача интерполяции функции от двух переменных. И она не имеет "правильного" решения, потому как значения исходной функции не заданы между пикселями исходного битмапа. Любой метод интерполяции будет исходить не из "настоящего" изображения, которое должно быть, а из каких-то допущений о том, каким оно могло бы быть. Отсюда неоднозначность.
Во-вторых, пиксельная графика обычно оптимизирована под конкретную сетку пикселей, так что, даже если бы непрерывная функция, соответствующая изображению, была известна во всех точках - попытка взять ее отсчеты после поворота приведет, как правило, лишь к посредственному результату, если речь идет о спрайтах с низким разрешением.
Поэтому вращать спрайты лучше вручную. Можно попытаться сначала их повернуть на PC с помощью фотошопа или другой аналогичной программы, и использовать результат такого поворота как ориентир для ручной прорисовки.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)