Важная информация

User Tag List

Страница 1 из 10 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 92

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

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

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

    Чтобы не плодить лишние темы решил написать сюда. В демомейкерстве я совсем ничего не знаю. Даже банально с синусами никогда не работал (хотя Витамин дал наводку по этой теме, спасибо!). Но вот есть у меня вопрос, ответ на который толком найти не могу. Нужно описание алгоритма поворота спрайта. Ужэе была тут когда- подобная тема и там даже есть отсылка на статейки на zxpress. Но статейки бестолковые, если честно. Толком ничего не описывается, есть пара процедур без особых комментариев. А мне бы в целом понять как работает поворот. Тогда можно будет посидеть и самому чё-нить закодить. Расскажите кто что знает по этому вопросу? а ещё, хотелось бы знать, как делается эффект туннеля.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

  3. #2
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sayman, Поворот спрайта на произвольный угол или по 90градусов?
    Поворот в редакторе спрайтов (относительно медленно), при подготовке уровня/сцены..ситуации/рождения в памяти, или прям на лету, при выводе спрайта?

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

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Sayman, Поворот спрайта на произвольный угол или по 90градусов?
    Поворот в редакторе спрайтов (относительно медленно), при подготовке уровня/сцены..ситуации/рождения в памяти, или прям на лету, при выводе спрайта?
    Поворот на произвольный градус на лету. Немного в фотожабе и гимпе посидел, поэкспериментировал. Взял спрайт 32х цветный и начал его там крутить. Если каждый раз поворот спрайта производить из прошлого результата поворота, то качество с каждым разом ухудшается. Т.е. видимо, поворот нужно делать всегда от начального шаблона погруженного в память при старте программы. Да, забыл сказать, что поворот не на 128м экране. а на экране Спринтера. Соответственно спрайт цветной.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  5. #4
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    насчет поворота - сам не занимался, но видел, что используются формулы:

    x1=x*cos(f)-y*sin(f)
    y1=x*sin(f)+y*cos(f)

    Насчет туннеля - какой нужен туннель - точечный или другой?

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

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    насчет поворота - сам не занимался, но видел, что используются формулы:

    x1=x*cos(f)-y*sin(f)
    y1=x*sin(f)+y*cos(f)

    Насчет туннеля - какой нужен туннель - точечный или другой?
    Про туннель, видимо пиксельный. Там где текстурку на него натянуть можно. А какие ещё туннели бывают?
    Из формулы - f видимо градус на который нужно повернуть?
    x и y - координаты внутри спрайта?
    x1 и y1 - координаты на экране?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  7. #6
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Из формулы - f видимо градус на который нужно повернуть?
    x и y - координаты внутри спрайта?
    x1 и y1 - координаты на экране?
    Да, f-угол поворота, x1,y1 - результат

    Цитата Сообщение от Sayman Посмотреть сообщение
    А какие ещё туннели бывают?
    multidirectional например.

  8. #7
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sayman, если собрался поворачивать пиксельарт, то советую не терять ни одного пикселя при этом. Для этого можно поворачивать спрайт в 3 линейных сдвига. (линейные сдвиги, это как заставка уезжает в Comando Tracer).
    Вот, значит. Сдвигаешь по горизонтали, потом по вертикали, потом опять точно так-же по горизонтали, и получается поворот, с сохранением цветовой плотности. При сдвигах пиксели не теряются. То есть операция обратима, и можно сдвинуть всё обратно как было.

  9. #8
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    короче, rotozoomer

  10. #9
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    denpopov, Ну, зума при этом не происходит. При сдвигах масштаб не меняется.
    Sayman, Если заинтересует, то посчитаю таблицу коэффициентов сдвига. Может даже прототипчик напишу, если надо.

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

    По умолчанию

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

Страница 1 из 10 12345 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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