function candles_2020 % Holiday greetings. colors = get(gca,'colororder'); flames = init; tic while toc < 3600 if mod(toc,20) > 15 c = 'k'; else i = randi(length(colors)); c = colors(i,:); end j = randi(length(flames)); flames(j).FaceColor = c; pause(1/6) end % --------------------------------------------- function flames = init clf axis([0 1 0 1]) axis off for k = 1:5 [x,y] = base(k); patch(x,y,'w') [x,y] = edge(k); flames(k) = patch(x,y,'k'); end end function [x,y] = base(k) xo = [.21 .33 .45 .57 .69]; ys = [.52 .30 .38 .30 .44]; x = xo(k) + .10*[0 1 1 0 0]; y = ys(k)*[0 0 1 1 0]; end function [x,y] = edge(k) xo = [.21 .33 .45 .57 .69]; yo = [.52 .30 .38 .30 .44]; v = [2,0,0,2,3,5]; t = 0:0.1:5; e = makima(0:5,v,t); x = xo(k) + .01*[e 10-fliplr(e)]; y = yo(k) + .08*[t fliplr(t)]; end % Inspired by Patsy and % . end