Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / graphics / demos / anim / anim5 / anim5.sce
1 //
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) INRIA
4 // Copyright (C) DIGITEO - 2010 - Allan CORNET
5 //
6 // This file is distributed under the same license as the Scilab package.
7 //
8
9 // =============================================================================
10 // Demonstrate animation based on the evolution of a 3D surface
11 // ============================================================================
12
13 function demo_anim5()
14
15     curFig             = scf(100001);
16     clf(curFig,"reset");
17     demo_viewCode("anim5.sce");
18
19     drawlater();
20
21     show_window(); //raise the graphic window
22
23
24     // set a new colormap
25     //-------------------
26     cmap= curFig.color_map; //preserve old setting
27     curFig.color_map = jetcolormap(64);
28
29     //The initial surface definition
30     //----------------------
31     x=linspace(-%pi,%pi,50);
32     y=x;
33     Z=sin(x)'*cos(y);
34
35     //Creates and set graphical entities which represent the surface
36     //--------------------------------------------------------------
37     plot3d1(x,y,Z,35,45," ");
38     s=gce(); //the handle on the surface
39     s.color_flag=1 ; //assign facet color according to Z value
40     title("evolution of a 3d surface","fontsize",3)
41
42     I=20:-1:1;
43     realtimeinit(0.1);;//set time step (0.1 seconds)  and date reference
44
45
46     drawnow();
47
48     for i=1:max(size(I))
49         realtime(i); //wait till date 0.1*i seconds
50         if is_handle_valid(s) then
51             s.data.z = (sin((I(i)/10)*x)'*cos((I(i)/10)*y))';
52         else
53             break;
54         end
55     end
56
57 endfunction
58
59
60 demo_anim5()
61 clear demo_anim5;