User Tag List

Страница 98 из 113 ПерваяПервая ... 949596979899100101102 ... ПоследняяПоследняя
Показано с 971 по 980 из 1128

Тема: ЭТЮДЫ

  1. #971

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

    По умолчанию

    кстате на предыдущей картинке ошибка
    для диагонали ФФФФхФФФФ цифры наверно еще в 2 раза хуже
    я не учел что значения сумируются
    и именно сумма не должна превышать FFFF
    а не отдельное значение

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    там нужно меньше - максимальная длина при которой сервер шлёт пакет о другом игроке где-то примерно 6000
    так делитель 1099 (забыл поменять надпись 550 которая в расчетах не участвует)

    длину меньше 40 не определить

    так что логарифмы наше все

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

    А угол известен по которому нужно определить длину?

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

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

    можно считать тангенс угла y/x
    и сумму x+y по модулю
    а потом по таблице по тангенсу угла находить множитель или делитель для (x+y)
    который скорректирует значение

    зеленные значения правильный результат


    итого деление, сложение, 128К таблица и умножение (если есть 16b*16b=32b)

    я как то так делал коррекцию для вульфа (как именно уже не помню)
    тк у меня длина по диагонали была с искажениеми
    и ее нужно было дополнительно корректировать

    так же вот нашел еще (если что гипотенуза это длина вектора %) )
    https://profmeter.com.ua/communicati...6.486.544.1083
    можно идти по длинному пути
    находить тангенс(деление)
    находить угол (брать арктангенс(таблица))
    брать синус(таблица)
    и делить y на этот синус

    еще может как то можно через теорему синусов
    Последний раз редактировалось NEO SPECTRUMAN; 28.04.2020 в 02:59.

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

    shurik-ua(28.04.2020)

  2. #972

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    можно идти по длинному пути
    находить тангенс(деление)
    находить угол (брать арктангенс(таблица))
    брать синус(таблица)
    и делить y на этот синус
    ужос )

  3. #973

    Регистрация
    25.12.2017
    Адрес
    г. Москва
    Сообщений
    652
    Спасибо Благодарностей отдано 
    124
    Спасибо Благодарностей получено 
    160
    Поблагодарили
    95 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    задача:
    есть координаты X, Y в диапазоне от 0 до 0xffff,
    какая формула нужна чтобы найти длину между двумя произвольными точками с такими координатами ?
    можно на паскале, С, не обязательно асм
    Формула—теорема Пифагора. Надеюсь, помните. Для извлечения корня с произвольной точностью есть алгоритм:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	80790C7D-CA7F-4148-8BFA-6A91B6423D7A.jpg 
Просмотров:	171 
Размер:	27.0 Кб 
ID:	72411  

    Эти 2 пользователя(ей) поблагодарили IgorR76 за это полезное сообщение:

    NEO SPECTRUMAN(28.04.2020), shurik-ua(28.04.2020)

  4. #974

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

    По умолчанию

    надо будет проверить



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



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

    Цитата Сообщение от IgorR76 Посмотреть сообщение
    Формула—теорема Пифагора. Надеюсь, помните. Для извлечения корня с произвольной точностью есть алгоритм:
    присмотрелся
    НЕ КАТИТ
    получается много делений на каждый шаг

    сходу решил что все время деление на 0,5
    так бы это было быстро

  5. #975

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

    По умолчанию

    Цитата Сообщение от IgorR76 Посмотреть сообщение
    Для извлечения корня с произвольной точностью есть алгоритм:
    то что надо - и точность можно устанавливать )

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    получается много делений на каждый шаг
    деление не проблема.
    Последний раз редактировалось shurik-ua; 28.04.2020 в 03:28.

  6. #976

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

    По умолчанию

    ида оно работает

    но шагов нужно много

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

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    то что надо - и точность можно устанавливать )
    и 8 делений нужно

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

    чем больше значение на входе
    тем больше шагов нужно

    для получения нужного +-
    хотя в процентном соотношении наверно все нормально
    нет не нормально смотрим на 8 шаг
    значение в 30 раз больше чем надо

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

    а вот имитация целочисленных расчетов
    на вид не плохо
    я думал будет намного хуже


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

    интересно 10 делений и 2 умножения
    быстрей чем 1 деление 1 умножение и 1 промах кеша

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

    shurik-ua(28.04.2020)

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

  8. #977

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

    По умолчанию

    shurik-ua, Иногда извлекать корень вообще не нужно. Например, когда расстояние сравнивается с некоторой константой. Просто сравниваем квадрат расстояния с квадратом этой константы.

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

    shurik-ua(28.04.2020)

  9. #978

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

    По умолчанию

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

    спасибо всем откликнувшимся - задача для меня решена )

  10. #979

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а чем не нравятся такие варианты?:
    Код:
    Первый способ - расстояние от Px, Py до
    конечной точки Ex, Ey = sqrt ( (Px-Ex)^2 +
    + (Py-Ey)^2 ). Этот  способ  неудобен тем, 
    что много медленных операций - два умноже-
    ния и взятие квадратного корня.
       Второй  способ - расстояние = abs (Px -
    Ex)/cos(a) = abs (Py - Ey)/sin(a), где a = 
    угол луча. Этот способ удобнее тем,что та-
    бличку  косинуса  и синуса можно посчитать
    заранее,а из медленных операций - одно де-
    ление.
    плюс квадраты можно через логорифмы высчитывать (+табличка). вообще не вижу глобального замысла считать всё честно. таблички (ТАБЛИЧКИИИ).
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  11. #980

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

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    а чем не нравятся такие варианты?:
    тем что оба способа уже обсудили

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

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

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

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

Похожие темы

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

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

Ваши права

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