exponenta event banner

Анимация графического объекта

В этом примере показано, как анимировать треугольник, закольцовывающий внутри окружности, путем обновления свойств данных треугольника.

Постройте график окружности и задайте границы оси таким образом, чтобы единицы данных были одинаковыми в обоих направлениях.

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

Анимация показывает треугольник, закольцовывающий внутреннюю часть окружности.

См. также

| | | |

Связанные примеры

Подробнее