Contenido principal

Animar un triángulo dentro de un círculo

Este ejemplo muestra cómo animar un triángulo girando en el interior de un círculo actualizando las propiedades de datos del triángulo.

Represente el círculo y establezca los límites de los ejes para que las unidades de datos sean las mismas en ambas direcciones. Use el comando drawnow para actualizar la figura antes de iniciar la animación.

theta = linspace(-pi,pi);
xc = cos(theta);
yc = -sin(theta);
plot(xc,yc);
axis equal
drawnow

Utilice la función area para dibujar un triángulo plano. A continuación, cambie el valor de uno de los vértices del triángulo mediante las coordenadas (x,y) del círculo. Cambie el valor en un bucle para crear una animación. Utilice drawnow o el comando drawnow limitrate para mostrar las actualizaciones después de cada iteración. drawnow limitrate es más rápido, pero es posible que no muestre cada fotograma en la pantalla.

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

La animación muestra el triángulo girando en el interior del círculo.

Consulte también

| | | |

Temas