С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
denpopov, спрайты вертеть можно и в фотожабе и в гимпе и в RotSprite, это всё не проблема. давно бы уже так сделал, если бы мне нужно было именно так.
Поворот спрайта Deja Vu #05
http://zxpress.ru/article.php?id=7903
Sayman, В WIN-PAINT есть функция "растянуть-наклрнить", так вот наклонить, это то о чём я говорю. Там-же можно и поэксперементировать.
Как посчитать коэффициенты.
K1=(cos(A)-1)/sin(A); K2=sin(A)
В паинт надо подставлять углы, значит нужно ещё взять арктангенс.
И за направлением наклона следить, есть два варианта, из них только один правильный.
Например, для поворота на 90 градусов, нужно сделать:
1. К1=-1; Наклон по горизонтали на -45 град.
2. К2=1;Наклон по вертикали на 45 град.
3. То-же что и 1. (К1=-1; Наклон по горизонтали на -45 град.)
Для поворота на 30 градусов:
1. К1=-0.268; Наклон по горизонтали на -15 град.
2. К2=0.5;Наклон по вертикали на 26.565 град.
Попробовал сам, и вижу, что, конечно, пиксели не теряются, но они немного тусуются с ближайшими соседями, и пиксельарт(на это не рассчитанный) сильно страдает.
Можно попробовать варьировать начало наклона, и подобрать наилучшее.
То есть наклонять можно по разному, с одним и тем-же углом. По разному округлять.
Прикрепил КВ, и он-же повёрнутый на 30 градусов.
Reobne, то как работает поворот в виндовых рисовалках - жаба, пайнт, гимп и другие, мне не ведомо. Скорей всего там жуткие формулы для улучшения качества. Некоторые мысли по этой теме уже есть благодаря ответам и собственным поискам. Однако, приведённые тобой скрины немного не ко мне, мне для цветных спрайтов, где цвет на точку, под спринтера. Кстати, вариант с линиями по идее должен на спринтере летать, т.к. линии-то тут аппаратные. Но тут другая заморочка связанная с тем, что при повороте линии уже не прямые, их нужно тоже наклонять, т.е. если наклоняем на сколько то градусов (не кратно 90), то получается нужно отрисовать часть линии на одной горизонтали, потом ниже и т.д., т.е. тоже нужно вычислять. хотя, надо как-то заготовить чтоли табличку этих преломлений, чтоли...
а чб спрайты это Вадиму на профика, но там ему и 45 и 90гр готовые спрайты пойдут.
Паинт - примитивная программа, она всё делает в лоб, как надо.
Цвет или не цвет особой разницы не играет. Только если не вычислять цвет пикселя взвешанным суммированием четырёх ближайших...
На спринтере я не умею, так что не буду приставать и мешать.![]()
Сделай спрайты из векторных линий и крути только два конца этих линий, а линию рисуй по этим двум точкам.
можно почитать про матчасть, а именно про аффинные преобразования - вот например небольшая статейка в тему:
http://robocraft.ru/blog/computervision/581.html
Последний раз редактировалось Sameone; 09.08.2015 в 13:17.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)