Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        альтернатива синусам и косинусам
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

Guest



Новичок

При задачах связанных с вычислением координат по углу или вращением или еще каких либо завихрений часто используют математические функции  sin, cos.

Почему для таких задач не использовать все тот же алгоритм Брезенхема (правда малость модифицированный)? разложив его на части и сделав некое подобие sin и cos, только дискретное. Убрав тем самым из обихода плавающею точку.

Ведь при работе с растром, используются целочисленные данные, да и вообще экран монитора целочисленный, там нет координат с плавающей точкой. Все дискретно. Спрашивается на кой хер, если мы работаем с конкретным растром, плавающая точка?

Плюс к этому, если я не ошибаюсь, sin и cos большой удар несут на производительность системы(и бывает что одни и те же точки перерисовываются повторно из-за  конвертирования float в uint), нежели Брезенхемовский алгоритм. К тому же он работает с дискретными данными, никаких плавающих точек в отличии от sin, cos.

Очевидно же что при работе с тригонометрическими функциями, мы на самом деле имеем дело с окружностью. А раз так, то взяв за основу алгоритм Брезенхема построения окружности мы легко можем получить некое подобие sin, cos. Только аргументы функции не угол, а шаг с началом изменения координат относительно окружности и радиус. Возращаемое значение у одной функции координата X у другой Y. Вот мы и получили все тот же sin cos только более производительные и избавились от плавающей точки.


P.S.
Тем более что сейчас готовиться проект (2D игра) на мобильную платформу и там нет у процессоров аппаратной поддержки плавающей точки, эту идею я планирую применять там, включив эти функции в стандартные функции движка.

Что вы думаете об этом?

Всего сообщений: Нет | Присоединился: Never | Отправлено: 11 июня 2006 19:15 | IP
VF



Administrator

Думаю там точности больше 2 знаков не нужно. Так что проще всего получать результат по таблицам значений. Для приведения таких значений к целому виду достаточно домножить их на 100

Всего сообщений: 3109 | Присоединился: май 2002 | Отправлено: 11 июня 2006 19:24 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com