Animate a ball in 3 dimensions
Ältere Kommentare anzeigen
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?
Akzeptierte Antwort
Weitere Antworten (1)
Jan
am 10 Nov. 2016
0 Stimmen
The command sphere draws a sphere. For a smooth animation you can create the sphere outside the loop or in the first iteration only, and set the 'XData', 'YData', and 'ZData' properties afterwards only.
Kategorien
Mehr zu Animation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!