Star Citizen; квантовые двигатели; факты и домыслы
Факты
Qdrive | Distance, km | Travel time, s |
---|
Параметры, почти надёжные
Qdrive | V max, km/s | acc rate stage1, km/??? | acc rate stage2, km/??? | engage speed, km/??? |
---|
Общая модель
Предполагаем a priori постоянный рывок (третью производную расстояния по времени): \[\begin{align} d&=d_0+v_0t+a_0\frac{t^2}{2}+j\frac{t^3}{6}\\ v&=v_0+a_0t+j\frac{t^2}{2}\\ a&=a_0+jt \end{align}\]
Далее предполагаем, что в общем случае, с учётом ограничений на скорость и возможных ограничений на ускорение, может быть не более трёх фаз: \[\begin{align} d_1&=d_0+v_0t_1+a_0\frac{t_1^2}{2}+j\frac{t_1^3}{6}\\ v_1&=v_0+a_0t_1+j\frac{t_1^2}{2}\\ a_{max}&=a_0+jt_1\\ d_2&=d_1+v_1t_2+a_{max}\frac{t_2^2}{2}\\ v_{max}&=v_1+a_{max}t_2\\ d_3&=d_2+v_{max}t_3\\ \end{align}\]
Частное предположение 1
Предположим, что \(t_2=0\). Тогда, \[\begin{align} d_1&=d_0+v_0t_1+a_0\frac{t_1^2}{2}+j\frac{t_1^3}{6}\\ v_{max}&=v_0+a_0t_1+j\frac{t_1^2}{2}\\ a_{max}&=a_0+jt_1\\ d_3&=d_2+v_{max}t_3\\ \end{align}\] \[\begin{align} t_1&=\frac{a_{max}-a_0}{j}\\ v_{max}-v_0&=\frac{a_{max}a_0-a_0^2}{j}+\frac{(a_{max}-a_0)^2}{2j}=\frac{a_{max}^2-a_0^2}{2j} \end{align}\] Или \[\begin{align} j&=\frac{a_{max}^2-a_0^2}{2(v_{max}-v_0)}\\ t_{full}&=\frac{2(v_{max}-v_0)}{a_{max}+a_0}\\ d_{full}&=d_0+2\frac{v_0a_{max}+v_{max}a_0+(v_0+v_{max})(a_{max}+a_0)}{a_{max}+a_0}\frac{(v_{max}-v_0)}{3(a_{max}+a_0)} \end{align}\]
Проверка в предположении \(d_0=0,\ v_0=0,\ a_0=acc1,\ a_{max}=acc2\)
\[j=\frac{a_{max}^2-a_0^2}{2v_{max}}\approx\frac{a_{max}^2}{2v_{max}}\] \[\begin{align} d_{full}&=\frac{2}{3}v_{max}^2\frac{a_{max}+2a_0}{(a_{max}+a_0)^2}\approx\frac{2}{3}\frac{v_{max}^2}{a_{max}}\\ t_{full}&=\frac{2v_{max}}{a_{max}+a_0}\\ \end{align}\]
При дистанциях \(d\lt2d_{full}\) (\(d=2d_1,\ t=2t_1\)): \[t^3+\frac{6a_0}{j}t^2-\frac{24d}{j}=0\] заменим \(t=x-\frac{2a_0}{j}\): \[x^3-\frac{12a_0^2}{j^2}x+\frac{16a_0^3-24dj^2}{j^3}=0\]
Введём некое "пороговое" расстояние \(d_{tech}=\ifrac{4a_0^3}{3j^2}\approx\ifrac{16a_0^3v_{max}^2}{3a_{max}^4}\). Тогда, при \(d\le d_{tech}\) сделаем замену \(x=\frac{4a_0}{j}\cos\varphi\), а при \(d\gt d_{tech}\) - замену \(x=\frac{4a_0}{j}\ch\varphi\). Тогда, в первом случае получим \[\begin{align} \cos3\varphi&=\frac{3}{2}\frac{dj^2}{a_0^3}-1=2\frac{d}{d_{tech}}-1\\ \varphi&=\frac{1}{3}\arccos\left(2\frac{d}{d_{tech}}-1\right)\\ t&=\left(2\cos\left(\frac{1}{3}\arccos\left(2\frac{d}{d_{tech}}-1\right)\right)-1\right)\frac{2a_0}{j} \end{align}\] Во втором случае - \[t=\left(2\ch\left(\frac{1}{3}\arch\left(2\frac{d}{d_{tech}}-1\right)\right)-1\right)\frac{2a_0}{j}\]
Эффективность
Для целей сравнительного анализа, введём некую эффективность двигателя (как функцию расстояния): \[E=\log_{10}\frac{\sqrt{d}}{t}=\frac{1}{2}\log_{10}d-\log_{10}t\]
При малых расстояниях это равно \[E_0=\log_{10}\left(\sqrt{\frac{a_0}{4}}+\frac{j\sqrt{d}}{12a_0}+\dots\right)\]
При пороговом расстоянии имеем \[E_{tech}=\log_{10}\sqrt{\frac{a_0}{3}}\] (то есть, \(E_{tech}-E(0)=\frac{1}{2}(\log_{10}4-\log_{10}3)\approx0.0625\) и не зависит от двигателя!)
При дистанции, на которой достигается максимальная скорость \[E_{full}=\log_{10}\sqrt{\frac{a_0}{6}+\frac{a_{max}}{12}}\]
При дистанциях \(d=2\Delta+2d_{full}\ge2d_{full}\) имеем \[E^*=\log_{10}\frac{\sqrt{d}}{(d-2d_{full})/v_{max}+2t_{full}}=\log_{10}\sqrt{\frac{1}{2}}\sqrt{\frac{\Delta+d_{full}}{(\Delta/v_{max}+t_{full})^2}}\] Максимум подкоренного выражения достигается при \(\Delta=v_{max}t_{full}-2d_{full}=\frac{2}{3}v_{max}^2\frac{a_{max}-a_0}{(a_{max}+a_0)^2}\) (или при \(d=d_{opt}=2v_{max}t_{full}-2d_{full}=\frac{4}{3}v_{max}^2\frac{2a_{max}+a_0}{(a_{max}+a_0)^2}\approx\frac{8v_{max}^2}{3a_{max}}\)) и равен \[E_{max}=\log_{10}\sqrt{\frac{3(a_{max}+a_0)^2}{16(2a_{max}+a_0)}}\approx\log_{10}\sqrt{\frac{3a_{max}}{32}}\]
При очень больших расстояниях эффективность падает как \[E_\infty=\log_{10}\frac{v_{max}}{\sqrt{d}}=\log_{10}v_{max}-\frac{1}{2}\log_{10}d\]
Примечательно, что эффективность на всех характерных расстояниях не зависит от \(v_{max}\) (но сами расстояния зависят пропорционально квадрату максимальной скорости).
Qdrive | V max, km/s | a0, km/s2 | amax, km/s2 | Jerk, km/s3 | 2Tfull, s | 2Dfull, km | Dtech, km | E0 | Etech | Efull | Emax | Dopt, km | Dmax, km |
---|
Qdrive | Distance, km | Travel time, s | Expected time, s |
---|
Изобразим графики времени от расстояния (десятичный логарифм секунд от десятичного логарифма километров) для некоторых квантовых двигателей (актуально для текущего патча; разрыв линии выставлен для бака на 583 литра (первый размер) и 2500 литров (второй размер) - типичное значение для соответствующих кораблей)
Некоторая эффективность движка (отношение корня квадратного из расстояния к времени) в зависимости от расстояния (чем выше линия, тем быстрее будет пройдена дистанция)
Положение горизонтальной полки в правой части графика зависит от начального ускорения \(a_0\) - при малых расстояниях только этот параметр играет роль. Как быстро график начёт расти зависит от \(d_{tech}\) - чем меньше, тем лучше. Ускоряющийся рост графика продолжается вплоть до расстояния \(\approx\frac{4v_{max}^2}{3a_{max}}\) при котором достигается эффективность, зависящая от суммы \(2a_0+a_{max}\). Далее, график плавно выходит на максимум при расстоянии \(\approx\frac{8v_{max}^2}{3a_{max}}\) со значением зависящим, главным образом, от \(a_{max}\). После максимума начинается спад (что как бы неудивительно) с независящим от двигателя наклоном \(-1/2\), но с "высотой" определяемой \(v_{max}\) (логично - на таких расстояниях большая часть пути проходится на максимальной скорости).
Итог на текущий момент (3.16)
Краткий итог: параметр \(a_0\) имеет значение на коротких прыжках; параметр \(v_{max}\) определяет "выгодную" дистанцию прыжка; параметр \(a_{max}\) определяет эффективность движка на большие дистанции.
Однозначно "лучшего" варианта не существует - звёздный гражданин должен учитывать свой геймплей и соответствующий ему спектр дистанций прыжков и используемые грабли корабли: торговля, майнинг, баунти-хантинг...
Для сравнения/выбора квантового двигателя предлагается использовать эту страницу (графики эффективности для выбранных двигателей выводятся по кнопке вверху-почти справа).
Релятивистские эффекты
Главный вопрос - а надо ли?
Если посмотреть параметры квантовых двигателей, то они выглядят, мягко говоря, сумашедшими. Скажем, максимальное ускорение достигает величины порядка миллиона g (ускорение свободного падения на Земле).
При скоростях порядка сотни тысяч километров в секунду любая пылинка будет пробивать корабль насквозь. А если не пробьёт, то микрограммовая бяка произведёт разрушений как килограмм тротила.
Можно поспекулировать, что корабль перемещается "вне обычного пространства", но тогда он и видеть ничего не должен, и все "красоты" пролетающих мимо планет и солнц будут недоступны.
Ну и самое главное, скорости порядка 100 Мм/сек вовсе не релятивистские. То есть приборами измерить соответствующие эффекты можно будет, но невооружённому глазу они не выразительны.
Но, с другой стороны, на данный момент визуал прыжка с двигателями самых разных характеристик практически одинаков (разница состоит только во времени прыжка (ну и в потреблённом топливе)).
Поэтому мы поступим так: пренебрежём всеми физическими аспектами кроме визуальных, а если скоростей окажется не достаточно, то фиктивно увеличим релятивистские эффекты.
И да, квантовые эффекты и эффекты ОТО мы учитывать не будем.
Краткий обзор квантовых двигателей.
Не будем учитывать Allegro, size 4 - двигатель не продаётся и его параметры выбраны разработчиками "просто так".
Наиболее важным параметром является максимальная скорость. Этот параметр меняется в достаточно широких пределах от 54 Мм/сек (Vesta; size 3) до 283 Мм/сек (VK-00; size 1). (Напомним, что скорость света 300 Мм/сек.)
Следующим параметром, который нам интересен, будет максимальное ускорение. Здесь диапазон от 1.3 Мм/сек² (Nova; size 2) до 14.45 Мм/сек² (XL-1; size 2) (заметим, что эффект Унру ничтожно мал).
Ну и учтём рывок - от 2.21 км/сек³ (Spicule; size 2) до 445.55 км/сек³ (SparkFire; size 2).
Для "практических целей" имеет смысл выбирать XL-1: максимальная скорость 261 Мм/сек, максимальное ускорение 14.45 Мм/сек², рывок 398 км/сек³, дистанция достижения полной скорости 6.24 Гм (это длина всего прыжка). Время выхода на полную скорость 33.5 сек.
Что учитываем?
Есть три эффекта: аберрация (стягивание картинки в точку прямо по курсу), изменение спектра (красное смещение сзади, синее смещение впереди) и изменение интенсивности (сзади темнеет, спереди ярчает).
В принципе, эти все эффекты согласованы друг с другом, но никто нам не мешает (исключительно для красоты картинки) отмасштабировать эти эффекты по отдельности.
Кроме того, у нас есть разные источники света: звёзды (далёкие яркие точки чернотельного спектра), солнце (яркий шарик чернотельного спектра поблизости), планеты/луны (шарики неподалёку со сложным спектром и терминатором), пыль (микроскопические отражающие точки в непосредственной близи корабля).
Планеты, луны и солнца нам заданы "игровой картинкой". Звёзды, в принципе, тоже заданы (но кто помнит хоть небольшой кусок звёздного неба в Стентоне?). А вот пыль мы можем щедро сыпать по вкусу.
Движение.
Будем считать, что корабль совершает квантовый прыжок достаточной дальности - имеется этап разгона до максимальной, этап движения с постоянной скоростью и симметричный этап торможения.
То есть мы имеем такие формулы: \[\begin{align} d =& a_0\frac{t^2}{2}+j\frac{t^3}{6}\\ v =& a_0t+j\frac{t^2}{2}\\ a =& a_0+jt\\ &j = \frac{a_{max}^2-a_0^2}{2v_{max}}\\ &t \le \frac{2v_{max}}{a_{max}+a_0} \end{align}\] для этапа разгона, \[\begin{align} d =& d_{full}+v_{max}t\\ v =& v_{max}\\ &\frac{2v_{max}}{a_{max}+a_0}\le t\le t_{jump}-\frac{2v_{max}}{a_{max}+a_0} \end{align}\] для этапа движения с постоянной скоростью, \[\begin{align} d =& d_{jump}-a_0\frac{t_f^2}{2}-j\frac{t_f^3}{6}\\ v =& a_0t_f+j\frac{t_f^2}{2}\\ a =& a_0+jt_f\\ &j = \frac{a_{max}^2-a_0^2}{2v_{max}}\\ &t \ge t_{jump}-\frac{2v_{max}}{a_{max}+a_0} \end{align}\] для этапа торможения, где \(t_f\) - время до окончания прыжка.
Выпишем, нужную далее, связь между скоростью и ускорением на этапе разгона: \[j=\frac{a_{max}^2-a_0^2}{2v_{max}}=\frac{a^2-a_0^2}{2v}\] или \[a=\sqrt{2jv+a_0^2}\]
Немного формул СТО.
Расставим вдоль пути прыжка корабля "неподвижных" наблюдателей. Эти наблюдатели видят неизменную картинку звёзд, планет и всего остального, и именно с ними мы будем сравнивать наблюдаемое с корабля.
Все релятивистские эффекты зависят только от скорости корабля относительно этих неподвижных наблюдателей. Но, поскольку мы хотим масштабировать, воспользуемся параметром быстроты \[\phi=\frac{1}{2}\ln\frac{c+v}{c-v}\] Откуда \[\begin{align} \gamma&=\ch\phi\\ \beta&=\frac{v}{c}=\th\phi\\ \frac{a}{c}&=\frac{\dot\phi}{\ch^2\phi}=\sqrt{2\frac{j}{c}\th\phi+\frac{a_0^2}{c^2}} \end{align}\]
Дополнительно введём обозначения \(\alpha=a/c\) и \(\zeta=j/c\).
Заметим, что, при изменении скорости от нуля до скорости света, параметр быстроты меняется от нуля до бесконечности. Поэтому, если мы, например, захотим усилить какой-то эффект в "2 раза", мы умножим параметр быстроты на два и рассчитаем нужную нам величину эффекта.
Выпишем парметры двигателя XL-1 в "релятивистских терминах": \(\beta_{max}=0.87\), \(\phi_{max}=1.333\), \(\gamma_{max}=2.028\), \(\alpha_0=0.003767\text{ 1/сек}\), \(\alpha_{max}=0.04817\text{ 1/сек}\), \(\zeta=0.001326\text{ 1/сек²}\), \(\dot{\phi}_0=0.003767\text{ 1/сек}\), \(\dot{\phi}_{max}=0.19829\text{ 1/сек}\)
Всё что нам нужно из теории относительности это формула преобразования 4-векторов, а единственный вектор, с которым нам придётся иметь дело, это волновой 4-вектор: \[k=\trans{(\omega/c,2\pi/\lambda\vec{n})}\] где \(\omega\) - частота света, \(\lambda\) - длина волны (\(\omega\lambda=2\pi c\)), \(\vec{n}\) - единичный вектор в направлении распространения света.
Введём ось \(X\) в направлении движения корабля. Через \(\theta\) обозначим угол между направлением на источник света и положительным направлением оси \(X\). Величины без штрихов будут относится к "неподвижной" системе отсчёта, а величины со штрихами - к системе отсчёта корабля. Без ограничения общности можно считать, что источник света находится в плоскости \(XY\) в положительном направлении оси \(Y\).
Тогда, преобразование компонент волнового вектора при переходе от неподвижных наблюдателей к наблюдателю на корабле даётся следующими формулами: \[\begin{align} \frac{\omega'}{c}&=\left(\frac{\omega}{c}-\frac{v}{c}k_x\right)\gamma=\frac{\omega}{c}\ch\phi-k_x\sh\phi\\ k_x'&=\left(k_x-\frac{v}{c}\frac{\omega}{c}\right)\gamma=k_x\ch\phi-\frac{\omega}{c}\sh\phi\\ k_y'&=k_y \end{align}\] При этом, \[\begin{align} k_x&=-\frac{\omega}{c}\cos\theta\\ k_y&=-\frac{\omega}{c}\sin\theta \end{align}\] (и то же самое для штрихованных величин). Подставим уравнения из второй системы в первую: \[\begin{align} \frac{\omega'}{c}&=\frac{\omega}{c}\ch\phi+\frac{\omega}{c}\sh\phi\cos\theta\\ \frac{\omega'}{c}\cos\theta'&=\frac{\omega}{c}\ch\phi\cos\theta+\frac{\omega}{c}\sh\phi\\ \frac{\omega'}{c}\sin\theta'&=\frac{\omega}{c}\sin\theta \end{align}\] Теперь мы можем первое уравнение подставить в третье (и получим "стандартный" вид): \[\sin\theta'=\frac{\sin\theta}{\ch\phi+\sh\phi\cos\theta}\label{abbes}\] или во второе (и получим "эйнштейновский" вид): \[\cos\theta'=\frac{\ch\phi\cos\theta+\sh\phi}{\ch\phi+\sh\phi\cos\theta}=\frac{\cos\theta+\th\phi}{1+\th\phi\cos\theta}\label{abbec}\] Повторим, для ясности, уравнение для преобразования частоты: \[\omega'=\omega(\ch\phi+\sh\phi\cos\theta)\label{abbef}\]
Формулы с синусом и косинусом можно интерпретировать следующим образом. Пусть у нас есть единичная окружность. Тогда, координаты некой точки на ней будут \(x=\cos\theta,\ y=\sin\theta\). Теперь растянем окружность по оси \(X\) в \(a\) раз: \(x=a\cos\theta,\ y=\sin\theta\). Теперь сместим "точку наблюдения" по оси \(X\) назад на расстояние \(c\): \(x=a\cos\theta+c,\ y=\sin\theta\). Тогда, тангенс угла, под которым видна эта точка, будет \[\tan\theta'=\frac{\sin\theta}{a\cos\theta+c}\] Сопоставляя это с \[\tan\theta'=\frac{\sin\theta}{\ch\phi\cos\theta+\sh\phi}\] мы приходим к выводу, что подобный эллипс при \(a=\ch\phi,\ c=\sh\phi\) описывает преобразование углов, причём смещаться надо в точку фокуса. И более того, расстояние от точки наблюдения до той некой точки будет равно \(\ch\phi+\sh\phi\cos\theta\) - коэффициенту преобразования частоты (Допплеровский коэффициент).
Картинка ниже демострирует соответствующие преобразования. "Температура" исходной стрелки задана 6000К, \(\gamma=2\).
Аберрация.
Разберёмся подробнее с уравнением \eqref{abbec}. Напомним, что косинус это монотонно убывающая функция (в заданных пределах). Кроме того, при малом угле \(\alpha\) имеем формулы \[\begin{align} \cos\alpha&=1-\frac{\alpha^2}{2}+O(\alpha^4)\\ \cos(\pi-\alpha)&=-1+\frac{\alpha^2}{2}+O(\alpha^4) \end{align}\]
Пусть у нас источник света почти прямо по курсу. Тогда угол \(\theta\) мал и мы можем написать \[\theta'\approx\sqrt{\frac{1-\th\phi}{1+\th\phi}}\theta=\e{-\phi}\theta=\sqrt{\frac{c-v}{c+v}}\theta\] То есть, при движении на полной скорости на XL-1 угловые размеры всего впереди уменьшаются в 3.8 раза.
Пусть теперь источник почти позади по курсу. Тогда угол \(\theta\) близок к \(\pi\) и мы можем написать \[\theta'\approx\sqrt{\frac{1+\th\phi}{1-\th\phi}}\theta=\e{\phi}\theta=\sqrt{\frac{c+v}{c-v}}\theta\] То есть, угловые размеры всего сзади увеличатся в то же самое количество раз.
Пусть теперь источник света находится "на траверзе" для неподвижных наблюдателей (назовём это "о-траверзом"). Т.е. \(\cos\theta=0\). Тогда, \[\cos\theta'=\th\phi=\frac{v}{c}\] Т.е. для упомянутого двигателя это будет примерно 30°.
Обратно, найдём угол на источник света, который будет на траверзе корабля. Т.е. \(\cos\theta'=0\) - \[\cos\theta=-\th\phi=-\frac{v}{c}\] Для упомянутого двигателя это будет примерно 150°. Иными словами, 30°-ный кружок сзади растянется на всю заднюю полусферу.
Рассмотрим теперь что происходит при разгоне или торможении. Для этого нужно продифференцировать уравнение \eqref{abbes} и подставить \eqref{abbec} - получим \[\dot{\theta'}=\frac{\dot{\theta}-\sin\theta\dot{\phi}}{\ch\phi+\sh\phi\cos\theta}=\frac{\dot{\theta}-\ch^2\phi\sin\theta\sqrt{2\zeta\th\phi+\alpha_0^2}}{\ch\phi+\sh\phi\cos\theta}\] Заметим, что \(\dot\theta\) равно нулю только для звёзд, а для всех остальных объектов это сугубо положительная величина (за исключением момента старта с нулевой скоростью). Это означает, что при разгоне все далёкие объекты движутся вперёд, туда, куда летит корабль. Однако, для XL-1 \(\dot{\phi}_{max}=0.19829\text{ 1/сек}\) всего лишь, то есть звёзды на о-траверзе, в конце разгона движутся вперёд со скорость примерно 11.4°/сек.
Однако, предположим, что мы стартуем от некой планеты. Будет ли её диск уменьшаться или увеличиваться?
Найдём как меняется угол \(\theta\) по мере удаления от объекта. Пусть координаты объекта \((x,y)=(-L,H)\). Тогда, \(\tan(\pi-\theta)=\frac{H}{L+d}\) и \(\dot{\theta}=\frac{H}{(L+d)^2+H^2}v=\frac{Hc}{(L+d)^2+H^2}\th\phi=\frac{c}{H}\th\phi\sin^2\theta\). Обозначим \(\tau=\frac{H}{c}\) - время, необходимое свету, что бы пройти расстояние от объекта до оси \(X\); константа для данного объекта. И подставим в предыдущую формулу: \[\dot{\theta'}=\frac{\frac{1}{\tau}\th\phi\sin\theta-\ch^2\phi\sqrt{2\zeta\th\phi+\alpha_0^2}}{\ch\phi+\sh\phi\cos\theta}\sin\theta\] В начальный момент времени, при \(\phi=0\), имеем \[\dot{\theta'_0}=(\frac{1}{\tau}\sin\theta_0-\alpha_0)\sin\theta_0\] То есть, угловой размер объекта не уменьшается, если \(\sin\theta_0\le\alpha_0\tau\) или \(\sqrt{L^2+H^2}\ge\frac{c^2}{a_0}\). Последнее расстояние равно, к сожалению, почти 80 Гм (почти диаметр системы Стентона).