User Tag List

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 92

Тема: Вращение спрайта на произвольный угол

  1. #41

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    исходное состояние спрайта 48на64. изменение габаритов возможно в процессе разворота, но это не имеет отношение к его исходному состоянию. при повороте используется исходный спрайт, а не его изменённая (развёрнутая) копия.
    хотя возможно для удобства можно сделать спрайт квадратным (пустое пространство заливать цветом прозрачности).
    какой ты нудный а
    ты под чо пишешь? под I7 core quatro?
    или под спек с его 3.5/7/14 мгц



    пофиг насколько ты поворачиваешь

    сортирование 3072 точек займет определенное время
    а максимальное искажение размера спрайта появляется когда он повернут на 45 градусов

    кстати если интересно посмотри как сделан быстрый поворот в демке Refresh
    раскранченая картинка 64*28 освежается примерно 60000 тактов и
    весит соответсвенно

    твое же натягивание совы на глобус займет минимум вдвое дольше.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	пример.png 
Просмотров:	729 
Размер:	2.3 Кб 
ID:	53070  
    Последний раз редактировалось jerri; 07.08.2015 в 18:53.
    С уважением,
    Jerri / Red Triangle.

  2. #42

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    можно почитать про матчасть, а именно про аффинные преобразования - вот например небольшая статейка в тему:
    http://robocraft.ru/blog/computervision/581.html

  3. #43

    Регистрация
    30.04.2010
    Адрес
    Харцызск, Донецкая область, Украина
    Сообщений
    24
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    можно почитать про матчасть
    Про матчасть лучше читать у Ла Мота (Андрэ Ла Мот "Секреты программирования игр". Ну да, конкретные реализации там на C на PC для DOS, но теоретические вопросы там объясняются очень подробно.
    Цитата Сообщение от Andrew771
    Сделай спрайты из векторных линий и крути только два конца этих линий, а линию рисуй по этим двум точкам.
    Зачем это?
    Последний раз редактировалось Sameone; 09.08.2015 в 13:17.

  4. #44

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    Зачем это?
    Спрайт будет состоять из линий. У тебя расчет для поворотов будет только для концов линий, а сами линии будешь рисовать по этим рассчитанным двум точкам. Промежуточные точки на линии не надо рассчитывать.

  5. #45

    Регистрация
    30.04.2010
    Адрес
    Харцызск, Донецкая область, Украина
    Сообщений
    24
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771,
    Я имел ввиду -- зачем считать каждую линию, да ещё дважды? Давай представим спрайт в виде параллельных линий. Тогда мы можем его рисовать линия за линией. Каждая линия, естественно, состоит из точек. Каждая последующая смещена относительно предыдущей, следовательно, чтобы поставить следующую точку достаточно знать на сколько нужно сместиться по у при смещении по х на 1 пиксель. Это смещение равно тангенсу угла наклона линии к горизонтали. Поскольку все линии параллельны, то у них один и тот же угол наклона, мы можем его посчитать один-единственный раз. А дальше прибавлять смещение, и если результат получится больше 1, уменьшать его на 1. Угол наклона -- это и есть угол поворота спрайта относительно начального положения. Он известен, берём тангенс из таблицы.
    Для перехода к следующей строке нужно знать смещение её начала относительно предыдушей линии. Это есть котангенс нашего угла поворота. Тоже берём из таблицы (быстрее если у нас две таблицы, но можно обойтись и одной, сэкономив немного памяти).
    Т. е. сложность - 2 извлечения из таблицы + суммирование и проверка для каждого пикселя.

  6. #46

    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    484
    Спасибо Благодарностей отдано 
    135
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хранить, всё-таки, готовые спрайты для каждой фазы, но в пакованном виде. Не думаю, что распаковка займет больше времени, чем поворот.
    Последний раз редактировалось Sergey; 11.08.2015 в 16:00.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Хранить, всё-таки, готовые спрайты для каждой фазы, но в пакованном виде. Не думаю, что распаковка займет больше времени, чем поворот.
    Стандартные спрайты упакуются ну максимум в 2 раза. Выигрыш небольшой.

  9. #48

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Стандартные спрайты упакуются ну максимум в 2 раза. Выигрыш небольшой.
    а если вращать? насколько выгоднее будет?

    я считаю что больше 16 фаз поворота смысла нет
    автор хочет поворот на 1 градус

    а ты как считаешь сколько займет по времени поворот чернобелого спрайта на произвольный угол?
    С уважением,
    Jerri / Red Triangle.

  10. #49

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ты как считаешь сколько займет по времени поворот чернобелого спрайта на произвольный угол?
    вообще говоря, речь была про цветные спрайты. 8bpp...
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  11. #50

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    вообще говоря, речь была про цветные спрайты. 8bpp...
    ну тогда вообще вопросов нет
    60000 тактов на спрайт размером 64х28

    плюс процедура настройки ротатора
    пошаговую стратегию делаешь?
    С уважением,
    Jerri / Red Triangle.

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вывод спрайта по X,Y
    от drbars в разделе Программирование
    Ответов: 7
    Последнее: 20.03.2022, 10:43
  2. Поворот спрайта
    от Soplik в разделе Программирование
    Ответов: 22
    Последнее: 03.10.2011, 21:53
  3. Ответов: 13
    Последнее: 29.12.2010, 21:51
  4. Быстрое вращение в 3Д
    от TmK в разделе Программирование
    Ответов: 26
    Последнее: 24.05.2009, 04:01
  5. Поворот спрайта
    от acidrain в разделе Графика
    Ответов: 9
    Последнее: 06.12.2008, 14:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •