function drawGridCallback(thePlot,velocity,range,skip,lightLineToggle,c)
% thePlot is a handle to the figure with the plot
% velocity is between 0.01 and 1
% range is an integer greater than 0 that tells the plot range on both the x and y axis
% skip is an integer > .05*range that tells how often to draw grid lines
% lightLineToggle is 1 or 0 (1 means on)
% c is the speed of light
figure(thePlot); %switch to the figure with the plot
velocity=velocity*c; %fix the velocity so it's a fraction of c
beta=velocity/c;
gamma=(1-beta^2)^(-1/2);
p=beta*gamma; %the distance from x to x' at x=gamma
a=0:range/10:range; %horizontal dummy variably
x=p/gamma*a; %x' axis
ct=gamma/p*a; %ct' axis
plot(a,ct), hold on; %plot ct1
%draw lines parallel to the x' and ct' axes
for i=skip:skip:range;
%cti'(a)=gamma/p*a+b
%x'(a)=p/gamma*a
%cti' and x' should intersect at a=gamma, so solve for
% b using cti(gamma)==x(gamma)
%then multiply by i to get the parallel line we want
b=(p-gamma^2/p)*i;
cti=ct+b;
%set cti' to zero when it is below x'
tmp=(cti>x).*cti;
%find the first index of cti' that is above x'
start=min(find(tmp));
%set all elements of cti' that are below x' to x'
% (hide the elements of cti' that lie below x' on x')
tmp(1:start-1)=x(1:start-1);
%unfortunately this is not symbolic, and there will be a
% line at the wrong slope between the x' and cti' (it can
% be made too small to notice if you choose enough points
% in a). Instead I calculate the exact intersection of x'
% and cti' and set a(start) to this value. Then change
% cti'(start) to be the cti'(a). Do this by solving
% cti'(a)=x'(a). This is different than what was done
% before because we are finding the exact intersection now,
% instead of the index of a that is closest to the intersection.
tmp(start)=b*p^2/(p^2-gamma^2);
tmpa=a(start);
a(start)=b/(p/gamma-gamma/p);
%plot a vs cti' and then flip the coordinates to get
% lines parallel to x'
plot(a,tmp,':');
plot(tmp,a,':');
%fix a(start) since I messed with it to get the lines straight
a(start)=tmpa;
end;
%plot the light line
if(lightLineToggle)
plot(a,a,'r');
end;
%plot x' and set the axes
plot(a,x),hold off;
axis([0 range 0 range]);