Ни для кого уже не секрет, что в телесаинс нынче введена такая заковырка, как angle_off. Почему она введена - никто не знает.
Давайте вместе вспомним в чём вся суть телесаинса. Вытащить труп с соляр? Да пожалуйста.
Кинуть бомбу в самое сердце блоба? Легко.
Закинуть шкафчик со штурмовым отрядом СБшников к инженерам, обмазывающихся полями и эмитерами? Не проблема.
Спереть медсестричку из приёмной? Не вопрос.
Освободить ящера из пермабрига? Тоже легко, (главное чтобы кристаллы были) etc.
Посовещавшись с парой математиков, все пришли к выводу, что вычислить погрешность подъёма нереально. Практически во всех билдах стоит вот такой вот код:
Причём, диапазон погрешности угла ну ОЧЕНЬ большой.
Если уж так хотите убрать телесаинс, но просто выпилите нафиг весь отсек. Место для вольеров с метроидами освободится хоть. (Ну или расширение лабы токсинов). Но не надо убивать главную фишку телесаинса: точная телепортация по заданным координатам. Его именно для этого и создавали.
Вычислить погрешность точно нереально? За два запуска получаешь два уравнения с двумя неизвестными - погрешность угла и погрешность силы запуска, уравнения получаются с синусом, но вольфрам вроде решает такое приближенно с достаточно хорошей точностью. Вечером смогу проверить на реальных данных и привести алгоритм решения, если сработает. Еще есть подозрения, что используя граничные значения, за четыре запуска можно найти точные погрешности.
Проблема то даже не в этом, а в том что дополнительные кристаллы получить нереально, они требуют максимальных значений нескольких областей и полного набора ресурсов, которых практически никогда нет, ибо шахтеры либо аутисты либо их нагибают голиафы.
А получение кристаллов из слаймов за каким то чертом выпилили.
Плюс в нашем билде нет апгрейда улучшенными капаситорами, так что максимальная мощность телепорта вдвое ниже чем на ТГ.
А чего томить, люди? Два запуска, и все ваши погрешности решены.
Первый - калибровочный с википедии, для нахождения погрешности энергии и азимута.
Второй запуск - это запуск на любую доступную координату, к примеру… Обычный стул из конференц-зала.
Запускаем, видим нашу неудачу И, самое главное, запоминаем использованный подъём.
Дальше чисто подсчитываем подъем, нужный для попадания на полученную точку, вычитаем из его подъем, который мы запоминали, и наша погрешность готова!
А дальше просто вычитаем эту погрешность из подъёма на всех последующих бросках. Продумано и проверено.
Anonim, калибровочный запуск с вики не учитывает погрешность подъема. Расстояние зависит от погрешности подъема, следовательно погрешность силы запуска(энергии) будет неправильно посчитана.
Про формулы:
Тестировал на тгшном билде(для сверки значений) со включенной погрешностью, формулы вроде бы не отличаются от остальных серверов. Метод с решением двух уравнений не работает - вольфрам не решает, поэтому попробовал по-другому. Есть подозрения, что пропустил где-то ошибку в конечном результате, позже буду перепроверять. Полученные ответы почти совпадали с настоящими значениями.
Алгоритм:
Отправляем на одинаковой мощности(максимальной) маячок со значениями Elevation в 30, 45 и 60 градусов. Рассчитываем расстояния от телепорта как l30, l45, l60. Тогда погрешность угла = 0.26atan((l60-l30)/((l60-l30)/2 + l30 - l45)/2/1.7. Формула забивается в гугл, ответ в радианах. Можно сразу получить погрешность силы запуска из формулы: расстояние = (поставленная_сила + погрешность)^2sin(2погрешность_угла+2выставленный угол)/10, только выставленный угол надо перевести в радианы.
Как:
Формула про связь расстояния, силы, угла и погрешностей выводится из кода и синуса двойного угла. Эту формулу можно записать для нескольких разных углов и вычесть полученные равенства друг из друга, применив формулу разности синусов. Для углов в 60 и 30 градусов получается: l60 - l30 = 2*(сила+погрешность_силы)^2sin(2погрешность_угла)/2/10. Для углов в 45 и 30 градусов результат хуже, но в конечном итоге получается нечто похожее для косинуса двойной погрешности. Разделив уравнения друг на друга, избавляемся от погрешности силы и получаем формулу для тангенса двойной погрешности, откуда выводится ответ.
От части я согласен, может где-то есть ошибки, может недочёты, но чего же можно ожидать от обычного школяра, вроде меня. Даже признаюсь, представленные формулы понять у меня не вышло, но растолковать свою теорию я могу.
Про запуск из вики: я знаю, что он не затрагивает погрешность подъёма, потому что по неведомой магии он не действует при подъёме в 45. Этот запуск, как уже было сказано, нужен для нахождения погрешностей энергии и азимута, для запуска на подъём.
И да, я понимаю, что мой метод - это полный абсурд и бред чего-то там, но меня самого удивляет, что в 90% калибровок (в основном когда из-за погрешности телепортирует не с бешеным перелётом) оно всё-же работает. Может это просто разные способы решения? Если что, то все вычисления у меня шли через Pascal и Java. Программирую же.
При угле в 45 градусов погрешность на него прям вообще не накладывается? Точно? Ах, ещё, Погрешность угла ну довольно существенно снижает и так маленькую дальность телепортации.
Давай по порядку.
В коде нет строки, которая бы отвечала за то, что на 45 не накладывается погрешность, иначе бы уже где-то и было бы написано об этом. Но всё же, факт существования данной “аномалии” имеет место быть, или мне просто нужно вникнуть в суть кода СС-ки.
А вот про то, что погрешность уменьшает радиус, ты чуток не прав. При калибровке у подъёма может выпасть и отрицательное значение потери, что приведёт наоборот к сплошным перелётам. Лично у меня, при сильных “перелётах” начинают отказываться работать мои программы, так как они не верят, что даже при такой погрешности можно попасть в место перелёта.
По логике то да, но если С такой страной погрешностью запускать не на максимальное значение (45), то действительно оно неким чудом может перелететь возможный максимум для той колибровки. Хотя это всё только теория, а проверять пока желания нету.
Спешу поправить, что мы беседовали именно об угле подъёма, который в отличии от азимута, как раз влечёт на дальность, но не затрагивает направление.
И можно по подробнее про те гуновские данжи С телепада?
Вкратце, там можно с помощью телесаенса попасть на уровни, на которые похожи карты гейтвея.
Лабиринты, выживание, монстры.
Некоторые из уровней (точно солярис) могут закончить весь раунд, если запустить находящийся там ивент.