The Curvature of Spinning, Translating Rods
Ina previous article a rubber band was assumed to be anchored to the origin of inertial frame K at one end, and to be connected to a particle at its other end. The particle orbited around the origin, and the force exerted by the band was assumed to be just what was required to keep the particle going in a circle at constant speed.
When viewed from inertial frame K’, it was deduced that the rubber band might not be straight. Indeed it was postulated that any rod-shaped object, spinning around the origin of K, will be curved from the perspective of K’. In this article this effect is demonstrated using the Lorentz transformations.
If we consider the object lying along the x-axis in K at time t=0, we can easily transform the coordinates to K’ using the standard Lorentz transformation. For example, if we divide the object into 100 parts in K, then each part will lie on the x’-axis in K’. However, the momentarily coincident K’ clocks will all be observed to have different times. We would like to know where the parts are when the K’ clocks all read t’=0. For those coordinates will collectively specify the object’s shape in K’ at a single moment.
If the object is at rest in K, then the transformation is straightforward. The object is found to lie all along the x’-axis in K’. It is length contracted and traveling toward –x’.
If, however, the object is spinning in K as described above, then we must "creep up" to each part’s position in K’. The iterations in such a creeping-up exercise are best performed on a computer. The steps in the creeping-up algorithm are as follows:
1. Compute a given part’s x, y, vx, vy, ax, ay at time t=0 by using the part’s motion in K.
2. Transform t to t’.
3. Divide the initial t’ into M incremements, where M is suitably large (say M=10,000). Call each increment dt’.
4. Transform x, y, vx, vy, ax, ay into x’, y’, vx’, vy’, ax’, ay’.
5. Compute x’ and y’ a time dt’ later by assuming that a’ is constant over that short increment of time.
6. Add dt’ to t’.
7. Transform t’ back to t, but using t in lieu of t=0.
8. Iterate to Step 1.
9. After M iterations, save x’ and y’ for plotting purposes.
10. Repeat for every other part.
11. Plot y’ vs. x’ to see the object’s shape in K’ at the single instant t’=0.
Appendix A of this article contains the relevant transformations. Appendix B contains the Visual Basic code that implements the algorithm. A few of the x’y’ plots are included below. Note that in each case the y’-axis is scaled so that the curvature is evident on inspection. In general u, the speed of K’ relative to K, determines the amount of length contraction in K’.w, the angular spin rate of the object around the origin of K, determines the amount of curvature.
u = 5 m/sec, w = 0/sec
u = .99c, w = 0/sec
u = .99c, w = 60,000,000/sec
u = 5 m/sec, w = 5/sec
Of particular note is Fig. 4. The object is evidently bent for any nonzerow. Of course given the plotting software’s scaling of the y’-axis, the curvature is in actuality very slight. Nevertheless, the rod is not straight in K’.
Of possible interest is the curvature of the arms of spiral galaxies.
*** Appendix A ***
t’ =g(t – ux / c2)
x’ =g(x – ut)
y’ = y
vx’ = (vx – u) / (1 – uvx/c2)
vy’ = vy /g / (1 – uvx/c2)
ax’ = ax /g3 / (1 – uvx/c2)3
ay’ = ay / g2 / (1 – uvx/c2)2 + uvyax / g2c2 / (1 – uvx/c2)3
*** Appendix B ***
Visual Basic Code for Computing y’ vs. x’ at t’=0
Private Sub cmdTransform_Click()
Const c As Double = 300000000#
Const u As Double = 5
'Const u As Double = 0.99 * c
Const L As Double = 1
'Use this value of omega to compute curvature.
'Const omega As Double = 0
Const omega As Double = 5
'Const omega As Double = 60000000
Const N As Long = 100 'Number of parts in rod
Const M As Long = 10000# 'Number of dtprimes
Const deltax As Double = L / N 'Length of part
Dim xp(N) As Double 'xprime coordinates of parts
Dim yp(N) As Double 'yprime coordinates of parts
Dim t As Double 'K time
Dim x As Double 'K kinematic variables
Dim y As Double
Dim vx As Double
Dim vy As Double
Dim ax As Double
Dim ay As Double
Dim gamma As Double
Dim tp As Double 'Kprime time
Dim deltatp As Double
Dim dtp As Double 'Incremental period for updating Kprime coords.
Dim vxp As Double 'Kprime kinematic variables
Dim vyp As Double
Dim axp As Double
Dim ayp As Double
Dim MIndex As Long
Dim NIndex As Long
Dim hypot As Double 'Triangle hypotenuse
gamma = 1 / Sqr(1 - u ^ 2 / c ^ 2)
'For each part of the rod ...
For NIndex = 0 To N - 1
t = 0 'Initial time
'...Compute the K space coords;
hypot = (NIndex + 1 / 2) * deltax
x = hypot
y = 0
'compute the amount of Kprime time you must work through
deltatp = -gamma * (t - u * x / c ^ 2)
dtp = deltatp / M
'Then for each part...
For MIndex = 0 To M - 1
'...Compute the K variables;
x = hypot * Cos(omega * t)
y = hypot * Sin(omega * t)
vx = -omega * y
vy = omega * x
ax = -omega ^ 2 * x
ay = -omega ^ 2 * y
'Transform the K variables to Kprime variables
tp = gamma * (t - u * x / c ^ 2)
xp(NIndex) = gamma * (x - u * t)
yp(NIndex) = y
vxp = (vx - u) / (1 - u * vx / c ^ 2)
vyp = vy / gamma / (1 - u * vx / c ^ 2)
axp = ax / gamma ^ 3 / (1 - u * vx / c ^ 2) ^ 3
ayp = ay / gamma ^ 2 / (1 - u * vx / c ^ 2) ^ 2 + u * vy * ax / c ^ 2 / gamma ^ 2 / (1 - u * vx / c ^ 2) ^ 3
'Compute follow-on Kprime variables (assuming constant acceleration)
xp(NIndex) = xp(NIndex) + vxp * dtp + 1 / 2 * axp * dtp ^ 2
yp(NIndex) = yp(NIndex) + vyp * dtp + 1 / 2 * axp * dtp ^ 2
tp = tp + dtp
'update K time and iterate.
t = gamma * (tp + u * xp(NIndex) / c ^ 2)
'Output the Kprime x and y coordinates for plotting.
Open "c:\WINMCADC\Physics\Spinner.PRN" For Output As #1
For NIndex = 0 To N - 1
Write #1, xp(NIndex), yp(NIndex)
MsgBox ("Ready for plotting")