User Tag List

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

Тема: Генерация синуса

  1. #41

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Можно. У X-Trade вместо синуса где-то использовалась аж парабола.
    OK, согласен, перефразирую: "Можно, но не нужно потом пенять, что из-за 8-битной математики точки трясутся!"
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  2. #42

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    У X-Trade вместо синуса где-то использовалась аж парабола.
    я тоже использовал параболу в i512 и grass вроде. отлично работает.

    ---------- Post added at 15:19 ---------- Previous post was at 15:18 ----------

    Цитата Сообщение от introspec Посмотреть сообщение
    "Можно, но не нужно потом пенять, что из-за 8-битной математики точки трясутся!"
    а они будут трястись? имхо, картинка просто будет слегка искажаться, чего я на глаз не замечал.

  3. #43

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    а они будут трястись? имхо, картинка просто будет слегка искажаться, чего я на глаз не замечал.
    Смотря что делать, конечно. Смотря какого рода ошибки опять же. Ну, короче, я не критикую, я просто хочу чтоб человек выбирал процедуру осознанно и понимал, что байты не всегда бесплатно достаются.
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  4. #44

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Можно. У X-Trade вместо синуса где-то использовалась аж парабола.
    Кстати о параболах. Я как раз недавно натыкался на одну статью. Там приводились коэффициенты многочлена 3-го порядка (кубической параболы) для приближения косинуса на интервале от 0 до pi/2. Так вот, многочлена третьего порядка оказалось достаточно, чтобы погрешность была менее 0.001! Для наших же целей 8-битной точности может оказаться достаточно и многочлена 2-го порядка, т.е. параболы. Ее коэффициенты должны быть вычислены методом минимакс-аппроксимации. Ну а получив четверть периода, можно, используя симметрию, получить и полный период.

    ---------- Post added at 13:07 ---------- Previous post was at 13:04 ----------

    Вот коэффициенты минимакс-полинома третьего порядка для косинуса на интервале 0..pi/2:
    y = 0.9998864206+0.00469*x-0.530309*x^2+0.063046*x^3;

  5. #45

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Кстати о параболах. Я как раз недавно натыкался на одну статью. Там приводились коэффициенты многочлена 3-го порядка (кубической параболы) для приближения косинуса на интервале от 0 до pi/2. Так вот, многочлена третьего порядка оказалось достаточно, чтобы погрешность была менее 0.001! Для наших же целей 8-битной точности может оказаться достаточно и многочлена 2-го порядка, т.е. параболы. Ее коэффициенты должны быть вычислены методом минимакс-аппроксимации. Ну а получив четверть периода, можно, используя симметрию, получить и полный период.
    Ну я же писал уже, ошибка будет 3-4%. Для меня сейчас - многовато, но где-то, конечно, хватит.
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  6. #46

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Максимальная абсолютная погрешность для приведенной выше формулы - 0.000114

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

  8. #47

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Максимальная абсолютная погрешность для приведенной выше формулы - 0.000114
    Это не парабола, правда?
    ОК, я смотрел на параболу примерно в прошлом веке уже, могу и ошибаться сейчас.
    Но с учётом кол-ва умножений и констант при таком подходе, меня просто что-то не прёт от такого подхода.
    Последний раз редактировалось introspec; 09.10.2013 в 14:14.
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  9. #48

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Вот коэффициенты минимакс-полинома третьего порядка для косинуса на интервале 0..pi/2:
    y = 0.9998864206+0.00469*x-0.530309*x^2+0.063046*x^3;
    А ничего, что эти вычисления сложнее, чем алгоритм рекурсивного генератора синуса (типа Герцеля)?

  10. #49

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кубический полином вычислять - сложнее. А квадратичный - может и ненамного сложнее. Константы при умножении закодировать жестко, как я это сделал для своей реализации рекурсивного алгоритма. А там видно будет. Значение x^2 можно вычислять так же, как это делается в алгоритме Брезенхама - по рекуррентному соотношению y[i] = y[i-1] + 2*x*dx

    Побочный результат такого алгоритма - парабола. Ее можно использовать для быстрого умножения, подобно тому, как это сделано в Elite.
    Последний раз редактировалось Barmaley_m; 09.10.2013 в 14:24.

  11. #50

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

    По умолчанию

    А что, Брезенхейм не прокатил?

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

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

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

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

Похожие темы

  1. Качение синуса
    от Hacker VBI в разделе Программирование
    Ответов: 38
    Последнее: 08.04.2013, 00:40
  2. Генерация лабиринтов
    от TomCaT в разделе Программирование
    Ответов: 90
    Последнее: 26.06.2012, 10:59
  3. День рождения Синуса!
    от valeron в разделе Поздравления
    Ответов: 9
    Последнее: 19.05.2010, 15:31
  4. Генерация матрицы клавиатуры
    от AlexCrush в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2007, 15:32

Ваши права

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