User Tag List

Страница 15 из 16 ПерваяПервая ... 111213141516 ПоследняяПоследняя
Показано с 141 по 150 из 155

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

  1. #141

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    Если вы не понимаете контекст, в котором такие вещи бывают нужны, было бы куда грамотнее не разводить флейм в техническом треде, а помолчать, м.б. почитать и задуматься, зачем такие вещи бывают нужны.
    А я вот например прекрасно понял что он (Tronix) имел в виду.
    Зря ты (introspec) ругнулся на него...
    Знаю, ты ругаться любишь, но в этот раз у тебя шляпа вышла, уж без обид

    А по поводу синуса - вот интересная статья: http://zxpress.ru/article.php?id=5525
    И блин я так не угадал как-же можно
    Цитирую:
    P.S. А ведь можно обойтись и без
    таблички данных SIN_DAT! Кто догадается -
    как? : -)

    Действительно, как?

  2. #142

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

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    А я вот например прекрасно понял что он (Tronix) имел в виду. Зря ты (introspec) ругнулся на него... Знаю, ты ругаться любишь, но в этот раз у тебя шляпа вышла, уж без обид
    Ничто человеческое мне, конечно, не чуждо, запросто могу быть и неправ. Но моя претензия была не в том, что он написал что-то непонятное, а в том, что он написал что-то тривиальное.

    Цитата Сообщение от Destr Посмотреть сообщение
    А по поводу синуса - вот интересная статья: http://zxpress.ru/article.php?id=5525
    Открываем мою ссылку прямо в этом треде и читаем: http://zx-pk.ru/showpost.php?p=633334&postcount=25

    Цитата Сообщение от Destr Посмотреть сообщение
    И блин я так не угадал как-же можно
    Цитирую: "P.S. А ведь можно обойтись и без таблички данных SIN_DAT! Кто догадается - как? : -)" Действительно, как?
    Destr, колись, ты вообще этот тред читал или так, мимо проходил? Тут 90% программ без табличек сделано.

    Могу развернуть мою позицию. Сейчас на этом форуме практически полностью вымерли нормальные обсуждения серьёзных технических моментов. За всю осень я не могу вспомнить ни одной темы вызвавшей серьёзное обсуждение программистов. Кроме синуса. Поэтому, да, хотя я и осознаю, что эта тема узкоспециализированная и далеко не всем нужная, на данный момент это единственное место на форуме, где можно посмотреть как разные люди работают над оптимизацией стандартной задачи, используя разные подходы, разные стили программирования. Поэтому я нахожу эту тему чуть ли не самой полезной темой на форуме, за довольно долгое время. Поэтому я и пытаюсь защищать эту тему от засорения флудом.
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  3. #143

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    Destr, колись, ты вообще этот тред читал или так, мимо проходил?
    Колюсь: ниасилил весь, потому и ссылу пропустил (ну лажает у нас в деревне инет, бывает по полчаса страничку открываем, есть такое).

    А по поводу синуса - что то я не понял. Ты дал ссыль на зеркало (ну эта самая статья) а вот как без таблички да честный синус - до сих пор тайна (для меня, по крайней мере. Ну делаю я скидку что лапоть деревенский, но блин в голове не могу умять чтоб процедура да генерации, да честный синус, да чтоб в 39 байт...)

    P.S. Конечно речь не о калькуляторе ПЗУшном, уж там можно и полёт на Луну рассчитать.
    Годиков эдак за 2-3...
    Ага...

    ---------- Post added at 18:18 ---------- Previous post was at 18:13 ----------

    В своей деме новогодней (которая за 2011 год кажись) я этот синус тупым инкрементом заделывал, он конечно получился нифига не синус, но похож, собака!

    ---------- Post added at 18:31 ---------- Previous post was at 18:18 ----------

    Цитата Сообщение от Reobne Посмотреть сообщение
    Реализовал синус многочленом.
    Вычисляется он на промежутке (0..PI/2), в остальные четверти копируется.

    Коэффициенты подобрал методоми "научного тыка" и "искусственного отбора".

    Получился такой алгоритм:
    Код:
    HL=32737
    BC=19
    DE=5461
    A=-20
    FOR X=64 TO 0 STEP -1
    SINTAB[X]=H
    A=A-2
    DE=DE+A
    BC=BC-D
    HL=HL+BC
    NEXT X
    Да, именно так и делал.
    Только не знал что это называется многочлен

    P.S.S. На асме это всё конечно гораздо быстрей работает, но и гораздо страшней выглядит...
    А по сабжу-заголовку - синус есть Святой Грааль.
    Ищем его, ищем, а ничерта не находим, хотя и кричим периодически что вот мол "Есть он, уже нашли!!!"
    Типа теоремы Ферма (которую уже как-бы доказали, но сцуко никакой математической базы так и не подвели. обошлись тупым перебором.)
    Вот и мучаемся с синусом так-же как и древние с делением окружности на диаметр (да-да, то самое PI)
    Последний раз редактировалось Destr; 09.12.2013 в 19:47.

  4. #144

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

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Ищем его, ищем, а ничерта не находим, хотя и кричим периодически что вот мол "Есть он, уже нашли!!!"
    Вообще-то давно уже нашли) Вопрос в степени точности)

  5. #145

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Вообще-то давно уже нашли) Вопрос в степени точности)
    Да, браза!
    Об чём и звук!

  6. #146

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что насчет Cordic? Лет 15 назад наковыривал эту тему, одни только сложнения и вычитания.
    http://www.andreadrian.de/oldcpu/Z80...mozTocId558053

    Насколько я знаю в FPGA используются именно эти алгоритмы.

  7. #147

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    А что насчет Cordic? Лет 15 назад наковыривал эту тему, одни только сложнения и вычитания.
    http://www.andreadrian.de/oldcpu/Z80...mozTocId558053
    Жаль что на английском, статья-то похоже полезная

  8. #148

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

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Жаль что на английском, статья-то похоже полезная
    Не вникал, но мне кажется, что что-то типа рекурсивного цифрового генератора, на основе которого в этой теме приводились примеры. Хотя, может и другой алгоритм, надо разбираться.

    В одной из ссылок по этому алгоритму лежит диссертация нашего товарища. http://baykov.de/CORDIC1972.htm

    Т.е. по-русски, значит алгоритм CORDIC называется как Цифра-за-цифрой.

  9. #149

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

    По умолчанию

    Здрассте, дяденьки кодеры!

    Что, ряд Тейлора никто не вспомнил?

    способ, предложенный introspec'ом мне нравится, но в двух примерах генерации синуса он не понятен как принцип, зато апроксимация парабол иногда использовалась в демах.
    и чем она удобна, это имхо то, что можно изменять амплитуду синусоиды. я написал код, но вышла фигня:
    Код:
    	device zxspectrum128
            ORG #6000
    begin
     ld bc,#8000
     ld hl,0
     ld de,0
    sinlp1: add hl,de
     ld a,h,(bc),a
     ld a,e:add a,8:ld e,a
     jr nc,noincd
     inc d
    noincd:
     inc c
     bit 6,c
     ;ld a,c:cp #41
     jr z,sinlp1
    ;--------------------1st
     ld e,#40;ld e,c
     ld d,b;de=$807F,bc,=$8040
    sinlp2:
     ld a,(bc)
     ld l,a
     ld a,64*2-1:sub l
     ld (de),a
     inc e
     dec c
     jr nz,sinlp2
    
     ;jr $;c=$7F
     ld c,a;bc=$807F,de=$8080
    sinlp3:
     ld a,(bc)
    ; neg
     ld (de),a
     dec c
     inc e:jr nz,sinlp3
    
     ld hl,#8000
    drwlp:
     ld a,(hl)
     ld c,l
     push hl
     call	022B0h
    ;A=y
    ;c=X
     call	022B0h
    
     inc a
     ld b,a
     xor a:scf
    bwlp:rra:djnz bwlp
     or (hl):ld (hl),a
     pop hl
     inc l:jr nz,drwlp
     jr $
    end
    	display /d,end-begin
    	savesna "!test.sna",begin
    и не могу понять в чем дело.

  10. #150

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,103
    Спасибо Благодарностей отдано 
    1,336
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    Что, ряд Тейлора никто не вспомнил?
    По сути ряд Тейлора это многочлен. Мы тут еже много алгоритмов написали основаных на многочлене. Вопрос в том, насколько правильно, по обеспечения точности, находятся коэффициенты многочлена.
    Ряд Тейлора грубее чем минимакс-полином, так как не учитывает значения функции на нужном диапазоне, а только в одной точке. А генетический подбор ещё точнее, так как учитывает ещё и дискретность.
    Так что, может кто и вспомнил о ряде Тейлора, но смысла о нём писать не увидел, после того как уже написано о более точных методах.

    Код дочитал до этого места:
    Код:
    ;--------------------1st
     ld e,#40;ld e,c
     ld d,b;de=$807F,bc,=$8040
    sinlp2:
     ld a,(bc)
    В коментах написано de=$807F а фактически de=$8040
    В А загружается содержимое $8040, но мы ещё ничего туда не записали.
    Идет копирование из первой четверти во вторую со сменой знака, но синус не меняет знак во второй четверти.

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

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

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

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

Ваши права

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