В этом примере показано, как анимировать треугольное цикличное выполнение вокруг внутренней части круга путем обновления свойств данных треугольника.
Постройте круг и установите пределы по осям так, чтобы модули данных были тем же самым в обоих направлениях.
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
| plot
| hold
| drawnow
| axis