User Tag List

Страница 6 из 16 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 155

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

  1. #51

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

    По умолчанию

    для классической параболы вообще нет коэффициентов, т.е. просто x^2. вычисляется проще некуда.

  2. #52

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Побочный результат такого алгоритма - парабола. Ее можно использовать для быстрого умножения, подобно тому, как это сделано в Elite.
    Ну-ка, расскажи, как умножают в элите, интересно)

  3. #53

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

    По умолчанию

    Умножают путем возведения в квадрат по таблице значений параболы. Допустим, нужно умножить a на b. Имеем:

    (a+b)^2 = a^2 + 2*a*b + b^2
    2*a*b = (a+b)^2 - a^2 - b^2
    a*b = ((a+b)^2 - a^2 - b^2)/2

    Квадраты a, b и a+b вычисляются по таблице. Остальные операции дешевые.

  4. #54

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Умножают путем возведения в квадрат по таблице значений параболы. Допустим, нужно умножить a на b. Имеем:

    (a+b)^2 = a^2 + 2*a*b + b^2
    2*a*b = (a+b)^2 - a^2 - b^2
    a*b = ((a+b)^2 - a^2 - b^2)/2

    Квадраты a, b и a+b вычисляются по таблице. Остальные операции дешевые.
    Хитро) Первый раз вижу такой подход)

    Сколько байтная таблица? Сколько битное умножение?

    Интересно, нет ли такого же хитрого деления?

  5. #55

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

    По умолчанию

    Можно сделать умножение 7*7 бит. Таблица содержит 16-битные числа. Результат сложения a+b - 8-битное число, таким образом длина таблицы - 512 байт. Результат умножения, соответственно, 14-битный.

  6. #56

    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Сколько байтная таблица? Сколько битное умножение?

    Интересно, нет ли такого же хитрого деления?
    Здесь есть умножение и деление: http://zxpress.ru/article.php?id=11746

  7. #57

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

    По умолчанию

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

  8. #58

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

    По умолчанию

    Цитата Сообщение от Blade Посмотреть сообщение
    Здесь есть умножение и деление: http://zxpress.ru/article.php?id=11746
    Хороший, подобный вышеописанноми из элиты алгоритм деления:

    Lоg A/В= Lоg A-Lоg В

    Однако, плохо применим для чисел с разрядностью больше 8, из-за больших таблиц.

    ---------- Post added at 15:16 ---------- Previous post was at 14:49 ----------

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

  9. #59

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Можно сделать умножение 7*7 бит. Таблица содержит 16-битные числа.
    В Wolf 48K умножение беззнаковых 8*8 бит, таблица содержит 8-битные числа. В интро к невышедшему Body #40 умножение 15*15 бит беззнаковых, таблица содержит 16-битные числа (32 килобайта). Но интро, тем не менее, работает на 48К.
    Вложения Вложения

  10. #60

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Хорошо бы какой-то алгоритм деления не поразрядный, но и не требующих таблиц сопоставимых с разрядностью исходных чисел.
    Лучше использовать деление как можно реже. В моём 3d-движке его вообще нет (если не считать деления +-6/6 бит по таблице).

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

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

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

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

Ваши права

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