Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Поворот спрайта (http://zx-pk.ru/showthread.php?t=16888)

Soplik 26th September 2011 02:27

Поворот спрайта
 
Хочу научиться поворачивать спрайтики 16x16 на произвольный угол. Как это ловоче всего сделать?

Titus 26th September 2011 02:50

Quote:

Originally Posted by Soplik (Post 418416)
Хочу научиться поворачивать спрайтики 16x16 на произвольный угол. Как это ловоче всего сделать?

В реалтайме - очень медленно. Легче заготовить уже повернутые.

Destr 26th September 2011 10:44

Quote:

Originally Posted by Soplik (Post 418416)
Хочу научиться поворачивать спрайтики 16x16 на произвольный угол. Как это ловоче всего сделать?

Вот тут что-то такое:
http://www.zxpress.ru/article.php?id=7903 (примерно с 1/3 статьи начинается).
http://zxpress.ru/article.php?id=7876
http://zxpress.ru/article.php?id=9228

DimkaM 26th September 2011 10:46

У тебя уже есть две похожие темы, зачем ещё то одну создавать.

jerri 26th September 2011 15:25

поворот спрайтов 16*16 ересь несусветная
после поворота спрайт превращается в кашу

Andrew771 26th September 2011 17:06

Quote:

Originally Posted by jerri (Post 418504)
поворот спрайтов 16*16 ересь несусветная
после поворота спрайт превращается в кашу

С какой это стати? Если правильно рассчитать координаты в векторной графике (синусы-косинусы всякие), то всё нормально будет. Другое дело, что очень много времени займет.

jerri 26th September 2011 17:36

Quote:

Originally Posted by Andrew771 (Post 418521)
С какой это стати? Если правильно рассчитать координаты в векторной графике (синусы-косинусы всякие), то всё нормально будет. Другое дело, что очень много времени займет.

хорошо объясню проще

у тебя спрайт 16*16 итого 256 точек
убрать пустые останется ~128
проблема в том что
1 спрайт 16*16 после поворота на 35 градусов будет занимать 23х23 точки
2 из-за того что разрешение спрайта очень мелкое а спрайт черно белый точки налезут друг на друга и спрайт превратится в кашу
на цветном чуть получше но тоже не айс

я знаю я делал генератор набора спрайтов 16х16 с шагом где-то 1/64 потом ручками править надо много много
со спрайтами 32х32 уже лучше
а в демке condommed вообще крутят 2 спрайта 64х64 без особых напрягов

единственный более менее вариант увеличить в 4 раза, повернуть и потом уменьшить, но все равно не айс

Andrew771 26th September 2011 17:42

Quote:

Originally Posted by jerri (Post 418527)
единственный более менее вариант увеличить в 4 раза, повернуть и потом уменьшить, но все равно не айс

Дык вот, вся проблема с округлениями чисел (если ты делал по формулам векторной графики, а не простой пересчет пикселов, как многие предлагают). Просто когда увеличиваешь в 4 раза, то повышаешь точность.

SpecialistMK87 26th September 2011 18:13

каша будет!

я вращал растровые изображения 16x16

у меня каши не было:

переводил в вектор ( белые, черные квадраты ),
делал поворот,
пересчитывал сколько процентов белого попало в каждый пиксель,

и получалось из двухцветной картинки ( черный и белый цвет ) картинка с градациями серого. У меня было допустимо 16 градаций яркости серого.

Заранее генерил картинки для 256 углов поворота.

а на спектруме именно каша будет

jerri 26th September 2011 18:35

Quote:

Originally Posted by Andrew771 (Post 418529)
Дык вот, вся проблема с округлениями чисел (если ты делал по формулам векторной графики, а не простой пересчет пикселов, как многие предлагают). Просто когда увеличиваешь в 4 раза, то повышаешь точность.

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


All times are GMT +4. The time now is 21:03.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.