function V = Populate(X1, Y1, A)

N = ceil(length(A)/2); N_X = length(X1);
V = zeros(2*N+1, 2);
A = flipud(A(1:N)); A = flipud(A');
V(N+1, 1) = X1(N_X/2);
V(N+1, 2) = Y1(N_X/2);
id_left = N_X/2; id_right = N_X/2;
for i=0:(N-1),
    
    X_left = X1(1:id_left); Y_left = Y1(1:id_left);
    X_right = X1(id_right:end); Y_right = Y1(id_right:end);
    
    [~, id_left] = min(abs(sqrt((X_left - V(N+1-i, 1)).^2 + (Y_left - V(N+1-i, 2)).^2) - A(i+1)));
    [~, id_right] = min(abs(sqrt((X_right - V(N+1+i, 1)).^2 + (Y_right - V(N+1+i, 2)).^2) - A(i+1)));
    
    id_right = N_X - length(X_right) + id_right;
    
    V(N-i, 1) = X1(id_left); V(N+2+i, 1) = X1(id_right);
    V(N-i, 2) = Y1(id_left); V(N+2+i, 2) = Y1(id_right);
    
end



end

