MATLAB: Animate a ball in 3 dimensions

I want to animate a ball travelling in 3-D space along a parametrized curve, say a helix. In 2-D space, I use the 'viscircles' function to draw a circle at a specific point and fixed radius. This is very easy to loop:
%ball travelling in 2-D space along a circle of radius 1
t = 0:0.01:2*pi;
x = cos(t);
y = sin(t);
for i=1:length(t)
ballpoint = [x(i) y(i)];
ball = viscircles(ballpoint,0.05) %draws circle of radius 0.05 at point 'ballpoint'
drawnow
if i<length(t) %deletes ball at position (x(i),y(i)) when ball is at position (x(i+1),y(i+1))
delete(ball);
end
end
the code above is very simple and straightforward. I thought there would be an analogous function of the same sort as 'viscircles' that would draw a sphere about a point and fixed radius, but there isn't. How could I make a similar animation as the one above, only in 3-D space with a sphere travelling on a helix?

Best Answer

t = linspace(0,6*pi,100);
r = 1. ; % radius of spiral path
c = 2 ;
x = r*cos(t) ;
y = r*sin(t) ;
z = c*t ;
for i = 1:length(x)
plot3(x,y,z,'Color','k','Linewidth',1) ;
hold on
plot3(x(i),y(i),z(i),'Or','Markersize',10) ;
hold off
drawnow
end