Этот пример показывает, как анимировать треугольное цикличное выполнение вокруг внутренней части круга путем обновления свойств данных треугольника.
Постройте круг и установите пределы по осям так, чтобы модули данных были тем же самым в обоих направлениях.
theta = linspace(-pi,pi);
xc = cos(theta);
yc = -sin(theta);
plot(xc,yc);
axis equal
Используйте функцию area
, чтобы чертить плоский треугольник. Затем измените значение одной из треугольных вершин с помощью (x, y) координаты круга. Измените значение в цикле, чтобы создать анимацию. Используйте drawnow
или команду drawnow limitrate
, чтобы отобразить обновления после каждой итерации. drawnow limitrate
является самым быстрым, но он не может чертить каждый кадр на экране.
xt = [-1 0 1 -1]; yt = [0 0 0 0]; hold on t = area(xt,yt); % initial flat triangle hold off for j = 1:length(theta)-10 xt(2) = xc(j); % determine new vertex value yt(2) = yc(j); t.XData = xt; % update data properties t.YData = yt; drawnow limitrate % display updates end
Анимация показывает треугольное цикличное выполнение вокруг внутренней части круга.
area
| axis
| drawnow
| hold
| plot