function [x,y,r0,alpha0] = UWgeodesic(s,theta,npts)
% for given (s,\theta), returns a few points that describe the geodesic
% curve of parameters (s,\theta). npts designates the number of points
% used for the discrtization. 
% OUTPUT ARGS: - [x,y] : lists of points coordinates
%              - r0 : radius of the circle 
%              - alpha0 : half the angle of aperture of the arc circle

if abs(s) > 1,
    error(['s = ',num2str(s),', too large !']);
end

if s == 0, % construct a straight line
    
    x = -sin(theta)*(-1+1/npts:2/npts:1-1/npts);
    y = cos(theta)*(-1+1/npts:2/npts:1-1/npts);
    
elseif abs(s)<=.9 % construct an arc circle
    
    r0 = %%% FILL OUT; % radius of the circle 
    y0 = %%% FILL OUT; % distance of the center from zero
    
    % range of angles
    alpha0 = %%% FILL OUT 
    alphamin = %%% FILL OUT
    alphamax = %%% FILL OUT
    
    dalpha = (alphamax-alphamin)/npts;
    alphas = alphamin+dalpha/2:dalpha:alphamax-dalpha/2;
    
    x = %%% FILL OUT
    y = %%% FILL OUT
else % if s is too close to 1, return empty list
    x=[];
    y=[];
    r0=0;
    alpha0=0;
end

end