Guide to telescience

Материал из Space Station 13
Перейти к навигации Перейти к поиску

Основы

Телепад представляет собой пушку, которая стреляет предметами (или притягивает их). Как любая пушка, снаряды телепада (то есть то, что телепортируем) перемещаются по параболическим траекториям. Как тела, брошенные под углом к горизонту. У телепада есть 3 основных параметра:

  • Power - это мощность "выстрела".
  • Bearing - это направление выстрела (азимут), измеряется в градусах от 0 до 360.
  • Elevation - это под каким углом к горизонту "выстреливает" телепад. От 0 до 90 градусов.

Telescience pic1.png

Сложность состоит в том, что мощность телепада может быть ниже указанной на случайное число от нуля до четырёх. Также погрешность имеет и направление (+- 30 градусов от указанного значения).

Калибровка телепада.

Берем GPS маячок, в настройках даём ему название (Например, TEST или TELE) и кладём на телепад. Далее настраиваем телепад таким образом: Power=20 Bearing=0 Elevation=45. Это отправит наш первый маячок куда-то на север. Рассчитаем максимальное расстояние телепортации при Power=20:

Telescience pic2.png

Таким образом, маячок пролетит 40 тайлов на север.

Отправляем. Достаем из кармана второй GPS и смотрим координаты отправленного маячка. Назовем их X1 и Y1. (У меня вышло 210 и 156) Сравниваем их с координатами телепада и замечаем, что нас прыжок сделан не точно на север, и не на 40 тайлов. Считаем угол, на который отклонился телепад по азимуту:

Telescience pic3.png

tX и tY - координаты телепада. В моем случае я получил отклонение 6,379 градуса. Маячок улетел "немножко на восток". Если улетел немного западнее (X1>tX), тогда это значение надо прибавлять в параметр Bearing при настройке телепада, в моем случае его надо вычитать. Далее рассчитаем действительное расстояние, на которое улетел маячок:

Telescience pic4.png

36 тайлов вместо 40, плохо. Хотелось бы после этого рассчитать действительную мощность, с которой работает телепортер. После небольших перестановок их правой части в левую в формуле Dmax, с учетом выставленной Power=20, получаем:

Telescience pic5.png

Мощность на самом деле не 20, а 20-1=19. Итак, теперь мы знаем, как именно будет работать телепад ближайшие 30-40 запусков. Когда они кончатся, придется снова калибровать.

Теперь мы, зная реальную настройку, можем узнать куда улетит предмет. Это называется решение прямой задачи.

Решаем прямую задачу.

Допустим, выставили настройки телепада: Power=40, Bearing=70, Elevation=20.

Расстояние телепортации и координаты попадания, рассчитывается так:

Telescience pic6.png

Но на самом деле мы туда не попадем. Учитывая данные, полученные после калибровки, пересчитаем. Power=39, bearing=63,7, elevation=20. Я использую именно эти выходные данные потому что мощность телепада при калибровка оказалась на 1 меньше, и азимут телепад сам увеличивает на 6,3. Пересчет с новыми параметрами:

Telescience pic7.png

Вот насколько далеко улетит предмет, и его координаты будут 294,163,1. Задача решена.

А что если мы знаем координаты какой-либо вещи которую нам надо достать? Для этого требуется решить обратную задачу.

Решаем обратную задачу.

У нас есть входные данные: Координаты точки, куда хотим попасть, координаты телепада. Больше ничего. Хотим попасть в 126,159, например. Рассчитываем расстояние до цели:

Telescience pic8.png

Минимальная мощность телепада, требуемая для прыжка на такое расстояние:

Telescience pic9.png

Калибровка показала, что реальная мощность на единицу меньше, значит нужна мощность, не меньшая, чем 29,833+1=30,833 Выбираем Power=40, потому что варианта 30,833 нет в списке. В расчетах мощность не 40, а 39 (всем ясно почему?). Далее смотрим на расчетные формулы, и понимаем, что для получения результата придется решить систему уравнений:

Telescience pic10.png

Отлично! Три уравнения, а переменных нам надо найти всего две. Одно из них просто можно выкинуть. Переменная elevation есть только в первом уравнении, значит его оставим. Выкидываем 2е или 3е. Я выкинул третье. Выражаем из первого уравнения elevation, а из второго bearing:

Telescience pic11.png

Получилось. Учитывая погрешность по азимуту, полученную при калибровке, bearing становится равен -64,11-6,379=-70.39.

Обратная задача решена.

Вводим в телепад Bearing=-70.39, Elevation=17.9 и предмет летит точно в заданную точку.

ПОЧЕМУ ТАК СЛОЖНО? ХОЧУ ТЕЛЕПОРТИРОВАТЬ ВОН ТОГО КЛОУНА В ОРУЖЕЙКУ

Не вопрос, всё для вас. Переходим по ссылке https://github.com/Alriac/ss13TelescienceCompanion/releases. Дальше качаем и распаковываем в любом удобном месте "SS13TelescienceCompanion_1.5.1.zip"

При запуске видим такой интерфейс:

Telescience Companion.png

В поле Telepad Location вводим координаты нашего телепада

Далее берём 2 GPS называем один из них (не обязательно) и бросаем на телепад. Пишем в консоли телепада числа, которые написаны после кнопки "Calibrate". Когда всё готово, отправляем GPS и смотрим на втором, на какие координаты он попал. Вписываем эти координаты в поле "Calibration Probe" и нажимаем на кнопку "Calibrate". После этих манипуляций у нас почти всё готово.

Что бы телепортировать что-то в конкретное место, находим координаты этого места и вписываем в поле "Destination". Нажимаем кнопку "Calculate". Готово, вписываем результат из колонки "Result" в консоль и у вас всё готово что бы отправить лимитку прямо в ядро к блобу. Дерзайте.

Также вы сами можете настроить эту программу с помощью инструкции в ней