1function trisurfMovie(adj, nodes, data, name, T, xlimit, ylimit)
2[nx,nt] = size(data);
3
4minD = min(min(data));
5maxD = max(max(data));
6
7writerObj = VideoWriter([name,'.avi']);
8writerObj.FrameRate = nt/T;
9open(writerObj);
10
11%% Set up figure handle
12axsize      = 400;
13h.fig       = figure('Position', [100 100 4*axsize 4*axsize], 'Color', 'White');
14h.patch     = trisurf(adj, nodes(:,1), nodes(:,2), data(:,1));
15h.ax        = h.fig.CurrentAxes;
16h.EdgeColor = 'none';
17%% Update patch and store movie
18for i=1:nt
19  h.patch = handle(trisurf(adj, nodes(:,1), nodes(:,2), data(:,i)));
20  axis(h.ax, 'equal', 'tight');
21  shading(h.ax, 'interp');
22  colormap(h.ax, 'bone');
23  h.ax.XTickMode      = 'Manual';
24  h.ax.YTickMode      = 'Manual';
25  h.ax.XTickLabelMode = 'Manual';
26  h.ax.YTickLabelMode = 'Manual';
27  h.ax.XLim           = xlimit;
28  h.ax.YLim           = ylimit;
29  h.ax.CLim           = [minD, maxD];
30  h.ax.View           = [0, 90];
31  h.ax.Visible        = 'off';
32
33  drawnow();
34
35  writeVideo(writerObj, getframe(gcf));
36
37  if (mod(i,10)==0)
38    fprintf('Frame %d  %1.8e\n',i,norm(data(:,i)));
39  end
40end
41close(writerObj);
42