Guide to Telescience
Архивные данные |
Данная статья была перемещена в архив и, скорее всего, уже никогда не увидит свет. Вы всё ещё можете ознакомиться с её содержанием и содержимым, но помните о первом правиле архивов: Вы можете помочь проекту Onyx и сообществу SS13 в целом — зайдите на наш Портал сообщества. |
Основы
Телепад представляет собой пушку, которая стреляет предметами (или притягивает их). Как любая пушка, снаряды телепада (то есть то, что телепортируем) перемещаются по параболическим траекториям. Как тела, брошенные под углом к горизонту. У телепада есть 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.