Reflection From a Moving Spherical Surface

If you have read any of my other posts, you know that I ask some really strange questions. At the beginning of this year I wanted to know what it would look like if a flash bulb were set off in the center of a reflective sphere. Well, of course, the light would all reflect back to the center at the same time. A sphere of light goes out, reflects, comes back. Easy. But I wanted to know how the geometry of that would look if the bulb and the sphere were both moving at a significant fraction of the speed of light.

To create a computer animation, I used gnuplot. And it’s one of the coolest things I’ve ever seen due to the symmetries that are shown in it.  It’s kind of visually “busy” though, so in short: there is a black ellipse representing the (spherical-at-rest) mirror which is contracted in the direction of motion, per the demands of relativity. There is a red circle at the mirror’s center which moves with it. Starting at t=0, another red circle is shown which represents light radiating from the center until reaching the mirror surface (which happens simultaneously only in the rest frame, in which the mirror is spherical) and being reflected back as a contracting blue circle. The green ellipse shows the locations at which the reflections take place. The two foci of the green ellipse (non-identical in all but the rest frame) are shown as green dots and are (on the left) the point from which the light is emitted and (on the right) the point where the reflected light converges.

(If the image below is not moving, try clicking on it)

I wasn’t sure at first how I would show the reflection of a spherical wave from an elliptical surface. I thought about having to calculate angles of incidence, etc. but approaching it as an animator rather than as a scientist led me to a solution which was so simple and beautiful it still seems a little like having cheated. There are at least a couple of different ways to watch the animation. Watching what goes on strictly inside the black ellipse was the purpose of the exercise, but I also like watching the circles which expand and contract through the mirror surface, comprised of a “real” pair of arcs inside the mirror and their “imaginary” complements outside.

If you want to try it yourself, here is the program code:

set term gif animate delay 40
set output "pulse.gif"
n=24 #shell size
t=-10 #initial time
x=0 #location of 1st pulse event
c=0.1 #constant for speed of light
v=0.55 * c #velocity of observer relative to shell and source

set xrange [-10:10]
set yrange [-10:10]

#object 8=ellipse of reflection 		GREEN
#object 7=f1					GREEN	
#object 6=f2					GREEN
#object 5=spherical mirror			blue
#object 4=elliptical mirror			BLACK
#object 3=source				RED
#object 2=wavefront 2				BLUE 	
#object 1=wavefront 1				RED 

#Contraction/dilation depends on velocity

set object 8 ellipse at x+(n*v*gamma),0 size minoraxis8,majoraxis8 units xx fs transparent lw 2 fc rgbcolor "green" behind
set object 7 circle at 0,0 size 0.01 fs solid lw 2 fc rgbcolor "#00AA00" front
set object 6 circle at x+(2*n*v*gamma),0 size 0.01 fs solid lw 2 fc rgbcolor "#00AA00" front

do for [i=t:2*n*gamma+10]{
#set object 5 circle at x+(t*v),0 size n*c fs transparent lw 2 fc rgbcolor "#AAAAFF" behind
set object 4 ellipse at x+(t*v),0 size minoraxis4,majoraxis4 units xx fs transparent lw 2 fc rgbcolor "#000000" behind
set object 3 circle at x+(t*v),0 size c fs transparent lw 1 fc rgbcolor "red" front
if (t>=0) { 
set object 1 circle at 0,0 size i*c fs transparent lw 1 fc rgb "red"
if (t<=2*n*gamma) {
set object 2 circle at x+(2*n*v*gamma),0 size ((2*n*gamma)-i)*c fs transparent lw 1 fc rgb "blue"
plot 0 title sprintf("t=%i, v=%f c",t, v*10)
set output

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *