User Tag List

Показано с 1 по 10 из 27

Тема: Быстрое вращение в 3Д

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    03.05.2007
    Адрес
    St. Petersburg
    Сообщений
    297
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TmK Посмотреть сообщение
    Кто нито занимался оптимизацией поворота только по двум осям Ох, Оу (в 99% случаев с эффектами заглаза) на основе таблиц.
    Самый простой вариант конечно допустим поворот по Ох берем из таблицы, остальное честно считаем.
    Какие нито сферические или свои системы координат ктонито использовал (Пусть даже для нечестного с математической точки зрения вращения)?
    Если среди Ox и Oy нет оси, которая перпендикулярна экрану, то точки будут вращаться по окружности, проекция которой, в общем случае, будет эллипсом, оси которого будут горизонтальным и вертикальным отрезками, т.е. эллипс будет без наклона -- ровно так, как его только и можно нарисовать быстро. Вращение вокруг горизонтальной оси будет изменять отношение малой оси эллипса к большой: a = b * sin(alpha), где alpha -- угол повотора. Вращение вокруг вертикальной оси будет перемещать точку по дуге получившегося эллипса. Имея представление об алгоритме построения эллписов в растре, это можно сделать быстро даже без таблиц.
    Higgins ZX Spectrum Emulator 8.10 alpha 3 available
    Please write us to report a bug or request a feature.

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

  3. #2

    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Higgins Посмотреть сообщение
    Если среди Ox и Oy нет оси, которая перпендикулярна экрану, то точки будут вращаться по окружности, проекция которой, в общем случае, будет эллипсом, оси которого будут горизонтальным и вертикальным отрезками, т.е. эллипс будет без наклона -- ровно так, как его только и можно нарисовать быстро. Вращение вокруг горизонтальной оси будет изменять отношение малой оси эллипса к большой: a = b * sin(alpha), где alpha -- угол повотора. Вращение вокруг вертикальной оси будет перемещать точку по дуге получившегося эллипса. Имея представление об алгоритме построения эллписов в растре, это можно сделать быстро даже без таблиц.
    Прорабатывал приблизительно такую идею, брал в качестве координат Z, угол Ox, угол Oy. Сломал голову как предыдущий поворот отражается на следующем, ответ эллипс спас от взрыва мозга
    Подумаю на досуге, хотя уже сделал тупо на основе таблиц coord*sin(alpha), coord*cos(alpha) и таблицы проецирования,
    без оптимизации порядка 215 тактов что вполне приемлемо (предыдущий вариант был 110, но пока не знаю как учет эллипса скажется)
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

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

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

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

Похожие темы

  1. Быстрое самоуничтожение
    от Barmaley_m в разделе Программирование
    Ответов: 13
    Последнее: 25.09.2007, 09:20

Ваши права

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