How to create triangle and animate it?
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Ron
 el 1 de Sept. de 2020
  
    
    
    
    
    Comentada: Rena Berman
    
 el 8 de Oct. de 2020
            I'm using this code to start but hasnt worked. patch command is giving error and not sure how to resolve it. Please help.
w0 = 1 ;
    w1 = 0.5 ;
    N = 5 ;
    ww = linspace(w1,w0,N) ;
    W = [fliplr(ww) ww] ;
    ar=0.866; % Aspect ratio for equilateral triangle
    h=ar*W;%height of triangle
    for i = 1:length(W)
         x=[0 W W/2];%x coordinates of vertices
         y=[0 0 h];%y coordinates of vertices
        patch(x,y,'white')
        set(gca,'Color','k','xticklabel',[],'yticklabel',[])
        drawnow
        pause(0.1)
    end
4 comentarios
  Rik
      
      
 el 3 de Oct. de 2020
				I'm using this code to start but hasnt worked. patch command is giving error and not sure how to resolve it. Please help.
w0 = 1 ;
w1 = 0.5 ;
N = 5 ;
ww = linspace(w1,w0,N) ;
W = [fliplr(ww) ww] ;
ar=0.866; % Aspect ratio for equilateral triangle
h=ar*W;%height of triangle
for i = 1:length(W)
x=[0 W W/2];%x coordinates of vertices
y=[0 0 h];%y coordinates of vertices
patch(x,y,'white')
set(gca,'Color','k','xticklabel',[],'yticklabel',[])
drawnow
pause(0.1)
end
Respuesta aceptada
  Ameer Hamza
      
      
 el 2 de Sept. de 2020
        Try this
w0 = 1 ;
w1 = 0.5 ;
N = 5 ;
ww = linspace(w1,w0,N) ;
W = [fliplr(ww) ww] ;
ar=0.866; % Aspect ratio for equilateral triangle
h=ar*W;%height of triangle
fig = figure();
ax = axes();
set(ax,'Color','k','xticklabel',[],'yticklabel',[])
ax.XLim = [0 1];
ax.YLim = [0 1];
p = patch([0 0 0], [0 0 0], 'w');
for i = 1:length(W)
    x = [0 W(i) W(i)/2];%x coordinates of vertices
    y = [0 0 h(i)];%y coordinates of vertices
    p.Vertices = [x.' y.'];
    drawnow
    pause(0.1)
end
2 comentarios
  Ameer Hamza
      
      
 el 2 de Sept. de 2020
				I am glad to be of help!
Try this
w0 = 1 ;
w1 = 0.5 ;
N = 5 ;
ww = linspace(w1,w0,N) ;
W = [fliplr(ww) ww] ;
ar=0.866; % Aspect ratio for equilateral triangle
h=ar*W;%height of triangle
n = 200; % number of triangles
area = 20; % 10x10 square for all the triangles
triangle_locations = area*rand(n, 2); % location of triangles
fig = figure();
ax = axes();
set(ax,'Color','k','xticklabel',[],'yticklabel',[])
ax.XLim = [0 area];
ax.YLim = [0 area];
p = gobjects(1, n);
for i=1:n
    p(i) = patch([0 0 0], [0 0 0], 'w');
end
for i = 1:length(W)
    for k = 1:n
        x = [0 W(i) W(i)/2] + triangle_locations(k, 1);%x coordinates of vertices
        y = [0 0 h(i)] + triangle_locations(k, 2);%y coordinates of vertices
        p(k).Vertices = [x.' y.'];
    end
    pause(0.1)
end
Más respuestas (0)
Ver también
Categorías
				Más información sobre Animation en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




