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

User Tag List

Страница 4 из 16 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 155

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

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

    По умолчанию

    У меня сейчас идея поэкстравагантнее крутится. Я пишу генерацию синуса алгоритмом Брезенхэма
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

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

  3. #32
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,057
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не надо ничего интерполировать. Если количество периодов и длина массива данных не имеют общих делителей - то данные периодов будут дополнять друг друга. Они не будут повторяться от периода к периоду в пределах длины массива. Для окончательной обработки их придется всего лишь перетасовать.

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

    По умолчанию

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

  5. #34
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    У меня сейчас идея поэкстравагантнее крутится. Я пишу генерацию синуса алгоритмом Брезенхэма
    Типа как рисование окружностей?)

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Типа как рисование окружностей?)
    Точно так же!
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  7. #36
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    Точно так же!
    Вроде бы по такому же принципу генерится синус в игре Rick Dangerous 2.
    Когда в меню человечек туда-сюда шатается.

  8. #37
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,057
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На 29 периодах у меня отличная точность получилась после перетасовки.

    Алгоритм перетасовки следующий
    Код:
    j = 0;
    for(i=0; i<256; i++)
    {
        y[j] = x[i];
        j = (j+29) % 256;
    }

  9. #38
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,057
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Реализовал алгоритм, работающий на рекуррентном соотношении с 55 периодами и последующей перетасовкой. Число периодов и амплитуду синуса пришлось подбирать вручную: неоптимальные значения приводят к большим погрешностям. Соответственно был вычислен и жестко запрограммирован множитель k.

    Вычисляется таблица синуса длиной 256 байт, 8-битные значения. Погрешность - +-8. На картинке красная линия - точные значения, синяя - вычисленные данной прогой.

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

Название:	singen_recurrent.jpg 
Просмотров:	191 
Размер:	21.5 Кб 
ID:	43556  
    Вложения Вложения

  10. #39
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,057
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот вариант на 73 периодах. Получилось даже еще лучше. Максимальная погрешность - +-5.
    Вложения Вложения

  11. #40
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    Для эффектов сойдёт, наверное, но в 3д это вставлять нельзя.
    Можно. У X-Trade вместо синуса где-то использовалась аж парабола.

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

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

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

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

Ваши права

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