Телепортация

Ну что ж, продолжим. Как я уже и говорил, принадлежность какой-либо точки к локальной системе координат какого-либо тела напрямую зависит от силы гравитации. Тот источник, гравитации, который перебивает других, и содержит точку в своей системе. Соответственно, если у нас есть два тела, то нам нужно сравнить силу их действия:

(1)
\begin{align} G\frac{m\times m_1}{(r_1)^2}\,&∨\,G\frac{m\times m_2}{(r_2)^2}\\ \frac{m_1}{(r_1)^2}\,&∨\,\frac{m_2}{(r_2)^2} \end{align}

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

Идём дальше. Для выполнения вычислений очень важно знать радиус 4-мерной гиперсферы. Поверхность 4-мерный гиперсферы составляет $2\pi^2R^3$. Мы не забываем, что пространство, в котором мы перемещаемся, это и есть поверхность этой гиперсферы. Следовательно:

(2)
\begin{align} V &= 2\pi^2R^3\\ R &= \sqrt[3]{\frac{V}{2\pi^2}} \end{align}
Теперь достаточно важно получить себе хотя бы базовое понимание того, как работают кватернионы. Скажем, у нас есть двухмерная
система координат и есть какая-то точка. И у нас есть задача повернуть эту точку вокруг центра $(0; 0)$ и рассчитать новые координаты. Возможно, некоторые скажут, что это очень сложно - а я отвечу, что никогда нет ничего сложного. Допустим, что $(x_1; y_1)$ - координаты точки. Запишем данную точку как гиперкомплексную систему: подставим в $q = a + bi$ вместо $a$ значение $x_1$, а вместо $b$ - значение $y_1$. У нас получится $q_1 = x_1 + y_1i$. Это - кватернион, который описывает вращение точки. Например… Мы хотим повернуть этот кватернион на $90^\circ$. Как я и раньше говорил, для получения результата вращения необходимо домножить кватернион точки на кватернион, который описывает поворот на $90^\circ$. На самом деле в двухмерном пространства формула нахождения данного кватерниона очень проста: $q = \cos{a} + i\sin{a}$. Мы просто подставляем вместо $a\,90^\circ$ и дело в шляпе: $q_2 = \cos{90^\circ} + i\sin{90^\circ}; q_2 = 0 + i\times 1; q_2 = i$. Ну и теперь просто перемножаем: $q_1 \times q_2 = (x_1 + y_1i) \times (i) = x_1i + y_1i^2 = -y_1 + x_1i$. Собственно, отсюда мы можем найти, что координата $x_2$ получившейся точки равняется $-y_1$, а координата $y_2$ является ничем иным, кроме как $x_1$. Когда мы говорим про кватернион с четырьмя членами, естественно, всё становится сложнее, но суть сохраняется. Кстати, должен заметить, что при перемножении таких кватернионов действуют особые правила при перемножении мнимых единиц. Если кому-либо интересно, то вот таблица:
$\times$ $1$ $i$ $j$ $k$
$1$ $1$ $i$ $j$ $k$
$i$ $i$ $-1$ $k$ $-j$
$j$ $j$ $-k$ $-1$ $i$
$k$ $k$ $j$ $-i$ $-1$

Собственно, если нужно проводить данные действия с кватернионами в трёхмерном измерении, то достаточно добавить ещё две мнимые единицы $j, k$. Ещё один забавный факт про кватернионы: на самом деле одно и то же вращение могут описывать сразу два кватерниона с положительным и отрицательным $a$. Вероятно, этой базы Вам достаточно, но я всё же рекомендую что-нибудь почитать на эту тему.

Ага. Собственно, как я уже раньше говорил, для того, чтобы изменить систему координат, относительно которой мы движемся, нужно разогнаться до определённой относительной скорости. На самом деле эта скорость рассчитывается донельзя просто:

(3)
\begin{align} v &= \sqrt[5]{\frac{m_1+m_2}{M}}\times c\\ M &\approx 1.5 × 10^{53} \end{align}

Здесь $m_1$ - это масса всех тел в локальной системе, которую мы покидаем, $m_2$ - это масса всех тел в локальной системе, в которую мы стараемся перейти. Например, если мы покинем орбиту Земли, то мы окажемся в пространстве Солнечной системы. То есть $m_1$ будет массой Земли и Луны вместе взятой, а $m_2$ будет являться ничем иным, как массой всей солнечной системы. Но для приблизительных расчётов можно использовать массу Солнца, так как её собственная масса практически и составляет всю массу солнечной системы. Удачно выходит. Что касается $M$ - так это приблизительная масса всей нашей вселенной вместе взятой. Да, вот так вот просто. $c$ - это, естественно, скорость света

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

(4)
\begin{align} r &= \sqrt{x^2+y^2+z^2}\\ b &= \frac{x}{r}\\ c &= \frac{y}{r}\\ d &= \frac{z}{r} \end{align}

На этом этапе мы ещё ничего не вычислили - это всего лишь подготовка. $b, c, d$ вместе образуют единичный трёхмерный вектор, сонаправленный с вектором, который образован $x, y\mbox{ и } z$. $r$, соответственно, расстояние от нашего тела до центра локальной системы координат в нашем, 3-мерном мире. Идём дальше:

(5)
\begin{align} r_n = \frac{r}{S} \times \pi \end{align}

Тут всё короче, но сложнее. Во-первых, вы должны понимать, что размер пространства, который принадлежит локальной системе, может быть разным с противоположных сторон от тела-центра. Например, если, условно, слева от нашего тела-центра находится мощный источник гравитации, то он перехватит часть пространства, а справа, например, нет ничего, что создавало бы гравитацию, перебивающей наше тело-центр. То есть дистанция от границ поля до центра с разных сторон разное. Это необходимо учитывать. Собственно, $S$ и представляет из себя расстояние от центра до границы, если следовать по направлению, указанному вектором. Умножение на $\pi$ также имеет здесь важную роль - так как мы работаем с кватернионами, то нам необходимо работать с углами. Нам нужно оперировать с переменной, которая определяет градус и находится в пределах от 0 до 180 градусов. Но так как обычно в таких расчётах используют радианы, то тут у нас стоит $\pi$, которое, как вы знаете, является эквивалентом для 180 градусов. Вы вполне можете подставить вместо $\pi$ в данную формулу $180^\circ$, только потом не забудьте, что используете градусы.

Ну, а теперь мы наконец-то уже дошли до того самого момента! Используя все ранее полученные параметры, мы можем рассчитать кватернион, описывающий положение:

(6)
\begin{align} q = \left(\cos{r_n} + \sin{r_n}(bi + cj+ dk)\right)\times R \end{align}

Здесь всё не так уж сложно, как может показаться на первый взгляд - мы просто берём и рассчитываем кватернион, используя данный угол и вектор, вокруг которого происходит вращение - да, $bi + cj + dk$ в данном случае как раз образуют вектор, вокруг которого и происходит вращение. Таким нехитрым способом мы смогли найти позицию тела на кватернионе. Только не забудьте домножить на радиус гиперсферы - это частая ошибка, насколько я знаю.

Ну, в принципе, это практически всё, что вам нужно знать. Осталась только формула для расчёта времени перемещения, но если вы считаете, что она простая… хе-хе-хе, нет.

Собственно, для того, чтобы понять, почему всё так сложно, тут нужно вспомнить, что скорость перемещения при прыжки зависит от дальности до центра. Согласно нашим расчётам скорость движения обратно пропорционально квадрату дистанции до центра. В самом центре гиперсферы, то есть точке $(0; 0)$, данная скорость равна примерно скорости света. Если отдалиться от центра гиперсферы на расстояние, равное двум её радиусам, то, чисто теоретически, транспорт должен полностью остановиться. Но мы это узнать точно не можем - мы как-то отправили устройство, чтобы понять, что там произойдёт, а ничего не произошло. Аппарат работоспособен и будет работоспособен ещё достаточно долгое время, пока не сядет батарейка - квантовый передатчик усердно передаёт данные, в которых нет абсолютно ничего интересного. Мы даже не можем понять, двигается ли он или нет, так как неспособны зафиксировать перемещение в четырёхмерном измерении, особенно когда вокруг нет вообще ничего, относительно чего можно было это перемещение считать. В общем, продолжим.

Так как у нас скорость аппарата является функцией, то тут простыми способами не обойтись. Здесь используется определённый интеграл и мы считаем площадь под графиком функции $v(p)$:

(7)
\begin{align} t = \int_0^S \frac{1}{v(p\div S)} \,dp\\ \end{align}

Собственно $S$ - это расстояние между двумя кватернионами. Его достаточно просто посчитать: $S = \mid q_2 - q_1 \mid$. Для тех, кто не помнит, напоминаю, что модуль комплексного числа равен: $\mid a + bi \mid = \sqrt{a^2 + b^2}$. То же самое с кватернионами: $\mid a + bi + cj + dk \mid = \sqrt{a^2 + b^2 + c^2 + d^2}$. Собственно так и получается расстояние.

Ну а теперь, собственно, сама функция зависимости скорости от процента пройденного пути:

(8)
\begin{align} v(p) = \left(1-\frac{\mid q_1 + (q_2 - q_1)\times p \mid}{2R}\right)^2\times c\\ \end{align}

$\mid q_1 + (q_2 - q_1)\times p \mid$ - в этой части мы сначала рассчитываем рассчитать текущий кватернион тела с помощью линейной интерполяции, а затем используем модуль для того, чтобы определить дистанции от точки (0; 0) до точки с полученным кватернионом.
Эту фукнцию мы подставляем в формулу, о которой я говорил ваше, и вычисляем время движения. Но ручками я бы этого делать не советовал - слишком много считать, загрузите в MATLAB или программу для подобных расчётов.

На этом всё. Все свободны. Нет, это было не последняя лекция, так что наслаждайтесь спокойствием до следующей лекции, пока можете.

Пока не указано иное, содержимое этой страницы распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 License