function ERbridgeSparseGrid(M,zMaxOrSch,NCircles,NParabolas)

G = 1.0;
c = 1.0;

rSch = 2.0*G*M/c^2; % The Schwarzschild Radius

% Plot circle for Schwarzschild radius:
N=100;
phi0 = (0:N-1)*2.0*pi/(N-1);
xCirc = rSch*cos(phi0);
yCirc = rSch*sin(phi0);
zCirc = zeros(N);
plot3(xCirc,yCirc,zCirc,'r','LineWidth',2.0);
axis off
hold

% Plot more circles

zMin = (-1.0*zMaxOrSch)*rSch;
zMax = (1.0*zMaxOrSch)*rSch;

for iz = 0:(NCircles-1)

  z = zMin + iz*(zMax-zMin)/(1.0*(NCircles-1));

  r = z*z/(4.0*rSch) + rSch;

  xCirc = r*cos(phi0);
  yCirc = r*sin(phi0);
  zCirc = z*ones(N);

  if ((iz - NCircles/2) > -2) & ((iz - NCircles/2) < 2)
    continue
  else
    if (iz - NCircles/2) == -2 | (iz - NCircles/2) == -3 | (iz - NCircles/2) == -4 | (iz - NCircles/2) == -5 
       phi0arc = phi0( find( (phi0 < 4.0*pi/5.0) ) )
       xCircarc = r*cos(phi0arc);
       yCircarc = r*sin(phi0arc);
       zCircarc = z*ones(length(phi0arc));
       plot3(xCircarc,yCircarc,zCircarc,'k','LineWidth',1.5);
       phi0arc = phi0( find( (phi0 > 4.0*pi/6.0 + pi) ) )
       xCircarc = r*cos(phi0arc);
       yCircarc = r*sin(phi0arc);
       zCircarc = z*ones(length(phi0arc));
       plot3(xCircarc,yCircarc,zCircarc,'k','LineWidth',1.5);
    else
      plot3(xCirc,yCirc,zCirc,'k','LineWidth',1.5);
    end
  end

end

% Plot parabolas

z = zMin + (0:99)*(zMax-zMin)/99.0;
r = z.*z/(4.0*rSch) + rSch;

% for showing parabola only for z's not blocked by the wormhole:
zp = z( find( z > 0.22*zMax ) );
rp = zp.*zp/(4.0*rSch) + rSch;
zn = z( find( z < -0.45*zMax ) );
rn = zn.*zn/(4.0*rSch) + rSch;

for iphi = 0:(NParabolas-1)
  phi = iphi*2.0*pi/(1.0*(NParabolas-1));
  if (phi > 4.0*pi/5.0) & (phi < 3.0*pi/5.0 + 1.0*pi)
    x = rp*cos(phi);
    y = rp*sin(phi);
    plot3(x,y,zp,'k','LineWidth',1.5);
    x = rn*cos(phi);
    y = rn*sin(phi);
    plot3(x,y,zn,'k','LineWidth',1.5);
  else
    x = r*cos(phi);
    y = r*sin(phi);
    plot3(x,y,z,'k','LineWidth',1.5);
  end
end

view([1.0*zMax 1.0*zMax 5.0*rSch]);

return;




