function jongler(x,n)
%JONGLER(X,N) simule les trajectoires des balles en jonglerie.
% La fonction JONGLER(X,N) représente un axe avec le temps au-dessus,
% le lancer au-dessous. Les trajectoires sont calculées en fonction
% du temps que les balles doivent utiliser pour rester en l'air.
% X est une matrice contenant les temps pour la balle 1, 2, etc.
% Par exemple JONGLER([5 3 1],14) représente le mouvement pour lequel
% la première balle reste 5 unités de temps en l'air, la deuxième 3 et la 
% troisième 1. N indique le temps de la simulation.

% jbr, 26-2-97.

t=1:n;
l=[];
for i=1:round(n/3)
	l=[l, x];
end
l=l(1:n);	% lancers
p=length(x);						% nombre d'échanges
c='rgbcmywrgbcmywrgbcmyw';			% couleurs

for j=1:p
	i=j;
	x=[]; y=[];
	while i<n
		d=l(i);						% diamètre
		r=d/2;						% rayon
		cx=t(i)+r;					% centre du cercle
		m=i+d;
		if m>n, m=n; end
		x=t(i):1/10:t(m);			% coord. x
		y=sqrt(r^2-(x-cx).^2);		% coord y
		plot(x,y,c(j),'Linestyle','.','markersize',20)
		hold on
		i=i+d;
	end
end

% représentation

plot([1 n],[0 0])
for t=1:n
	text(t,-.5,int2str(t))
end
axis equal
axis off
hold off
