Application Center - Maplesoft

App Preview:


You can switch back to the summary page by clicking here.

Learn about Maple
Download Application




By Sylvain Muise



If you drop two stones into a pond, you will see a pattern of interference in the colliding waves resulting from the two stones. The same effect happens when waves from two light sources interact with each other. This Maple application shows what happens when waves of any kind interfere with each other, using animations and pictures. We then take a look at Young's Double Slit Experiment, which examines light waves in particular interfering with each other.

Consider two sine waves. The result of adding of combining these two waves depends on the relative phase difference of the two waves. If the two waves are in phase, i.e. the crests and troughs of one match up with the other, the result of adding them will be another sine wave with twice the amplitude of the original waves, as shown below. This is constructive interference.

> restart:

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

> a1:=plot(1.01*sin(t),t=0..4*Pi,y=-2..2,color=blue):
a3:=plot(sin(t) + sin(t),t=0..4*Pi,y=-2..2,color=magenta):

> display({a2,a1,a3},title = "sin(t) + sin(t)",axes=none);

[Maple Plot]

If the two waves are out of phase, i.e. the crests of one match up with the troughs of the other, the two lines will essentially cancel each other out, and the result will be 0. This is destructive interference.

> b1:=plot(sin(t), t=0..4*Pi, y=-1..1, color=blue):
b2:=plot(sin(t + Pi), t=0..4*Pi, y=-1..1, color=red):
b3:=plot(sin(t) + sin(t + Pi), t=0..4*Pi, y=-1..1, color=magenta):

> display({b1, b2, b3}, title = "sin(t) + sin(t + Pi)", axes=none);

[Maple Plot]

Below is an animation showing the result of adding two sine waves with relative phase difference going from 0 to 2 Pi .

> c1 := plot(sin(t), t=0..4*Pi, y=-2..2, color=blue):
numFrames := 80:
for i from 1 to numFrames do
c2[i] := plot(sin(t - (i - 1)*2*Pi/numFrames), t=0..4*Pi, y=-2..2, color=red):
c3[i] := plot(sin(t) + sin(t - (i - 1)*2*Pi/numFrames), t=0..4*Pi, y=-2..2, color=magenta):
disp||i := display({c2[i], c3[i]}):
end do:
waveAni := display(disp||(1..numFrames), insequence=true):

> display({waveAni, c1},axes=none);

[Maple Plot]


Young's Double Slit Experiment

> alpha := Pi * A * sin(theta) / lambda:
beta := Pi * DD * sin(theta) / lambda:
beta2 := Pi * DD2 * sin(theta) / lambda:
f := theta -> I0 * (sin(alpha)/alpha)^2 * (cos(beta))^2:
A := 0.0000085:
DD := 0.00005:
DD2 := 0.00003:
lambda := 1e-06:
I0 := 1:
g := theta -> I0 * (cos(beta2))^2:
interference:=rotate(plot(f(theta), theta=-0.3..0.3,color=magenta),-Pi/2):
diffraction:=rotate(plot((sin(alpha)/alpha)^2,theta=-0.3..0.3, color=blue),-Pi/2):
fringes1 := display({interference,diffraction}):
rect1 := rectangle([-1.6,0.3],[-1.5,0.14],color=blue):
rect2 := rectangle([-1.6,0.1],[-1.5,-0.1],color=blue):
rect3 := rectangle([-1.6,-0.14],[-1.5,-0.3],color=blue):
rect4 := rectangle([-1.6,0.13],[-1.5,-0.13],color=blue):
rect5 := rectangle([-1.6,1.125],[-1.5,0.7],color=blue):
rect6 := rectangle([-1.6,0.6],[-1.5,-0.6],color=blue):
rect7 := rectangle([-1.6,-0.7],[-1.5,-1.125],color=blue):
text1 := textplot([-0.78,0.25,L]):
text2 := textplot([-1.7,0.025,d]):
text3 := textplot([-1.55,0.12,a]):
text4 := textplot([-1.55,-0.12,a]):
text5 := textplot([0.2, -0.16, P]):
text6 := textplot([-0.5, -0.05, 'q'],font=[SYMBOL]):
text7 := textplot([-1.1,0.28,'d'],font=[SYMBOL]):
text8 := textplot([-0.9,0.28," = d sin"]):
text9 := textplot([-0.65, 0.28, 'q'],font=[SYMBOL]):
text10 := textplot([0.3, 0.065, 'q'], font=[SYMBOL]):
text11 := textplot([0.95, -0.12, 'P']):
text12 := textplot([-1.45, 0.2, 'q'], font=[SYMBOL]):
text13 := textplot([-1.7, 0.4,d]):
arc1 := arc([-0.45,-0.05], 0.05, -Pi/2..Pi/2):
arc2 := arc([0.3,0.065], 0.05, -Pi/2..Pi/2):
arrow1 := arrow([-0.83,0.25], [-1.48,0.25], .2,.03,.1,arrow):
arrow2 := arrow([-0.73, 0.25], [-0.02, 0.25], .2, .03, .1, arrow):
arrow3 := arrow([-1.65, 0],[-1.65,0.1], .2,.1,.1,arrow):
arrow4 := arrow([-1.65, 0],[-1.65,-0.1], .2,.1,.1,arrow):
arrow5 := arrow([-1.5, 0], [0,0],.1,.03, .05,arrow,linestyle=DASH):
arrow6 := arrow([-1.5, 0], [0, -0.16],.1, .03,.05,arrow,linestyle=DASH):
arrow7 := arrow([-1.65,0], [-1.65,0.13], .2,.1,.1,arrow):
arrow8 := arrow([-1.65,0], [-1.65,-0.13], .2,.1,.1,arrow):
arrow9 := arrow([-1.5,0.12],[0.7,0.12],.2, .03,.05,arrow,linestyle=DOT):
arrow10 := arrow([-1.5,0.12],[1,-0.04],.2, .03,.05,arrow,linestyle=DASH):
arrow11 := arrow([-1.5,-0.12],[1,-0.28],.2, .03,.05,arrow,linestyle=DASH):
arrow12 := arrow([-0.138/0.14,0.24],[-1.3,0.26], .1,.02,.2,arrow):
arrow13 := arrow([-1.3,0.26], [-0.138/0.14,0.24], .1, .02, .2, arrow):
arrow14 := arrow([-0.25,-0.08], [1,-0.16], .2,.03,.05,arrow):
arrow15 := arrow([-1.65,0], [-1.65, 0.6], .2,.1,.1,arrow):
arrow16 := arrow([-1.65,0], [-1.65, -0.6], .2,.1,.1,arrow):
line1 := line([0,0.3],[0,-0.3]):
line2 := line([-1.5,0.12],[-1.3,0.26]):
line3 := line([-1.5,-0.12], [-0.138/0.14,0.24]):
line4 := line([0,1.125],[0,-1.125],color=black):
for i from 1 to 6 do
lines[i] := line([-1.7 - i * 0.05,0.25],[-1.7 - i * 0.05, -0.25],color=orange):
end do:
for i from 1 to 6 do
lines2[i] := line([-1.7 - i * 0.05,1.125],[-1.7 - i * 0.05, -1.125],color=orange):
end do:
numCircles := 23:
last := NULL:
for i from 1 to numCircles do
circles1[i] := arc([-1.5,0.65], 0 + i * 0.11, -Pi/2..Pi/2,color=blue):
circles2[i] := arc([-1.5,-0.65], 0 + i * 0.11, -Pi/2..Pi/2,color=red):
last := last, circles1[i], circles2[i]:
di||i := display([last]):
end do:
cirAni := display(di||(1..numCircles),insequence=true):
diffAndInter := {fringes1, rect1, rect2, rect3, text1, text2, text3, text4, text5, text6, arc1, arrow1, arrow2, arrow3, arrow4, arrow5, arrow6, line1, seq(lines[i],i=1..6)}:
inter := {interference2, rect1, rect4, rect3, text1, text2, text5, text6, arc1, arrow1, arrow2, arrow7, arrow8, arrow5, arrow6, line1, seq(lines[i],i=1..6)}:
details := {seq(lines[i], i=1..6), text2, arrow3, arrow4, text3, text4, text7, text8, text9, text10, text11, text12, arc2, rect1, rect2, rect3, arrow9, arrow10, arrow11, arrow12, arrow13, arrow14, line2, line3}:
waves := {seq(lines2[i], i=1..6), text13, arrow15, arrow16, rect5, rect6, rect7, line4, cirAni}:

In 1801, Thomas Young conducted this experiment which showed that light behaved like a wave, just like water. He sent a plane wave (a wave made up of parallel wave fronts all travelling in the same direction) through two thin slits separated by a distance d, creating two seperate light sources that could intefere with each other. This is shown in the following animation.

> display(waves, view=[-2..1,-1.125..1.125], axes=none);

[Maple Plot]

Young then observed the interference pattern on a screen a distance L away from the slits. He observed a series of bright and dark fringes. Wherever the two waves from the two sources interfered constructively, there was a bright fringe, and wherever they interfered destructively, there was a dark fringe.

> display(inter, axes=none);

[Maple Plot]

The relative phase difference between the two waves can be found by determining the path difference, or how much farther one wave had to travel than the other wave to get to a point on a screen at an angle theta. Since d is much less than L, we can assume that the two waves are parallel. At small angles, the path difference, delta , can be approximated to d sin theta . Bright fringes are found at points where delta = m lambda (m = 1, 2, ....) and the dark fringes are found at points where delta = (m + 1/2) lambda , (m = 0, 1, 2, ...).

> display(details, axes=none);

[Maple Plot]

If the width of the slits, a, is greater than lambda , the wavelength of the light, the interference fringes oscillate in brightness, and this is due to diffraction. Diffraction is interference of one wave with another. The interference and diffraction patterns are shown in the following two graphs.

> plot((cos(beta))^2, theta=-0.3..0.3,color=red);
plot((sin(alpha)/(alpha))^2, theta=-0.3..0.3,color=blue);

[Maple Plot]

[Maple Plot]

The following graph shows the result of both the interference and diffraction patterns on the brightness fringes.

> plot(f(theta), theta=-0.3..0.3, color=magenta);

[Maple Plot]

The whole picture.

> display(diffAndInter, axes=none);

[Maple Plot]