Hit Counter

The Curvature of Spinning, Translating Rods


In a 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 objects 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 parts 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 parts x, y, vx, vy, ax, ay at time t=0 by using the parts 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 objects 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 xy 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.

Figure 1

u = 5 m/sec, w = 0/sec


Figure 2

u = .99c, w = 0/sec


Figure 3

u = .99c, w = 60,000,000/sec


Figure 4

u = 5 m/sec, w = 5/sec



Of particular note is Fig. 4. The object is evidently bent for any nonzero w. Of course given the plotting softwares 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 ***

Lorentz Transformations

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


Option Explicit

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

Debug.Print NIndex

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)

Next MIndex

Next NIndex

'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)

Next NIndex


MsgBox ("Ready for plotting")


End Sub