Guide to Telescience
Основы
Телепад представляет собой пушку, которая стреляет предметами (или притягивает их). Как любая пушка, снаряды телепада (то есть то, что телепортируем) перемещаются по параболическим траекториям. Как тела, брошенные под углом к горизонту. У телепада есть 3 основных параметра:
- Power - это мощность "выстрела".
- Bearing - это направление выстрела (азимут), измеряется в градусах от 0 до 360.
- Elevation - это под каким углом к горизонту "выстреливает" телепад. От 0 до 90 градусов.
Сложность состоит в том, что мощность телепада может быть ниже указанной на случайное число от нуля до четырёх. Также погрешность имеет и направление (+- 30 градусов от указанного значения).
Калибровка телепада.
Берем GPS маячок, в настройках даём ему название (Например, TEST или TELE) и кладём на телепад. Далее настраиваем телепад таким образом: Power=20 Bearing=0 Elevation=45. Это отправит наш первый маячок куда-то на север. Рассчитаем максимальное расстояние телепортации при Power=20:
Таким образом, маячок пролетит 40 тайлов на север.
Отправляем. Достаем из кармана второй GPS и смотрим координаты отправленного маячка. Назовем их X1 и Y1. (У меня вышло 210 и 156) Сравниваем их с координатами телепада и замечаем, что нас прыжок сделан не точно на север, и не на 40 тайлов. Считаем угол, на который отклонился телепад по азимуту:
tX и tY - координаты телепада. В моем случае я получил отклонение 6,379 градуса. Маячок улетел "немножко на восток". Если улетел немного западнее (X1>tX), тогда это значение надо прибавлять в параметр Bearing при настройке телепада, в моем случае его надо вычитать. Далее рассчитаем действительное расстояние, на которое улетел маячок:
36 тайлов вместо 40, плохо. Хотелось бы после этого рассчитать действительную мощность, с которой работает телепортер. После небольших перестановок их правой части в левую в формуле Dmax, с учетом выставленной Power=20, получаем:
Мощность на самом деле не 20, а 20-1=19. Итак, теперь мы знаем, как именно будет работать телепад ближайшие 30-40 запусков. Когда они кончатся, придется снова калибровать.
Теперь мы, зная реальную настройку, можем узнать куда улетит предмет. Это называется решение прямой задачи.
Решаем прямую задачу.
Допустим, выставили настройки телепада: Power=40, Bearing=70, Elevation=20.
Расстояние телепортации и координаты попадания, рассчитывается так:
Но на самом деле мы туда не попадем. Учитывая данные, полученные после калибровки, пересчитаем. Power=39, bearing=63,7, elevation=20. Я использую именно эти выходные данные потому что мощность телепада при калибровка оказалась на 1 меньше, и азимут телепад сам увеличивает на 6,3. Пересчет с новыми параметрами:
Вот насколько далеко улетит предмет, и его координаты будут 294,163,1. Задача решена.
А что если мы знаем координаты какой-либо вещи которую нам надо достать? Для этого требуется решить обратную задачу.
Решаем обратную задачу.
У нас есть входные данные: Координаты точки, куда хотим попасть, координаты телепада. Больше ничего. Хотим попасть в 126,159, например. Рассчитываем расстояние до цели:
Минимальная мощность телепада, требуемая для прыжка на такое расстояние:
Калибровка показала, что реальная мощность на единицу меньше, значит нужна мощность, не меньшая, чем 29,833+1=30,833 Выбираем Power=40, потому что варианта 30,833 нет в списке. В расчетах мощность не 40, а 39 (всем ясно почему?). Далее смотрим на расчетные формулы, и понимаем, что для получения результата придется решить систему уравнений:
Отлично! Три уравнения, а переменных нам надо найти всего две. Одно из них просто можно выкинуть. Переменная elevation есть только в первом уравнении, значит его оставим. Выкидываем 2е или 3е. Я выкинул третье. Выражаем из первого уравнения elevation, а из второго bearing:
Получилось. Учитывая погрешность по азимуту, полученную при калибровке, bearing становится равен -64,11-6,379=-70.39.
Обратная задача решена.
Вводим в телепад Bearing=-70.39, Elevation=17.9 и предмет летит точно в заданную точку.
Оригинал статьи принадлежит участнику Truedoday.