Проведя выходные в построении различных моделей ящика с шариком, чтобы понять, как же так получается, что пол крутится в одну сторону, а ускорение совсем в другую, я в итоге осознал нехитрую истину: на самом деле ускорение при преобразовании Лоренца поворачивается как надо, в точном соответствии повороту пола.
При расчёте я использовал оси координат, параллельные стенкам ящика. Преобразование Лоренца для этих осей запишется в виде:
Используя его, нетрудно определить законы движения углов ящика
в системе
(нештрихованной, АСО). (Мы считаем при этом, конечно, что ускорение и вызванное им движение ящика в окрестности рассматриваемого момента времени (
) мало, и пренебрегаем им). Отсюда нетрудно получить координаты вектора
:
Теперь надо преобразовать ускорение. Можно воспользоваться соответствующей формулой, но можно поступить иначе, проще (правда проще получается, только если считать не руками, а с применением компьютерных средств). Именно, запишем закон движения точки
в системе
с учётом ускорения
(показано на рисунке синим цветом):
и преобразуем его в систему
с помощью указанных выше формул. Продифференцировав его затем дважды по
и подставив
, мы найдём ускорение в АСО (показано на рисунке красным цветом):
Видно (и из рисунка и из формул), что ускорение ящика в АСО параллельно "вертикальным" стенкам ящика, и хочется сделать немедленный вывод, что шарик скатится в угол
. Однако именно здесь и кроется ошибка, и надо проанализировать этот момент подробнее. Именно, "скатится в угол" означает, что ускорение шарика будет не равно ускорению коробки, но почему мы считаем, что они будут неравны?
Очевидно, потому что на шарик со стороны коробки будет действовать сила, перпендикулярная дну
. Но. Давайте теперь вспомним, что закон
не работает в релятивистской теории: вызываемое силой ускорение не коллинеарно силе!
Куда же должна быть направлена сила, чтобы вызвать ускорение
? Для того чтобы это найти вернёмся к закону движения точки
, и опять продифференцируем его дважды по
, но на этот раз перед вторым дифференцированием разделим скорость
точки
, полученную после первого дифференцирования на
, чтобы получить (удельный) импульс. Тогда после второго дифференцирования мы получим производную от импульса - силу
. Она показана на рисунке серым цветом.
Итак, для того, чтобы вызвать ускорение в направлении
нужно действовать силой в направлении, перпендикулярном
! И именно в этом направлении и действует на шарик сила со стороны дна ящика. Поэтому мы немедленно приходим к выводу, что ускорение шарика будет равно ускорению коробки, и их взаимное расположение останется неизменным. Dixi.
(Код Mathematica. Расчёт)
Код:
CoordT[a_] := a[[1]]
Vector3[a_] := a[[2]]
CoordX[a_] := Vector3[a][[1]]
CoordY[a_] := Vector3[a][[2]]
CoordZ[a_] := Vector3[a][[3]]
LorentzGamma[v_] := (1 - v^2)^(-1/2)
RotateTX[v_, x_] := {LorentzGamma[v] (CoordT[x] - v CoordX[x]), {LorentzGamma[v] (CoordX[x] - v CoordT[x]), CoordY[x], CoordZ[x]}}
RotateXY[theta_, x_] := {CoordT[x], RotationTransform[theta, {0, 0, 1}][Vector3[x]]}
LorentzTransform[v_, x_] := RotateXY[Pi/4, RotateTX[v, RotateXY[-Pi/4, x]]]
LorentzTransform[v, {t, {x, y, z}}]
PointLorentzTransform[v_, u_, t_] := First[LorentzTransform[v, u[t1]] /. Solve[CoordT[LorentzTransform[v, u[t1]]] == t, t1]]
v0 =.
SetAttributes[v0, Constant]
g =.
SetAttributes[g, Constant]
A1[t1_] := {t1, {-1, 0, 0}}
B1[t1_] := {t1, {1, 0, 0}}
K1[t1_] := {t1, {-1, 2, 0}}
M1[t1_] := {t1, {1, 2, 0}}
U1[t1_] := {t1, {0, g t1^2/2, 0}}
A[t_] := PointLorentzTransform[-v0, A1, t]
B[t_] := PointLorentzTransform[-v0, B1, t]
K[t_] := PointLorentzTransform[-v0, K1, t]
M[t_] := PointLorentzTransform[-v0, M1, t]
U[t_] := PointLorentzTransform[-v0, U1, t]
boxFloor = Simplify[Vector3[B[0] - A[0]]]
Uv[t_] = Dt[U[t], t]
Um[t_] = LorentzGamma[Sqrt[Vector3[Uv[t]].Vector3[Uv[t]]]] Uv[t]
Uf[t_] = Dt[Um[t], t]
Ua[t_] = Dt[Uv[t], t]
a = Simplify[Vector3[Ua[0]]]
f = Simplify[Vector3[Uf[0]]]
mustBeZero = Simplify[boxFloor.f]
(Код Mathematica. Рисунок)
Код:
v0 = Sqrt[3]/2
g = 3/2
Graphics[{
Thick,
Blue,
Line[{
{CoordX[K1[0]], CoordY[K1[0]]},
{CoordX[A1[0]], CoordY[A1[0]]},
{CoordX[B1[0]], CoordY[B1[0]]},
{CoordX[M1[0]], CoordY[M1[0]]}
}],
Green,
Line[{
{CoordX[K[0]], CoordY[K[0]]},
{CoordX[A[0]], CoordY[A[0]]},
{CoordX[B[0]], CoordY[B[0]]},
{CoordX[M[0]], CoordY[M[0]]}
}],
Red,
Arrow[{
{CoordX[U[0]], CoordY[U[0]]},
{CoordX[U[0]] + a[[1]], CoordY[U[0]] + a[[2]]}
}],
Gray,
Arrow[{
{CoordX[U[0]], CoordY[U[0]]},
{CoordX[U[0]] + f[[1]], CoordY[U[0]] + f[[2]]}
}],
Thin,
Black,
Arrow[{
{CoordX[U1[0]], CoordY[U1[0]]},
{CoordX[B1[0]] + 0.4, CoordY[B1[0]]}
}],
Arrow[{
{CoordX[U1[0]], CoordY[U1[0]]},
{CoordX[U1[0]], CoordY[(K1[0] + M1[0])/2] + 0.2}
}],
Text[Style["x'", Italic, 24], {CoordX[B1[0]] + 0.4,
CoordY[B1[0]] + 0.1}],
Text[Style["y'", Italic, 24], {CoordX[U1[0]] + 0.1,
CoordY[(K1[0] + M1[0])/2] + 0.2}],
Text[Style["O'", Italic, 24], {CoordX[U1[0]], CoordY[U1[0]] - 0.1}],
Text[Style["K", Italic, 24], {CoordX[K[0]] - 0.1, CoordY[K[0]]}],
Text[Style["A", Italic, 24], {CoordX[A[0]] - 0.1, CoordY[A[0]]}],
Text[Style["B", Italic, 24], {CoordX[B[0]] + 0.1, CoordY[B[0]]}],
Text[Style["M", Italic, 24], {CoordX[M[0]] + 0.1,
CoordY[M[0]] + 0.05}],
Text[Style["K'", Italic, 24], {CoordX[K1[0]] - 0.1, CoordY[K1[0]]}],
Text[Style["A'", Italic, 24], {CoordX[A1[0]] - 0.1, CoordY[A1[0]]}],
Text[Style["B'", Italic, 24], {CoordX[B1[0]] + 0.1, CoordY[B1[0]]}],
Text[Style["M'", Italic, 24], {CoordX[M1[0]] + 0.1, CoordY[M1[0]]}],
Thick,
Blue,
Arrow[{
{CoordX[U1[0]], CoordY[U1[0]]},
{CoordX[U1[0]], CoordY[U1[0]] + g}
}],
Black,
Text[Style["g'", Bold, 24], {CoordX[U1[0]] - 0.1,
CoordY[U1[0]] + g}],
Text[Style["g", Bold, 24], {CoordX[U[0]] + a[[1]] - 0.05,
CoordY[U[0]] + a[[2]]}],
Text[Style["f", Bold, 24], {CoordX[U[0]] + f[[1]] + 0.05,
CoordY[U[0]] + f[[2]] - 0.05}]
}]