User Tag List

Страница 97 из 113 ПерваяПервая ... 93949596979899100101 ... ПоследняяПоследняя
Показано с 961 по 970 из 1128

Тема: ЭТЮДЫ

  1. #961

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

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    sqrt в целых числах.
    Корень в целых числах, тем более приближенный, считается элементарно.
    Например, побитно.

    Этот пользователь поблагодарил Titus за это полезное сообщение:

    shurik-ua(27.04.2020)

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

  3. #962

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я примерно так и полагал - найти номер самого старшего бита, а затем взять нижнюю половину бит как результат -

  4. #963

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тоже самое только с логарифмами
    возможно с ходу ошибки
    щас проверю



    logx = log(x)
    logy = log(y)

    a = (logx + logx)
    b = (logy + logy)

    c = (((a-b)+1)+b)

    l = длина вектора

    l = 10 ^ (((c))/2)
    или
    l = 10 ^ (((c))-(log(2)))
    или
    l = 10 ^ (((c))-0.3010)

    или

    l = 10 ^ ((((((logx + logx)-(logy + logy))+1)+(logy + logy)))-0.3010)
    может можно сократить



    с ходу не осилил
    вот рабочее


    после того как нашли вектор x y
    x=3
    y=4

    sqr(3^2 + 4^2) = 5


    logx = log(x)
    logy = log(y)

    logx = log(3)=0.4771
    logy = log(4)=0.6020

    a = (logx + logx)
    b = (logy + logy)
    a = (0.4771 + 0.4771) = 0.9542
    b = (0.6020 + 0.6020) = 1.204

    c = ((log(10 ^ (a-b)) + 1)+b)
    c = ((log(10 ^ (0.9542-1.204)) + 1)+1.204) = 1.3979



    l = длина вектора

    l = 10 ^ (c/2)
    l = 10 ^ (1.3979/2) = 4.9997 Ok

    оно же
    l = 10 ^ (((log(10 ^ ((logx + logx)-(logy + logy))) + 1)+(logy + logy))/2)

    знать бы как инкриментить в логарифмах
    можно было бы упростить
    Последний раз редактировалось NEO SPECTRUMAN; 27.04.2020 в 23:49.

  5. #964

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    у нас же логарифм с основанием 2 - ну и целые числа должны быть.

  6. #965

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    ну и целые числа должны быть.
    целые числа легким движением руки превращаются в числа с фиксированной запятой...

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    у нас же логарифм с основанием 2
    да хоть натуральный
    роли не играет
    Последний раз редактировалось NEO SPECTRUMAN; 27.04.2020 в 23:53.

  7. #966

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    целые числа легким движением руки превращаются в числа с фиксированной запятой...
    Цитата Сообщение от shurik-ua Посмотреть сообщение
    но конвертить придётся туда обратно
    этого как раз и хочется избежать

  8. #967

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а зачем туда обратно?

    - - - Добавлено - - -

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    для одной древней игры,
    а на сколько древняя игра?\на чем?
    2 128К таблицы не катит? (^2 и корень)
    для нормального вычисления sqr(x^2+y^2)?

    можно попробовать сделать чисто таблично
    вообще на сколько позволяет память
    там кило по 16 на таблицу например
    младшие биты просто отбрасывать
    и глянуть что будет

    или это на спектрумах?
    хотя так же можно и на спектрумах
    Последний раз редактировалось NEO SPECTRUMAN; 28.04.2020 в 00:11.

    Этот пользователь поблагодарил NEO SPECTRUMAN за это полезное сообщение:

    shurik-ua(28.04.2020)

  9. #968

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    это на ПЦ - онлайн игра начала нулевых Dark age of Camelot
    да таблицами пожалуй будет самое то )

  10. #969

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    тут немного прикинул
    не самое то
    чтоб уместить результат таблицы 2-й степени его нужно будет поделить на 65535

    в итоге длин меньше 300 не будет находиться вообще

    конечно это для диагонали FFFFxFFFF
    если такой не будет
    или есть определенная максимальная возможная длина
    то можно повысить точности в несколько раз
    но все равно будет не точно... (точность только на больших дистанциях)

    - - - Добавлено - - -

    по моей извращенной формуле
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    l = 10 ^ (((log(10 ^ ((logx + logx)-(logy + logy))) + 1)+(logy + logy))/2)
    на оборот будет высокая точность на маленьких дистанциях
    ну и так же понадобятся 2 128К таблицы (logx и a^x)
    +куча сложений и вычитаний
    Последний раз редактировалось NEO SPECTRUMAN; 28.04.2020 в 01:09.

  11. #970

    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    там нужно меньше - максимальная длина при которой сервер шлёт пакет о другом игроке где-то примерно 6000

Страница 97 из 113 ПерваяПервая ... 93949596979899100101 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

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