summaryrefslogtreecommitdiff
path: root/modules/graphics/demos
diff options
context:
space:
mode:
Diffstat (limited to 'modules/graphics/demos')
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/2d_3d_plots.dem.gateway.sce44
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/abaque.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/champ.dem.sce24
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/contour.dem.sce24
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/contour_3d_2.dem.sce30
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/contour_3d_3.dem.sce29
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/contour_3d_4.dem.sce32
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/contourf.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/contourf2.dem.sce56
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/errbar.dem.sce25
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fac3d.dem.sce25
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fac3d1.dem.sce25
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fchamp.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fcontour.dem.sce25
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fgrayplot.dem.sce21
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fplot2d.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fplot3d.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/fplot3d1.dem.sce25
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/geom3d.dem.sce63
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/grayplot.dem.sce22
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/hist3d.dem.sce27
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/histplot.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/mandelbrot.dem.sce101
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/param3d_1.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/param3d_2.dem.sce31
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plot2d.dem.sce28
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plot2d1_1.dem.sce26
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plot2d1_2.dem.sce29
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plot2d3.dem.sce30
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plot3d.dem.sce24
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plot3d1.dem.sce21
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plotyy.dem.sce75
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/plotyyy.dem.sce60
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/polarplot.dem.sce168
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/subplot.dem.sce34
-rwxr-xr-xmodules/graphics/demos/2d_3d_plots/zgrid.dem.sce27
-rwxr-xr-xmodules/graphics/demos/anim/anim.dem.gateway.sce21
-rwxr-xr-xmodules/graphics/demos/anim/anim1/anim1.sce60
-rwxr-xr-xmodules/graphics/demos/anim/anim1/anim1_gateway.sce9
-rwxr-xr-xmodules/graphics/demos/anim/anim2/anim2.sce70
-rwxr-xr-xmodules/graphics/demos/anim/anim2/anim2_gateway.sce12
-rwxr-xr-xmodules/graphics/demos/anim/anim3/anim3.sce73
-rwxr-xr-xmodules/graphics/demos/anim/anim3/anim3_gateway.sce12
-rwxr-xr-xmodules/graphics/demos/anim/anim4/anim4.sce53
-rwxr-xr-xmodules/graphics/demos/anim/anim4/anim4_gateway.sce12
-rwxr-xr-xmodules/graphics/demos/anim/anim5/anim5.sce61
-rwxr-xr-xmodules/graphics/demos/anim/anim5/anim5_gateway.sce12
-rwxr-xr-xmodules/graphics/demos/anim/anim6/anim6.sce93
-rwxr-xr-xmodules/graphics/demos/anim/anim6/anim6_gateway.sce12
-rwxr-xr-xmodules/graphics/demos/anim/anim6/yt.wrt1032
-rwxr-xr-xmodules/graphics/demos/anim/anim7/anim7.sce108
-rwxr-xr-xmodules/graphics/demos/anim/anim7/anim7_gateway.sce12
-rwxr-xr-xmodules/graphics/demos/anim/anim8/anim8.sci220
-rwxr-xr-xmodules/graphics/demos/anim/anim8/anim8_gateway.sce14
-rwxr-xr-xmodules/graphics/demos/anim/bubbleSort/bubbleSort.sci35
-rwxr-xr-xmodules/graphics/demos/anim/bubbleSort/bubbleSort_gateway.sce14
-rwxr-xr-xmodules/graphics/demos/bar/bar.dem.sce81
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions.dem.gateway.sce21
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_1.dem.sce123
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_2.dem.sce103
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_3.dem.sce120
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_4.dem.sce48
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_5.dem.sce40
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_6.dem.sce41
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_7.dem.sce36
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_8.dem.sce34
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_9.dem.sce33
-rwxr-xr-xmodules/graphics/demos/basic_functions/basic_functions_xarrows.dem.sce40
-rwxr-xr-xmodules/graphics/demos/bezier/Macros.sci96
-rwxr-xr-xmodules/graphics/demos/bezier/bezier.dem.gateway.sce19
-rwxr-xr-xmodules/graphics/demos/bezier/bezier3dtest.sce21
-rwxr-xr-xmodules/graphics/demos/bezier/beziersurftest.sce33
-rwxr-xr-xmodules/graphics/demos/bezier/beziertest.sce30
-rwxr-xr-xmodules/graphics/demos/bezier/c1test.sce61
-rwxr-xr-xmodules/graphics/demos/bezier/gammatest.sce42
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/MacCmplx.sci151
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/cmplxfunc.dem.gateway.sce24
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_acos.dem.sce26
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_acosh.dem.sce27
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_asin.dem.sce25
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_asinh.dem.sce27
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_atan.dem.sce26
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_atanh.dem.sce27
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_cos.dem.sce26
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_cosh.dem.sce26
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_custom.dem.sce821
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_exp.dem.sce27
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_log.dem.sce28
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_sin.dem.sce28
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_sinh.dem.sce28
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_tan.dem.sce26
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/demo_tanh.dem.sce28
-rwxr-xr-xmodules/graphics/demos/cmplxfunc/warning.pngbin0 -> 1677 bytes
-rwxr-xr-xmodules/graphics/demos/colormap/colormap.dem.sce434
-rwxr-xr-xmodules/graphics/demos/datatips/curvature.sci23
-rwxr-xr-xmodules/graphics/demos/datatips/datatip1.sce45
-rwxr-xr-xmodules/graphics/demos/datatips/datatip2.sce56
-rwxr-xr-xmodules/graphics/demos/datatips/datatips.dem.gateway.sce17
-rwxr-xr-xmodules/graphics/demos/fec/MESH2318
-rwxr-xr-xmodules/graphics/demos/fec/MESH.VAL802
-rwxr-xr-xmodules/graphics/demos/fec/fec.dem.gateway.sce10
-rwxr-xr-xmodules/graphics/demos/fec/fec.ex2.dem.sce57
-rwxr-xr-xmodules/graphics/demos/fec/fec.ex3.dem.sce26
-rwxr-xr-xmodules/graphics/demos/fec/fec.ex4.dem.sce47
-rwxr-xr-xmodules/graphics/demos/fec/fec.info41
-rwxr-xr-xmodules/graphics/demos/fec/fec_demo.sci129
-rwxr-xr-xmodules/graphics/demos/graphics.dem.gateway.sce33
-rwxr-xr-xmodules/graphics/demos/lighting/color_light.dem.sce62
-rwxr-xr-xmodules/graphics/demos/lighting/dir_light.dem.sce36
-rwxr-xr-xmodules/graphics/demos/lighting/lighting.dem.gateway.sce16
-rwxr-xr-xmodules/graphics/demos/lighting/rot_light.dem.sce38
-rwxr-xr-xmodules/graphics/demos/lighting/rot_plot3d.dem.sce36
-rwxr-xr-xmodules/graphics/demos/lighting/simple_light.dem.sce35
-rwxr-xr-xmodules/graphics/demos/matplot/classical.dem.sce24
-rwxr-xr-xmodules/graphics/demos/matplot/classical_1.dem.sce25
-rwxr-xr-xmodules/graphics/demos/matplot/java_image.dem.sce36
-rwxr-xr-xmodules/graphics/demos/matplot/mandelbrot.dem.sce101
-rwxr-xr-xmodules/graphics/demos/matplot/matplot.dem.gateway.sce15
-rwxr-xr-xmodules/graphics/demos/matplot/puffin.pngbin0 -> 19034 bytes
-rwxr-xr-xmodules/graphics/demos/misc/misc.dem.sce476
-rwxr-xr-xmodules/graphics/demos/surface/Macros.sci79
-rwxr-xr-xmodules/graphics/demos/surface/bh.sce42
-rwxr-xr-xmodules/graphics/demos/surface/cplxroot.sce20
-rwxr-xr-xmodules/graphics/demos/surface/hole3d.sce28
-rwxr-xr-xmodules/graphics/demos/surface/hole3d1.sce41
-rwxr-xr-xmodules/graphics/demos/surface/moebius.sce41
-rwxr-xr-xmodules/graphics/demos/surface/rings.sce35
-rwxr-xr-xmodules/graphics/demos/surface/shell.sce38
-rwxr-xr-xmodules/graphics/demos/surface/sphere.sce40
-rwxr-xr-xmodules/graphics/demos/surface/spiral.sce38
-rwxr-xr-xmodules/graphics/demos/surface/surfaces.dem.gateway.sce22
-rwxr-xr-xmodules/graphics/demos/surface/torus.sce42
-rwxr-xr-xmodules/graphics/demos/surface/torus1.sce38
-rwxr-xr-xmodules/graphics/demos/surface/tube.sce42
-rwxr-xr-xmodules/graphics/demos/textrendering/latex/coloredlabel.dem.sce33
-rwxr-xr-xmodules/graphics/demos/textrendering/latex/fulltest.dem.sce26
-rwxr-xr-xmodules/graphics/demos/textrendering/latex/latexsubplot.dem.sce31
-rwxr-xr-xmodules/graphics/demos/textrendering/latex/simple.dem.sce37
-rwxr-xr-xmodules/graphics/demos/textrendering/mathml/simple.dem.sce24
-rwxr-xr-xmodules/graphics/demos/textrendering/textrendering.dem.gateway.sce17
-rwxr-xr-xmodules/graphics/demos/xsetechfig.sce139
141 files changed, 11452 insertions, 0 deletions
diff --git a/modules/graphics/demos/2d_3d_plots/2d_3d_plots.dem.gateway.sce b/modules/graphics/demos/2d_3d_plots/2d_3d_plots.dem.gateway.sce
new file mode 100755
index 000000000..e14d72934
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/2d_3d_plots.dem.gateway.sce
@@ -0,0 +1,44 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("2d_3d_plots.dem.gateway.sce");
+
+subdemolist = [ ..
+"plot2d" , "plot2d.dem.sce" ; ..
+"plot2d1 (1)" , "plot2d1_1.dem.sce" ; ..
+"plot2d3" , "plot2d3.dem.sce" ; ..
+"plot2d1 (2)" , "plot2d1_2.dem.sce" ; ..
+"plotyy" , "plotyy.dem.sce" ; ..
+"plotyyy" , "plotyyy.dem.sce" ; ..
+"histplot" , "histplot.dem.sce" ; ..
+"hist3d" , "hist3d.dem.sce" ; ..
+"fplot2d" , "fplot2d.dem.sce" ; ..
+"param3d (1)" , "param3d_1.dem.sce" ; ..
+"param3d (2)" , "param3d_2.dem.sce" ; ..
+"plot3d" , "plot3d.dem.sce" ; ..
+"fplot3d" , "fplot3d.dem.sce" ; ..
+"plot3d1" , "plot3d1.dem.sce" ; ..
+"fplot3d1" , "fplot3d1.dem.sce" ; ..
+"contour" , "contour.dem.sce" ; ..
+"fcontour" , "fcontour.dem.sce" ; ..
+"contourf" , "contourf.dem.sce" ; ..
+"contourf 2" , "contourf2.dem.sce" ; ..
+"champ" , "champ.dem.sce" ; ..
+"fchamp" , "fchamp.dem.sce" ; ..
+"grayplot" , "grayplot.dem.sce" ; ..
+"fgrayplot" , "fgrayplot.dem.sce" ; ..
+"polarplot" , "polarplot.dem.sce" ; ..
+"errbar" , "errbar.dem.sce" ; ..
+"abaque" , "abaque.dem.sce" ; ..
+"zgrid" , "zgrid.dem.sce" ; ..
+"geom3d" , "geom3d.dem.sce" ; ..
+"contour (3d) 2" , "contour_3d_2.dem.sce" ; ..
+"contour (3d) 3" , "contour_3d_3.dem.sce" ; ..
+"contour (3d) 4" , "contour_3d_4.dem.sce" ; ..
+"subplot" , "subplot.dem.sce" ; ..
+"fac3d" , "fac3d.dem.sce" ];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/abaque.dem.sce b/modules/graphics/demos/2d_3d_plots/abaque.dem.sce
new file mode 100755
index 000000000..d113b5f7a
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/abaque.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_abaque()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ // DEMO START
+ my_plot_desc = "chart";
+ if is_handle_valid(my_handle) then
+ my_handle.figure_name = my_plot_desc;
+ nicholschart();
+ xtitle(my_plot_desc," "," "," ");
+ end
+ demo_viewCode("abaque.dem.sce");
+ // DEMO END
+
+endfunction
+
+
+demo_abaque();
+clear demo_abaque;
+
diff --git a/modules/graphics/demos/2d_3d_plots/champ.dem.sce b/modules/graphics/demos/2d_3d_plots/champ.dem.sce
new file mode 100755
index 000000000..ad945e6e6
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/champ.dem.sce
@@ -0,0 +1,24 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_champ()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("champ.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "champ";
+ my_handle.figure_name = my_plot_desc;
+
+ champ();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_champ();
+clear demo_champ; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/contour.dem.sce b/modules/graphics/demos/2d_3d_plots/contour.dem.sce
new file mode 100755
index 000000000..6531fc686
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/contour.dem.sce
@@ -0,0 +1,24 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_contour()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("contour.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "contour";
+ my_handle.figure_name = my_plot_desc;
+
+ contour();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_contour();
+clear demo_contour;
diff --git a/modules/graphics/demos/2d_3d_plots/contour_3d_2.dem.sce b/modules/graphics/demos/2d_3d_plots/contour_3d_2.dem.sce
new file mode 100755
index 000000000..ad8798f95
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/contour_3d_2.dem.sce
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_contour_3d_2()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("contour_3d_2.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot3d and contour";
+ my_handle.figure_name = my_plot_desc;
+
+ t = %pi*(-10:10)/10;
+ deff("[z]=Surf(x,y)","z=sin(x)*cos(y)");
+ rect = [-%pi,%pi,-%pi,%pi,-5,1];
+ z = feval(t,t,Surf);
+ contour(t,t,z,10,35,45,"X@Y@Z",[1,1,0],rect,-5);
+ plot3d(t,t,z,35,45,"X@Y@Z",[2,1,3],rect);
+
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_contour_3d_2();
+clear demo_contour_3d_2;
diff --git a/modules/graphics/demos/2d_3d_plots/contour_3d_3.dem.sce b/modules/graphics/demos/2d_3d_plots/contour_3d_3.dem.sce
new file mode 100755
index 000000000..8c3dae6d8
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/contour_3d_3.dem.sce
@@ -0,0 +1,29 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_contour_3d_3()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("contour_3d_3.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot3d and contour";
+ my_handle.figure_name = my_plot_desc;
+
+ t = %pi*(-10:10)/10;
+ deff("[z]=Surf(x,y)","z=sin(x)*cos(y)");
+ rect = [-%pi,%pi,-%pi,%pi,-1,1];
+ z = feval(t,t,Surf);
+ plot3d(t,t,z,35,45,"X@Y@Z",[-1,1,3],rect);
+ contour(t,t,z+0.1,10,35,45,"X@Y@Z",[0,1,2],rect);
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+
+demo_contour_3d_3();
+clear demo_contour_3d_3; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/contour_3d_4.dem.sce b/modules/graphics/demos/2d_3d_plots/contour_3d_4.dem.sce
new file mode 100755
index 000000000..46268d75e
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/contour_3d_4.dem.sce
@@ -0,0 +1,32 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_contour_3d_4()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("contour_3d_4.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot3d and contour";
+ my_handle.figure_name = my_plot_desc;
+
+ t = %pi*(-10:10)/10;
+ deff("[z]=Surf(x,y)","z=sin(x)*cos(y)");
+ rect = [-%pi,%pi,-%pi,%pi,-1,1];
+ z = feval(t,t,Surf);
+ plot3d(t,t,z,35,45,"X@Y@Z",[-20,1,3],rect);
+ contour(t,t,z+0.1,10,35,45,"X@Y@Z",[0,1,2],rect);
+
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+
+demo_contour_3d_4();
+clear demo_contour_3d_4;
diff --git a/modules/graphics/demos/2d_3d_plots/contourf.dem.sce b/modules/graphics/demos/2d_3d_plots/contourf.dem.sce
new file mode 100755
index 000000000..a22fdc303
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/contourf.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_contourf()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("contourf.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "contourf";
+ my_handle.figure_name = my_plot_desc;
+
+ contourf();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+
+endfunction
+
+demo_contourf();
+clear demo_contourf;
diff --git a/modules/graphics/demos/2d_3d_plots/contourf2.dem.sce b/modules/graphics/demos/2d_3d_plots/contourf2.dem.sce
new file mode 100755
index 000000000..d9090f3e7
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/contourf2.dem.sce
@@ -0,0 +1,56 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ENPC
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+function demo_contourf2()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+
+
+ function z=peaks(x,y)
+ x1=x(:).*.ones(1,size(y,"*"));
+ y1=y(:)'.*.ones(size(x,"*"),1);
+ z = (3*(1-x1).^2).*exp(-(x1.^2) - (y1+1).^2) ...
+ - 10*(x1/5 - x1.^3 - y1.^5).*exp(-x1.^2-y1.^2) ...
+ - 1/3*exp(-(x1+1).^2 - y1.^2)
+ endfunction
+
+ function z=peakit()
+ // pour avoir un truc voisin de matlab avec 80 points
+ x=-4:0.1:4;y=x;z=peaks(x,y);
+ endfunction
+
+ z=peakit();
+ levels=[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8];
+ m=size(levels,"*");
+ n = fix(3/8*m);
+ r = [(1:n)'/n; ones(m-n,1)];
+ g = [zeros(n,1); (1:n)'/n; ones(m-2*n,1)];
+ b = [zeros(2*n,1); (1:m-2*n)'/(m-2*n)];
+ h = [r g b];
+ xset("colormap",h);
+ xset("fpf"," ");
+ clf();
+
+ contourf([],[],z,[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8],0*ones(1,m))
+ xset("fpf","");
+ halt(_("Press Return to continue ... \n"));
+
+ if is_handle_valid(my_handle) == %f then
+ return;
+ end
+
+ clf();
+ contourf([],[],z,[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8]);
+ demo_viewCode("contourf2.dem.sce");
+
+endfunction
+
+demo_contourf2();
+clear demo_contourf2;
diff --git a/modules/graphics/demos/2d_3d_plots/errbar.dem.sce b/modules/graphics/demos/2d_3d_plots/errbar.dem.sce
new file mode 100755
index 000000000..da01db91a
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/errbar.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_errbar()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("errbar.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "errbar";
+ my_handle.figure_name = my_plot_desc;
+
+ errbar();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_errbar();
+clear demo_errbar; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/fac3d.dem.sce b/modules/graphics/demos/2d_3d_plots/fac3d.dem.sce
new file mode 100755
index 000000000..c874078f5
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fac3d.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fac3d()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fac3d.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fac3d";
+ my_handle.figure_name = my_plot_desc;
+
+ fac3d();
+
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_fac3d();
+clear demo_fac3d; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/fac3d1.dem.sce b/modules/graphics/demos/2d_3d_plots/fac3d1.dem.sce
new file mode 100755
index 000000000..1a5fd5872
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fac3d1.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fac3d1()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fac3d1.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fac3d1";
+ my_handle.figure_name = my_plot_desc;
+
+ fac3d1();
+
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_fac3d1();
+clear demo_fac3d1;
diff --git a/modules/graphics/demos/2d_3d_plots/fchamp.dem.sce b/modules/graphics/demos/2d_3d_plots/fchamp.dem.sce
new file mode 100755
index 000000000..3a47bd22b
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fchamp.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fchamp()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fchamp.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fchamp";
+ my_handle.figure_name = my_plot_desc;
+
+ fchamp();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_fchamp();
+clear demo_fchamp;
+
diff --git a/modules/graphics/demos/2d_3d_plots/fcontour.dem.sce b/modules/graphics/demos/2d_3d_plots/fcontour.dem.sce
new file mode 100755
index 000000000..db7b87bdc
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fcontour.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fcontour()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fcontour.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fcontour";
+ my_handle.figure_name = my_plot_desc;
+
+ fcontour();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_fcontour();
+clear demo_fcontour; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/fgrayplot.dem.sce b/modules/graphics/demos/2d_3d_plots/fgrayplot.dem.sce
new file mode 100755
index 000000000..695a48410
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fgrayplot.dem.sce
@@ -0,0 +1,21 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fgrayplot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fgrayplot.dem.sce");
+ my_plot_desc = "fgrayplot";
+ my_handle.figure_name = my_plot_desc;
+
+ fgrayplot();
+
+ xtitle(my_plot_desc,"X","Y","Z");
+endfunction
+
+demo_fgrayplot();
+clear demo_fgrayplot;
diff --git a/modules/graphics/demos/2d_3d_plots/fplot2d.dem.sce b/modules/graphics/demos/2d_3d_plots/fplot2d.dem.sce
new file mode 100755
index 000000000..322615eee
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fplot2d.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_fplot2d()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fplot2d.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fplot2d : f given by external";
+ my_handle.figure_name = my_plot_desc;
+
+ fplot2d();
+ xtitle(" ","x ","f(x) ");
+
+ // DEMO END
+endfunction
+
+demo_fplot2d();
+clear demo_fplot2d; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/fplot3d.dem.sce b/modules/graphics/demos/2d_3d_plots/fplot3d.dem.sce
new file mode 100755
index 000000000..b69bb2215
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fplot3d.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_fplot3d()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fplot3d.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fplot3d : z=f(x,y), f external";
+ my_handle.figure_name = my_plot_desc;
+
+ fplot3d();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_fplot3d();
+clear demo_fplot3d;
diff --git a/modules/graphics/demos/2d_3d_plots/fplot3d1.dem.sce b/modules/graphics/demos/2d_3d_plots/fplot3d1.dem.sce
new file mode 100755
index 000000000..28e9e24eb
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/fplot3d1.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fplot3d1()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fplot3d1.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "fplot3d1 : z=f(x,y), f external";
+ my_handle.figure_name = my_plot_desc;
+
+ fplot3d1();
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_fplot3d1();
+clear demo_fplot3d1;
diff --git a/modules/graphics/demos/2d_3d_plots/geom3d.dem.sce b/modules/graphics/demos/2d_3d_plots/geom3d.dem.sce
new file mode 100755
index 000000000..2da47e049
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/geom3d.dem.sce
@@ -0,0 +1,63 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_geom3d()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("geom3d.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot3d and use of geom3d";
+ my_handle.figure_name = my_plot_desc;
+
+ r = (%pi):-0.01:0;
+ x = r.*cos(10*r);
+ y = r.*sin(10*r);
+
+ deff("[z]=Surf(x,y)","z=sin(x)*cos(y)");
+ t=%pi*(-10:10)/10;
+
+ // Plot the surface'
+ fplot3d(t,t,Surf,35,45,"X@Y@Z",[19,2,3]);
+
+ // Add 2d graphics on 3d graphic'
+ z=(sin(x).*cos(y));
+ [x1,y1] = geom3d(x,y,z);
+ xpoly(x1,y1,"lines");
+
+ // Adjust some plotting parameters'
+ BackgroundColorId = color(70,174,255);
+ current_axe = gca();
+ plot_3d = current_axe.children(2);
+ plot_3d.hiddencolor = 32;
+ polyline = current_axe.children(1)';;
+ polyline.foreground = 8;
+ current_axe.rotation_angles = [70,47];
+ current_axe.background = BackgroundColorId;
+
+ // Add special point for datatip
+ param3d(0, 0, 0);
+ e = gce();
+ dt = datatipCreate(e, 0);
+ function str=mydisplay(h)
+ pt = h.data;
+ str = msprintf('The point\n (%0.2g,%0.2g,%0.2g)', pt(1), pt(2), pt(3))
+ endfunction
+ datatipSetDisplay(dt,"mydisplay")
+
+ a = gca();
+ a.rotation_angles = [75, 225];
+
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+
+demo_geom3d();
+clear demo_geom3d;
diff --git a/modules/graphics/demos/2d_3d_plots/grayplot.dem.sce b/modules/graphics/demos/2d_3d_plots/grayplot.dem.sce
new file mode 100755
index 000000000..555094181
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/grayplot.dem.sce
@@ -0,0 +1,22 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_grayplot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("grayplot.dem.sce");
+
+ my_plot_desc = "grayplot";
+ my_handle.figure_name = my_plot_desc;
+ grayplot();
+ xtitle(my_plot_desc," "," "," ");
+
+endfunction
+
+demo_grayplot();
+clear demo_grayplot;
diff --git a/modules/graphics/demos/2d_3d_plots/hist3d.dem.sce b/modules/graphics/demos/2d_3d_plots/hist3d.dem.sce
new file mode 100755
index 000000000..d783f127b
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/hist3d.dem.sce
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Samuel GOUGEON
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_hist3d()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("hist3d.dem.sce");
+
+ // DEMO START
+ my_plot_desc = "hist3d: Average monthly temperatures in french cities";
+ my_handle.figure_name = my_plot_desc;
+
+ hist3d();
+ xtitle(my_plot_desc," "," "," ");
+ // DEMO END
+
+endfunction
+
+demo_hist3d();
+clear demo_hist3d;
+
+
+
diff --git a/modules/graphics/demos/2d_3d_plots/histplot.dem.sce b/modules/graphics/demos/2d_3d_plots/histplot.dem.sce
new file mode 100755
index 000000000..7772c5174
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/histplot.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_histplot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("histplot.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "histplot";
+ my_handle.figure_name = my_plot_desc;
+
+ histplot();
+
+ // DEMO END
+endfunction
+
+
+demo_histplot();
+clear demo_histplot;
diff --git a/modules/graphics/demos/2d_3d_plots/mandelbrot.dem.sce b/modules/graphics/demos/2d_3d_plots/mandelbrot.dem.sce
new file mode 100755
index 000000000..a265f89e6
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/mandelbrot.dem.sce
@@ -0,0 +1,101 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Samuel GOUGEON
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_mandelbrot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ // DEMO START
+
+ my_plot_desc = "mandelbrot";
+ my_handle.figure_name = my_plot_desc;
+ function M = getMandelbrotPart(xmin, xmax, ymin, ymax, nbPix, nColors, maxIters)
+ // M : matrix of integers imaging the targetted local Mandelbrot area
+ // M(i,j) gives the number of iterations for which the iterated z(i,j)
+ // suite crosses |z|>=2 (making this point out of the Mandelbrot set)
+ ndmin = 0;
+ Dx = abs(xmax - xmin);
+ Dy = abs(ymax - ymin);
+ dp = sqrt(Dx*Dy / nbPix); // Area of a pixel
+ nx = round(Dx/dp);
+ ny = round(Dy/dp);
+ dx = abs(xmax - xmin)/(nx-1);
+ x = linspace(xmin, xmax, nx);
+ y = ymax:-dx:ymin;
+ ny = length(y);
+ c = (ones(ny,1)*x) + %i*(y.'*ones(1,nx));
+ z = c; // Initial c Matrix
+ nd = ones(z)*%inf; // nb iter for > 2
+ inC = 1:size(c,"*");
+ i = 1;
+ waitId = 0;
+ ifin = min(ndmin+nColors, maxIters);
+ while i<=ifin,
+ if waitId==0
+ waitId = waitbar(i/ifin,_("Computing in progress..."));
+ else
+ waitbar(i/ifin,waitId);
+ end
+ a = abs(z);
+ nd(inC(find(a>2)))=i;
+ tmp = find(a<=2);
+ z = z(tmp);
+ inC = inC(tmp);
+ z = z.*z+c(inC);
+ i = i+1;
+ end
+ close(waitId)
+ M = nd
+ endfunction
+ // ---------------------
+
+ nColors = 100; // Number of colors
+ maxIters = 500; // Maximal number of iterations
+ nbPix = 200000; // Total number of pixel per image
+ // Targetted Mandelbrot area
+ xmin = -0.33;
+ xmax = 0.07;
+ ymin = 0.6;
+ ymax = 1.13;
+
+ // Generating the Mandelbrot local view
+ M = getMandelbrotPart(xmin, xmax, ymin, ymax, nbPix, nColors, maxIters);
+
+ // Scaling false colors
+ icol = [color("black") addcolor(rainbowcolormap(nColors))];
+ Mmin = min(M);
+ M = M - Mmin + 1;
+ M(find(M==%inf | M>nColors))=0;
+ A = icol(M+1);
+
+ clf
+ drawlater;
+ // colordef("black") // Bug 11369 to be fixed
+
+ // Displaying the area
+ Matplot1(matrix(A,size(M)),[xmin ymin xmax ymax]);
+
+ // Post-tuning the graphics
+ ca = gca();
+ ca.isoview = "on";
+ ca.data_bounds = [xmin ymin ; xmax ymax];
+ ca.tight_limits = "on";
+ ca.axes_visible = ["on" "on" "off"];
+ ca.title.font_size = 2;
+ Ttxt = _("Matplot1(..) displays a matrix\n(value => color#), with SCALED AXES\n(here is a part of the Mandelbrot set)")
+ xtitle(justify(msprintf(Ttxt),"c"))
+ xlabel(_("Real part"))
+ ylabel(_("Imaginary part"))
+
+ drawnow()
+
+ demo_viewCode("mandelbrot.dem.sce");
+
+endfunction
+
+demo_mandelbrot();
+clear demo_mandelbrot;
+
diff --git a/modules/graphics/demos/2d_3d_plots/param3d_1.dem.sce b/modules/graphics/demos/2d_3d_plots/param3d_1.dem.sce
new file mode 100755
index 000000000..aafa3e1e9
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/param3d_1.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_param3d_1()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("param3d_1.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "param3d : parametric curves in R3";
+ my_handle.figure_name = my_plot_desc;
+
+ param3d();
+ xtitle(my_plot_desc," "," ");
+
+ // DEMO END
+endfunction
+
+demo_param3d_1();
+clear demo_param3d_1
diff --git a/modules/graphics/demos/2d_3d_plots/param3d_2.dem.sce b/modules/graphics/demos/2d_3d_plots/param3d_2.dem.sce
new file mode 100755
index 000000000..2d00e3b7f
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/param3d_2.dem.sce
@@ -0,0 +1,31 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_param3d_2()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("param3d_2.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "param3d: parametric curves in R3 (t.sin(t),t.cos(t),t.|t|/50.pi)";
+ my_handle.figure_name = my_plot_desc;
+
+ t = -50*%pi:0.1:50*%pi;
+ x = t.*sin(t);
+ y = t.*cos(t);
+ z = t.*abs(t)/(50*%pi);
+
+ param3d(x,y,z,45,60);
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_param3d_2();
+clear demo_param3d_2
+
diff --git a/modules/graphics/demos/2d_3d_plots/plot2d.dem.sce b/modules/graphics/demos/2d_3d_plots/plot2d.dem.sce
new file mode 100755
index 000000000..ff8c500c9
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plot2d.dem.sce
@@ -0,0 +1,28 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plot2d()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("plot2d.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot2d and xgrid";
+ my_handle.figure_name = my_plot_desc;
+
+ t=(0:0.1:6*%pi);
+ plot2d(t',sin(t)');
+ xtitle(my_plot_desc,"t","sin(t)");
+ xgrid(color("grey"));
+
+ // DEMO END
+
+endfunction
+
+demo_plot2d();
+clear demo_plot2d; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/plot2d1_1.dem.sce b/modules/graphics/demos/2d_3d_plots/plot2d1_1.dem.sce
new file mode 100755
index 000000000..a3b5c1fb0
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plot2d1_1.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plot2d_1()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("plot2d1_1.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot2d1 log scale";
+ my_handle.figure_name = my_plot_desc;
+
+ plot2d1("enl",1,(1:10:10000)');
+ xtitle(my_plot_desc,"t","y log scale");
+ xgrid(3);
+
+ // DEMO END
+endfunction
+
+demo_plot2d_1();
+clear demo_plot2d_1; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/plot2d1_2.dem.sce b/modules/graphics/demos/2d_3d_plots/plot2d1_2.dem.sce
new file mode 100755
index 000000000..6f228956e
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plot2d1_2.dem.sce
@@ -0,0 +1,29 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plot2d1_2()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("plot2d1_2.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot2d1";
+ my_handle.figure_name = my_plot_desc;
+
+ rand("normal")
+ v=(1:20)+(1:20).*rand(1,20);
+
+ plot2d1("enn",1,v');
+ plot2d1("enn",1,(1:20)',[2,-2],"100","estimated");
+ xtitle(my_plot_desc," "," "," ");
+
+ // DEMO END
+endfunction
+
+demo_plot2d1_2();
+clear demo_plot2d1_2;
diff --git a/modules/graphics/demos/2d_3d_plots/plot2d3.dem.sce b/modules/graphics/demos/2d_3d_plots/plot2d3.dem.sce
new file mode 100755
index 000000000..322d1ad63
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plot2d3.dem.sce
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plot2d3()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("plot2d3.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "plot2d3 (vbar plot)";
+ my_handle.figure_name = my_plot_desc;
+
+ n = 32-1;
+ t = (0:n)/n;
+ u = sin(80*%pi*t)+sin(100*%pi*t);
+
+ plot2d3("enn",1,abs(fft(u,-1))'/n);
+ xtitle(my_plot_desc,"t","f(t)");
+
+ // DEMO END
+
+endfunction
+
+demo_plot2d3();
+clear demo_plot2d3;
diff --git a/modules/graphics/demos/2d_3d_plots/plot3d.dem.sce b/modules/graphics/demos/2d_3d_plots/plot3d.dem.sce
new file mode 100755
index 000000000..4867533da
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plot3d.dem.sce
@@ -0,0 +1,24 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plot3d()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("plot3d.dem.sce");
+
+ // DEMO START
+ my_plot_desc = "plot3d : z=sin(x)*cos(y)";
+ my_handle.figure_name = my_plot_desc;
+ plot3d();
+ xtitle(my_plot_desc," "," "," ");
+ // DEMO END
+
+endfunction
+
+demo_plot3d();
+clear demo_plot3d;
+
diff --git a/modules/graphics/demos/2d_3d_plots/plot3d1.dem.sce b/modules/graphics/demos/2d_3d_plots/plot3d1.dem.sce
new file mode 100755
index 000000000..cf29b57c7
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plot3d1.dem.sce
@@ -0,0 +1,21 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plot3d1()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("plot3d1.dem.sce");
+ my_plot_desc = "plot3d1 : z=sin(x)*cos(y)";
+ my_handle.figure_name = my_plot_desc;
+
+ plot3d1();
+
+ xtitle(my_plot_desc,"X","Y","Z");
+endfunction
+
+demo_plot3d1();
+clear demo_plot3d1;
diff --git a/modules/graphics/demos/2d_3d_plots/plotyy.dem.sce b/modules/graphics/demos/2d_3d_plots/plotyy.dem.sce
new file mode 100755
index 000000000..8d95c2a97
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plotyy.dem.sce
@@ -0,0 +1,75 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 Samuel GOUGEON
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// See http://bugzilla.scilab.org/show_bug.cgi?id=6070
+
+function demo_plotyy()
+
+ // DEMO START
+
+ fs=3; // Common font size
+ scf(100001);
+ clf()
+ drawlater()
+ a=gda();
+ dfs=a.font_size; // For further restoring
+ a.font_size=fs;
+ demo_viewCode("plotyy.dem.sce");
+
+ // --------------------------------------------------------------------------
+
+ // Preparing data
+ x=linspace(45,500,200);
+ // --------------------------------------------------------------------------
+ // Axe y1:
+ y1=sind(x);
+ plot2d(x,y1);
+ a=gca();
+ a.tight_limits="on";
+ a.font_size=fs;
+ ylabel([" ";"$\sin(\alpha)$"])
+ m1 = a.margins;
+ pa = a;
+ // --------------------------------------------------------------------------
+
+ // Overall title and common X axe
+ xtitle(gettext("Graphics with 2 different Y-scales"),"$\mbox{Common angle }\alpha\ [\deg]$");
+ // --------------------------------------------------------------------------
+
+ // Axe y2:
+ y2=(1.1+cosd(x))*800;
+ a=newaxes(); // Creates a new default system of axes on the same
+ // area of the window, and makes it the current one
+ a.filled="off"; // the background of the graphical area should be
+ // transparent, to leave the previous plot apparent
+ red=color("red");
+ a.foreground=red; // Axis and ticks color
+ a.font_color=red; // sets color for ticks labels
+ plot2d(x,y2,logflag="nl",axesflag=3,style=red); // plots new data. axesflag=3
+ a.axes_visible(1)="off"; // cancels x axis (else red)
+ a.tight_limits="on";
+
+ a.y_label.font_foreground=red; // sets color for y-label
+ ylabel("$(1.1+\cos(\alpha))*800$")
+ //means X at the bottom, and Y at the right
+
+ m2 = a.margins;
+ a.margins = [m1(1) m2(2) m1(3) m1(4)];
+ pa.margins = a.margins;
+
+ xgrid(color("grey"))
+ drawnow()
+ // --------------------------------------------------------------------------
+ a=gda();
+ a.font_size=dfs; // restoring
+ clear x y1 y2 a red fs dfs
+
+ // DEMO END
+
+endfunction
+
+demo_plotyy();
+clear demo_plotyy; \ No newline at end of file
diff --git a/modules/graphics/demos/2d_3d_plots/plotyyy.dem.sce b/modules/graphics/demos/2d_3d_plots/plotyyy.dem.sce
new file mode 100755
index 000000000..c7540549c
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/plotyyy.dem.sce
@@ -0,0 +1,60 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 Samuel GOUGEON
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_plotyyy()
+
+ // DEMO START
+ // A plotyyy() example: //http://bugzilla.scilab.org/show_bug.cgi?id=6070
+
+ my_handle = scf(100001);
+ clf(my_handle);
+
+ // Preparing data
+ x = linspace(1,30,200);
+ y2 = exp(x/6).*(sin(x)+1.5);
+ y3 = 1+x.^2;
+
+ drawlater()
+ demo_viewCode("plotyyy.dem.sce");
+
+ // Axis y1
+ y1=sin(x/2);
+ plot2d(x,y1)
+ xtitle([gettext("Plot with 3 different Y scales at shared X");" "],..
+ gettext("Common X axis"),gettext("Scale #1"));
+
+ // Axis y2
+ c=color("blue");
+ na=newaxes();
+ na.foreground=c;
+ na.font_color=c;
+ plot2d(x,y3,logflag="nl",style=c)
+ na.children(1).children(1).thickness=2;
+ na.filled="off";
+ na.axes_visible(1)="off";
+ na.axes_reverse(2)="on";
+ na.y_location="middle";
+
+ // Axis y3
+ c=color("red");
+ na=newaxes();
+ na.foreground=c; // Axis and ticks color
+ na.font_color=c; // Labels's color
+ plot2d(x,y2,style=c);
+ ylabel("Scale n°3","color",[1 0 0])
+ na.filled="off"; // Transparent background, letting the first plot appearing
+ na.axes_visible(1)="off"; // Masking the x axis (useless overlay)
+ na.y_location="right"; // Y axis on the right side
+ na.children(1).children(1).thickness=2; // Curve thickness
+
+ drawnow()
+
+ // DEMO END
+
+endfunction
+
+demo_plotyyy();
+clear demo_plotyyy;
diff --git a/modules/graphics/demos/2d_3d_plots/polarplot.dem.sce b/modules/graphics/demos/2d_3d_plots/polarplot.dem.sce
new file mode 100755
index 000000000..4da318499
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/polarplot.dem.sce
@@ -0,0 +1,168 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - Samuel GOUGEON
+// Copyright (C) 2010 - DIGITEO - Sylvestre LEDRU
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_polarplot()
+ my_handle = scf(100001);
+ clf(my_handle);
+
+ // DEMO START
+
+ my_plot_desc = "polarplot";
+ my_handle.figure_name = my_plot_desc;
+ tmp = gettext("Please press enter into the Scilab console to see more polarplot examples")
+ messagebox(tmp,"modal");
+ nextMessage = gettext("Press enter to go on...");
+ t=linspace(0,1,100)*%pi*2;
+
+ // only 1 quadrant:
+ clf, polarplot(t/4,sin(t/10))
+ title(gettext("polarplot(): Only quadrant(s) reached by data are displayed"))
+ show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/4+%pi/2,sin(t/10))
+ title(gettext("Still a single quadrant...")), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/4+%pi,sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s")
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/4-%pi/2,sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ // 2 quadrants:
+ clf, polarplot(t/2,sin(t/10)), show_window(my_handle)
+ title(gettext("on 2 quadrants..."))
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/2+%pi/2,sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/2+%pi,sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/2-%pi/2,sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ // else : full circle:
+ clf, polarplot(t,sin(t/10))
+ title(gettext("Data on the full circle ..."))
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ // with rect=
+ clf, polarplot(t/4-1,sin(t/10)-0.3,rect=[-0.18 -0.02 0.27 0.3])
+ title(gettext("A partial viewport may be set with clipping"))
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ // with negative radii:
+ r = sin(t/10)-0.5;
+ clf, polarplot(t,sin(t/10)-0.5), show_window(my_handle)
+ title(msprintf(gettext("Negative radii are supported:")+" r_min = %.2f",min(r)))
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ t=linspace(0,1,200)*%pi*2;
+ clf, polarplot(t/10-%pi,4600*sin(t/10)), show_window(my_handle)
+ title(gettext("Big radii are supported..."))
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/2,4600*sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, xstring(0,0,"$\magnification{1600}\ $"); // for LaTeXed labels
+ polarplot(t/2,3e5*sin(t/10)), show_window(my_handle)
+ title(gettext("even huge radii, with properly formatted labels..."))
+
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/4,3e5*sin(t/10)), show_window(my_handle)
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, polarplot(t/4,1.4e-5*sin(t/10)), show_window(my_handle)
+ title(gettext("... as well as very tiny radii"))
+ input(nextMessage,"s");
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ clf, t= 0:.01:2*%pi;
+ polarplot([sin(2*t') sin(4*t')],[cos(4*t') cos(2*t')],[1,2])
+ title(gettext("Several curves may be plotted at the same time"))
+ show_window(my_handle)
+
+ if is_handle_valid(my_handle) == %f then
+ return
+ end
+
+ demo_viewCode("polarplot.dem.sce");
+
+
+ // DEMO END
+endfunction
+
+demo_polarplot();
+clear demo_polarplot;
diff --git a/modules/graphics/demos/2d_3d_plots/subplot.dem.sce b/modules/graphics/demos/2d_3d_plots/subplot.dem.sce
new file mode 100755
index 000000000..3f85a847d
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/subplot.dem.sce
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_subplot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("subplot.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "subplot";
+ my_handle.figure_name = my_plot_desc;
+
+ f = gcf();
+ f.axes_size = [790, 570];
+ subplot(2,2,1);
+ plot3d();
+ subplot(2,2,2);
+ plot2d();
+ subplot(2,2,3);
+ histplot();
+ subplot(2,2,4);
+ grayplot();
+
+ // DEMO END
+
+endfunction
+
+demo_subplot();
+clear demo_subplot;
diff --git a/modules/graphics/demos/2d_3d_plots/zgrid.dem.sce b/modules/graphics/demos/2d_3d_plots/zgrid.dem.sce
new file mode 100755
index 000000000..38b0c569a
--- /dev/null
+++ b/modules/graphics/demos/2d_3d_plots/zgrid.dem.sce
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_zgrid()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("zgrid.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "zgrid";
+ my_handle.figure_name = my_plot_desc;
+
+ zgrid();
+ xtitle(my_plot_desc," "," "," ");
+ // DEMO END
+
+endfunction
+
+
+demo_zgrid();
+clear demo_zgrid;
diff --git a/modules/graphics/demos/anim/anim.dem.gateway.sce b/modules/graphics/demos/anim/anim.dem.gateway.sce
new file mode 100755
index 000000000..3b5f203c3
--- /dev/null
+++ b/modules/graphics/demos/anim/anim.dem.gateway.sce
@@ -0,0 +1,21 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+// Copyright (C) 2009 - DIGITEO
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("anim.dem.gateway.sce");
+
+subdemolist=[ ..
+"Rotation of a 3D Surface (plot3d1)" ,"anim1/anim1_gateway.sce"; ..
+"3D curve (param3d)" ,"anim2/anim2_gateway.sce"; ..
+"Lorenz curve (param3d) " ,"anim3/anim3_gateway.sce"; ..
+"Rotation of a 3D contour" ,"anim4/anim4_gateway.sce"; ..
+"Evolution of a 3D surface (plot3d)" ,"anim5/anim5_gateway.sce"; ..
+"N link pendulum movement" ,"anim6/anim6_gateway.sce"; ..
+"Shell" ,"anim7/anim7_gateway.sce"; ..
+"Riemann surface" ,"anim8/anim8_gateway.sce"; ..
+"Bubble Sort" ,"bubbleSort/bubbleSort_gateway.sce"];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath; \ No newline at end of file
diff --git a/modules/graphics/demos/anim/anim1/anim1.sce b/modules/graphics/demos/anim/anim1/anim1.sce
new file mode 100755
index 000000000..a613900af
--- /dev/null
+++ b/modules/graphics/demos/anim/anim1/anim1.sce
@@ -0,0 +1,60 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+function demo_anim1()
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+ demo_viewCode("anim1.sce");
+
+ show_window(); //raise the graphic window
+
+
+ // set a new colormap
+ //-------------------
+ cmap= curFig.color_map; //preserve old setting
+ curFig.color_map = hotcolormap(64);
+
+ //The surface definition
+ //----------------------
+ x=%pi*(-5:5)/5;
+ y=x;
+ Z=sin(x)'*cos(y);
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+
+ plot3d1(x,y,Z,35,45," ");
+ s=gce(); //the handle on the surface
+ s.color_flag=1; //assign facet color according to Z value
+ title("rotation of a 3d surface","fontsize",3);
+ curAxe = gca(); //handle on the currents axes
+
+ //Set the evolution of the view angles Theta and Alpha
+ //---------------------------------------------------
+ st=2;
+ T=35:st:80; //Theta
+ A=45:st:80; //Alpha
+ Angles=[T A(1)*ones(A);T(1)*ones(T) A];
+
+ //animation loop
+ //--------------
+ //use realtime to slow down the loop
+ realtimeinit(0.1);//set time step and date reference
+ for i=1:size(Angles,2) // loop on theta angle
+ realtime(i); //wait till date 0.1*i seconds
+ if ~is_handle_valid(curAxe) then
+ break
+ end
+ curAxe.rotation_angles = Angles(:,i); //change the view angles property
+ end
+
+endfunction
+
+demo_anim1();
+clear demo_anim1;
diff --git a/modules/graphics/demos/anim/anim1/anim1_gateway.sce b/modules/graphics/demos/anim/anim1/anim1_gateway.sce
new file mode 100755
index 000000000..a03f7bf0c
--- /dev/null
+++ b/modules/graphics/demos/anim/anim1/anim1_gateway.sce
@@ -0,0 +1,9 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+demo_run("SCI/modules/graphics/demos/anim/anim1/anim1.sce");
+
diff --git a/modules/graphics/demos/anim/anim2/anim2.sce b/modules/graphics/demos/anim/anim2/anim2.sce
new file mode 100755
index 000000000..dd756a52c
--- /dev/null
+++ b/modules/graphics/demos/anim/anim2/anim2.sce
@@ -0,0 +1,70 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the evolution of a 3d curve
+// =============================================================================
+
+function demo_anim2()
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+ demo_viewCode("anim2.sce");
+
+ show_window(); //raise the graphic window
+ mode(0);
+
+ // Creates the 3D curve points
+ //----------------------------
+
+ np=10;
+ t=0:0.1:np*%pi;
+
+ I=1:0.5:30;
+ x = (t/np).*sin(t);
+ y = (t/np).*cos(t);
+ z = I(1)*t/(np*%pi); //initial z coordinates
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+
+ drawlater();
+
+ param3d(x,y,z,35,45);
+
+ p = gce(); //get the handle on 3D polyline
+ p.foreground = color(255,0,0);
+ p.thickness = 2;
+
+ curAxe = gca(); //handle on the currents axes
+ curAxe.tight_limits = "on";
+ curAxe.background = color(240,240,240);
+
+ title("3d curve","fontsize",3);
+
+ drawnow();
+
+ //Use real time to slow down the animation loop
+ //---------------------------------------------
+ realtimeinit(0.03); //set time step (0.03 seconds) and date reference
+ for i=2:(max(size(I)))
+ realtime(i); //wait till date 0.1*i seconds
+ drawlater(); //disable automatic redrawing
+ if is_handle_valid(p) & is_handle_valid(curAxe) then
+ p.data(:,3)=(I(i)*t/(np*%pi))'; //change the Z coordinates
+ curAxe.data_bounds(2,3)=I(i); //change the max Z axes value
+ drawnow(); //enable automatic redraw
+ else
+ break;
+ end
+ end
+
+endfunction
+
+demo_anim2();
+clear demo_anim2();
diff --git a/modules/graphics/demos/anim/anim2/anim2_gateway.sce b/modules/graphics/demos/anim/anim2/anim2_gateway.sce
new file mode 100755
index 000000000..4f079ac89
--- /dev/null
+++ b/modules/graphics/demos/anim/anim2/anim2_gateway.sce
@@ -0,0 +1,12 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the evolution of a 3d curve
+// =============================================================================
+
+demo_run("SCI/modules/graphics/demos/anim/anim2/anim2.sce");
diff --git a/modules/graphics/demos/anim/anim3/anim3.sce b/modules/graphics/demos/anim/anim3/anim3.sce
new file mode 100755
index 000000000..dfeba02c5
--- /dev/null
+++ b/modules/graphics/demos/anim/anim3/anim3.sce
@@ -0,0 +1,73 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the rotation of Lorenz curve
+// =============================================================================
+
+function demo_anim3()
+
+ mode(0)
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+ demo_viewCode("anim3.sce");
+
+ show_window(); //raise the graphic window
+
+ //turn off toolbar
+ //----------------
+ id=curFig.figure_id;
+
+ //compute lorenz differential eqn solution
+ //---------------------------------------------------
+
+ y=ode(1.e-8*[1;1;1],0,0:0.005:50,"loren");
+ [n1,n2]=size(y);
+ wid = size(curFig.color_map,1); //number of colors
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+ // we split the full trajectory in a set of polylines, each of them
+ // having a different color
+ drawlater(); //disable automatic redrawing
+ for j=1:wid;//loop on the colors
+ tt= ((j-1)*(n2/wid)+1):(j*(n2/wid));
+ param3d(y(1,tt),y(2,tt),y(3,tt));
+ e = gce(); //handle on the just created 3D polyline
+ e.foreground = j;//set its color
+ end
+ title("Lorenz curve","fontsize",3);
+
+ curAxe = gca();
+ curAxe.box = "off";
+ curAxe.axes_visible = "on";
+ curAxe.grid= [12,12,12];
+ drawnow()
+
+ //Set the evolution of the view angle Alpha
+ //---------------------------------------------------
+ A=35:2:160;
+
+ //animation loop
+ //--------------
+ //use realtime to slow down the loop
+ realtimeinit(0.1);//set time step (0.1 seconds) and date reference
+ for i=1:max(size(A))
+ realtime(i); //wait till date 0.1*i seconds
+ if is_handle_valid(curAxe) then
+ curAxe.rotation_angles = [45,A(i)];
+ else
+ break;
+ end
+ end
+
+endfunction
+
+demo_anim3();
+clear demo_anim3;
diff --git a/modules/graphics/demos/anim/anim3/anim3_gateway.sce b/modules/graphics/demos/anim/anim3/anim3_gateway.sce
new file mode 100755
index 000000000..c7e902159
--- /dev/null
+++ b/modules/graphics/demos/anim/anim3/anim3_gateway.sce
@@ -0,0 +1,12 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the rotation of Lorenz curve
+// =============================================================================
+
+demo_run("SCI/modules/graphics/demos/anim/anim3/anim3.sce");
diff --git a/modules/graphics/demos/anim/anim4/anim4.sce b/modules/graphics/demos/anim/anim4/anim4.sce
new file mode 100755
index 000000000..82c635d16
--- /dev/null
+++ b/modules/graphics/demos/anim/anim4/anim4.sce
@@ -0,0 +1,53 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the rotation of a 3D contour plot
+// =============================================================================
+
+function demo_anim4()
+
+ mode(0);
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+ demo_viewCode("anim4.sce");
+
+ show_window(); //raise the graphic window
+
+ //The surface definition
+ //----------------------
+ x=linspace(-%pi,%pi,50);
+ y=x;
+ Z=sin(x)'*cos(y);
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+
+ contour(x,y,Z,10,35,45,"X@Y@Z",[0,2,4])
+ title("rotation of a 3d contour","fontsize",3)
+ curAxe = gca();
+ //Set the evolution of the view angle Alpha
+ //---------------------------------------------------
+ A=35:80;
+ //animation loop
+ //--------------
+ //use realtime to slow down the loop
+ realtimeinit(0.05);//set time step (0.05 seconds) and date reference
+ for i=1:size(A,"*")
+ realtime(i); //wait till date 0.05*i seconds
+ if is_handle_valid(curAxe) then
+ curAxe.rotation_angles = [45,A(i)];
+ else
+ break;
+ end
+ end
+
+endfunction
+
+demo_anim4()
+clear demo_anim4;
diff --git a/modules/graphics/demos/anim/anim4/anim4_gateway.sce b/modules/graphics/demos/anim/anim4/anim4_gateway.sce
new file mode 100755
index 000000000..5ecad9736
--- /dev/null
+++ b/modules/graphics/demos/anim/anim4/anim4_gateway.sce
@@ -0,0 +1,12 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the rotation of a 3D contour plot
+// =============================================================================
+
+demo_run("SCI/modules/graphics/demos/anim/anim4/anim4.sce");
diff --git a/modules/graphics/demos/anim/anim5/anim5.sce b/modules/graphics/demos/anim/anim5/anim5.sce
new file mode 100755
index 000000000..a4705852d
--- /dev/null
+++ b/modules/graphics/demos/anim/anim5/anim5.sce
@@ -0,0 +1,61 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the evolution of a 3D surface
+// ============================================================================
+
+function demo_anim5()
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+ demo_viewCode("anim5.sce");
+
+ drawlater();
+
+ show_window(); //raise the graphic window
+
+
+ // set a new colormap
+ //-------------------
+ cmap= curFig.color_map; //preserve old setting
+ curFig.color_map = jetcolormap(64);
+
+ //The initial surface definition
+ //----------------------
+ x=linspace(-%pi,%pi,50);
+ y=x;
+ Z=sin(x)'*cos(y);
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+ plot3d1(x,y,Z,35,45," ");
+ s=gce(); //the handle on the surface
+ s.color_flag=1 ; //assign facet color according to Z value
+ title("evolution of a 3d surface","fontsize",3)
+
+ I=20:-1:1;
+ realtimeinit(0.1);;//set time step (0.1 seconds) and date reference
+
+
+ drawnow();
+
+ for i=1:max(size(I))
+ realtime(i); //wait till date 0.1*i seconds
+ if is_handle_valid(s) then
+ s.data.z = (sin((I(i)/10)*x)'*cos((I(i)/10)*y))';
+ else
+ break;
+ end
+ end
+
+endfunction
+
+
+demo_anim5()
+clear demo_anim5;
diff --git a/modules/graphics/demos/anim/anim5/anim5_gateway.sce b/modules/graphics/demos/anim/anim5/anim5_gateway.sce
new file mode 100755
index 000000000..e0cd349e7
--- /dev/null
+++ b/modules/graphics/demos/anim/anim5/anim5_gateway.sce
@@ -0,0 +1,12 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the evolution of a 3D surface
+// =============================================================================
+
+demo_run("SCI/modules/graphics/demos/anim/anim5/anim5.sce");
diff --git a/modules/graphics/demos/anim/anim6/anim6.sce b/modules/graphics/demos/anim/anim6/anim6.sce
new file mode 100755
index 000000000..43f0c04e2
--- /dev/null
+++ b/modules/graphics/demos/anim/anim6/anim6.sce
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the dynamic of a chain
+// =============================================================================
+
+function demo_anim6()
+
+ //Read the precomputed data of the chain evolution
+ path = get_absolute_file_path("anim6.sce");
+ yt = read(path + "yt.wrt", 20, 201); //load data
+
+ curFig = scf(100001);
+ clf(curFig, "reset");
+ demo_viewCode("anim6.sce");
+
+ drawnow();
+
+ show_window(); //raise the graphic window
+
+ //The initial chain position definition
+ //-------------------------------------
+ angles = yt(1:$/2,1);
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+
+ r = ones(angles); //length of each link
+ //coordinates of the links boundaries
+ x = [0;cumsum(2*r.*cos(angles))];
+ y = [0;cumsum(2*r.*sin(angles))];
+ n1 = size(x, "*");
+
+ //set the axes boundary
+ curAxes = gca();
+ curAxes.box = "on";
+ curAxes.data_bounds = 2*sum(r)*[-1,-1;1,0.1];
+ curAxes.title.text = "N link pendulum movement";
+ curAxes.title.font_size = 3;
+
+ colors = 1:n1;
+ colors(8) = n1 + 1;
+ xpolys([x(1:($-1)), x(2:$)]', [y(1:($-1)),y(2:$)]', colors);
+ e = gce(); //compound with 10 polylines as children
+ e.children(:).thickness = 4;
+ drawlater();
+
+ //animation loop
+ //--------------
+ //use realtime to slow down the loop
+ realtimeinit(0.04);//set time step (0.04 seconds) and date reference
+
+ for j = 1:size(yt,2)
+
+ if ~is_handle_valid(e) then
+ return
+ end
+
+ realtime(j);//wait till date 0.04*i seconds
+ drawlater();
+ angles = yt(1:$/2, j);
+ r = ones(angles); //length of each link
+
+ x = [0;cumsum(2*r.*cos(angles))];
+ y = [0;cumsum(2*r.*sin(angles))];
+ n = size(r, "*");
+
+ for i = 1:n
+ if is_handle_valid(e) then
+ hChild = e.children(n+1-i);
+ if is_handle_valid(hChild) then
+ hChild.data = [x(i), y(i); x(i+1), y(i+1)];
+ else
+ return
+ end
+ else
+ return
+ end
+ end
+ drawnow();
+ end
+
+endfunction
+
+
+demo_anim6();
+clear demo_anim6;
diff --git a/modules/graphics/demos/anim/anim6/anim6_gateway.sce b/modules/graphics/demos/anim/anim6/anim6_gateway.sce
new file mode 100755
index 000000000..398b00637
--- /dev/null
+++ b/modules/graphics/demos/anim/anim6/anim6_gateway.sce
@@ -0,0 +1,12 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the dynamic of a chain
+// =============================================================================
+
+demo_run("SCI/modules/graphics/demos/anim/anim6/anim6.sce");
diff --git a/modules/graphics/demos/anim/anim6/yt.wrt b/modules/graphics/demos/anim/anim6/yt.wrt
new file mode 100755
index 000000000..3aa215f5a
--- /dev/null
+++ b/modules/graphics/demos/anim/anim6/yt.wrt
@@ -0,0 +1,1032 @@
+ 0. -7.9207093305354D-03 -3.1552509240836D-02 -6.9846426920474D-02
+ -0.11986480988691 -0.17748133073853 -0.23877870701096 -0.30028789333732
+ -0.35895439338004 -0.41280829360450 -0.46174241997710 -0.50713485108541
+ -0.55060273814706 -0.59306423540432 -0.63444975443367 -0.67389195487287
+ -0.71036315858830 -0.74385892817465 -0.77604151107608 -0.80889019762494
+ -0.84271803298330 -0.87587538755682 -0.90653031659957 -0.93429263447970
+ -0.96134142782256 -0.99111980547126 -1.0234160479955 -1.0532894919387
+ -1.0775037352999 -1.1001084481050 -1.1284459694102 -1.1633772133059
+ -1.1944775571843 -1.2145480732177 -1.2314307147376 -1.2624597541674
+ -1.3065993167620 -1.3379146259298 -1.3474097612288 -1.3623860850209
+ -1.4184737854082 -1.4686236609780 -1.4827821948356 -1.4779389313147
+ -1.4998428136454 -1.5638314051188 -1.6539410028860 -1.7132835304636
+ -1.7213102325655 -1.6892842120112 -1.6852642913280 -1.7426043505367
+ -1.8452192278770 -1.9832072864981 -2.0720050384490 -2.1013355353325
+ -2.0786399815173 -2.0216860644903 -2.0120628502874 -2.0721260651384
+ -2.1825608419521 -2.3231159681911 -2.4708963227487 -2.5961512205205
+ -2.7048126039268 -2.8206088948081 -2.9389760551025 -3.0458664945604
+ -3.1192099777910 -3.1581023352255 -3.1672455254959 -3.1497469085521
+ -3.1158369148789 -3.0799439462366 -3.0447535077980 -3.0076256938352
+ -2.9668457959347 -2.9219452980059 -2.8733454688735 -2.8222768785737
+ -2.7710176055951 -2.7233382411058 -2.6840806788903 -2.6558158132856
+ -2.6365068273575 -2.6219895764224 -2.6076966851215 -2.5892460958980
+ -2.5630236060918 -2.5264995306580 -2.4782892886365 -2.4183696599537
+ -2.3492966770146 -2.2781592346271 -2.2141802736342 -2.1630447390731
+ -2.1260168180109 -2.1033967574257 -2.0972473115564 -2.1116450965811
+ -2.1438780484745 -2.1721173228360 -2.1792379409622 -2.1624756059748
+ -2.1244200401201 -2.0716179676286 -2.0191356971567 -1.9790145206798
+ -1.9470030677936 -1.9229722604255 -1.9202402764906 -1.9625116017112
+ -2.0099489576593 -2.0296150479850 -2.0078348348101 -1.9201920344205
+ -1.8259051921275 -1.7651279772845 -1.7351680142554 -1.7750264011083
+ -1.8703357702059 -1.9187995649910 -1.9110222790734 -1.7131066538654
+ -1.6978526815400 -1.6959641532413 -1.6739054522054 -1.6382574887698
+ -1.5907441037620 -1.5303489440681 -1.4527070165347 -1.3899078062514
+ -1.4001920059769 -1.4425932645287 -1.4322555664771 -1.3424036631491
+ -1.1915579982492 -1.0249104465610 -0.99311418926572 -1.0884613109974
+ -1.2600430841351 -1.4689340389137 -1.3965393253647 -1.1514063590824
+ -0.84690650744401 -0.48583066283419 -0.27825291695902 -0.33376244120211
+ -0.48627647096944 -0.51706189663602 -0.47764403723126 -0.41844365132751
+ -0.30664052090465 -0.26619833463025 -0.31821519145961 -0.38249334652637
+ -0.40749078905033 -0.39368710292770 -0.35578077704840 -0.30067368406567
+ -0.24143930862300 -0.19006175773680 -0.14857876271449 -0.11719539296111
+ -9.5827535239350D-02 -8.4117409840210D-02 -8.1321520695312D-02
+ -8.6410333742612D-02 -9.9516909024878D-02 -0.12667972503564 -0.17869101471184
+ -0.25957644288892 -0.36812871905349 -0.50150784068572 -0.65272272813928
+ -0.80876733305027 -0.95724820399609 -1.0923527908023 -1.2124492983889
+ -1.3166181954270 -1.4032391733903 -1.4696701838912 -1.5121745978168
+ -1.5256863060348 -1.5037435576944 -1.4436737219172 -1.3641776249262
+ -1.2772691806626 -1.1569605488846 -1.0487142207737 -0.97249340452207
+ -0.93149104631777 -0.92940822674130 -1.0202270958651 -1.3683016891797
+ -1.5390947260692 -1.5586929862281 -1.5542229573057 -1.5278227289371
+ -1.4689719249085 -1.3908220912607
+ 0. 2.3116608261252D-03 9.0363986234791D-03 1.8488920405194D-02
+ 2.6018045309239D-02 2.5374015693157D-02 1.1338174919923D-02
+ -1.9384227156555D-02 -6.7682059467366D-02 -0.13106409614368 -0.20365850104961
+ -0.27809657958228 -0.34790437988353 -0.40969145499243 -0.46444155248093
+ -0.51612835442429 -0.56848542245032 -0.62197559446796 -0.67311268405969
+ -0.71752235139946 -0.75430541281867 -0.78829857086701 -0.82611097386548
+ -0.86938894439923 -0.91166172461579 -0.94447730745145 -0.96855829660656
+ -0.99568037443985 -1.0359413215206 -1.0813993011234 -1.1129815745990
+ -1.1253456668057 -1.1428170123452 -1.1879265602077 -1.2454213684277
+ -1.2722033136236 -1.2643278638673 -1.2800031154219 -1.3473888116104
+ -1.4133960715445 -1.3984812986795 -1.3857199289682 -1.4383515630158
+ -1.5398613520540 -1.6194715550232 -1.6290762393811 -1.5734452774542
+ -1.5468149407114 -1.6114068169694 -1.7705130835524 -1.9276452987856
+ -1.9910810761976 -1.9701317191856 -1.8711141144059 -1.8348012953685
+ -1.8810852954707 -1.9967632702601 -2.1666343499608 -2.2990094781991
+ -2.3777498692983 -2.4209404155348 -2.4470688867304 -2.4881041650246
+ -2.6046490701578 -2.7589655145480 -2.8633450015141 -2.9154573355938
+ -2.9279038109720 -2.9455212975476 -2.9883179291964 -3.0549061838204
+ -3.1425098556177 -3.2365887231283 -3.3149830245202 -3.3733829333762
+ -3.4157466771961 -3.4445896611713 -3.4605872716094 -3.4632863345015
+ -3.4515174487012 -3.4235734511174 -3.3774057215887 -3.3116482239565
+ -3.2280870760165 -3.1320533699846 -3.0298727805222 -2.9275429139211
+ -2.8302846357005 -2.7424541382129 -2.6678797687612 -2.6104365053668
+ -2.5746170795309 -2.5643199720066 -2.5748682263184 -2.5892666447483
+ -2.5903825450939 -2.5688049016367 -2.5205405991594 -2.4431320039886
+ -2.3363337663428 -2.2164072310778 -2.1219293910870 -2.0704761914752
+ -2.0570560926804 -2.0711326824556 -2.0972612785056 -2.1127372883534
+ -2.1157322305957 -2.1155885262239 -2.1095563895197 -2.0811291776528
+ -1.9872653701706 -1.8780190358076 -1.8095868319573 -1.8098975146782
+ -1.9304700138460 -2.0474446093246 -2.0834337908561 -2.0465063817091
+ -1.8744532277791 -1.6719629212902 -1.5830697638307 -1.6080957957123
+ -1.8552468012262 -1.6378705466044 -1.5058893195282 -1.4277946335116
+ -1.3843837472947 -1.3733289600768 -1.3984848223226 -1.4770815922945
+ -1.5516566282713 -1.4453137595635 -1.2136046833288 -1.0252288135980
+ -0.99794809126802 -1.1493132529831 -1.4426939987181 -1.6390050230712
+ -1.6024063404470 -1.3767469702022 -0.99101503136062 -0.64290839488130
+ -0.52181332080257 -0.55640988574692 -0.76821281629543 -0.87373291948046
+ -0.57104829741579 -0.11784975428273 7.4342594542671D-02 4.0313198483871D-02
+ -9.1461786870925D-02 -0.36254365111667 -0.42232705786737 -0.21732331761054
+ 4.6674845004904D-02 0.28112966054665 0.45858114868854 0.57959754319944
+ 0.62623311615880 0.60176206984947 0.54860932777938 0.48298688460081
+ 0.40912778654398 0.32801974630761 0.23895875801278 0.13974843975429
+ 2.6855632556670D-02 -1.0188415575445D-01 -0.23609918150907 -0.35075295762623
+ -0.43148913770485 -0.47562727446348 -0.48408677332550 -0.46444828495776
+ -0.43487972640205 -0.41548293711079 -0.41764389328624 -0.44500348126505
+ -0.49765233350250 -0.57429802420471 -0.67315711640851 -0.79243759545021
+ -0.93030031976320 -1.0819014856353 -1.2228218396773 -1.2813782609176
+ -1.2304050436807 -1.2668691584399 -1.3489328451108 -1.4209054792033
+ -1.4914774081249 -1.5870025401413 -1.6304815475081 -1.1730356911065
+ -0.78808513494170 -0.76418868556997 -0.86386676972103 -1.0558936431682
+ -1.3297633361922 -1.6565679158965
+ 0. -6.7474767193657D-04 -2.5928192923996D-03 -4.9159066919963D-03
+ -5.4516794067493D-03 -1.7133103278058D-03 7.3507063291813D-03
+ 2.0558539695245D-02 3.3914975168910D-02 4.0429069076794D-02
+ 3.1773718626273D-02 1.3556536476255D-03 -5.3021550641715D-02
+ -0.12735436394796 -0.21212960195509 -0.29626180361194 -0.37146693212338
+ -0.43607255249427 -0.49552359337786 -0.55694931333657 -0.62242322871385
+ -0.68595617263526 -0.73885987876136 -0.77846378325792 -0.81344219771184
+ -0.85726854289811 -0.91202210006243 -0.96347726074381 -0.99562343859693
+ -1.0145836222389 -1.0447138642739 -1.0997123828945 -1.1565568707048
+ -1.1832829957820 -1.1861193012189 -1.2105510518619 -1.2755817949871
+ -1.3345237939258 -1.3514839444004 -1.3532299635232 -1.3934244769618
+ -1.4543904139397 -1.5120525811253 -1.5428669657815 -1.5332319828060
+ -1.5303294190502 -1.5877113370267 -1.7027764593109 -1.8042988853705
+ -1.8455293382552 -1.8317865866327 -1.8315371144175 -1.8547774292394
+ -1.9077664824106 -1.9578145150016 -2.0194437583568 -2.1121170603576
+ -2.2564693891259 -2.4212283624972 -2.5441314719833 -2.6244632291993
+ -2.6712359631869 -2.6836536290920 -2.6605888453908 -2.6329168296379
+ -2.6494642125683 -2.7093807564623 -2.8036066559110 -2.9033596204247
+ -2.9916756791673 -3.0668422080864 -3.1270411851226 -3.1730376927615
+ -3.2120584232167 -3.2487772248789 -3.2843679516351 -3.3192689853344
+ -3.3537588138405 -3.3879586727981 -3.4217236061461 -3.4545074363876
+ -3.4854688564774 -3.5142308583224 -3.5407490469347 -3.5623696188382
+ -3.5736217610701 -3.5692454816785 -3.5461317184238 -3.5034609376826
+ -3.4419729768320 -3.3632965204283 -3.2697696343067 -3.1641897988665
+ -3.0490863188541 -2.9307170538246 -2.8195736644582 -2.7233018752695
+ -2.6449568898837 -2.5845070639648 -2.5374437420517 -2.4884603164452
+ -2.4202648115381 -2.3373430298970 -2.2542145684663 -2.1858820899481
+ -2.1539776307045 -2.1769136526231 -2.2019798781137 -2.1932228091548
+ -2.1520046256873 -2.0779279408274 -2.0275537410021 -2.0210001490390
+ -2.0160725883184 -1.9898737779309 -1.8935902720669 -1.8067233877285
+ -1.7832489839461 -1.8158279378890 -1.9425943825865 -1.9978879449936
+ -1.9346597203442 -1.7855375039646 -1.6660289108968 -1.9867211177381
+ -2.0619525342117 -2.0620258355755 -2.0114111455928 -1.9103761056687
+ -1.7605759742434 -1.5395176514492 -1.2482907991251 -1.1174735827098
+ -1.2236038507350 -1.4592031538439 -1.6763340333165 -1.7429998598709
+ -1.5247792569699 -1.1121393826574 -0.73719569654703 -0.48939684007244
+ -0.51706440766046 -0.85239378014678 -1.0143275900284 -1.0767172740076
+ -0.95465918923315 -0.59462222237319 -0.46822619898253 -0.57523739553433
+ -0.68021055246253 -0.62817029741902 -0.43842748940176 -7.1459565749998D-02
+ 0.27367252199380 0.34768255332350 0.26313394300040 0.10797585527384
+ -5.6847772328880D-02 -0.22160101875895 -0.36963405788774 -0.45691755232458
+ -0.49736793095777 -0.51137470890398 -0.50677015074756 -0.48645870059174
+ -0.45081794079057 -0.39827238111498 -0.32537275919864 -0.22807378916408
+ -0.11000046522539 1.0985210212620D-02 0.12023844827299 0.21052808770159
+ 0.27357855649756 0.29912108896247 0.28315769394815 0.23373070898901
+ 0.16319134520255 8.0722250793020D-02 -8.4741855525644D-03 -1.0194692718446D-01
+ -0.19899807902883 -0.30021607861662 -0.40784468654420 -0.52897805880191
+ -0.68949338538012 -0.95153745912277 -1.3104449120006 -1.5286433033261
+ -1.6653147730689 -1.7719725219052 -1.8053198844086 -1.6373689458839
+ -1.2417680231668 -1.1521612334631 -1.7019818683125 -2.1237185005528
+ -2.4913344385280 -2.8165095171017 -3.0743365816842 -3.1194831177180
+ 0. 1.9697914485070D-04 7.4552244685840D-04 1.3154131905277D-03
+ 1.0856880087482D-03 -7.1273261986134D-04 -4.0069802816117D-03
+ -7.5530179657516D-03 -8.8575191009253D-03 -4.7044216299654D-03
+ 7.1302452786457D-03 2.5739319354630D-02 4.5527682647093D-02
+ 5.6073604843964D-02 4.5417730770731D-02 5.3760229089622D-03
+ -6.4573055793604D-02 -0.15554615268974 -0.25261779230301 -0.34202697731464
+ -0.41764951401217 -0.48510950093454 -0.55551711363078 -0.63386661531527
+ -0.71212956407962 -0.77559013778539 -0.81931033146822 -0.85518570520234
+ -0.90403093068758 -0.96909674875822 -1.0301415586630 -1.0654730601522
+ -1.0832546311160 -1.1148253990477 -1.1725659009270 -1.2336282801803
+ -1.2719132748913 -1.2932882836205 -1.3141460653191 -1.3462877355916
+ -1.4265927634146 -1.5080679439748 -1.5133328474372 -1.4699555772629
+ -1.4927344604531 -1.6056073166321 -1.7446663669027 -1.8184129442490
+ -1.8218505922182 -1.7854610103361 -1.7556018911494 -1.7705603839278
+ -1.8420319585022 -1.9989449341710 -2.1968666698043 -2.3499310067628
+ -2.4273651073964 -2.4164492738889 -2.4161022568499 -2.4971951096797
+ -2.6102931014379 -2.7134605058549 -2.7773964352730 -2.7423929662805
+ -2.6871939288941 -2.6574120389065 -2.6622694625504 -2.7111596597110
+ -2.7776503356489 -2.8401625810566 -2.8918517561359 -2.9294073303609
+ -2.9555926746917 -2.9798963958456 -3.0099644117972 -3.0477281674193
+ -3.0930260753509 -3.1454748174075 -3.2049605408971 -3.2717931569611
+ -3.3465432114611 -3.4285823789080 -3.5121329059782 -3.5858811854930
+ -3.6432850990821 -3.6855744891495 -3.7160457726592 -3.7369244219752
+ -3.7485258582662 -3.7489773846041 -3.7338908458299 -3.6965464309137
+ -3.6329236503347 -3.5506331697716 -3.4575221637501 -3.3542430711158
+ -3.2418066707293 -3.1237375529069 -3.0071362356720 -2.9066006050400
+ -2.8395715039363 -2.8007513752140 -2.7671173038008 -2.7159596021875
+ -2.6266886109520 -2.4794891438393 -2.2837459146424 -2.1303096301400
+ -2.0494280672213 -2.0366722112376 -2.1083104268525 -2.1900028779716
+ -2.1852260310847 -2.1218469634327 -2.0211512010938 -1.9533725281119
+ -1.9417404509365 -1.9321730946745 -1.9153698617863 -1.8536681489719
+ -1.7982510633064 -1.7813373447509 -1.7729407787744 -1.7591226680994
+ -1.5287654343251 -1.3670388213789 -1.2302807801159 -1.1208134827287
+ -1.0660918989910 -1.0825269894772 -1.1877244658708 -1.4472994047189
+ -1.7367782804666 -1.8575387469725 -1.7150310979707 -1.3944361903509
+ -1.0327983135043 -0.78533187306669 -0.77860940948418 -0.82856297464507
+ -0.80765430890942 -0.63868152899049 -0.34773501146636 -0.25748642999959
+ -0.22936905542961 -0.31964795369835 -0.75203210251419 -1.0716556997730
+ -0.98602477432636 -0.52250140712509 -0.10920506574614 0.17280588845670
+ 0.23853169458725 -0.11707415377983 -0.39446228496629 -0.52819030124529
+ -0.54103428403204 -0.46172732753177 -0.30526115266482 -8.4527325993403D-02
+ 0.11554856215452 0.26749962465370 0.39104819330972 0.49730507537967
+ 0.59166909794483 0.67632792494463 0.75059804143236 0.81006685636438
+ 0.84480694408872 0.84198911962664 0.80200773501487 0.73853032610394
+ 0.66322582117148 0.58422294207680 0.50778276730979 0.43733012903176
+ 0.37230876998147 0.30996155751602 0.24731916913138 0.18157256954185
+ 0.10968789474563 2.7768557728213D-02 -6.9909134907414D-02 -0.19256630509673
+ -0.35507018184459 -0.56955088343239 -0.80045064658419 -1.0117529186603
+ -1.1697558147832 -1.1668845806718 -1.0833855555452 -0.93322911965540
+ -0.87944395346197 -1.2506484596578 -1.7761726866685 -1.6712422089291
+ -1.5735637923456 -1.5563050968448 -1.6067928633567 -1.6684715692910
+ -1.5833654502624
+ 0. -5.7512412836952D-05 -2.1483120269576D-04 -3.5480088928594D-04
+ -1.9913079305535D-04 4.6308174131371D-04 1.4727880564980D-03
+ 2.2083729208530D-03 1.6610320035652D-03 -1.1308783407611D-03
+ -6.1665963484844D-03 -1.1612644767272D-02 -1.3524860461628D-02
+ -6.9005612366043D-03 1.1213472086307D-02 3.8380340668038D-02
+ 6.4864149907862D-02 7.4738113860536D-02 5.2756317268795D-02
+ -8.1882601052072D-03 -1.0278520212048D-01 -0.21343239502263 -0.32019764030278
+ -0.41059075561577 -0.48706750620961 -0.56499487450537 -0.65463621674660
+ -0.74989173139255 -0.83002628994697 -0.88403597568610 -0.92236018618612
+ -0.96851260945873 -1.0356366272770 -1.1088889984889 -1.1666509427949
+ -1.1992594055364 -1.2156617868920 -1.2430370207511 -1.3098640732650
+ -1.4121153797495 -1.4370145839149 -1.3838501431661 -1.4088538856217
+ -1.5569351691595 -1.7223054622062 -1.7859098042818 -1.7401523638021
+ -1.6674118903796 -1.6600380247786 -1.7449585303469 -1.9105541383312
+ -2.0672787758693 -2.1828345288686 -2.2335750120042 -2.2705996446845
+ -2.3559781356881 -2.4936687563225 -2.6240951736699 -2.6412630098189
+ -2.5762435374833 -2.5251060761182 -2.5249217990591 -2.6032495406508
+ -2.7898559488683 -2.8982884579707 -2.9129796095303 -2.8500718915412
+ -2.7349625291046 -2.6372635256985 -2.5812080466606 -2.5715500704909
+ -2.6128786262773 -2.6976221898585 -2.7995669553151 -2.8976013704360
+ -2.9861208416376 -3.0647600390858 -3.1335592001013 -3.1916628858547
+ -3.2367038964391 -3.2645327885674 -3.2707905311112 -3.2573856935423
+ -3.2385092277212 -3.2294156297611 -3.2359198160694 -3.2582420496321
+ -3.2954138110115 -3.3471326217617 -3.4144444916453 -3.4997137052267
+ -3.6045542599873 -3.7201896891450 -3.8200708085890 -3.8862319210317
+ -3.9178317068446 -3.9167436917048 -3.8810820005476 -3.8032481747801
+ -3.6713057725985 -3.4873760357861 -3.2819794588170 -3.0821411994895
+ -2.9068835817251 -2.7789980783731 -2.7229558483142 -2.7249947570225
+ -2.6955770376099 -2.6064719776199 -2.4598919407046 -2.2484277383667
+ -2.0605454874244 -1.9854900141391 -1.9999547010181 -2.0920241894484
+ -2.1715668754813 -2.1297287134791 -2.0322774331231 -1.8983906865501
+ -1.7665346389015 -1.7207403010670 -1.7158295563127 -1.7953355654698
+ -1.7030593022283 -1.4662310732900 -1.5123968423070 -1.6311416944868
+ -1.7861949015299 -1.9431388286884 -2.0570242119267 -2.0918270455824
+ -1.9371507794136 -1.5831492806021 -1.1980587827418 -0.88694411534738
+ -0.71548597734733 -0.67365742878900 -0.65302956390544 -0.57383153251836
+ -0.50788277600050 -0.49054987380949 -0.54413049840339 -0.70817259297871
+ -0.76822132594053 -0.79947258833282 -0.78720398286838 -0.54267526399155
+ -0.28427059960177 -0.29920428499536 -0.54364539782794 -0.69138501459680
+ -0.70382847204175 -0.55732575130550 -0.14038653715142 0.16712239370140
+ 0.34509402416097 0.39966308773447 0.34405690081891 0.20499660321675
+ -4.9899051729263D-03 -0.20168850580896 -0.35057245474311 -0.47017010836136
+ -0.57210902308618 -0.66304322966672 -0.74784247491305 -0.83050868008322
+ -0.91398335673847 -0.99952466316904 -1.0852307108632 -1.1664815801673
+ -1.2401064817163 -1.3042931343488 -1.3571623690128 -1.3965367150149
+ -1.4205046019317 -1.4284492756829 -1.4208267531024 -1.3981372673877
+ -1.3603738239322 -1.3068051019249 -1.2357258329640 -1.1439102904207
+ -1.0254348358383 -0.87008590614666 -0.66959133744511 -0.44869956851052
+ -0.24664180014761 -7.7265155602160D-02 -0.13309460288835 -0.41826171892049
+ -0.90452467926709 -1.5153913401744 -1.9460626747185 -1.9347436382832
+ -1.8216860676656 -1.6890289641129 -1.5062221266837 -1.3217762551736
+ -1.2684214511981 -1.5710261471644
+ 0. 1.6794640093544D-05 6.2046208005722D-05 9.6631454978862D-05
+ 3.1224034244628D-05 -1.8790104400395D-04 -4.7418849346003D-04
+ -5.8273325304307D-04 -1.7412342300834D-04 9.6657701180462D-04
+ 2.5622533929408D-03 3.5938101488505D-03 2.4211456791181D-03
+ -2.3811963643271D-03 -1.0427513646581D-02 -1.8274257499662D-02
+ -1.9367579148282D-02 -6.5740727185656D-03 2.2450164437540D-02
+ 6.1115969057926D-02 9.2036607219505D-02 9.2472003127279D-02
+ 4.7115219208845D-02 -4.6109046480748D-02 -0.17144642135480 -0.30194336777428
+ -0.41698032168908 -0.50890366278803 -0.59174876965850 -0.68536079590688
+ -0.79418040335889 -0.90231875965252 -0.98440486013113 -1.0345530360096
+ -1.0669586100653 -1.1109219032923 -1.1952936711682 -1.3032222561912
+ -1.3746626080090 -1.3603913483558 -1.3486361852360 -1.4779283517905
+ -1.6315581920997 -1.6836910745669 -1.6296254310216 -1.5963852205464
+ -1.6479319337267 -1.7762626959295 -1.9087586833700 -2.0217096319169
+ -2.1186250535522 -2.2359874141442 -2.3802408817110 -2.5205563571150
+ -2.5802299484331 -2.5725494352331 -2.5319200459063 -2.5366069904679
+ -2.6461824992142 -2.7733136064868 -2.8338642746781 -2.8261224547523
+ -2.7413893066005 -2.5940335582797 -2.5770293357054 -2.6482682943280
+ -2.7653261491979 -2.8732933196371 -2.9189424310609 -2.9092481009561
+ -2.8545372976766 -2.7686150469627 -2.6751684210660 -2.5986106796861
+ -2.5463542386110 -2.5154239947654 -2.5028268724931 -2.5074615179628
+ -2.5300436047246 -2.5729468601725 -2.6396645875506 -2.7326412574158
+ -2.8476536731030 -2.9698973308564 -3.0851145199741 -3.1881138856463
+ -3.2782109230738 -3.3551140935738 -3.4174844215016 -3.4625521735729
+ -3.4863030251844 -3.4850009875130 -3.4630343199077 -3.4423557539450
+ -3.4416927179749 -3.4641728516178 -3.5084599870614 -3.5750687815831
+ -3.6670455558882 -3.7826040600660 -3.8896162949274 -3.9393855637574
+ -3.9167984807399 -3.8229359799941 -3.6619039128275 -3.4422558185013
+ -3.1836616313863 -2.9446518430308 -2.7641783678031 -2.6544372407816
+ -2.6187954471666 -2.5923000001239 -2.5145262029504 -2.3859905477699
+ -2.1978829891942 -2.0066096662612 -1.9036205783756 -1.8511266002895
+ -1.8487377737592 -1.9026879897906 -1.9443798888888 -1.9496830688191
+ -1.8010052983838 -1.6000289166580 -2.0091446689245 -2.1572139323675
+ -2.1154713703784 -1.9184159324376 -1.6313984716974 -1.3238227384821
+ -1.0182062601317 -0.74995474599194 -0.61658713216161 -0.60914745009559
+ -0.62879854472206 -0.60971841143460 -0.55382785572785 -0.51123535716873
+ -0.52105620411412 -0.55621925352524 -0.59329642914571 -0.63973490387299
+ -0.57529139669830 -0.47514298016902 -0.37177810214803 -0.27476612921267
+ -0.28702529504401 -0.34590623560890 -0.19799355866892 -9.2630962289002D-02
+ -0.20159810479651 -0.39527371378382 -0.66332991978401 -0.86739749307090
+ -0.78716085868440 -0.59987960726391 -0.37449406740916 -0.16267985961973
+ 2.3340615449661D-02 0.18862996464718 0.31018802851087 0.39510779024763
+ 0.46216482941768 0.51856045440133 0.56512558035482 0.60106736240285
+ 0.62634258378208 0.64253755916879 0.65255469287092 0.65999869526143
+ 0.66746534057138 0.67570960823688 0.68524018258218 0.69681103179161
+ 0.71128405255175 0.72952900370360 0.75215757744658 0.77930522262158
+ 0.81067056065442 0.84557780641016 0.88293793956904 0.92107544130488
+ 0.95726634689343 0.98632674044738 0.99552569192926 0.94821777760555
+ 0.77158292864824 0.36222596936548 -0.30307465212485 -0.91264304821484
+ -1.3912624280846 -1.6877395242871 -1.6974989083323 -1.6510549723945
+ -1.8305523268237 -2.1628449390796 -2.4150833616727 -2.4725000323423
+ -2.2895544961148 -1.8495320365094 -1.1956125033891
+ 0. -4.9057796518897D-06 -1.7963757806719D-05 -2.6624411210360D-05
+ -3.1586768198838D-06 6.5497930877924D-05 1.4375881592665D-04
+ 1.4604165418784D-04 -3.1311105543203D-05 -4.2129822048886D-04
+ -8.5999260938428D-04 -9.3438750912417D-04 -1.0282728103783D-04
+ 1.8944505508027D-03 4.4224094175891D-03 5.6525445762933D-03
+ 2.9537434265297D-03 -5.4268435667425D-03 -1.7856197858784D-02
+ -2.7911740866645D-02 -2.5011869580212D-02 -5.9553126112175D-04
+ 4.4188807616381D-02 9.5170937972465D-02 0.12393056889349 1.0408093665428D-01
+ 2.3295604510931D-02 -0.11404896910060 -0.27762737935728 -0.43521251553630
+ -0.56539249061539 -0.66117203790165 -0.74555489332360 -0.84689017338020
+ -0.97671222699826 -1.1157584770762 -1.2105063406649 -1.2369535578895
+ -1.2417499325510 -1.3144575305357 -1.5037259935010 -1.6060844420153
+ -1.5855636089446 -1.5541369183049 -1.6068067861185 -1.7236687437719
+ -1.8741341086661 -2.0409867205743 -2.2218225013351 -2.3960890926082
+ -2.5101530854177 -2.5588301266665 -2.5634188601384 -2.5573693285074
+ -2.5974020181709 -2.6694768060032 -2.7376334225951 -2.7327849741911
+ -2.6401020812985 -2.5565590581444 -2.5367602485621 -2.5656986118294
+ -2.6426780826472 -2.7310623641504 -2.7082877828726 -2.6375214029430
+ -2.5648758674175 -2.5473811133142 -2.6003912977789 -2.6938586757382
+ -2.8065737475711 -2.9121297718403 -2.9862515948782 -3.0219758855965
+ -3.0295337801915 -3.0186318785790 -2.9940248644304 -2.9574165458168
+ -2.9089036592219 -2.8481030956247 -2.7759305869297 -2.6976752008436
+ -2.6259262866985 -2.5755604077071 -2.5515935988744 -2.5508940293135
+ -2.5697016972659 -2.6058202121372 -2.6584332422576 -2.7276031019487
+ -2.8140638205463 -2.9192510683458 -3.0415131224171 -3.1677882141491
+ -3.2841682436239 -3.3858487113997 -3.4708081937203 -3.5354382400199
+ -3.5738560061355 -3.5823980562494 -3.5776820381055 -3.5916726897276
+ -3.6349852710649 -3.7070217781719 -3.8032919638675 -3.9023789940447
+ -3.9460447652675 -3.8836827187036 -3.7401473221402 -3.5425163849162
+ -3.2937922444216 -3.0074613874555 -2.7456579984112 -2.5314355369717
+ -2.3789561587745 -2.2723664117381 -2.1860121655139 -2.1351917807717
+ -2.1058759359866 -2.0346907047226 -1.8608309561546 -1.6263257991795
+ -1.4797273350799 -1.9219037287955 -1.6499340122290 -1.2176539815056
+ -0.81444741090729 -0.46669991924313 -0.21585002495234 -6.6606987537512D-02
+ 2.7487058531453D-04 7.0910080739871D-03 -2.2756281236349D-02
+ -9.3571863837245D-02 -0.21217284141978 -0.35568830396207 -0.49761090320367
+ -0.61682554810301 -0.69530711951305 -0.72835231142201 -0.71215682714286
+ -0.57348621920612 -0.33324362476827 -0.18539689372083 -6.4558989546968D-02
+ 4.7046363539393D-02 0.12935864660381 1.4394515510341D-02 -0.35304844017361
+ -0.58516665187415 -0.63440614011902 -0.62040120656495 -0.54520653747838
+ -0.49292693876784 -0.57157395551417 -0.69905987460202 -0.85620495641636
+ -1.0335496580394 -1.2107791671680 -1.3476607391062 -1.4298309137005
+ -1.4992595914331 -1.5714426419410 -1.6481029315865 -1.7303753800829
+ -1.8185423852162 -1.9106496158796 -2.0032764175640 -2.0933825408635
+ -2.1791397558609 -2.2599268672509 -2.3359089960453 -2.4073582846969
+ -2.4744500389842 -2.5372619499950 -2.5957669230364 -2.6498721951098
+ -2.6994668211320 -2.7444127169390 -2.7845262429397 -2.8195627419851
+ -2.8491660217592 -2.8727205743981 -2.8890566327964 -2.8964490523797
+ -2.8978220425073 -2.9261864471095 -3.0816479018415 -3.4630515699272
+ -3.8946212258227 -4.2735195764946 -4.5877473760315 -4.8064469012279
+ -4.9932062756837 -5.2776440900354 -5.7226450547691 -6.2715141005622
+ -6.8260278050386 -7.3252718992134 -7.8649622711440 -8.2461846872404
+ 0. 1.4357544565931D-06 5.2222857378408D-06 7.4447497492688D-06
+ -3.3070613413911D-07 -2.1224238088007D-05 -4.2438015173959D-05
+ -3.6070699386903D-05 2.8044471739463D-05 1.5060861748271D-04
+ 2.6315732676977D-04 2.2162890215464D-04 -1.3296092917812D-04
+ -8.1327384158035D-04 -1.4855964318607D-03 -1.4331269183359D-03
+ 1.7813479104146D-04 3.5421787453416D-03 7.3188319948359D-03
+ 8.3769765173258D-03 2.7176918801689D-03 -1.1136043973066D-02
+ -2.9013023038100D-02 -3.9863478513052D-02 -2.8371574970701D-02
+ 1.2293492372952D-02 7.5867058972105D-02 0.13779739427937 0.15776922034124
+ 0.10830793793443 -2.1950909031177D-02 -0.22030100497958 -0.44493211918480
+ -0.65472659145511 -0.81488107321947 -0.90562543732647 -0.96967802902594
+ -1.0774680022790 -1.2517729696714 -1.4463390356243 -1.4746279639471
+ -1.4275979417665 -1.4973351269112 -1.6930282932277 -1.9428339124332
+ -2.1861381751893 -2.3856986317295 -2.5065605637213 -2.5635918433181
+ -2.5850624367637 -2.6100333781665 -2.6563174619670 -2.7143907393191
+ -2.7527402664733 -2.7391727829818 -2.7000632220002 -2.6621146251431
+ -2.6649399623805 -2.7091937712507 -2.7336022699135 -2.7171819757835
+ -2.6759270851671 -2.6144528672033 -2.5770464417975 -2.6214056616381
+ -2.6859426065465 -2.7345594760784 -2.7329735110720 -2.6857160065440
+ -2.6160118742456 -2.5423609351942 -2.4904185714091 -2.4755284436827
+ -2.4922250021304 -2.5266427743076 -2.5708279963981 -2.6216964323373
+ -2.6781231824377 -2.7394280666439 -2.8041369798332 -2.8683520636815
+ -2.9242073412848 -2.9611102481844 -2.9733830870116 -2.9648852044776
+ -2.9417101713934 -2.9075445460513 -2.8641591873993 -2.8127149233109
+ -2.7549787978730 -2.6944150341954 -2.6375598100035 -2.5967413902732
+ -2.5853584051616 -2.6044077304737 -2.6485538535902 -2.7144860282726
+ -2.8015977133174 -2.9111703458815 -3.0452168389111 -3.1965984817832
+ -3.3447970625498 -3.4789374749031 -3.5957062444239 -3.6910905436796
+ -3.7608503909258 -3.8079508022575 -3.8448237258980 -3.8770947400365
+ -3.9063497835690 -3.9229615107921 -3.8831620283321 -3.7783417974490
+ -3.6371534079942 -3.4654838111389 -3.2286933250173 -2.9339446404548
+ -2.6045879440058 -2.2416315558302 -1.8825036375003 -1.6687418671467
+ -1.7057385943632 -1.9399339269096 -1.4808485629949 -1.0131442323647
+ -0.90995165203947 -0.88798910846215 -0.86483658166036 -0.79918791516112
+ -0.69283123557056 -0.55769417971066 -0.39933418368605 -0.21747845991376
+ -1.1703416463309D-02 0.20274419179734 0.38653699591445 0.50243277860136
+ 0.53599286661090 0.48776364472893 0.36013313798936 0.16121432756484
+ -0.16106497339586 -0.48464087651790 -0.63236052973619 -0.72361933283800
+ -0.77983371433765 -0.75155862817131 -0.49748045439482 -9.1075323002171D-02
+ 8.5508117763166D-02 8.9787288266660D-02 -2.0909149061598D-02
+ -0.21630970602272 -0.47236618437506 -0.71478590470975 -0.96390143726521
+ -1.2316678924077 -1.4666772112068 -1.6296488740577 -1.7410534519855
+ -1.8185116801795 -1.8490979429218 -1.8280121862040 -1.7687824854836
+ -1.6852036624680 -1.5865889609723 -1.4804856273988 -1.3730745985669
+ -1.2682519325163 -1.1678069532242 -1.0722753929195 -0.98155981602267
+ -0.89530906225509 -0.81295283359477 -0.73363828714730 -0.65621361131407
+ -0.57927316108075 -0.50130064784909 -0.42078237025743 -0.33621611780650
+ -0.24605167646315 -0.14855449612601 -4.1518594208744D-02 7.8251277051026D-02
+ 0.21537847522149 0.37353544498734 0.54180874916367 0.67070758397086
+ 0.66370308890658 0.55623117398154 0.45256122547746 0.37211289911535
+ 0.27342339109242 9.5920454553257D-02 -0.10650268251336 -0.36350108542581
+ -0.48964959382412 -0.49261861894641 -0.54152233081384 -0.71206359075873
+ -1.3006665407478
+ 0. -4.2898894615589D-07 -1.5532567513514D-06 -2.1545972202782D-06
+ 3.4564557441084D-07 6.7194263951732D-06 1.2645917101062D-05
+ 9.2534403764334D-06 -1.2253648875482D-05 -4.9927479543548D-05
+ -7.8934929065985D-05 -5.2129351900611D-05 7.5711810783786D-05
+ 2.9117479199576D-04 4.6108420354601D-04 3.3855440876889D-04
+ -3.1727402763369D-04 -1.4570314551597D-03 -2.4610397170799D-03
+ -2.1423809142850D-03 7.3938587173325D-04 6.0879795576087D-03
+ 1.1438187903196D-02 1.1753434863354D-02 1.5803063250456D-03
+ -1.9065695578827D-02 -4.2957158563769D-02 -5.2898259672306D-02
+ -3.0281901645903D-02 2.8911856791364D-02 0.11499204864178 0.18977750742460
+ 0.19585544951100 1.0152353653646D-01 -0.10589666081578 -0.40992402805470
+ -0.75307186042546 -1.0661060245688 -1.2703873204238 -1.2911660072993
+ -1.3487021310843 -1.6540360101652 -2.0077520781190 -2.2968988182863
+ -2.4785045963980 -2.5824128636670 -2.6472171845451 -2.7031392442827
+ -2.7605253125123 -2.8076946201068 -2.8210528804633 -2.8067915773528
+ -2.7773931035939 -2.7489711413900 -2.7394986521106 -2.7397265041353
+ -2.7374848956770 -2.7155120755653 -2.6766596689332 -2.6508316236172
+ -2.6443543966885 -2.6480313489954 -2.6578106690547 -2.6435652233588
+ -2.5855166122312 -2.5231264624947 -2.4792814333590 -2.4714031298653
+ -2.4916560672167 -2.5264650975159 -2.5657742963166 -2.5949906295292
+ -2.6068742175280 -2.6053394636489 -2.5968235254717 -2.5845284268690
+ -2.5696882853963 -2.5530052986323 -2.5354293419852 -2.5188902674693
+ -2.5070604039183 -2.5053606965941 -2.5186678503558 -2.5468978759337
+ -2.5853738069969 -2.6300465056385 -2.6788236503661 -2.7304932271401
+ -2.7837128446174 -2.8362378241071 -2.8843968305707 -2.9225994752101
+ -2.9430665217203 -2.9413545682782 -2.9211998364163 -2.8869908958771
+ -2.8407176177457 -2.7840420456004 -2.7215148599326 -2.6648846477949
+ -2.6356167788302 -2.6457899214639 -2.6903965841128 -2.7663653199305
+ -2.8787456270847 -3.0388176976969 -3.2510685360630 -3.4911036585587
+ -3.7306823955988 -3.9524975944327 -4.1380417049797 -4.2659272609713
+ -4.3231145112254 -4.3054055533514 -4.2561108954770 -4.2206439872377
+ -4.1773643718311 -4.0967672622989 -3.9368969520286 -3.6320762728436
+ -3.1435730050330 -2.5773642338666 -1.8695371193386 -1.2860724617688
+ -1.4093447613816 -1.4718107528773 -1.5091328485667 -1.5347303012469
+ -1.5647073718786 -1.6045655329999 -1.6489752341928 -1.6861467730692
+ -1.6956518236765 -1.6545346712708 -1.5434345335927 -1.3650087592486
+ -1.1464465137982 -0.91552091321359 -0.68041082463417 -0.42859431956199
+ -0.13474835399835 0.26925575828575 0.56489073013170 0.61253135808442
+ 0.53245641635047 0.34846121885936 5.9067828643430D-02 -0.36486972998426
+ -0.81908492397776 -1.1216181774265 -1.4195893720528 -1.6944785686852
+ -1.8966717608691 -1.9396117701369 -1.8573701719034 -1.6839864052501
+ -1.4243675721028 -1.1503911214001 -0.91428997754106 -0.70072877414672
+ -0.48663084477038 -0.26616772221524 -5.3221325523770D-02 0.14126815900079
+ 0.31721887370367 0.47696610329124 0.62199251762540 0.75362359433782
+ 0.87360045795505 0.98376245238760 1.0857149784023 1.1808738365091
+ 1.2707057553884 1.3568926600721 1.4412414300169 1.5254559638098
+ 1.6109778449810 1.6989752053872 1.7904434474937 1.8863396754327
+ 1.9877208296183 2.0958937508219 2.2125499246945 2.3396376360580
+ 2.4780052784213 2.6229109013266 2.7574196326102 2.8562019943862
+ 2.8938001247435 2.8850555386676 2.8604872279902 2.8243759432036
+ 2.7689417403075 2.6893536799392 2.5952603363356 2.4837599557618
+ 2.3783770608533 2.2510527457484 2.0405247355422 1.7251349319531
+ 1.1670403231354
+ 0. 1.5802302572153D-07 5.7069963910157D-07 7.7940136554712D-07
+ -1.7703733380665D-07 -2.5477484297924D-06 -4.6375102959028D-06
+ -3.0751305374653D-06 5.3091705573399D-06 1.9311050243774D-05
+ 2.8865578499373D-05 1.5869566866658D-05 -3.5517256003994D-05
+ -1.1625584456655D-04 -1.7012567574985D-04 -1.0045569664605D-04
+ 1.7627796459819D-04 6.1394829413314D-04 9.3498359021128D-04
+ 6.5607505265894D-04 -6.6140403972569D-04 -2.8201430432123D-03
+ -4.6107397637415D-03 -3.8227993844043D-03 1.5611213585976D-03
+ 1.0748927293257D-02 1.9438866462398D-02 1.8840762401958D-02
+ 1.6405951882016D-03 -3.0696468300108D-02 -6.7559000610181D-02
+ -8.0873472981014D-02 -4.2468183139054D-02 5.1509603117761D-02
+ 0.18840424168739 0.30114653510730 0.27263023028949 3.5692556267281D-02
+ -0.40933860578744 -1.0983513217255 -1.8605479739455 -2.3418146891555
+ -2.5940054827594 -2.7203453649576 -2.7893475261274 -2.8350306223681
+ -2.8604968212433 -2.8610537881284 -2.8453847573215 -2.8254943613685
+ -2.8155070489304 -2.8158335725472 -2.8210018805996 -2.8210481087844
+ -2.8067859838369 -2.7849883630759 -2.7611678823981 -2.7422548199317
+ -2.7264752951269 -2.7005833845924 -2.6647928648307 -2.6247339473002
+ -2.5836516108697 -2.5626556226744 -2.5696232104222 -2.5792898254338
+ -2.5790188978172 -2.5605977204202 -2.5288126006284 -2.4907081996041
+ -2.4525351676963 -2.4226176947891 -2.4036492001451 -2.3922500907977
+ -2.3846489873794 -2.3792790888576 -2.3757267046012 -2.3739408553437
+ -2.3738796571955 -2.3751979020650 -2.3768788272246 -2.3771201023918
+ -2.3741065869529 -2.3675735622262 -2.3588702647816 -2.3494456425471
+ -2.3404749480207 -2.3332503794016 -2.3295544210905 -2.3318304454388
+ -2.3430595868425 -2.3666543668237 -2.4060798097284 -2.4611431702877
+ -2.5275007009834 -2.6023245623537 -2.6847669901363 -2.7736595435395
+ -2.8646945736811 -2.9475561753288 -3.0075288228713 -3.0411464509684
+ -3.0549072138479 -3.0514708776892 -3.0283404975394 -2.9820499800213
+ -2.9238635979851 -2.8932936111395 -2.9257564147960 -3.0386748644280
+ -3.2400423828420 -3.5360230959409 -3.9095369271883 -4.3447402614058
+ -4.7852262321399 -5.1685893152822 -5.4977510032207 -5.7952965153202
+ -6.0690196381931 -6.2959487531157 -6.4258144350843 -6.5824623148409
+ -7.0850184662267 -8.1909001470997 -8.6516902100550 -8.9628429219971
+ -9.2200751447450 -9.4383612277552 -9.6338034062620 -9.8181481815925
+ -9.9950841339404 -10.1643099478567 -10.3233511918085 -10.4693915540858
+ -10.597014332723 -10.701225183159 -10.789712961981 -10.882991660901
+ -10.996994391529 -11.144959070990 -11.360407959790 -11.761845333316
+ -12.403880074282 -12.941932875699 -13.423839728425 -13.876078357836
+ -14.292449887291 -14.601033834677 -14.541112338961 -14.215833354755
+ -13.830993172124 -13.469938374523 -13.169178352991 -12.888979851756
+ -12.616790472627 -12.368253589380 -12.208691822690 -12.210642422702
+ -12.330021701845 -12.513828210259 -12.741429488509 -12.991973603807
+ -13.229605457212 -13.432768740033 -13.603359924047 -13.749867779235
+ -13.880019137854 -13.999667844871 -14.113009130538 -14.223091270660
+ -14.332205396811 -14.441976334743 -14.553272951675 -14.666255730052
+ -14.780726186718 -14.896575336361 -15.014042885904 -15.133762937917
+ -15.256729020927 -15.384277388455 -15.518129375981 -15.660487467585
+ -15.814095009246 -15.981854582373 -16.164680635914 -16.356044625741
+ -16.539915709800 -16.703054461280 -16.839593987439 -16.962201267848
+ -17.086071864574 -17.214660977395 -17.342175900063 -17.455062181226
+ -17.560087231370 -17.651007069202 -17.789225747865 -18.014121758876
+ -18.276899516528 -18.510640352853 -18.619433584504
+ 0. -0.31665089179323 -0.62560485808016 -0.89604947040570 -1.0903273250770
+ -1.2012847070346 -1.2391117065188 -1.2108195318027 -1.1289224843424
+ -1.0250283405441 -0.93742236752099 -0.88398499449588 -0.85787511228051
+ -0.84028461357744 -0.81205258836888 -0.76176839483625 -0.69672342026891
+ -0.64920421960559 -0.64547938164769 -0.66966228458159 -0.67716869713909
+ -0.64250645752463 -0.58199611734268 -0.53583598691464 -0.55995014249712
+ -0.63089918660057 -0.64205525452305 -0.53950638412855 -0.44414295925628
+ -0.48839517498616 -0.65063498616329 -0.70510798519976 -0.51167357530469
+ -0.31636297007309 -0.43149842819665 -0.80992170381716 -0.84465233728345
+ -0.38098918491483 -8.3136501246890D-02 -0.71327813589139 -1.2973589882800
+ -0.61607643399553 -1.6101459546490D-03 -3.6415985995789D-04 -0.89141827672323
+ -1.6361310420866 -1.7185633988328 -0.63630610349199 0.29452290025525
+ 0.73545169882607 -0.62550607224357 -1.6060829583129 -2.5293537497897
+ -2.5131014105307 -1.1134714495917 -7.9226865277512D-02 0.98760777882257
+ 0.88990027147034 -0.53776119865974 -1.7812372634666 -2.5746456526713
+ -2.9704839111316 -2.8457114901494 -2.1759756399459 -2.2443347392847
+ -2.3661658302073 -2.3301992296464 -1.8455969389118 -1.1007347422891
+ -0.47117206816090 9.8726218256945D-02 0.56833349268952 0.72939044139971
+ 0.70302500776068 0.71497446257070 0.77573917201228 0.85688473329305
+ 0.93770454771131 1.0022659947285 1.0330655678859 1.0047656067560
+ 0.88499945551776 0.67547395062720 0.46336560151930 0.32329646244916
+ 0.27277440674319 0.31377081297817 0.43640211290198 0.62093088870325
+ 0.84468150278223 1.0841472372142 1.3051422134696 1.4333134419500
+ 1.3789955149193 1.1609904728640 0.88172486088355 0.59928287908064
+ 0.29892505379816 -6.8464985353367D-02 -0.50805333773266 -0.69291490116569
+ -0.37922694202970 9.9786690115109D-02 0.56180689341459 0.94049364890143
+ 1.1213151811335 0.92345791424659 0.70775689185021 0.57317199961331
+ 0.35497721378613 -0.39935181606631 -1.0808687838222 -0.71406219273598
+ -4.5168465079211D-02 1.0380179063518 2.2190808407658 1.5087667323291
+ 0.93775626203906 0.16585025795466 -2.1081541958973 -1.4139021652511
+ -0.51892259396817 1.2540749799881 3.4601870918254 -0.29520169270284
+ 0.27918715368533 0.58638532889233 0.83398601426223 1.0692019890330
+ 1.3643428579251 1.7055079186004 0.47861398195112 -0.73528282619414
+ -0.60001450493090 1.0513399889292 2.4680255565142 3.5040804870714
+ 2.3822791169249 -0.91807802925995 -2.7135031070425 -4.1356721810913
+ -3.1696156529831 4.1555329970559 5.4998721453097 6.7626589355205
+ 6.8348402327645 0.64057046298247 -2.6795926741101 -1.9594657984623
+ 0.46379283354713 0.96869131293688 1.5259804612603 2.4761722902814
+ -0.53595590257234 -1.3643469326676 -0.98475143504902 -5.1084227321030D-02
+ 0.55123565737114 0.94775282504761 1.2087101601690 1.1210088064064
+ 0.93010694537884 0.72874144738828 0.52685227492767 0.32900848611499
+ 0.14187059333509 -2.6285322737855D-02 -0.17592034137660 -0.36735539730198
+ -0.76221525568827 -1.3291630498025 -1.9009815144814 -2.4327638857240
+ -2.8804231827130 -3.1218842696978 -3.0760703534725 -2.8452438075378
+ -2.5547203981889 -2.2464730369269 -1.9149519566149 -1.5410854910027
+ -1.1037745683677 -0.57967061681003 6.1551591018693D-02 0.83320485869344
+ 1.5035127481760 1.5833225534542 2.1300275395004 2.4292206427025
+ 1.8600142131509 1.1799556521749 0.45758037840640 -0.49481972305520
+ -3.8516971956000 -8.8676357494757 -0.89433746387242 -9.5528920893813D-02
+ 0.27909829844871 0.82314928049088 1.4991376416800 1.4260928221202
+ 0. 9.2179909638873D-02 0.17195011348956 0.19006251683731 8.9170923328124D-02
+ -0.13248059018984 -0.44004568444394 -0.79223589702996 -1.1314486235564
+ -1.3835130864790 -1.4948845261641 -1.4603294849797 -1.3200931934108
+ -1.1552110223395 -1.0492191882357 -1.0317924646275 -1.0644036163120
+ -1.0623572622475 -0.96700002684010 -0.80529230230382 -0.68371780951680
+ -0.70064700058139 -0.81857918670289 -0.88909268483940 -0.76861620027888
+ -0.54601051636430 -0.46039517451079 -0.66617858676753 -0.91491024812717
+ -0.82980112404642 -0.40833089997739 -0.18042881367744 -0.60619081200116
+ -1.1497748285476 -0.97109612592916 -7.6878808544312D-02 0.14592377979125
+ -0.86488603690549 -1.6679218767478 -0.54635914481823 0.71865919994902
+ -0.41042181463969 -1.6420181478092 -2.1407607937892 -0.91577014206578
+ 0.54605316015208 1.2915519822569 -0.37534070799279 -2.2287033268681
+ -3.8509727166041 -2.1531286334537 -0.44537927671957 1.3695140440417
+ 1.7897160982731 -0.21686988299255 -1.5964372431114 -3.0596106944950
+ -3.2621168865284 -2.0485576175435 -1.1665555397014 -0.61511554163276
+ -0.53768970129621 -1.2865036548770 -3.2657418951439 -2.6364175383447
+ -1.5545623817575 -0.54705168996697 -0.14965253057159 -0.60266768653945
+ -1.0994293151277 -1.5597568099146 -1.8983292045319 -1.7739564259802
+ -1.3562213049100 -0.99542304089276 -0.70729761119795 -0.44841671602062
+ -0.18984656837010 8.5833393458260D-02 0.39064533776424 0.73419694410473
+ 1.1181034083016 1.5065239982490 1.8169003870073 2.0030625071017
+ 2.0640158489079 2.0117411231813 1.8641950208398 1.6364610895120
+ 1.3338219320248 0.94889848133948 0.46795678654215 -4.3328271089112D-02
+ -0.31593721830935 -0.20018493222907 0.18553969266816 0.68940534553980
+ 1.2491868477325 1.8521362324785 2.3755306308969 2.2646539137693
+ 1.4625994445220 0.61811531120392 -4.6447461789040D-02 -0.46793905394050
+ -0.49055826884859 -0.12854118335556 -2.5620977970080D-02 4.2613540252982D-02
+ 0.23454963035688 1.1455269210400 2.3301841539486 1.8575129515460
+ 0.82208449487027 -1.0940635249611 -3.1909175740257 -1.4296874372891
+ -4.6224571019110D-02 1.6965671961053 5.3254822115465 2.7190003215135
+ 0.84302458630072 -2.5845536480513 -0.50497058119682 3.6523968313192
+ 1.9704207544998 1.1978210675081 0.54377502575350 -0.11033945483207
+ -0.95533911192708 -2.1994393416823 0.21405462925107 3.7531769482801
+ 4.8711010542356 2.3218948853626 -1.2753491455168 -4.7420976176559
+ -5.9425798696200 -1.5397306476199 2.7582213532140 6.2377883048995
+ 9.1180877765632 4.1024599870467 0.89431328201893 -2.4497284728195
+ -5.0138558717599 2.9140019290703 8.6769731719621 6.8864447884927
+ 0.83912782371694 -1.7166135174335 -3.7651446980981 -5.7370641202675
+ 2.7014200594178 5.0080812668084 5.2109818018859 4.1104261963939
+ 3.0015486496666 1.7748554335731 6.8419060360967D-02 -0.87161253615724
+ -1.2110869367153 -1.4016126945239 -1.5498152856871 -1.6968833670929
+ -1.8728519225435 -2.1078431554766 -2.4189403508190 -2.7007233995661
+ -2.5688097196552 -1.9728939760996 -1.2506776355162 -0.51639754707815
+ 0.15512171077237 0.56619454513261 0.54497918441797 0.19411192466706
+ -0.29112611518675 -0.80291800446544 -1.2984716720935 -1.7612494005854
+ -2.1870828512796 -2.5785813042648 -2.9240389182844 -3.0744071876413
+ -2.3050437139580 0.23346231163784 0.58157074512648 -1.5731694314014
+ -1.5722722299858 -1.3394285185262 -1.6071875708966 -2.0821938589043
+ 2.0942531092793 16.151820433931 2.4498725737931 -0.96752844692610
+ -2.9541424444418 -4.6995800780637 -6.1794816941742 -6.5199508268752
+ 0. -2.6844819801020D-02 -4.7435833745313D-02 -3.7744125815745D-02
+ 2.5296485582442D-02 0.12792302853830 0.23089960376483 0.28426499684145
+ 0.22611559797884 5.5273650283429D-03 -0.37457300475260 -0.85016841963360
+ -1.3114521561001 -1.6285816700867 -1.7240528926830 -1.6122279853716
+ -1.3899461730829 -1.2146448652325 -1.1895343101760 -1.2758254907502
+ -1.3209923591980 -1.1881095027291 -0.91713427051504 -0.69748592759754
+ -0.75407571583722 -1.0070391585915 -1.1318418357362 -0.86115151181200
+ -0.44732017315083 -0.40360613760364 -0.85812072761198 -1.2550868796891
+ -0.89336174916065 -0.19110717591790 -0.10795625852613 -0.94735615747069
+ -1.4571673115335 -0.77667507030935 1.6411260227727D-02 -0.34956388710903
+ -1.1311311442178 -1.2393126901554 -0.99609777064239 -0.12911226260917
+ 0.30383784282643 -0.36076903170079 -1.9839242026970 -2.3295076610946
+ -1.5986273471165 3.8266907278834D-02 0.20677992000278 -0.20140889318278
+ -0.78728778030964 -1.0913116419422 -1.0337144639546 -1.4830679168986
+ -2.3085472496909 -3.3587054893855 -2.9821334989358 -1.9750969144488
+ -1.2677858216446 -0.59342983045656 8.6796401026884D-02 0.78621169364931
+ 0.14138577057024 -0.78214980583340 -1.5987832222815 -2.0479593053169
+ -1.8938066758286 -1.6379617217447 -1.3613346666076 -1.0456548394704
+ -0.82461825134554 -0.75055848965395 -0.72120763573592 -0.70378439891754
+ -0.69319430507247 -0.68684049616799 -0.68072592428680 -0.66804878934582
+ -0.64021402533514 -0.59673089809982 -0.55513796101883 -0.49671650248591
+ -0.34859778198699 -8.3306713145755D-02 0.26871220267395 0.65827967496600
+ 1.0458411834663 1.4081979989590 1.7311210729692 1.9999006929949
+ 2.2167557715856 2.3671042933316 2.3291831608306 2.0908925159256
+ 1.7505724566178 1.3830498416288 1.0473351179253 0.88626978135404
+ 1.1464086829943 1.5568043180766 1.7089998138801 1.5688393115855
+ 1.0950941569403 7.7238320736680D-02 -0.74396606456193 -0.16634647348522
+ 0.50045539154421 1.1670435123997 1.5917434912296 0.39340888379570
+ 3.1342928649342D-02 0.21196358087485 1.0552725611397 2.4404737850524
+ 1.0130443200410 -4.3660548142942D-02 -1.3980257979689 -3.1909222665165
+ 0.43049519246490 2.0313185189440 4.3399335999899 -5.0776959590464
+ -2.9490237963839 -0.56988540874787 0.51302860331621 1.5219195846009
+ 2.5010525842350 3.5524248429492 5.5215582529087 4.8935706190398
+ 0.16566786264488 -4.0188405183812 -4.9359249499306 -3.2955486878832
+ 1.1143932420226 7.3248170397143 8.3505628725500 6.4417906506704
+ 3.0374777953574 -5.7125468155403 -4.5055921792374 -2.2406814231545
+ -5.8008659521363D-03 5.4174558845368 6.0688921216843 -0.32074384630712
+ -2.5902747126410 -0.78154269947020 2.5330365065142 5.1887281260817
+ 9.0757491525151 3.7539628284711 -0.35308909057310 -2.7234303143551
+ -3.2785934022223 -3.3001894352963 -3.2627059920697 -2.4214512849024
+ -1.1770303885513 -0.50513747224706 -7.8818517285909D-02 0.25393886902850
+ 0.55740908565253 0.87346240151434 1.2399852995597 1.6919347807468
+ 2.1935788984977 2.4589258838384 2.3321698157811 2.0174069550704
+ 1.5670004690759 0.91751822603457 8.7801540759151D-02 -0.69558595280337
+ -1.2376964078980 -1.5533322526008 -1.7285759452251 -1.8314455950811
+ -1.9052999991324 -1.9786454970903 -2.0768135194883 -2.2481626255161
+ -2.6716877234715 -3.9765795228493 -6.6883527981086 -6.2070441319849
+ -3.1370661825904 -2.4350664847175 -1.7134700444492 0.89874174473829
+ 5.9501784423902 8.4776526131328 -10.4679933546449 -9.4300552153332
+ -7.7481011134655 -6.9676264959110 -5.9714414617288 -3.9995346840756
+ 2.2997164773628
+ 0. 7.8210911639791D-03 1.3149673349456D-02 6.6880415785923D-03
+ -1.8753694221868D-02 -5.3015453305122D-02 -7.4654948217831D-02
+ -5.8751212808139D-02 1.7915294374923D-02 0.15639801247101 0.31447917511639
+ 0.41144634068309 0.34418429263508 3.5745036688334D-02 -0.49045434918615
+ -1.1137908063914 -1.6533980685940 -1.9329658809815 -1.9020993164772
+ -1.6517027194097 -1.3944646042618 -1.3454284701889 -1.4899832291407
+ -1.6157504048260 -1.4580497805448 -1.0626075167748 -0.72619131103173
+ -0.79155724078730 -1.1742615007236 -1.3524581965884 -1.0053838626725
+ -0.43440213951185 -0.40110986788748 -0.90974951335570 -1.3075144209497
+ -1.0362558559464 -0.52515286232133 -0.38926758523489 -0.46763240673512
+ -1.0013985501162 -2.0129093136392 -0.91442124360495 0.60801732470825
+ 0.63016274651016 -1.5315672487591 -2.7904522402972 -2.3632730007729
+ -0.65432489635647 0.42439108543351 0.87282006350177 0.19450061862391
+ -0.81531536505176 -2.1493695364544 -3.9921140081301 -3.6364416341146
+ -2.4057223080466 -0.58510700258992 0.58407329325789 -0.84066086423137
+ -2.1465756457738 -2.2521642221251 -1.7941072166859 -0.52047579006899
+ 1.3592503389039 0.84653372626595 0.30877689224410 -0.55898170682640
+ -1.2737404329029 -1.3213677003352 -1.1596446491227 -0.89511678209923
+ -0.61532063537501 -0.46834634042840 -0.53006138301904 -0.67743613661381
+ -0.83206968035581 -0.97844860163850 -1.1190712883979 -1.2614029953101
+ -1.4141808160612 -1.5752039744659 -1.6882786372457 -1.6107278900250
+ -1.3168078756252 -0.98601230816049 -0.71743817862118 -0.50903605801690
+ -0.32722730865967 -0.13070414308562 0.12716725506385 0.49984607819290
+ 1.0128240898870 1.5001859662686 1.7629625266389 1.9631552570885
+ 2.1647769641866 2.3211035578878 2.3795494524186 2.2365907638685
+ 1.7124450981660 0.99199665912375 0.64400084031988 0.77697419867804
+ 1.3368290446510 2.3033230765630 3.6045197517477 3.7937593869760
+ 2.3071030073382 0.95464663050544 -0.51670935273051 -2.1674441567538
+ -0.73340386564805 0.77814568249413 1.7136214336402 2.0805598401676
+ 0.47823539116027 0.17828659514103 0.21542918347580 0.57383987285961
+ 1.8546507562139 0.54106657315255 0.22950776740385 -4.6043833834664D-02
+ 2.5065822874862 3.7154341993999 2.9361935598012 2.5241868386089
+ 1.7439371728500 0.39501286316357 -1.0772379940299 -3.4758723816006
+ -6.2587745811530 -4.6757471906775 0.26217355421202 5.0775627697934
+ 7.2529981544443 6.7842315627199 2.3591787124172 -1.2099079491038
+ -0.41736221524004 1.3782922690745 6.7938650960605 2.8830146328073
+ 1.0866020737791 -6.6005452114805D-02 -4.6691374716529 -9.9629422924195
+ -3.3802043600534 6.7815695576103 9.9136443706100 6.8154989298865
+ 4.3379658591282 -3.6123461910742 -7.3112164918704 -4.0152471167087
+ -1.3708272913221 0.74717378209811 2.3713759651451 3.8972397023973
+ 4.5308861991957 3.4478501337947 2.7034977815999 2.2732845838664
+ 1.9942782395650 1.7875015560739 1.5968490354405 1.3599365178967
+ 0.98596988398751 0.35330767953147 -0.46464753821335 -1.0818491524352
+ -1.4190097334999 -1.5667791981886 -1.5720199683823 -1.4734987894700
+ -1.3473346694325 -1.2634371811072 -1.2404024186239 -1.2745092462567
+ -1.3652600949384 -1.5228131009172 -1.7725081538686 -2.1644156857161
+ -2.7918229687619 -3.7677539268515 -4.6907420576408 -4.3267700663897
+ -4.3758976959095 -1.2277223381792 0.95784952125589 2.4182101261893
+ 3.1378179780221 -2.4667291469162 -11.698214711037 -2.9338839681739
+ 2.7344417491770 1.1522082057131 -0.43478385836418 -1.4142590060311
+ -0.40537623363396 2.3918813165729
+ 0. -2.2796055085655D-03 -3.6658877472640D-03 -9.1191674072349D-04
+ 7.9616416998747D-03 1.8015889293903D-02 2.0287957574759D-02
+ 5.6435401472513D-03 -3.1083916994367D-02 -8.0905304901190D-02
+ -0.11452599066702 -8.9903286758590D-02 3.1257976142393D-02 0.24476475187240
+ 0.47230102762863 0.58187788648444 0.42168437483920 -8.0266274391863D-02
+ -0.82389638477225 -1.5969439716021 -2.1238894097210 -2.2324310039474
+ -1.9940789391922 -1.6288666246445 -1.4902984790322 -1.6634133577708
+ -1.9041277759096 -1.8242870586638 -1.3417426864213 -0.85649069110110
+ -0.76172720819012 -1.1402545720995 -1.4814295084303 -1.3724056571247
+ -0.90356864603834 -0.42914633358851 -0.32516227494998 -0.87153480145215
+ -1.8247191581198 -1.8041300095086 0.80168216613725 0.63129653326073
+ -1.7474071972363 -3.8073579054337 -2.3958691832597 -0.13255317266644
+ 1.6789394398661 0.91367455332823 -0.67795123120872 -2.7914054677048
+ -3.4140897380896 -2.7857235471360 -1.7408788312822 -0.49841138677526
+ -1.1643487458308 -2.2672943576338 -3.0797942743714 -1.6446846056285
+ 0.83696254630293 1.3690440955521 0.58342421022641 -0.65114577779345
+ -2.7327682306934 -3.4527487881775 -1.1009648983954 0.48625033744588
+ 1.9795457821105 2.3158628608327 1.5472373864871 0.68084182032977
+ -0.31450133400379 -1.3192532487983 -1.9688742280513 -2.0371494301100
+ -1.8700728694371 -1.6707526999105 -1.4752720400789 -1.2740358920031
+ -1.0423730650935 -0.74510108246689 -0.35138691378657 9.8393872509719D-02
+ 0.38511289081990 0.31489443287035 3.1874484387344D-02 -0.29135478663377
+ -0.59776412092234 -0.88789249474237 -1.1843233038528 -1.5164493865591
+ -1.9025548929491 -2.2684679131101 -2.2533325053858 -1.6812705286910
+ -0.96857158488540 -0.30331202647725 0.35259571114251 1.0989402135182
+ 2.0595509218025 3.2236389766745 4.0103315139528 4.1184319344468
+ 3.8161724301670 3.1182379574690 1.9059251032538 0.33742603829128
+ 2.4001597560570D-03 1.2075097367993 2.3421355373678 3.5681876115018
+ 4.6244636187421 2.5860635533330 0.53683773108580 -1.1039645381089
+ -2.3334062982864 -0.23679903554799 1.5306712781469 2.3381790711734
+ 2.9417558502727 1.6851421527248 0.53330521635732 -0.54057198870940
+ -2.6621852189873 9.2995377848523 0.43071721018474 -1.8520808652040
+ -2.8099361564137 -3.2826701142471 -2.8272697598091 -1.6406359359388
+ 0.61155650363564 5.6426151278214 7.8677777899625 7.2114284292431
+ 4.9985574257458 1.8852488686493 0.17666243249922 1.0257807688203
+ 1.7722221169289 0.78963117252831 -7.6635769512103D-02 -3.1776528361883
+ -1.7738255923103 -0.83973768983114 -0.40265485424649 1.5556349373944
+ 7.3588859009407 3.1367642419240 -3.6001743364121 -4.7351651823814
+ -1.4198780120457 0.90343761783522 6.3272864045860 7.8044258405785
+ 4.7557873464437 2.3450061358717 -0.12170600919694 -1.9883393776961
+ -3.5904249723075 -4.4185323472290 -3.3948806836074 -2.6323997288609
+ -2.1880590084723 -1.9106980497030 -1.7426440665789 -1.6627796907566
+ -1.6538350747842 -1.6898743138612 -1.7258254401261 -1.6845373698541
+ -1.5555721915764 -1.3838578961894 -1.1773879305421 -0.92996945664564
+ -0.63812707386770 -0.31867212471969 -1.0551891801313D-03 0.30413062830387
+ 0.60341631950937 0.90948658396785 1.2387808234177 1.6147677743537
+ 2.0769051111070 2.6964930691536 3.5588129428180 4.3744398226082
+ 4.2992669768156 3.9844577336082 1.5689924773027 -3.5761324863289
+ -7.7652874395288 -11.513058520781 -11.873811945828 -3.9194164814213
+ 2.1887625964016 2.3629150384814 3.1291373114611 3.9732582339227
+ 3.0436993793046 -2.3261965879258 -5.9220734152388
+ 0. 6.6472793583323D-04 1.0285871981308D-03 2.1859000026212D-05
+ -2.8589579688415D-03 -5.6198831143715D-03 -4.9994176496800D-03
+ 1.8589031716949D-03 1.5342424285440D-02 2.9454941705146D-02
+ 3.0949721076677D-02 4.5906001253808D-03 -5.6863926947028D-02
+ -0.13438387005859 -0.17606468015674 -0.11523190889795 9.7436639787281D-02
+ 0.42340791585577 0.71645066720201 0.77087316530344 0.38429709929146
+ -0.41874215012371 -1.4046336039316 -2.2705493966199 -2.6443335613994
+ -2.5074427847163 -2.0619122145283 -1.6701569044602 -1.7170462597794
+ -2.0433805678252 -2.2552377569338 -1.9694654127904 -1.2994277882902
+ -0.75347745294791 -0.64430502191465 -1.2293576387063 -2.0912066910016
+ -2.0047578213079 -0.66199598420055 1.0193452427986 -1.2024629325600
+ -3.3700070519489 -2.3939054044833 0.43712173548530 1.1723280982428
+ -1.9591718882085D-02 -2.0759802500076 -2.7461290830793 -2.5042296832440
+ -1.9752186657774 -2.0759774206589 -2.6293891730499 -3.0815780049175
+ -2.1104237757396 -0.40769468693510 0.62466997403572 0.74087533439396
+ -1.2105073081921 -2.8421918576015 -1.9356265981153 -0.51513038201941
+ 0.84471166124808 2.7005809614405 1.8227810013023 -0.75346191913046
+ -1.9939866531526 -2.5103366648729 -1.5798245614501 -0.30945863450755
+ 0.67098903654639 1.4719706208311 1.8856046137372 1.7592183646516
+ 1.2843831173110 0.81906629976656 0.42838903594092 7.9092581042751D-02
+ -0.26689841128537 -0.64441997785262 -1.0839659406030 -1.5947779806053
+ -2.1129281589307 -2.4328881359816 -2.4060343383680 -2.1879216297777
+ -1.9310542914336 -1.6722508790103 -1.3995243172157 -1.0860056155068
+ -0.70301412398877 -0.23249125365844 0.27667243488875 0.51746847588369
+ 0.24363941614605 -0.22217123920882 -0.67080331042016 -1.1021622875129
+ -1.5737915993511 -2.1095548093226 -2.4074905126122 -1.6793387967820
+ -0.27657462135419 1.1736434839677 2.5684454119323 3.8436939499036
+ 4.8973217120600 5.2016328149624 4.2491241884044 2.9336334701694
+ 1.4294697891745 0.21392941169270 1.0359218006705 2.0511618355026
+ 3.1402925933032 4.2464988703852 2.9065039735586 1.4719376498834
+ 0.60831352048413 -0.57566327506338 -1.2058470089761 -0.59745643319060
+ 0.80218776426134 5.8912905069386 -6.8835072253022 -5.2512813958984
+ -0.93693505722340 2.5263485019505 5.1249931172292 6.0978698896851
+ 6.1501054100949 6.0225270844431 4.2623304140021 1.1165545095063
+ -0.43924984604313 -0.12001293281542 0.86852184330555 1.1830774406272
+ 0.35225865837086 -0.61562186182173 -0.71034440740332 -0.82936902839014
+ -0.55440711096526 1.9294256706512 2.0489288311594 2.0733205574045
+ 1.5474713058225 -2.2190874873178 0.34679316135199 4.1054596986005
+ -0.48257120504544 -3.2601129525820 -4.4733437096867 -6.4380056707103
+ -0.42927134666042 2.9860303558687 4.3175750028931 4.4988419186928
+ 3.9487020796280 3.5362062741022 2.9401228466736 1.9830122857336
+ 1.4784714038987 1.2253741871087 1.0316797726610 0.82754296990083
+ 0.60967377680152 0.40681632190427 0.25078876004918 0.16251963518348
+ 0.14442149075530 0.15587420873066 0.17554734015636 0.20825739633845
+ 0.25745702769762 0.32447079250867 0.40745388816942 0.49810734446760
+ 0.58676965274849 0.66560390810124 0.72710828818940 0.76184309359692
+ 0.75495399351902 0.67671284560684 0.44829745959477 -0.19221713134462
+ -1.9636745824514 -5.4062076836019 -11.290333043730 -13.612632121943
+ -10.848406680873 -8.1367837744648 -3.1835163830893 1.8954095441850
+ -1.0718093567756 -5.9987316846277 -6.2403946206604 -3.5064745143820
+ 1.3605803569885 5.9124612783659 12.479841804450 9.8295775033396
+ 0. -1.9394617032817D-04 -2.9072080653954D-04 4.9035561387490D-05
+ 9.4678816050770D-04 1.6801873000318D-03 1.1562863311221D-03
+ -1.4399288706067D-03 -5.8136836188337D-03 -9.2601987575774D-03
+ -6.8771395774682D-03 5.8406899682505D-03 2.8530012248048D-02
+ 4.9350320278556D-02 4.5579846981819D-02 -5.6954267771191D-03
+ -0.10910845700539 -0.22107304560188 -0.25477654760726 -0.10998937073848
+ 0.25781495642820 0.71519201366982 1.0311859760396 0.90612043769534
+ 0.15166466819505 -0.98468939297230 -2.2411643787587 -3.1368237833496
+ -3.2969398821673 -2.9361722150249 -2.2363345030988 -1.6858416292315
+ -1.7893997398628 -2.3061843464322 -2.8296324901224 -2.5277826629604
+ -1.1588067438865 -7.7165868411570D-02 -0.40117760367539 -2.9408391460197
+ -3.5839057494943 -0.49474891833304 0.93520342475979 -0.10525442239852
+ -1.8306096173295 -2.7585520946187 -3.1837441762157 -3.5012244053830
+ -3.6732333988084 -3.0659590949379 -1.5374802382772 -0.47652510230980
+ 0.21453317494045 -0.27922786474350 -1.2163697844655 -1.5670091941877
+ -0.90077516317177 1.1678059602872 2.1738881003919 0.99800563987800
+ -0.13101061866738 -1.0249859564944 -2.0953737465446 -0.54084558316716
+ 1.1128024356369 1.5947799976100 1.0966803192700 -0.45154481218421
+ -1.5453315793480 -2.1349419162986 -2.2788762979402 -1.8588829218342
+ -1.0806537383145 -0.39138124716921 5.6429387151055D-02 0.36461114302602
+ 0.61443230167353 0.84990507059525 1.0924397451013 1.3375815047765
+ 1.5330292761918 1.5541261609804 1.2599100964351 0.73989993377003
+ 0.23213974342439 -0.19117491881335 -0.55394107438772 -0.88826574489306
+ -1.2165565572809 -1.5525353749908 -1.9113627893907 -2.2956605845392
+ -2.5456912659353 -2.4552106138636 -2.1873466443887 -1.8744123628208
+ -1.5121719126055 -1.0525504248475 -0.46537031635671 7.2594628384685D-02
+ -1.4378151823272D-02 -0.57001540617836 -1.1585826889636 -1.7127993277198
+ -2.0741958409660 -1.6952787593444 0.18285647702731 2.1786747757116
+ 3.4710312031214 4.4188802909561 5.5665521843326 5.6067692016833
+ 4.8121297488780 3.6986634864761 2.4437337947725 1.9680170949523
+ 1.3883614818937 0.68736611139774 0.69370088287076 2.5361964540667
+ 4.2210016487732 4.7956101429987 -0.89038756614175 -5.1674244762106
+ 8.8252449539594 8.3842246802290 7.6586799671932 6.0846760997304
+ 3.9456264957410 2.0974683373631 0.64129389646326 -0.27252400885523
+ -0.94700965843667 -1.9256091906420 -2.7238337534056 -2.9291687656146
+ -2.6782427310628 -2.0253166969785 -1.0955347551042 -0.23666378001177
+ 1.0651588054919 5.3220836411555 3.5177136350495 2.5925356222144
+ 2.2878629819759 2.2022084220825 -8.2504724584335D-02 -4.6690611833327
+ -7.4226088312430 -2.1472654456157 -0.22012853686234 0.79442730848039
+ 2.2828706925361 -0.74566835843722 -2.1520308579764 -2.8933103982387
+ -3.3719213035839 -3.6488119621859 -3.3091270521490 -2.0661043133247
+ -1.4114707863287 -1.4041023208960 -1.4854048459706 -1.5854959864434
+ -1.7069031584416 -1.8129439389813 -1.8591789755200 -1.8355227832071
+ -1.7626668843377 -1.6656655438347 -1.5666634783352 -1.4735625132907
+ -1.3849858089604 -1.2989524346359 -1.2134174049798 -1.1264513771504
+ -1.0373974774132 -0.94593348027404 -0.85129341315789 -0.75244595932336
+ -0.64787214668344 -0.53431028041387 -0.40409062738336 -0.24281159854384
+ -5.4092129448369D-02 -9.8222479892383D-02 -1.3527210397659 -5.3805446481839
+ -8.9243471936943 -8.1464493062645 -6.9886964335626 -5.4521456031789
+ -3.4645037152711 -4.4872771099784 -7.2195586368398 -10.1906829337223
+ -11.472753981963 -10.3985163434334 -9.9613436678972 -11.810873877562
+ -0.89085395278977
+ 0. 5.6712358110897D-05 8.2955224898321D-05 -2.6244534858467D-05
+ -2.9946285614068D-04 -4.9301247742101D-04 -2.5889293997902D-04
+ 6.2492587958062D-04 1.9579671414036D-03 2.7196380838490D-03
+ 1.2840946573651D-03 -3.5297375650452D-03 -1.0777433484906D-02
+ -1.5336544913519D-02 -9.0937363665463D-03 1.4234849950616D-02
+ 5.1225296371585D-02 7.8932446805718D-02 6.1534134940900D-02
+ -3.3842777903998D-02 -0.19866944876334 -0.34172709567544 -0.33679753608894
+ -3.9806480007864D-02 0.52249803623088 1.0846057541003 1.3800780726755
+ 0.94536217695399 -0.23377653435550 -1.7862197699660 -3.3877764310107
+ -4.3900064781627 -4.4592035602612 -3.8191378810047 -2.4922015846731
+ -1.2969111857891 -1.5357739920690 -2.8453923631813 -4.0146777842921
+ -2.9144679889607 1.1524657871134 2.4245994024961D-02 -2.7996842894391
+ -4.7486106995543 -5.0535575470621 -4.5694304178533 -3.2472236058681
+ -1.6799839807261 -0.68711885866407 -0.31452612325865 -0.72960333782194
+ -1.0901821386797 -1.1459658946009 -0.19795191193468 0.61211463529617
+ 0.87880726197793 0.48584233151419 -0.60784651884107 -0.91937052622617
+ -1.5672302987963D-02 0.60924059092151 1.0320779422839 1.3780816350962
+ -0.31457742596999 -1.2177041556262 -1.2579819589231 -0.55072908513836
+ 0.58315713092397 1.2247761756419 1.5105599740415 1.3388447406922
+ 0.68521492070497 -6.6252832947581D-02 -0.54976292578949 -0.80184707180640
+ -0.95623770697341 -1.0751900414258 -1.1799910195512 -1.2678470206331
+ -1.3081480275361 -1.2341159020813 -0.96189282382013 -0.49259549242587
+ -1.5193676455203D-02 0.33349182056645 0.58161049880726 0.77955579275072
+ 0.95239436313536 1.0998513009462 1.1983864553262 1.2035016244272
+ 1.0294365067308 0.55020507844736 -9.3279363118755D-02 -0.64824887586179
+ -1.1066883983757 -1.5289277009088 -1.9598259363197 -2.4324213359123
+ -2.9124453774937 -3.0585162761986 -2.8380266005638 -2.5192155982769
+ -2.1378776147273 -1.6611329801367 -1.1337120294820 -0.80754674138336
+ -0.67981743980454 -0.61866054548253 -0.53144923458139 5.0310814753598D-02
+ 1.5374606000463 2.5491238966003 3.0568151964209 3.9862645685742
+ 5.4462954350178 6.2528915970255 6.9370220869591 7.4892736078087
+ 6.3221361437519 1.9040990713812 -3.3263341378190 -4.2964372385148
+ 18.224891278358 3.7653019426322 0.91293796204478 0.23055894763185
+ 0.83919775425545 1.7644607733886 2.4456577627444 2.9423656513392
+ 3.3957137924668 3.8854220014156 4.3015996678608 4.1308053649668
+ 3.0912600771416 1.4965724265083 -0.14128667211691 -1.7976590815579
+ -3.2495681420893 -4.8380594914289 -8.4862537789592 -4.0156481005422
+ -2.2349753502059 -1.4707980193132 -0.70966146440879 2.9179731511849
+ 7.2297211558969 6.3128605427351 1.4210081848315 -1.1745465745682
+ -3.1090517596262 -4.8140186028528 -4.9568001384477 -4.8375362079497
+ -5.1942652172535 -5.3059746416757 -3.9588999060836 -2.6460863229284
+ -1.8932832246585 -1.1363203470113 -6.9055781996416D-02 0.85813625333137
+ 1.4647067883996 1.8486998785355 2.0707371083406 2.1523301769933
+ 2.1312385018011 2.0560529121579 1.9601368027254 1.8616005349069
+ 1.7681817041426 1.6837230491291 1.6133663181154 1.5630624051568
+ 1.5386694310255 1.5440433032093 1.5799025535170 1.6458166148147
+ 1.7419591665479 1.8703101249337 2.0367542707912 2.2551038523877
+ 2.5514421639740 2.9500743027590 3.3487147125704 3.2306673930422
+ 1.5540957111083 -1.6969320044452 -2.2525635643815 -1.8423033876533
+ -1.4801683158526 -2.8510908609852 -3.8585029857831 -4.7784903590248
+ -4.3620823761830 -0.70005098981265 -0.18588861086963 -1.8595663792360
+ -6.0490399206699 -15.972425346944
+ 0. -1.6935120910855D-05 -2.4355448869873D-05 1.0214545539593D-05
+ 9.3704959829959D-05 1.4656089370996D-04 5.9585403279205D-05
+ -2.2828563558882D-04 -6.3048258535348D-04 -7.9384751297079D-04
+ -2.0191704848745D-04 1.4445184247472D-03 3.6499386491910D-03
+ 4.5230082885240D-03 1.4158141790013D-03 -7.2215506049745D-03
+ -1.8962439159876D-02 -2.4554987417421D-02 -1.1531717583239D-02
+ 2.8969471981303D-02 8.6353191835710D-02 0.11940628596308 7.7530372969582D-02
+ -8.6109646822652D-02 -0.32038994312953 -0.48297554668126 -0.41376073070684
+ 8.7544103450846D-02 0.82583919031468 1.5171555889654 1.7999392651583
+ 0.97369183797339 -0.82492160558714 -2.9943477621232 -5.2597112477557
+ -6.6897110425110 -6.8098141283832 -5.4480357541515 -2.4323249922659
+ 1.0586780709789 -4.1717878105910 -7.1615840684585 -6.6713394459272
+ -4.7095831372510 -2.7057431566772 -1.5758979324660 -1.1237739684868
+ -1.1430878856349 -1.1153625964191 -0.65934428822942 6.7063637328586D-02
+ 0.46745185455652 0.66514886273584 0.37256067032537 5.6205012563825D-02
+ -3.0833636008203D-02 0.18915603830327 0.68149144780213 0.75035202096680
+ 0.28192862088464 1.0454197753013D-02 -0.14940436841198 -0.18566853075695
+ 0.90793308088969 1.2817812409062 1.1413424839679 0.54197800752341
+ -0.18631431919530 -0.57878305630584 -0.78542971617063 -0.73062685903448
+ -0.41359293804405 -7.8585453858958D-02 0.11663463332284 0.21417906434330
+ 0.27395432125082 0.31753882676838 0.34685164968225 0.35004434767805
+ 0.29936363252097 0.15506591699028 -0.10523669647349 -0.42681710596512
+ -0.68425305421472 -0.84115549766653 -0.93922779614733 -1.0081447849136
+ -1.0544241440655 -1.0670526066683 -1.0218164176482 -0.88629777220019
+ -0.61424629527964 -0.18610215831051 0.23752590974403 0.55353429243745
+ 0.80901591270670 1.0374454887106 1.2157366068189 1.2484744252482
+ 0.93737169494755 0.18895747899035 -0.56986832014602 -1.2031669812118
+ -1.8526351696572 -2.6840536710101 -3.7456410256226 -4.6456587605252
+ -4.8620288905090 -4.6678032900898 -4.1456428584320 -3.1911474128263
+ -1.8919136868158 -0.36164916844308 0.91551555160526 0.86009164643500
+ 0.67928366525604 1.1338135152233 2.2268588310571 4.3839067450055
+ 8.2031240201439 10.680988222651 12.236695204500 17.105809072781
+ -2.0393788649855 -1.6455918067978 -0.95209275871614 -0.57612026781914
+ -0.51085380784099 -0.70457155078031 -0.86978678828687 -0.87079064905899
+ -0.54300459781900 0.24004777243536 1.4775541837312 2.9587743087869
+ 4.0780646482726 4.5643981415335 4.6451923549469 4.8078631623711
+ 5.3381649559100 6.6190463358407 9.5851106754400 2.6218958873385
+ -0.45161160742892 -2.6856928410360 -4.6519559133474 -7.1841209257171
+ -9.6566891700270 -7.0417161030285 -5.7799080779789 -5.9658872488212
+ -4.8899821742391 -2.8521773988694 0.71959591076055 2.5353397550663
+ 4.4195892113051 5.6789769023493 5.1019654314129 4.4153683731795
+ 4.2132931668784 4.3695267074836 4.3921794195618 4.0873698425565
+ 3.6959943412670 3.3505806598165 3.0438158598982 2.7614486456923
+ 2.5097682470635 2.2955632737371 2.1162392885647 1.9664877025709
+ 1.8446893160209 1.7542323696041 1.6993547178517 1.6803318504466
+ 1.6930564759992 1.7316740720047 1.7914924542285 1.8703824307151
+ 1.9689395851167 2.0906098030338 2.2419491791518 2.4311336106748
+ 2.6566436987408 2.8651220798125 2.8735214154647 2.4206441650143
+ 1.4383711788192 0.12022528668739 -0.37028566218097 -0.60218675823008
+ -0.86932525926713 -1.3780328583115 -1.7540762797348 -2.0592227285735
+ -2.2487653229831 -2.0526998547299 -3.3069839488724 -5.1171828083666
+ -7.9671793462494 -14.569236016742
+ 0. 6.2361988847775D-06 8.8832039946854D-06 -4.2452013283899D-06
+ -3.5345797089676D-05 -5.3704454955491D-05 -1.8098714883699D-05
+ 9.2612554221293D-05 2.4060850206718D-04 2.8577068557442D-04
+ 3.2893620921557D-05 -6.1346562689605D-04 -1.4213651627141D-03
+ -1.6186301886422D-03 -1.9811861747199D-04 3.3057490466015D-03
+ 7.6523572505207D-03 8.9185702042367D-03 2.2498832965706D-03
+ -1.5109969424202D-02 -3.7060320833782D-02 -4.5256572897707D-02
+ -1.8769626713694D-02 5.8359398740988D-02 0.15410219110751 0.19993891110315
+ 0.11655057562891 -0.16886551216341 -0.51215436754900 -0.75134875218069
+ -0.62424453637590 0.20002682061371 1.3375752428879 2.3966545337977
+ 2.8639466191816 1.2064191958602 -2.5809510889567 -6.8504289193381
+ -11.048610603274 -16.418894303598 -12.622618686794 -6.9337286514049
+ -3.5054104826925 -1.7743921870820 -1.0987596675089 -0.73235805619383
+ -0.25465835656099 0.19094484741785 0.39951267481088 0.33670627953372
+ 7.5695109961151D-02 -7.2587182878952D-02 -0.10588923957160 0.15653656084583
+ 0.38046678089235 0.47672919762638 0.44827900297453 0.31272718257228
+ 0.37686261048692 0.64427144447158 0.76878444904888 0.82674330322785
+ 0.76858650832080 1.0551521675015D-02 -0.21089361833276 -0.13523944237825
+ 0.17914508768187 0.53394031015790 0.71495750535208 0.79066087938340
+ 0.70363975788318 0.48475559053563 0.28770430467365 0.18152042516768
+ 0.12719007558199 8.8752188160985D-02 5.3413768840485D-02 1.8061506293630D-02
+ -1.4599527400240D-02 -3.4816524225878D-02 -2.6173490532639D-02
+ 2.3238302410962D-02 9.8258789156752D-02 0.15781332540568 0.18545395322751
+ 0.18777298898239 0.16687578218741 0.11623126675692 2.3407743968788D-02
+ -0.12445876732106 -0.33596262142911 -0.62081643082461 -0.95641385300711
+ -1.2285713339652 -1.4166222355217 -1.5743031016172 -1.7204529884412
+ -1.8219000198877 -1.7857238382849 -1.4719040475871 -0.91710735714090
+ -0.45493032754679 -1.0404181226277D-01 0.25068365644825 0.69099586370401
+ 1.1337206277347 1.0397377143334 6.5632955733993D-02 -1.4204756523224
+ -3.1139980801374 -4.9934680037788 -6.7507493514365 -8.1636464937711
+ -9.0474336428260 -8.3268563539106 -7.0398117436789 -6.2120651578906
+ -5.7187821216184 -5.1702393399205 -3.5980042540973 -2.1454808483676
+ -5.0193492339945 -17.757591665724 -14.236554818726 -6.9791295056869
+ -5.6165853197564 -4.7094397697627 -4.0816560296426 -3.7755384094855
+ -3.6086282078142 -3.4681064162194 -3.2907610708824 -3.0628140404844
+ -2.7601778681961 -2.3226659308622 -1.8704721753130 -1.7459560208235
+ -2.0379179676747 -2.5554994459064 -3.4667097907147 -5.4441080067893
+ -12.024974173908 -11.724681730314 -10.0428980770265 -9.3158021318626
+ -8.7503631604415 -7.7599083930253 -3.6713414231474 5.4109294538863
+ 7.2499464067650 7.7995376885342 6.5354421189408 5.6812023135666
+ 5.5258990767079 5.3207049867330 4.4087249334627 1.6290799710316
+ -1.4665709503554 -3.1341229410973 -4.1611611204019 -4.8823353895888
+ -5.0031494340773 -4.4289893740382 -3.7114036000483 -3.1423574211946
+ -2.7439056429043 -2.4815654106391 -2.3181737792900 -2.2255009226010
+ -2.1853967086701 -2.1846331619622 -2.2090952119261 -2.2431751273179
+ -2.2753070240663 -2.3030625683424 -2.3316952556129 -2.3691366392484
+ -2.4229845612782 -2.5000986966719 -2.6075388629200 -2.7538481438210
+ -2.9496909157069 -3.2048674990002 -3.5105553694923 -3.7826650014692
+ -3.8122255768481 -3.4986673141752 -3.0049952313035 -2.5075633106009
+ -2.4441627625993 -2.5203355844047 -2.6134346001400 -2.4026847160475
+ -2.1816611439935 -1.8692835124155 -2.1018584103245 -3.5942165695008
+ -5.1699517055628 -5.1296819288779 -3.9993015770699 0.40600106860159
diff --git a/modules/graphics/demos/anim/anim7/anim7.sce b/modules/graphics/demos/anim/anim7/anim7.sce
new file mode 100755
index 000000000..3ba0614cf
--- /dev/null
+++ b/modules/graphics/demos/anim/anim7/anim7.sce
@@ -0,0 +1,108 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the dynamic of a chain
+// =============================================================================
+
+function demo_anim7()
+
+ // compute color of a set of facets, relative to the distance to the origin
+ function [colors] = computeFacetsColor(xx, yy, zz, colormapSize)
+ nbFacets = size(xx);
+ colors = zeros(nbFacets(1), nbFacets(2));
+ for i=1:nbFacets(1)
+ for j=1:nbFacets(2)
+ colors(i,j) = norm([xx(i,j), yy(i,j), zz(i,j)]) * colormapSize / 15;
+ end
+ end
+
+ endfunction
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+ demo_viewCode("anim7.sce");
+
+ show_window(); //raise the graphic window
+
+
+ //Create the data
+ //---------------
+ colormapSize = 128;
+ n=60;
+ U = linspace(0,3*%pi,n);
+ v = linspace(0,2*%pi,20);
+
+ u = U(1:20);
+ X = (cos(u).*u)'*(1+cos(v)/2);
+ Y = (u/2)'*sin(v);
+ Z = (sin(u).*u)'*(1+cos(v)/2);
+
+ curFig.color_map = coppercolormap(colormapSize);
+
+ [xx,yy,zz]=nf3d(X,Y,Z);//build facets
+
+
+ // generate colors
+ // colors depending on z, between 1 and colormap size
+ facetsColors = computeFacetsColor(xx, yy, zz, colormapSize);
+
+
+ //Creates and set graphical entities which represent the surface
+ //--------------------------------------------------------------
+
+ plot3d(xx,yy,list(zz,facetsColors)) //creates a Fac3d entity
+ e = gce();
+ data=e.data;
+ title("shell","fontsize",3)
+
+ curAxe=gca();
+ // set 3D boundaries
+ curAxe.data_bounds=[-15 -5 -10; 10 5 12];
+ //set view angles
+ curAxe.rotation_angles=[103 138];
+ curAxe.isoView = "on";
+
+
+ //animation loop
+ //--------------
+ //use realtime to slow down the loop
+ K=20:4:n;
+ realtimeinit(0.1);//set time step (0.1 seconds) and date reference
+ for k=2:size(K,"*")
+
+ if ~is_handle_valid(curFig) then
+ break;
+ end
+
+ realtime(k);
+
+ //compute more facets
+ u=U(K(k-1):K(k));
+ X= (cos(u).*u)'*(1+cos(v)/2);
+ Y= (u/2)'*sin(v);
+ Z= (sin(u).*u)'*(1+cos(v)/2);
+ [xx,yy,zz] = nf3d(X,Y,Z);//build facets
+
+ //append new facets to the data data structure
+ data.x=[data.x xx];
+ data.y=[data.y yy];
+ data.z=[data.z zz];
+ data.color = [data.color, computeFacetsColor(xx, yy, zz, colormapSize)];
+
+ if is_handle_valid(e) then
+ e.data = data;// update the Fac3d entity
+ end
+
+ end
+
+endfunction
+
+
+demo_anim7();
+clear demo_anim7;
diff --git a/modules/graphics/demos/anim/anim7/anim7_gateway.sce b/modules/graphics/demos/anim/anim7/anim7_gateway.sce
new file mode 100755
index 000000000..e3a795f1c
--- /dev/null
+++ b/modules/graphics/demos/anim/anim7/anim7_gateway.sce
@@ -0,0 +1,12 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the dynamic of a chain
+// =============================================================================
+
+demo_run("SCI/modules/graphics/demos/anim/anim7/anim7.sce");
diff --git a/modules/graphics/demos/anim/anim8/anim8.sci b/modules/graphics/demos/anim/anim8/anim8.sci
new file mode 100755
index 000000000..8caea99f4
--- /dev/null
+++ b/modules/graphics/demos/anim/anim8/anim8.sci
@@ -0,0 +1,220 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2010 - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+funcprot(0);
+
+function demo_riemann()
+
+ global quit_var;
+ global pause_var;
+
+ quit_var = 0;
+ pause_var = 0;
+
+ // Figure creation
+ // =========================================================================
+ my_handle = scf(100001);
+ clf(my_handle, "reset");
+
+ // Add "see code" menu item
+ // =========================================================================
+ demo_viewCode(SCI+"/modules/graphics/demos/anim/anim8/anim8.sci");
+
+ // Drawlater
+ // =========================================================================
+ my_handle.immediate_drawing = "off";
+
+ // Colormap
+ // =========================================================================
+ my_handle.color_map = rainbowcolormap(128);
+
+ // Compute
+ // =========================================================================
+ [z,s] = cplxroot(4,35);
+
+ // Draw
+ // =========================================================================
+ cplxmap(z,s,163,69); //draw
+
+ // Adjust some graphical parameters
+ // =========================================================================
+ my_axe = gca();
+ my_fac3d = gce();
+
+ my_handle.axes_size = [ 600 650 ];
+
+ my_handle.background = -2; // white
+ my_axe.background = -1; // gray
+ my_axe.foreground = 14; // white
+ my_fac3d.color_mode = 1; // no lines
+
+ // Drawnow
+ // =========================================================================
+ my_handle.immediate_drawing = "on";
+
+ // Stop => Pushbutton
+ // =========================================================================
+
+ my_quit_button = uicontrol( ..
+ "parent" , my_handle, ..
+ "style" , "pushbutton", ..
+ "string" , "QUIT", ..
+ "units" , "pixels", ..
+ "position" , [ 350 15 100 30 ], ..
+ "background" , [0.9 0.9 0.9], ..
+ "Relief" , "groove", ..
+ "callback" , "quit_riemann", ..
+ "tag" , "pushbutton_bac" ..
+ );
+
+ my_pause_button = uicontrol( ..
+ "parent" , my_handle, ..
+ "style" , "pushbutton", ..
+ "string" , "PAUSE", ..
+ "units" , "pixels", ..
+ "position" , [ 150 15 100 30 ], ..
+ "background" , [0.9 0.9 0.9], ..
+ "Relief" , "groove", ..
+ "callback" , "pause_riemann", ..
+ "tag" , "my_pause_button" ..
+ );
+
+ my_play_button = uicontrol( ..
+ "parent" , my_handle, ..
+ "style" , "pushbutton", ..
+ "string" , "PLAY", ..
+ "units" , "pixels", ..
+ "position" , [ 150 15 100 30 ], ..
+ "background" , [0.9 0.9 0.9], ..
+ "callback" , "play_riemann", ..
+ "Relief" , "groove", ..
+ "visible" , "off", ..
+ "tag" , "my_play_button" ..
+ );
+
+ realtimeinit(0.01);
+
+ my_rotation_dir = [0 1];
+ my_counter = 0;
+
+ for k = 1:10000
+
+ if quit_var == 1 then
+ if isHandleExistAndValid("my_handle") then
+ delete(my_handle);
+ end
+ return;
+ end
+
+ if pause_var == 1 & ~isHandleExistAndValid("my_handle") then
+ return;
+ end
+
+ realtime(k);
+
+ if isHandleExistAndValid("my_pause_button") & ..
+ isHandleExistAndValid("my_pause_button") & ..
+ isHandleExistAndValid("my_quit_button") & ..
+ isHandleExistAndValid("my_handle") then
+
+ if pause_var == 1 then
+ my_play_button.visible = "on";
+ my_pause_button.visible = "off";
+ end
+
+ if pause_var == 0 then
+ if my_pause_button.visible == "off" then
+ my_play_button.visible = "off";
+ my_pause_button.visible = "on";
+ end
+
+ my_axe.rotation_angles = my_axe.rotation_angles + my_rotation_dir;
+ my_counter = my_counter + 1;
+ end
+
+ if modulo(my_counter,720) == 0 then
+ my_rotation_dir = [0 1];
+ elseif modulo(my_counter,360) == 0 then
+ my_rotation_dir = [1 0];
+ end
+ else
+ quit_var = 1;
+ end
+ end
+
+endfunction
+
+
+function cplxmap(z, w, varargin)
+
+ //cplxmap(z,w,T,A,leg,flags,ebox)
+ //cplxmap Plot a function of a complex variable.
+ // cplxmap(z,f(z))
+
+ x = real(z);
+ y = imag(z);
+ u = real(w);
+ v = imag(w);
+
+ my_handle = gcf();
+ my_color_map = my_handle.color_map;
+ ncols = size(my_color_map, "r");
+
+ [X, Y, U] = nf3d(x, y, u);
+ [X, Y, V] = nf3d(x, y, v);
+ Colors = sum(V, "r");
+ Colors = Colors - min(Colors);
+ Colors = int((ncols-1) * Colors / max(Colors) + 1);
+
+ plot3d(X, Y, list(U, Colors), varargin(:));
+
+endfunction
+
+function [z, s] = cplxroot(n, m)
+
+ //cplxroot(n,m,T,A,leg,flags,ebox)
+ //CPLXROOT Riemann surface for the n-th root.
+ // CPLXROOT(n) renders the Riemann surface for the n-th root.
+ // CPLXROOT, by itself, renders the Riemann surface for the cube root.
+ // CPLXROOT(n,m) uses an m-by-m grid. Default m = 20.
+ // Use polar coordinates, (r,theta).
+ // Cover the unit disc n times.
+ // Copyright INRIA
+
+ [lhs, rhs] = argn(0);
+
+ if rhs < 1, n = 3; end
+ if rhs < 2, m = 20; end
+
+ r = (0:m)'/m;
+ theta = - %pi*(-n*m:n*m)/m;
+ z = r * exp(%i*theta);
+ s = r.^(1/n) * exp(%i * theta/n);
+
+endfunction
+
+function quit_riemann
+ global quit_var;
+ quit_var = 1;
+endfunction
+
+function pause_riemann
+ global pause_var;
+ pause_var = 1;
+endfunction
+
+function play_riemann
+ global pause_var;
+ pause_var = 0;
+endfunction
+
+function bOK = isHandleExistAndValid(handleName)
+ bOK = is_handle_valid(evstr(handleName)) & (type(evstr(handleName)) == 9) & exists(handleName);
+endfunction
+
+funcprot(1);
diff --git a/modules/graphics/demos/anim/anim8/anim8_gateway.sce b/modules/graphics/demos/anim/anim8/anim8_gateway.sce
new file mode 100755
index 000000000..5d847a3ee
--- /dev/null
+++ b/modules/graphics/demos/anim/anim8/anim8_gateway.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the dynamic of a chain
+// =============================================================================
+
+exec("SCI/modules/graphics/demos/anim/anim8/anim8.sci");
+demo_riemann();
+clear demo_riemann;
diff --git a/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci b/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci
new file mode 100755
index 000000000..03aae0b0a
--- /dev/null
+++ b/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci
@@ -0,0 +1,35 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+//
+//
+function demo_bubbleSort()
+ function res=bubbleSort(in, polyline)
+ for (i = 1:size(in, "*"))
+ for (j = 1:i)
+ if (in(i) < in(j))
+ tmp = in(j);
+ in(j) = in(i);
+ in(i) = tmp;
+ polyline.data(:,2) = in';
+ end
+ end
+ end
+ res = in;
+ endfunction
+
+ nbValues = 200;
+ x = floor(rand(1, nbValues) * nbValues);
+ scf()
+ demo_viewCode(SCI+"/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci");
+ plot(x, "diamond-");
+ a = gca();
+ e = a.children(1).children(1);
+ x = bubbleSort(x, e);
+endfunction
diff --git a/modules/graphics/demos/anim/bubbleSort/bubbleSort_gateway.sce b/modules/graphics/demos/anim/bubbleSort/bubbleSort_gateway.sce
new file mode 100755
index 000000000..1698a8ecf
--- /dev/null
+++ b/modules/graphics/demos/anim/bubbleSort/bubbleSort_gateway.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// Demonstrate animation based on the dynamic of a chain
+// =============================================================================
+
+exec("SCI/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci");
+demo_bubbleSort();
+clear demo_bubbleSort;
diff --git a/modules/graphics/demos/bar/bar.dem.sce b/modules/graphics/demos/bar/bar.dem.sce
new file mode 100755
index 000000000..7bb4dcfd8
--- /dev/null
+++ b/modules/graphics/demos/bar/bar.dem.sce
@@ -0,0 +1,81 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+//===========================================================
+// Demo of bar()
+// Date : 6/12/2007
+//===========================================================
+
+function demo_bar()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("bar.dem.sce");
+
+ // Parameters
+
+ x=[1 2 3 4 5 6 7 8 9 10 11 12];
+ y=[ 13702 16902 22765 ; ..
+ 13758 19959 21321 ; ..
+ 16944 23254 24971 ; ..
+ 16324 18323 21325 ; ..
+ 15399 19648 24176 ; ..
+ 14988 17160 22978 ; ..
+ 10275 10996 25754 ; ..
+ 10195 14316 25128 ; ..
+ 14899 18410 33430 ; ..
+ 18884 23924 49388 ; ..
+ 16919 21535 43048 ; ..
+ 14759 19979 33706];
+
+ angle = 295;
+
+ BackgroundColorId = color(205,253,203);
+ year2005ColorId = color(238,222,12);
+ year2006ColorId = color(255,0,0);
+ year2007ColorId = color(64,155,59);
+
+ // Histogramm drawing
+
+ drawlater();
+ bar(x,y);
+ histo = gce();
+
+
+ // Adjustements
+ histogramme = gcf();
+ histogramme.figure_size = [900,600];
+ histogramme.background = BackgroundColorId;
+
+ axes = gca();
+ axes.background = BackgroundColorId;
+ axes.x_ticks.labels = ["Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"];
+ axes.grid=[-1 0];
+
+ years = axes.children.children;
+ year2005 = years(3);
+ year2006 = years(2);
+ year2007 = years(1);
+
+ year2005.background = year2005ColorId;
+ year2006.background = year2006ColorId;
+ year2007.background = year2007ColorId;
+
+ year2005.bar_width = 0.25;
+ year2006.bar_width = 0.25;
+ year2007.bar_width = 0.25;
+
+ // Legend drawing
+
+ captions(histo.children($:-1:1), ["Year 2005";"Year 2006";"Year 2007"]);
+ legs = gce();
+ legs.legend_location = "in_upper_left";
+
+ drawnow();
+endfunction
+
+
+demo_bar();
+clear demo_bar;
diff --git a/modules/graphics/demos/basic_functions/basic_functions.dem.gateway.sce b/modules/graphics/demos/basic_functions/basic_functions.dem.gateway.sce
new file mode 100755
index 000000000..e833eac1b
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions.dem.gateway.sce
@@ -0,0 +1,21 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("basic_functions.dem.gateway.sce");
+
+subdemolist=[ ..
+"Rectangles, Arcs, Polylines, Segments and Numbers", "basic_functions_1.dem.sce" ; ...
+"Rectangles, Arcs, Polylines and Strings" , "basic_functions_2.dem.sce" ; ...
+"Setting properties" , "basic_functions_3.dem.sce" ; ...
+"Window properties" , "basic_functions_4.dem.sce" ; ...
+"Set of rectangles" , "basic_functions_5.dem.sce" ; ...
+"Colored matrix" , "basic_functions_6.dem.sce" ; ...
+"Colored histogram" , "basic_functions_7.dem.sce" ; ...
+"Pie Chart" , "basic_functions_8.dem.sce" ; ...
+"Milk Drop" , "basic_functions_9.dem.sce" ; ...
+"Xarrows" , "basic_functions_xarrows.dem.sce"; ];
+
+subdemolist(:, 2) = demopath + subdemolist(:, 2);
+clear demopath;
diff --git a/modules/graphics/demos/basic_functions/basic_functions_1.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_1.dem.sce
new file mode 100755
index 000000000..c02a712f8
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_1.dem.sce
@@ -0,0 +1,123 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_basic_function1()
+
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_1.dem.sce");
+
+ my_plot_desc = "rectangles, arcs, polylines, segments and numbers";
+ my_handle.figure_name = my_plot_desc;
+ colorMapSize = size(my_handle.color_map,1);
+
+ plot2d([-100,500],[-100,600],[-1,-1],"022");
+
+ a = gca();
+ t = a.title;
+ t.text = my_plot_desc;
+ t.font_size = 3;
+
+ // clipping
+ a.clip_state = "clipgrf";
+
+
+ deff("[v]=transl(x,t)","v=x+t*ones(x)");
+
+ messagebox(["[I] function to plot a set of objects "],"modal");
+
+ // Demo I.1
+ expr=["x=0:40:240;";
+ "boxes=[x;10*ones(x);30*ones(x);30*ones(x)];";
+ "xrects(boxes)"];
+ messagebox(["[I.1] function xrects : plot rectangles";expr],"modal");
+ execstr(expr);
+
+ // Demo I.2
+ expr=["x=0:40:240;";
+ "boxes=[x;45*ones(x);30*ones(x);30*ones(x)];";
+ "pats=[0,4,8,12,15,colorMapSize,0];";
+ "xrects(boxes,pats);"];
+ messagebox(["[I.2] fonction xrects : filling rectangles";expr],"modal");
+ execstr(expr);
+
+ // Demo I.3
+ expr=["x=0:40:240;";
+ "boxes=[x;90*ones(x);30*ones(x);30*ones(x)];";
+ "arcs=[boxes; 0*ones(x);64*180*ones(x)];";
+ "pats=[0,4,8,12,15,colorMapSize,0];";
+ "xarcs(arcs,pats);"];
+ messagebox(["[I.3] xarcs(arcs,patterns)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.4
+ expr=["x=0:40:240;";
+ "boxes=[x;135*ones(x);30*ones(x);30*ones(x)];";
+ "arcs=[boxes; 0*ones(x);64*360*ones(x)];";
+ "xarcs(arcs);"];
+ messagebox(["[I.4] xarcs(arcs)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.5
+ expr0=["x1=[0,10,20,30,20,10,0];";
+ "y1=[15,30,30,15,0,0,15];y1=160*ones(y1)+y1;";
+ "xpols=[x1;transl(x1,40);transl(x1,80);transl(x1,120)"...
+ + ";transl(x1,160);transl(x1,200);transl(x1,240)];";
+ "ypols=[y1;y1;y1;y1;y1;y1;y1];";
+ "xfpolys(xpols'',ypols'');"];
+ messagebox(["[I.5] xfpolys(x,y)";expr0],"modal");
+ execstr(expr0);
+
+ // Demo I.6
+ expr=[ expr0;
+ "ypols=transl(ypols,60);";
+ "pats=[0,4,8,12,15,colorMapSize,0];";
+ "xfpolys(xpols'',ypols'',pats);"];
+ messagebox(["[I.6] xfpolys(x,y,pattern)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.7
+ expr=[ expr0;
+ "ypols=transl(ypols,120);";
+ "xpolys(xpols'',ypols'',1:7);"];
+ messagebox(["[I.7] xpolys(x,y,line-style)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.8
+ expr=[ expr0;
+ "ypols=transl(ypols,180);";
+ "xpolys(xpols'',ypols'',-(1:7));"];
+ messagebox(["[I.8] xpolys(x,y,line-style)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.9
+ expr=["x=0:40:240;";
+ "xsegs([x;x+30*ones(x)],[(360+40)*ones(x);(360+70)*ones(x)]);"];
+ messagebox(["[I.9] xsegs(x,y)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.10
+ expr=["x=0:40:240;";
+ "xarrows([x;x+30*ones(x)],[(360+70)*ones(x);(360+100)*ones(x)]);"];
+ messagebox(["[I.10] xarrows(x,y)";expr],"modal");
+ execstr(expr);
+
+ // Demo I.11
+ expr=["x=0:100:200;";
+ "xnumb(x,500*ones(x),[10,20,35],1);";
+ "xnumb(x,550*ones(x),[10,20,35],0);";];
+ messagebox(["[I.10] xnumb()";expr],"modal");
+ execstr(expr);
+
+endfunction
+
+
+demo_basic_function1();
+clear demo_basic_function1;
+
+
diff --git a/modules/graphics/demos/basic_functions/basic_functions_2.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_2.dem.sce
new file mode 100755
index 000000000..382133ec3
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_2.dem.sce
@@ -0,0 +1,103 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_basic_function2()
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_2.dem.sce");
+
+ my_plot_desc = "rectangles, arcs, polylines and strings";
+ my_handle.figure_name = my_plot_desc;
+
+ plot2d([-100,500],[-100,600],[-1,-1],"022");
+ a = gca();
+ t = a.title;
+ t.text = my_plot_desc;
+ t.font_size = 3;
+
+ // clipping
+ a.clip_state = "clipgrf";
+
+ deff("[v]=transl(x,t)","v=x+t*ones(x)");
+
+ messagebox(["[II] Basic Functions of drivers :"],"modal");
+
+ // Demo II.1
+ expr="xrect(20,120,60,60);";
+ messagebox(["[II.1] xrect : draw one rectangle with current line style";expr],"modal");
+ execstr(expr);
+
+ // Demo II.2
+ expr="xfrect(100,120,60,60);";
+ messagebox(["[II.1] xfrect : fill one rectangle with current pattern";expr],"modal");
+ execstr(expr);
+
+ // Demo II.3
+ expr="xarc(20,200,50,70,0,64*(225));";
+ messagebox(["[II.2] xarc : draw part of an elipsis";expr],"modal");
+ execstr(expr);
+
+ // Demo II.4
+ expr="xfarc(100,200,50,70,0,64*225);";
+ messagebox(["[II.2] xfarc : fill part of an elipsis";expr],"modal");
+ execstr(expr);
+
+ // Demo II.5
+ expr0=["x=0:1:%pi;";
+ "[n1,n2]=size(x);";
+ "x1=50*sin(x)+40*ones(x);";
+ "y1=50*cos(x)+90*ones(x);"];
+
+ expr=[expr0;
+ "xset(''mark'',6,1);";
+ "y1=transl(y1,200);";
+ "xpoly(x1,y1,''marks'',0);";
+ "xset(''mark'',4,6);";
+ "x1=transl(x1,80);";
+ "xpoly(x1,y1,''marks'',0);"];
+
+ messagebox(["[II.3] xpoly(x,y,""marks"",0)";expr],"modal");
+ execstr(expr);
+
+ // Demo II.6
+ expr=[expr0;"x1=transl(x1,160);";
+ "xpoly(x1,y1,''lines'',0);"];
+ messagebox(["[II.3] xpoly(x,y,""lines"",0)";expr],"modal");
+ execstr(expr);
+
+ // Demo II.7
+ expr=[expr0;"x1=transl(x1,240);";
+ "xpoly(x1,y1,''lines'',1);"]
+ messagebox(["[II.3] xpoly(x,y,""lines"",1)";expr],"modal");
+ execstr(expr);
+
+ // Demo II.8
+ expr=[expr0;"x1=transl(x1,320);";
+ "xfpoly(x1,y1,1);"]
+ messagebox(["[II.4] xfpoly(x,y,1)";expr],"modal");
+ execstr(expr);
+
+ // Demo II.9
+ expr=["xset(''font'',2,2);";
+ "xstring(200,200,''Character string'',0,0);";
+ "xstring(200,250,''Character string'',0,1);";
+ "xstring(400,300,''Chaine '',45,0);"];
+ messagebox(["[II.5] xstring";expr],"modal");
+ execstr(expr);
+
+ // Demo II.10
+ expr=["xset(''mark'', 0, 0);"
+ "rect=xstringl(350,200,''Character string'');";
+ "xrect(rect(1),rect(2),rect(3),rect(4));"]
+ messagebox(["[II.6] xstringl";expr],"modal");
+ execstr(expr);
+
+endfunction
+
+demo_basic_function2();
+clear demo_basic_function2; \ No newline at end of file
diff --git a/modules/graphics/demos/basic_functions/basic_functions_3.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_3.dem.sce
new file mode 100755
index 000000000..33e4e652d
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_3.dem.sce
@@ -0,0 +1,120 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_basic_function3()
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_3.dem.sce");
+
+ my_plot_desc = "Setting graphic context values";
+ my_handle.figure_name = my_plot_desc;
+
+ plot2d([-100,500],[-100,600],[-1,-1],"022");
+
+ a = gca();
+ t = a.title;
+ t.text = my_plot_desc;
+ t.font_size = 3;
+
+ // clipping
+ a.clip_state = "clipgrf";
+
+ deff("[v]=transl(x,t)","v=x+t*ones(x)");
+
+ messagebox(["[III] Setting graphic context values"],"modal");
+
+ // Demo III.1
+ expr=["x=0:0.2:2*%pi;";
+ "x1=[sin(x);10*sin(x)];";
+ "y1=[cos(x);10*cos(x)];";
+ "xsegs(10*x1+200*ones(x1),10*y1+200*ones(y1));"];
+ messagebox(["[III.1] segments";expr],"modal");
+ execstr(expr);
+
+ // Demo III.2
+ expr=["xrect(150,460,100,150);";
+ "a.clip_box = [150,460,100,150];";
+ "x=0:0.2:2*%pi;";
+ "x1=[sin(x);10*sin(x)];";
+ "y1=[cos(x);10*cos(x)];";
+ "y1=transl(y1,20);";
+ "xsegs(10*x1+200*ones(x1),10*y1+200*ones(y1));";
+ "a.clip_state = ''clipgrf'';";];
+ messagebox(["[III.2] segments+clipping zone";expr],"modal");
+ execstr(expr);
+
+ // Demo III.3
+ expr=["xset(''line style'',1);";
+ "xget(''line style'',1);";
+ "xrect(140,470,120,170);"];
+ messagebox(["[III.3] Setting a dash style";expr],"modal");
+ execstr(expr);
+
+ // Demo III.4
+ expr=["xset(''font'',2,0);";
+ "xstring(0,130,''Scilab'');";
+ "xset(''font'',2,1);";
+ "xstring(0,150,''Scilab'');";
+ "xset(''font'',2,2);";
+ "xstring(0,170,''Scilab'');";
+ "xset(''font'',2,3);";
+ "xstring(0,200,''Scilab'');";
+ "xset(''font'',2,4);";
+ "xstring(0,230,''Scilab'');";
+ "xset(''font'',2,5);";
+ "xstring(0,270,''Scilab'');";
+ "xset(''font'',3,5);";
+ "xstring(0,310,''Scilab'');";
+ "xset(''font'',4,5);";
+ "xstring(0,350,''Scilab'');"]
+ messagebox(["[III.4] Setting font style and size";expr],"modal");
+ execstr(expr);
+
+ // Demo III.5
+ expr=["xset(''line mode'',0);";
+ "xlfont(''SansSerif'',6);";
+ "xset(''font'',6,3);";
+ "xstring(100,260,''helVB'',0,1);"];
+ messagebox(["[III.5] Loading a new font hlevB is now font 6";expr],"modal");
+ execstr(expr);
+
+ // Demo III.6
+ expr0=["x1=[350,400,450];";
+ "[n1,n2]=size(x1);";
+ "y1=300*ones(x1);"];
+ expr=[expr0;
+ "xset(''mark'',6,2);";
+ "xpoly(x1,y1,''marks'',0);"];
+ messagebox(["[III.6] changing current mark";expr],"modal");
+ execstr(expr);
+
+ // Demo III.7
+ expr=[expr0;
+ "xset(''mark'',7,2);";
+ "xpoly(x1,y1+50*ones(x1),''marks'',0);";
+ "xset(''mark'',8,3);";
+ "xpoly(x1,y1+100*ones(x1),''marks'',0);"];
+ messagebox(["[III.7] changing current mark";expr],"modal");
+ execstr(expr);
+
+ // Demo III.8
+ expr=["xset(''thickness'',5);";
+ "xrect(400,200,50,100);";];
+ messagebox(["[III.8] Thickness)";expr],"modal");
+ execstr(expr);
+
+ // Demo III.9
+ expr=["xfrect(400,50,50,100);"];
+ messagebox(["[III.9] Clear a rectangle";expr],"modal");
+ execstr(expr);
+
+endfunction
+
+demo_basic_function3();
+clear demo_basic_function3;
diff --git a/modules/graphics/demos/basic_functions/basic_functions_4.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_4.dem.sce
new file mode 100755
index 000000000..7b557dcea
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_4.dem.sce
@@ -0,0 +1,48 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_basic_function4()
+
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+
+ my_plot_desc = "General functions";
+ my_handle.figure_name = my_plot_desc;
+
+ plot2d([-100,500],[-100,600],[-1,-1],"022");
+
+ a = gca();
+ t = a.title;
+ t.text = my_plot_desc;
+ t.font_size = 3;
+
+ plot3d();
+
+ messagebox(["[IV] General functions"],"modal");
+
+ // Demo IV.1
+ expr=["scf(100001)"
+ "plot2d()";
+ "a=gca(); t=a.title;"
+ "t.text=""window properties""; t.font_size=3;"];
+ messagebox(["[IV.1] Creating a new window";expr],"modal");
+ execstr(expr);
+
+ // Demo IV.2
+ expr=["scf(100001); fec();";
+ "show_window();";]
+ messagebox(["[IV.2] Creating window number 0";expr],"modal");
+ execstr(expr);
+ demo_viewCode("basic_functions_4.dem.sce");
+
+endfunction
+
+demo_basic_function4();
+clear demo_basic_function4;
diff --git a/modules/graphics/demos/basic_functions/basic_functions_5.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_5.dem.sce
new file mode 100755
index 000000000..aa8405d7a
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_5.dem.sce
@@ -0,0 +1,40 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_basic_function5()
+
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_5.dem.sce");
+
+ my_plot_desc = "set of rectangles";
+ my_handle.figure_name = my_plot_desc;
+
+ // Demo V
+ expr=[
+ "n=16;"
+ "rect=[-n,-n,n,n];"
+ "plot2d(0,0,[0],''012'',''leg'',rect);"
+ "a=gca();t=a.title;"
+ "t.text=""set of rectangles""; t.font_size=3"
+ "a.clip_state = ''clipgrf'';"
+ "x=[-1 1 1 -1 -1]'';y=[-1 -1 1 1 -1]'';"
+ "xx=x*(n-1);yy=y*(n-1);"
+ "for k=2:n,;"
+ " xx=[xx,x*((n-k))]; yy=[yy,y*(n-k)];"
+ "end;"
+ "c=0:(n-1);"
+ "xfpolys(xx,yy,c);"
+ "a.clip_state = ''off'';"];
+
+ execstr(expr);
+
+endfunction
+
+demo_basic_function5();
+clear demo_basic_function5;
diff --git a/modules/graphics/demos/basic_functions/basic_functions_6.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_6.dem.sce
new file mode 100755
index 000000000..f1714140c
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_6.dem.sce
@@ -0,0 +1,41 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_basic_function6()
+
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_6.dem.sce");
+
+ my_plot_desc = "colored matrix";
+ my_handle.figure_name = my_plot_desc;
+
+ expr=[
+ "rect=[0,0,100,100];"
+ "plot2d(0,0,[0],''012'',''leg'',rect);"
+ "a=gca(); t=a.title;"
+ "t.text=""colored matrix""; t.font_size=3;"
+ "a.clip_state = ''clipgrf'';"
+ "x=[0 25 25 0 0]'';y=[0 0 25 25 0]'';d=25*[1 1 1 1 1]'';"
+ "xx=[];yy=[];i=0;"
+ "for k=1:4"
+ " for l=1:4"
+ " i=i+1;"
+ " xx=[xx,(l-1)*d+x];yy=[yy,y+(k-1)*d];"
+ " end"
+ "end"
+ "xfpolys(xx,yy,(1:16));a.clip_state = ''off'';"];
+
+ execstr(expr);
+
+endfunction
+
+demo_basic_function6();
+clear demo_basic_function6;
+
diff --git a/modules/graphics/demos/basic_functions/basic_functions_7.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_7.dem.sce
new file mode 100755
index 000000000..2561fb402
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_7.dem.sce
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_basic_function7()
+
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_7.dem.sce");
+
+ my_plot_desc = "colored histogram";
+ my_handle.figure_name = my_plot_desc;
+
+ expr=[
+ "plot2d(0,0,[0],''012'',''leg'',[0,0,30,20]);"
+ "a=gca(); t=a.title;"
+ "t.text=""colored histogram""; t.font_size=3;"
+ "a.clip_state = ''clipgrf'';"
+ "x=[1 3 3 1 1]'';"
+ "y=[0 0 1 1 0]'';"
+ "d=4*[1 1 1 1 1]'';"
+ "xx=[x,x+d,x+2*d,x+3*d,x+4*d,x+5*d];"
+ "yy=[y,5*y,2*y,10*y,8*y,6*y];"
+ "xfpolys(xx,yy,2*[1 2 3 4 5 6]);a.clip_state = ''off'';"];
+
+ execstr(expr);
+
+endfunction
+
+demo_basic_function7();
+clear demo_basic_function7;
diff --git a/modules/graphics/demos/basic_functions/basic_functions_8.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_8.dem.sce
new file mode 100755
index 000000000..c3b4d49a1
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_8.dem.sce
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_basic_function8()
+
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_8.dem.sce");
+
+ my_plot_desc = "pie chart";
+ my_handle.figure_name = my_plot_desc;
+
+ expr=[
+ "plot2d(0,0,[0],''032'',''leg'',[-1.5,-1.5 ,1.5,1.5]);"
+ "a=gca(); t=a.title;"
+ "t.text=""pie chart""; t.font_size=3;"
+ "a.clip_state = ''clipgrf'';"
+ "alls=[-1,1,2,2,0,64*90;"
+ " -1,1,2,2,64*90,64*(30);"
+ " -1,1,2,2,64*(120),64*(70);"
+ " -1,1,2,2,64*(190),64*(360-190)];"
+ "xfarcs(alls'',[1,3,5,7]);a.clip_state = ''off'';"];
+
+ execstr(expr);
+
+endfunction
+
+demo_basic_function8();
+clear demo_basic_function8; \ No newline at end of file
diff --git a/modules/graphics/demos/basic_functions/basic_functions_9.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_9.dem.sce
new file mode 100755
index 000000000..97b4e93bc
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_9.dem.sce
@@ -0,0 +1,33 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_basic_functions9()
+ function [z]=__milk_drop(x,y)
+ sq=x.^2+y.^2;
+ z= exp( exp(-sq).*(exp(cos(sq).^20)+8*sin(sq).^20+2*sin(2*(sq)).^8) );
+ endfunction
+ mode(-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("basic_functions_9.dem.sce");
+ my_plot_desc = "milk drop";
+ my_handle.figure_name = my_plot_desc;
+ my_handle.color_map = jetcolormap(256);
+
+ x = -2:0.1:2;
+ y = x;
+ z = eval3d(__milk_drop, x, y);
+ plot3d(x, y, z);
+ e = gce();
+ e.color_flag = 1;
+ a = gca();
+ a.rotation_angles = [25, 30];
+ // DEMO END
+
+endfunction
+
+demo_basic_functions9();
+clear demo_basic_functions9;
diff --git a/modules/graphics/demos/basic_functions/basic_functions_xarrows.dem.sce b/modules/graphics/demos/basic_functions/basic_functions_xarrows.dem.sce
new file mode 100755
index 000000000..bf6c7b190
--- /dev/null
+++ b/modules/graphics/demos/basic_functions/basic_functions_xarrows.dem.sce
@@ -0,0 +1,40 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 Scilab Enterprises - Pierre-Aime Agnel
+//
+// This file is distributed under the same license as the Scilab package.
+
+// = =========================================================================== =
+// xarrows
+// = =========================================================================== =
+
+fp_old = funcprot();
+w_old = warning("query");
+funcprot(0);
+warning("off");
+
+function demo_basic_function_xarrows()
+ f = figure("dockable", "off", "toolbar", "none", "visible", "off");
+ f.backgroundcolor = [1, 1, 1];
+ f.figure_name = "xarrows in 3D";
+
+ N = 100;
+ zi = linspace(-1, 2, N);
+ zf = zi;
+ theta = (zi - min(zi)) / (max(zi)-min(zi)) * 720;
+ xi = zeros(1, N); xf = cosd(theta);
+ yi = zeros(1, N); yf = sind(theta);
+
+ plot3d([-1 1 1 1], [-1 -1 -1 1], [-1 -1 2 2])
+ xarrows([xi; xf], [yi; yf], [zi; zf], 0.7, 32*rand(1, N))
+
+ demo_viewCode("basic_functions_xarrows.dem.sce")
+ f.visible = "on"
+endfunction
+
+demo_basic_function_xarrows();
+clear demo_basic_function_xarrows;
+
+funcprot(fp_old);
+warning(w_old);
+clear fp_old w_old;
diff --git a/modules/graphics/demos/bezier/Macros.sci b/modules/graphics/demos/bezier/Macros.sci
new file mode 100755
index 000000000..28ebf02d4
--- /dev/null
+++ b/modules/graphics/demos/bezier/Macros.sci
@@ -0,0 +1,96 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+function [X,Y]=field(x,y)
+ // x and y are two vectors defining a grid
+ // X and Y are two matrices which gives the grid point coordinates
+ //-------------------------------------------------------------
+ [rx,cx]=size(x);
+ [ry,cy]=size(y);
+ if rx<>1, write(%io(2),"x must be a row vector");return;end;
+ if ry<>1, write(%io(2),"y must be a row vector");return;end;
+ X=x.*.ones(cy,1);
+ Y=y'.*.ones(1,cx);
+endfunction
+
+function [z]=dup(x,n)
+ // utility
+ // x is a vector this function returns [x,x,x,x...] or [x;x;x;x;..]
+ // depending on x
+ [nr,nc]=size(x)
+ if nr==1 then
+ y=ones(n,1);
+ z= x.*.y ;
+ else
+ if nc<>1 then
+ error("dup : x must be a vector");
+ else
+ y=ones(1,n);
+ z= x.*.y ;
+ end
+ end
+endfunction
+
+
+function [z] = bezier(p,t)
+ //comment : Computes a Bezier curves.
+ //For a test try:
+ //beziertest; bezier3dtest; nurbstest; beziersurftest; c1test;
+ //Uses the following functions:
+ //bezier, bezier3d, nurbs, beziersurface
+ //endcomment
+ //reset();
+ // Evaluate sum p_i B_{i,n}(t) the easy and direct way.
+ // p must be a k x n+1 matrix (n+1) points, dimension k.
+ n=size(p,"c")-1;// i=nonzeros(t~=1);
+ t1=(1-t); t1z= find(t1==0.0); t1(t1z)= ones(t1z);
+ T=dup(t./t1,n)';
+ b=[((1-t').^n),(T.*dup((n-(1:n)+1)./(1:n),size(t,"c")))];
+ b=cumprod(b,"c");
+ if (size(t1z,"c")>0); b(t1z,:)= dup([ 0*ones(1,n),1],size(t1z,"c")); end;
+ z=p*b';
+endfunction
+
+
+function bezier3d (p)
+ // Shows a 3D Bezier curve and its polygon
+ t=linspace(0,1,300);
+ s=bezier(p,t);
+ dh=xget("dashes");
+ xset("dashes",3)
+ param3d(p(1,:),p(2,:),p(3,:),34,45)
+ xset("dashes",4);
+ param3d(s(1,:),s(2,:),s(3,:),34,45,"x@y@z",[0,0])
+ xset("dashes",dh);
+ xtitle("A 3d polygon and its Bezier curve");
+ current_axe = gca();current_axe.title.font_size = 3;
+endfunction
+
+
+function [X,Y,Z]=beziersurface (x,y,z,n)
+ // Compute a Bezier surface. Return {bx,by,bz}.
+ [lhs,rhs]=argn(0);
+ if rhs <= 3 ; n=20;end
+ t=linspace(0,1,n);
+ n=size(x,"r")-1; // i=nonzeros(t~=1);
+ t1=(1-t); t1z= find(t1==0.0); t1(t1z)= ones(t1z);
+ T=dup(t./t1,n)';
+ b1=[((1-t').^n),(T.*dup((n-(1:n)+1)./(1:n),size(t,"c")))];
+ b1=cumprod(b1,"c");
+ if (size(t1z,"c")>0);
+ b1(t1z,:)= dup([ 0*ones(1,n),1],size(t1z,"c"));
+ end
+ n=size(x,"c")-1; // i=nonzeros(t~=1);
+ t1=(1-t); t1z= find(t1==0.0); t1(t1z)= ones(t1z);
+ T=dup(t./t1,n)';
+ b2=[((1-t').^n),(T.*dup((n-(1:n)+1)./(1:n),size(t,"c")))];
+ b2=cumprod(b2,"c");
+ if (size(t1z,"c")>0);
+ b2(t1z,:)= dup([ 0*ones(1,n),1],size(t1z,"c"));
+ end
+ X=b1*x*b2';Y=b1*y*b2';Z=b1*z*b2';
+endfunction
diff --git a/modules/graphics/demos/bezier/bezier.dem.gateway.sce b/modules/graphics/demos/bezier/bezier.dem.gateway.sce
new file mode 100755
index 000000000..985493b68
--- /dev/null
+++ b/modules/graphics/demos/bezier/bezier.dem.gateway.sce
@@ -0,0 +1,19 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("bezier.dem.gateway.sce");
+
+exec(demopath+"/Macros.sci");
+
+subdemolist=[
+"Gammatest" , "gammatest.sce";
+"2D curve Bezier test" , "beziertest.sce";
+"3D curve Bezier test" , "bezier3dtest.sce";
+"Bezier surface test" , "beziersurftest.sce"
+"Bezier surface test 2" , "c1test.sce"];
+
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath;
diff --git a/modules/graphics/demos/bezier/bezier3dtest.sce b/modules/graphics/demos/bezier/bezier3dtest.sce
new file mode 100755
index 000000000..8d2c2bd6a
--- /dev/null
+++ b/modules/graphics/demos/bezier/bezier3dtest.sce
@@ -0,0 +1,21 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// Show a Beziercurve of dimension 3
+
+function bezier3dtest ()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ p=[-1,-1,-1;0,-1,-1;1,0,0;1,1,0;0,1,1;-1,1,0]'
+ bezier3d(p);
+
+ demo_viewCode("bezier3dtest.sce");
+endfunction
+
+bezier3dtest();
+clear bezier3dtest;
diff --git a/modules/graphics/demos/bezier/beziersurftest.sce b/modules/graphics/demos/bezier/beziersurftest.sce
new file mode 100755
index 000000000..6ec8ac9b0
--- /dev/null
+++ b/modules/graphics/demos/bezier/beziersurftest.sce
@@ -0,0 +1,33 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// Show a Bezier surface
+
+function beziersurftest
+
+ x=linspace(-%pi,%pi,5);
+ [x,y]=field(x,x);
+ z= 3*sin(x).*cos(y);
+ [xb,yb,zb]=beziersurface(x,y,z);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ subplot(2,1,1);
+ drawlater();
+ plot3d3(x,y,z);
+ title("A first surface","fontsize",3);
+ subplot(2,1,2);
+ plot3d2(xb,yb,zb,-1,35,45," ",[4,2,3]);
+ title("The bezier interpolated surface (n=10)","fontsize",3);
+ drawnow();
+ demo_viewCode("beziersurftest.sce");
+
+endfunction
+
+beziersurftest();
+clear beziersurftest;
diff --git a/modules/graphics/demos/bezier/beziertest.sce b/modules/graphics/demos/bezier/beziertest.sce
new file mode 100755
index 000000000..1becf853f
--- /dev/null
+++ b/modules/graphics/demos/bezier/beziertest.sce
@@ -0,0 +1,30 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// a random polygon and a bezier curve
+
+function beziertest
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ plot2d(-0.2,-0.2,0,"011"," ",[-0.2,-0.2,1.2,1.2]);
+ title("Bezier Test : random polygon and bezier curve","fontsize",3);
+ rand("uniform");
+ p = rand(2,5);
+ t = linspace(0,1,300);
+ s = bezier(p,t);
+
+ plot2d(p(1,:),p(2,:),1);
+ plot2d(s(1,:),s(2,:),2);
+
+ demo_viewCode("beziertest.sce");
+
+endfunction
+
+beziertest();
+clear beziertest;
diff --git a/modules/graphics/demos/bezier/c1test.sce b/modules/graphics/demos/bezier/c1test.sce
new file mode 100755
index 000000000..e786aa150
--- /dev/null
+++ b/modules/graphics/demos/bezier/c1test.sce
@@ -0,0 +1,61 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// Show how two bezier surfaces can be joined.
+
+function c1test()
+
+ // first surface'
+ x1=dup(-0.5:0.25:0.5,5);
+ y1=dup([0,0,0,0,1],5);
+ z1=dup(2:0.25:3,5)';
+ [xb1,yb1,zb1]=beziersurface(x1,y1,z1,10);
+
+ // second surface
+ x2=dup(-0.5:0.25:0.5,5);
+ y2=[(ones(4,5));[0,0,0,0,0]];
+ z2=-dup(-1:0.25:0,5)';
+ [xb2,yb2,zb2]=beziersurface(x2,y2,z2,10);
+
+ // a surface to link the two previous ones'
+ x=zeros(5,5); y=x; z=x;
+ x(1,:)=x1(1,:); x(2,:)=x(1,:)-(x1(2,:)-x1(1,:));
+ x(5,:)=x2(1,:); x(4,:)=x(5,:)-(x2(2,:)-x2(1,:));
+ x(3,:)=(x(4,:)+x(2,:))/2;
+ y(1,:)=y1(1,:); y(2,:)=y(1,:)-(y1(2,:)-y1(1,:));
+ y(5,:)=y2(1,:); y(4,:)=y(5,:)-(y2(2,:)-y2(1,:));
+ y(3,:)=(y(4,:)+y(2,:))/2;
+ z(1,:)=z1(1,:); z(2,:)=z(1,:)-(z1(2,:)-z1(1,:));
+ z(5,:)=z2(1,:); z(4,:)=z(5,:)-(z2(2,:)-z2(1,:));
+ z(3,:)=(z(4,:)+z(2,:))/2;
+ A=35,T=50,L=" ",EB=[4,2,0];
+ [xb,yb,zb]=beziersurface(x,y,z,10);
+
+ //drawing
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_current_axis = gca();
+ drawlater();
+ subplot(2,1,1);
+ title("how two bezier surfaces can be joined","fontsize",3);
+ subplot(2,2,1);
+ plot3d2(xb1,yb1,zb1,-1,A,T,L,EB);
+ subplot(2,2,3);
+ plot3d2(xb2,yb2,zb2,-1,A,T,L,EB);
+ subplot(1,2,2);
+ [n1,p1]=size(xb1);
+ [n2,p2]=size(xb);
+ plot3d2([xb1;xb;xb2],[yb1;yb;yb2],[zb1;zb;zb2],-1,A,T,L,EB);
+ delete(my_current_axis);
+ drawnow();
+
+ demo_viewCode("c1test.sce");
+
+endfunction
+
+c1test();
+clear c1test;
diff --git a/modules/graphics/demos/bezier/gammatest.sce b/modules/graphics/demos/bezier/gammatest.sce
new file mode 100755
index 000000000..ba26992d7
--- /dev/null
+++ b/modules/graphics/demos/bezier/gammatest.sce
@@ -0,0 +1,42 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// Bezier curve approximating a circle
+
+function gammatest (N)
+
+ [lhs,rhs] =argn(0);
+
+ if rhs < 1 then
+ N=[10,20,50,100];
+ end
+
+ x = linspace(0,1,100);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ plot2d(cos(2*%pi*x),sin(2*%pi*x));
+ ax = gca();
+ ax.isoview = "on";
+ title("Bezier curve approximating a circle","fontsize",3);
+ icol=2;
+
+ for n=N ;
+ t = sqrt(linspace(0,1,n));
+ p = [cos(2*%pi*t);sin(2*%pi*t)];
+ y = bezier(p,x);
+ plot2d(y(1,:),y(2,:),icol);
+ icol=icol+1;
+ end
+
+ demo_viewCode("gammatest.sce");
+
+endfunction
+
+gammatest();
+clear gammatest;
diff --git a/modules/graphics/demos/cmplxfunc/MacCmplx.sci b/modules/graphics/demos/cmplxfunc/MacCmplx.sci
new file mode 100755
index 000000000..bd6d33fb0
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/MacCmplx.sci
@@ -0,0 +1,151 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2001 - Bruno PINCON
+// Copyright (C) 2005 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+function [xr,yr,zr,xi,yi,zi] = CmplxFacets(R,e,TypeDomain,TypeCut,n,StrFunc)
+
+ // A function to compute the facets for drawing a complex function
+ // on a square or a disk with branch(es) cut(s) on Ox or Oy
+ //
+ // TypeDomain : "Square" or "Disk"
+ // TypeCut : "Ox" or "Oy"
+ // R : length of half a side of the square or radius of the disk
+ // e : thin layer to avoid the branch(es) cut(s)
+ // n : a scalar (for Square) or a 2-vector = [ntheta, nr]
+ // (for Disk) for discretization
+ // StrFunc : the string which names the complex function (this is
+ // because primitive don't pass as function argument)
+ //
+ // Bruno (10/10/2001): macros for the complex function dem
+
+ if TypeDomain == "Square" then
+ if TypeCut == "Ox" then
+ x1 = linspace(-R, R, n);
+ y1 = linspace( e, R, floor(n/2));
+ else // for TypeCut = "Oy" ...
+ x1 = linspace( e, R, floor(n/2));
+ y1 = linspace(-R, R, n);
+ end
+ X1 = ones(y1')*x1 ; Y1 = y1'*ones(x1);
+ else // for TypeDomain = "Disk"
+ r = linspace(0,R, n(2));
+ if TypeCut == "Ox" then
+ theta = linspace(0,%pi,n(1))';
+ X1 = cos(theta)*r;
+ Y1 = e + sin(theta)*r;
+ else // for TypeCut = "Oy"
+ theta = linspace(-%pi/2,%pi/2,n(1))';
+ X1 = e + cos(theta)*r;
+ Y1 = sin(theta)*r;
+ end
+ end
+ X2 = -X1 ; Y2 = -Y1;
+ Z1 = evstr(StrFunc+"(X1 + %i*Y1)");
+ Z2 = evstr(StrFunc+"(X2 + %i*Y2)");
+ [xr1,yr1,zr1] = nf3d(X1,Y1,real(Z1));
+ [xr2,yr2,zr2] = nf3d(X2,Y2,real(Z2));
+ xr = [xr1 xr2]; yr = [yr1 yr2]; zr = [zr1 zr2];
+ [xi1,yi1,zi1] = nf3d(X1,Y1,imag(Z1));
+ [xi2,yi2,zi2] = nf3d(X2,Y2,imag(Z2));
+ xi = [xi1 xi2]; yi = [yi1 yi2]; zi = [zi1 zi2];
+endfunction
+
+
+function []=PlotCmplxFunc(R,e,TypeDomain,TypeCut,n,StrFunc,theta,alpha,DomReal)
+
+ // A function to draw on a square or a disk a complex function
+ // with branch(es) cut(s) on Ox or Oy
+ //
+ // TypeDomain : "Square" or "Disk"
+ // TypeCut : "Ox" or "Oy"
+ // R : length of half a side of the square or radius of the disk
+ // e : thin layer to avoid the branch(es) cut(s)
+ // n : a scalar (for Square) or a 2-vector = [ntheta, nr]
+ // (for Disk) for discretization
+ // StrFunc : the string which names the complex function (this is
+ // because primitive don't pass as function argument)
+ // theta,alpha : usual parameters for plot3d
+ // DomReal : interval for which the real restriction is drawn
+
+ // Bruno (10/10/2001): macros for the complex function dem
+
+ // Adapted for new graphic by Pierre MARECHAL ( 16/12/2005 )
+
+ // computes the facets
+
+ [xr,yr,zr,xi,yi,zi] = CmplxFacets(R,e,TypeDomain,TypeCut,n,StrFunc)
+
+ // draw
+ // ============================================
+
+ current_figure_hdl = scf(100001);
+ clf(current_figure_hdl,"reset");
+
+ drawlater();
+
+ // Title
+ // ============================================
+
+ my_title_axes = newaxes();
+
+ // make axes transparent
+ my_title_axes.filled = "off";
+
+ Rs = string(R);
+
+ if TypeDomain == "Square" then
+ end_title = " Function on [-"+Rs+","+Rs+"]x[-"+Rs+","+Rs+"]"
+ else
+ end_title = " Function on D(0,R="+Rs+")"
+ end
+
+ if StrFunc == "f" then
+ the_title = "Your Custom (named f) Complex" + end_title;
+ else
+ the_title = "The Complex " + StrFunc + end_title;
+ end
+
+ xtitle(the_title);
+
+ my_title_axes.title.text = the_title;
+ my_title_axes.title.font_size = 3;
+ my_title_axes.title.font_style = 2;
+ my_title_axes.margins = [ 0.08 0.08 0.08 0.08 ]
+
+ // plot Im(z)
+ // ============================================
+
+ subplot(1,2,1);
+ plot3d(xi,yi,zi,theta,alpha,"Re(z)@Im(z)@",[2 6 4]);
+ xtitle("Im("+StrFunc+"(z))");
+
+ // plot Re(z) + the real restriction
+ // ============================================
+
+ subplot(1,2,2);
+ plot3d(xr,yr,zr,theta,alpha,"Re(z)@Im(z)@",[ 2 6 4]);
+ xtitle("Re("+StrFunc+"(z))");
+
+ // real function in yellow
+ // ============================================
+
+ if DomReal(2) > DomReal(1) then
+ //xstring(0.1,-0.15," In yellow : the real "+StrFunc+" function")
+ xx = linspace(DomReal(1),DomReal(2),40)';
+ yy = zeros(xx);
+ zz = evstr(StrFunc+"(xx)");
+ param3d1(xx,yy,list(zz,32),theta,alpha,flag=[0,0]);
+ yellow_line = get("hdl");
+ yellow_line.thickness = 3;
+ captions(yellow_line, "the real "+StrFunc+" function", "lower_caption");
+ end
+
+
+
+ drawnow();
+
+endfunction
diff --git a/modules/graphics/demos/cmplxfunc/cmplxfunc.dem.gateway.sce b/modules/graphics/demos/cmplxfunc/cmplxfunc.dem.gateway.sce
new file mode 100755
index 000000000..c65a15f68
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/cmplxfunc.dem.gateway.sce
@@ -0,0 +1,24 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("cmplxfunc.dem.gateway.sce");
+
+subdemolist = ["log" ,"demo_log.dem.sce" ; ..
+"exp" ,"demo_exp.dem.sce" ; ..
+"tan" ,"demo_tan.dem.sce" ; ..
+"atan" ,"demo_atan.dem.sce" ; ..
+"sin" ,"demo_sin.dem.sce" ; ..
+"asin" ,"demo_asin.dem.sce" ; ..
+"cos" ,"demo_cos.dem.sce" ; ..
+"sinh" ,"demo_sinh.dem.sce" ; ..
+"asinh" ,"demo_asinh.dem.sce" ; ..
+"cosh" ,"demo_cosh.dem.sce" ; ..
+"acosh" ,"demo_acosh.dem.sce" ; ..
+"tanh" ,"demo_tanh.dem.sce" ; ..
+"atanh" ,"demo_atanh.dem.sce" ; ..
+"custom" ,"demo_custom.dem.sce" ];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath;
diff --git a/modules/graphics/demos/cmplxfunc/demo_acos.dem.sce b/modules/graphics/demos/cmplxfunc/demo_acos.dem.sce
new file mode 100755
index 000000000..c61549e63
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_acos.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// acos
+// =============================================================================
+
+function demo_acos()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ theta = -110;
+ alpha = 75;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(2,%eps,"Square","Ox",41,"acos",theta,alpha,[-1,1]);
+ demo_viewCode("demo_acos.dem.sce");
+
+endfunction
+
+demo_acos()
+
+clear demo_acos;
diff --git a/modules/graphics/demos/cmplxfunc/demo_acosh.dem.sce b/modules/graphics/demos/cmplxfunc/demo_acosh.dem.sce
new file mode 100755
index 000000000..6c64f4133
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_acosh.dem.sce
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// acosh
+// =============================================================================
+
+function demo_acosh()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = 2;
+ e = %eps;
+ theta = -110;
+ alpha = 75;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Square","Ox",41,"acosh",theta,alpha,[1,R]);
+ demo_viewCode("demo_acosh.dem.sce");
+
+endfunction
+
+demo_acosh()
+clear demo_acosh;
diff --git a/modules/graphics/demos/cmplxfunc/demo_asin.dem.sce b/modules/graphics/demos/cmplxfunc/demo_asin.dem.sce
new file mode 100755
index 000000000..b24dd69f6
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_asin.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// asin
+// =============================================================================
+
+function demo_asin()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ theta = -110;
+ alpha = 75;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(2,%eps,"Square","Ox",41,"asin",theta,alpha,[-1,1]);
+ demo_viewCode("demo_asin.dem.sce");
+
+endfunction
+
+demo_asin()
+clear demo_asin;
diff --git a/modules/graphics/demos/cmplxfunc/demo_asinh.dem.sce b/modules/graphics/demos/cmplxfunc/demo_asinh.dem.sce
new file mode 100755
index 000000000..89517aa09
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_asinh.dem.sce
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// asinh
+// =============================================================================
+
+function demo_asinh()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = 2;
+ e = %eps;
+ theta = -110;
+ alpha = 75;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Square","Oy",41,"asinh",theta,alpha,[-R,R]);
+ demo_viewCode("demo_asinh.dem.sce");
+
+endfunction
+
+demo_asinh()
+clear demo_asinh;
diff --git a/modules/graphics/demos/cmplxfunc/demo_atan.dem.sce b/modules/graphics/demos/cmplxfunc/demo_atan.dem.sce
new file mode 100755
index 000000000..9e54dead2
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_atan.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// atan
+// =============================================================================
+
+function demo_atan()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = 2;
+ theta = -110;
+ alpha = 75;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,0.001,"Square","Oy",41,"atan",theta,alpha,[-R,R]);
+ demo_viewCode("demo_atan.dem.sce");
+
+endfunction
+
+demo_atan()
+clear demo_atan;
diff --git a/modules/graphics/demos/cmplxfunc/demo_atanh.dem.sce b/modules/graphics/demos/cmplxfunc/demo_atanh.dem.sce
new file mode 100755
index 000000000..65cd55dfd
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_atanh.dem.sce
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// atanh
+// =============================================================================
+
+function demo_atanh()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = 2;
+ e = 0.001;
+ theta = -110;
+ alpha = 75;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Square","Ox",41,"atanh",theta,alpha,[-0.99,0.99]);
+ demo_viewCode("demo_atanh.dem.sce");
+
+endfunction
+
+demo_atanh()
+clear demo_atanh;
diff --git a/modules/graphics/demos/cmplxfunc/demo_cos.dem.sce b/modules/graphics/demos/cmplxfunc/demo_cos.dem.sce
new file mode 100755
index 000000000..92dda89b7
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_cos.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// cos
+// =============================================================================
+
+function demo_cos()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = %pi;
+ theta = 18;
+ alpha = 43;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,0,"Disk","Ox",[40 20],"cos",theta,alpha,[-R,R]);
+ demo_viewCode("demo_cos.dem.sce");
+
+endfunction
+
+demo_cos()
+clear demo_cos;
diff --git a/modules/graphics/demos/cmplxfunc/demo_cosh.dem.sce b/modules/graphics/demos/cmplxfunc/demo_cosh.dem.sce
new file mode 100755
index 000000000..e2fdfb8a7
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_cosh.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// cosh
+// =============================================================================
+
+function demo_cosh()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = %pi;
+ e = 0;
+ theta = -130;
+ alpha = 56;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Disk","Ox",[40 20],"cosh",theta,alpha,[-R,R]);
+ demo_viewCode("demo_cosh.dem.sce");
+endfunction
+
+demo_cosh()
+clear demo_cosh;
diff --git a/modules/graphics/demos/cmplxfunc/demo_custom.dem.sce b/modules/graphics/demos/cmplxfunc/demo_custom.dem.sce
new file mode 100755
index 000000000..f57f29d00
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_custom.dem.sce
@@ -0,0 +1,821 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+funcprot(0);
+
+function demo_custom()
+
+ // Parameters
+ // =========================================================================
+
+ frame_w = 300; // Frame width
+ frame_h = 765; // Frame height
+
+ plot_w = 500; // Plot width
+ plot_h = frame_h; // Plot height
+
+ margin_x = 15; // Horizontal margin between each elements
+ margin_y = 15; // Vertical margin between each elements
+
+ defaultfont = "arial"; // Default Font
+
+ // Figure creation
+ // =========================================================================
+
+ axes_w = 3*margin_x + frame_w + plot_w; // axes width
+ axes_h = 2*margin_y + frame_h; // axes height (100 => toolbar height)
+
+ fig_handle = figure( ...
+ "infobar_visible", "off", ...
+ "menubar", "none", ...
+ "toolbar", "none", ...
+ "default_axes", "on", ...
+ "layout", "gridbag", ...
+ "visible", "off", ...
+ "background", -2, ...
+ "figure_position", [0 0], ...
+ "axes_size", [axes_w axes_h], ...
+ "figure_name", _("Customize your complex function"));
+
+ // The plot will be in the right 2/3 of the figure
+ a = gca();
+ a.axes_bounds = [1/3 1 2/3 1];
+ a.tight_limits = "on";
+
+ c = createConstraints("gridbag", [2 1 2 1], [1 1], "vertical", "right");
+ // Create an empty panel on the right to occupy the 3/4 of the screen (figure plot)
+ empty_frame = uicontrol(fig_handle, "style", "frame","constraints", c);
+
+ c = createConstraints("gridbag", [1 1 1 5], [0.25 1], "both", "left", [0 0], [150 0]);
+ u = uicontrol(fig_handle, ...
+ "style", "frame", ...
+ "backgroundcolor", [1 1 1], ...
+ "layout", "border", ...
+ "constraints", c);
+
+ // Add top and bottom empty panels to pad the upcoming control panel
+ c = createConstraints("border", "top", [0 20]);
+ top = uicontrol(u, "style", "frame", "backgroundcolor", [1 1 1], "constraints", c);
+ c = createConstraints("border", "bottom", [0 20]);
+ bottom = uicontrol(u, "style", "frame", "backgroundcolor", [1 1 1], "constraints", c);
+
+ // Border for the control parameters frame
+ b_f_controlParams = createBorderFont("", 18);
+ b_l_controlParams = createBorder("line", "navy", 2);
+ b_controlParams = createBorder("titled", b_l_controlParams, _("Control panel"), "center", "top", b_f_controlParams, "navy");
+
+ control_frame = uicontrol(u, ...
+ "style", "frame", ...
+ "backgroundcolor", [1 1 1], ...
+ "border", b_controlParams, ...
+ "layout", "gridbag", ...
+ "tag", "control_frame");
+
+ demo_viewCode("demo_custom.dem.sce");
+
+ fig_handle.color_map = jetcolormap(128);
+
+ // Frames creation [Control Panel]
+ // =========================================================================
+
+ // Explanatory text
+ // =========================================================================
+
+ my_exptext_string = "";
+
+ my_exptext_string = my_exptext_string + "<html>";
+
+ my_exptext_string = my_exptext_string + "<center>";
+ my_exptext_string = my_exptext_string + "<img src=""file:///"+SCI+"/modules/graphics/demos/cmplxfunc/warning.png"+""">";
+ my_exptext_string = my_exptext_string + "BE CAREFUL, NOTHING IS PROTECTED";
+ my_exptext_string = my_exptext_string + "</center>";
+
+ my_exptext_string = my_exptext_string + "<hr><br />";
+
+ my_exptext_string = my_exptext_string + " To draw your own complex function :";
+
+ my_exptext_string = my_exptext_string + "<div style=''text-align:justify; margin-top:5px; width:260;''>";
+
+ my_exptext_string = my_exptext_string + "1. define the function by a correct ";
+ my_exptext_string = my_exptext_string + "string where the complex var must ";
+ my_exptext_string = my_exptext_string + "be z. Also, as the function will ";
+ my_exptext_string = my_exptext_string + "be evaluated on a matrix, don''t forget ";
+ my_exptext_string = my_exptext_string + "the . to operate elementwise. Examples: ";
+
+ my_exptext_string = my_exptext_string + "</div>";
+
+
+ my_exptext_string = my_exptext_string + "<pre> z.^2 (z+1).*(z-1) (1)./(z+2)</pre>";
+ my_exptext_string = my_exptext_string + "<pre> sqrt(z) (z+%i).*(z-%i) 1+2*z+z.^2</pre>";
+
+ my_exptext_string = my_exptext_string + "<div style=''text-align:justify; margin-top:5px; width:260;''>";
+ my_exptext_string = my_exptext_string + "2. define the type of the domain: Square or Disk,";
+ my_exptext_string = my_exptext_string + "</div>";
+
+
+ my_exptext_string = my_exptext_string + "<div style=''text-align:justify; margin-top:5px; width:260;''>";
+ my_exptext_string = my_exptext_string + "3. define the ""radius"" R of the domain,"+ "<br />";
+ my_exptext_string = my_exptext_string + "</div>";
+
+
+ my_exptext_string = my_exptext_string + "<div style=''text-align:justify; margin-top:5px; width:260;''>";
+ my_exptext_string = my_exptext_string + "4. should your function have some kind of ";
+ my_exptext_string = my_exptext_string + "discontinuity on Ox or Oy => check ";
+ my_exptext_string = my_exptext_string + "Ox or Oy. Otherwise check No.";
+ my_exptext_string = my_exptext_string + "</div>";
+
+ my_exptext_string = my_exptext_string + "</html>";
+
+
+ // Explanatory text : frame
+
+ b_f_expTxt = createBorderFont("", 12);
+ b_l_expTxt = createBorder("line", "navy", 1);
+ b_expTxt = createBorder("titled", b_l_expTxt, "", "center", "top", b_f_expTxt, "navy");
+
+ // Border for the explanatory text frame
+ c = createConstraints("gridbag", [1 1 1 1], [1 1], "both", "upper");
+ my_exptext_frame = uicontrol( ...
+ "parent" , control_frame,...
+ "style" , "frame",...
+ "layout" , "gridbag", ...
+ "border" , b_expTxt, ...
+ "units" , "pixels",...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_exptext_frame" ...
+ );
+
+ // Explanatory text : actual text
+
+ c = createConstraints("gridbag", [1 1 1 1], [1 1], "both", "upper");
+ my_exptext_box = uicontrol( ...
+ "parent" , my_exptext_frame,...
+ "style" , "text",...
+ "units" , "pixels",...
+ "string" , my_exptext_string,...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 9,...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_exptext_box" ...
+ );
+
+
+ // Function definition
+ // =========================================================================
+
+ // Function definition : frame
+
+ // Border for the function definition frame
+ b_f_funDef = createBorderFont("", 12);
+ b_l_funDef = createBorder("line", "navy", 1);
+ b_funDef = createBorder("titled", b_l_funDef, _("Function definition"), "center", "top", b_f_funDef, "navy");
+
+ c = createConstraints("gridbag", [1 2 1 1], [1 1], "both", "upper");
+ my_fundef_frame = uicontrol( ...
+ "parent" , control_frame,...
+ "style" , "frame",...
+ "layout" , "gridbag", ...
+ "border" , b_funDef, ...
+ "units" , "pixels",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 13,...
+ "fontweight" , "bold", ...
+ "background" , [1 1 1], ...
+ "constraints" , c, ...
+ "tag" , "my_fundef_frame" ...
+ );
+
+ // Function definition : Text "f(z) = "
+
+ c = createConstraints("gridbag", [1 1 1 1], [1/12 1], "both", "upper");
+ my_fundef_editbox = uicontrol( ...
+ "parent" , my_fundef_frame,...
+ "style" , "text",...
+ "string" , "f(z) = ", ...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_fundef_editbox");
+
+ // Function definition : Edit box
+
+ c = createConstraints("gridbag", [2 1 1 1], [12 1], "both", "upper");
+ my_fundef_editbox = uicontrol( ...
+ "parent" , my_fundef_frame,...
+ "style" , "edit",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "string" , "(1)./((z+2).*(2-z))", ...
+ "callback" , "update_fundef()",...
+ "constraint" , c, ...
+ "tag" , "my_fundef_editbox");
+
+ // Function definition : message bar
+
+ c = createConstraints("gridbag", [1 2 2 1], [1 1], "both", "upper");
+ my_exptext_bar = uicontrol( ...
+ "parent" , my_fundef_frame,...
+ "style" , "text",...
+ "string" , " ", ...
+ "units" , "pixels",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_funDef_bar" ...
+ );
+
+
+ // Domain type
+ // =========================================================================
+
+ // Domain type : frame
+
+ // Border for the domain type frame
+ b_f_domain = createBorderFont("", 12);
+ b_l_domain = createBorder("line", "navy", 1);
+ b_domain = createBorder("titled", b_l_domain, _("Domain type"), "center", "top", b_f_domain, "navy");
+
+ c = createConstraints("gridbag", [1 3 1 1], [1 1], "both", "upper");
+ my_dt_frame = uicontrol( ...
+ "parent" , control_frame,...
+ "style" , "frame",...
+ "layout" , "gridbag", ...
+ "border" , b_domain, ...
+ "units" , "pixels",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 13,...
+ "fontweight" , "bold", ...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_dt_frame" ...
+ );
+
+ // Domain type : square
+
+ c = createConstraints("gridbag", [1 1 1 1], [1 1], "both", "upper");
+ square_radio = uicontrol( ...
+ "parent" , my_dt_frame,...
+ "style" , "radiobutton",...
+ "string" , "Square",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "update_domain_type();",...
+ "constraints" , c, ...
+ "tag" , "square_radio");
+
+ // Domain type : Disk
+
+ c = createConstraints("gridbag", [2 1 1 1], [1 1], "both", "upper");
+ disk_radio = uicontrol( ...
+ "parent" , my_dt_frame,...
+ "style" , "radiobutton",...
+ "string" , "Disk",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "value" , 1, ...
+ "background" , [1 1 1], ...
+ "callback" , "update_domain_type();",...
+ "constraints" , c, ...
+ "tag" , "disk_radio");
+
+
+ // Radius of the domain
+ // =========================================================================
+
+ // Radius of the domain : frame
+
+ // Border for the radius frame
+ b_f_radius = createBorderFont("", 12);
+ b_l_radius = createBorder("line", "navy", 1);
+ b_radius = createBorder("titled", b_l_radius, _("Radius of the domain"), "center", "top", b_f_radius, "navy");
+
+ c = createConstraints("gridbag", [1 4 1 1], [1 1], "both", "upper");
+ my_radius_frame = uicontrol( ...
+ "parent" , control_frame,...
+ "style" , "frame",...
+ "layout" , "gridbag", ...
+ "border" , b_radius, ...
+ "units" , "pixels",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 13,...
+ "fontweight" , "bold", ...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_radius_frame" ...
+ );
+
+ // Radius of the domain : Edit box
+
+ c = createConstraints("gridbag", [1 1 1 1], [1 1], "both", "upper");
+ my_radius_editbox = uicontrol( ...
+ "parent" , my_radius_frame,...
+ "style" , "edit",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "string" , "1.9", ...
+ "callback" , "update_radius()",...
+ "constraint" , c, ...
+ "tag" , "my_radius_editbox");
+
+ // Radius of the domain : message bar
+
+ c = createConstraints("gridbag", [1 2 1 1], [1 1], "both", "upper");
+ my_exptext_bar = uicontrol( ...
+ "parent" , my_radius_frame,...
+ "style" , "text",...
+ "string" , " ", ...
+ "units" , "pixels",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_radius_bar" ...
+ );
+
+
+ // Cut on axes
+ // =========================================================================
+
+ // Cut on axes : frame
+
+ // Border for the cut on axes frame
+ b_f_cut = createBorderFont("", 12);
+ b_l_cut = createBorder("line", "navy", 1);
+ b_cut = createBorder("titled", b_l_cut, _("Cut on axes"), "center", "top", b_f_cut, "navy");
+
+ c = createConstraints("gridbag", [1 5 1 1], [1 1], "both", "upper");
+ my_coa_frame = uicontrol( ...
+ "parent" , control_frame,...
+ "style" , "frame",...
+ "layout" , "gridbag", ...
+ "border" , b_cut, ...
+ "units" , "pixels",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 13,...
+ "fontweight" , "bold", ...
+ "background" , [1 1 1], ...
+ "constraint" , c, ...
+ "tag" , "my_coa_frame" ...
+ );
+
+ // Cut on axes : Ox
+
+ c = createConstraints("gridbag", [1 1 1 1], [1 1], "both", "upper");
+ ox_radio = uicontrol( ...
+ "parent" , my_coa_frame,...
+ "style" , "radiobutton",...
+ "string" , "Ox",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "update_cao();",...
+ "constraint" , c, ...
+ "tag" , "ox_radio");
+
+ // Cut on axes : Oy
+
+ c = createConstraints("gridbag", [2 1 1 1], [1 1], "both", "upper");
+ oy_radio = uicontrol( ...
+ "parent" , my_coa_frame,...
+ "style" , "radiobutton",...
+ "string" , "Oy",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "update_cao();",...
+ "constraint" , c, ...
+ "tag" , "oy_radio");
+
+ // Cut on axes : No
+
+ c = createConstraints("gridbag", [3 1 1 1], [1 1], "both", "upper");
+ no_radio = uicontrol( ...
+ "parent" , my_coa_frame,...
+ "style" , "radiobutton",...
+ "string" , "No",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , 11,...
+ "value" , 1, ...
+ "background" , [1 1 1], ...
+ "callback" , "update_cao();",...
+ "constraint" , c, ...
+ "tag" , "no_radio");
+
+ // Default Values
+ // =========================================================================
+
+ global my_fundef_val;
+ global my_dt_val;
+ global my_radius;
+ global my_typeCut;
+ global my_e;
+
+
+ my_fundef_val = "(1)./((z+2).*(2-z))";
+ my_dt_val = "Disk";
+ my_radius = 1.9;
+ my_typeCut = "No";
+
+ my_e = 0.001;
+ theta = -110;
+ alpha = 75;
+
+ deff("Z=f(z)","Z="+my_fundef_val);
+
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,[40 20],"f",theta,alpha,[0;0]);
+ fig_handle.visible = "on";
+
+endfunction
+
+function update_fundef()
+
+ global my_fundef_val;
+ global my_dt_val;
+ global my_radius;
+ global my_typeCut;
+ global my_e;
+
+ my_fundef_val_tmp = get(gcbo,"string");
+
+ if strchr(my_fundef_val_tmp, "z") == "" then
+ updateStatusBar("my_funDef_bar", _("Function should contain ""z"""), [1 0 0]);
+ return
+ end
+
+ try // Try f(z) on a simple matrix
+ ieeeMode = ieee();
+ ieee(2);
+ execstr(strsubst(my_fundef_val_tmp, "z", "[1 2 3; 1 2 3]"));
+ ieee(ieeeMode);
+ catch
+ updateStatusBar("my_funDef_bar", _("Wrong definition of f(z)"), [1 0 0]);
+ return
+ end
+
+ my_fundef_val = my_fundef_val_tmp;
+
+ // Delete the old plots
+
+ demo_fig = gcf();
+ demo_fig.immediate_drawing = "off";
+
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+
+ theta = -110;
+ alpha = 75;
+
+ deff("Z=f(z)","Z="+my_fundef_val);
+
+ if my_dt_val == "Square" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,41,"f",theta,alpha,[0;0]);
+ elseif my_dt_val == "Disk" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,[40 20],"f",theta,alpha,[0;0]);
+ end
+
+ demo_fig.immediate_drawing = "on";
+
+endfunction
+
+function update_domain_type()
+
+ global my_fundef_val;
+ global my_dt_val;
+ global my_radius;
+ global my_typeCut;
+ global my_e;
+
+ // Update the radio elements
+ set(findobj("tag", "square_radio") , "value", 0);
+ set(findobj("tag", "disk_radio") , "value", 0);
+ set(gcbo, "value", 1);
+
+ // Delete the old plots
+
+ demo_fig = gcf();
+ demo_fig.immediate_drawing = "off";
+
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+
+ theta = -110;
+ alpha = 75;
+
+ deff("Z=f(z)","Z="+my_fundef_val);
+
+ if get(gcbo, "tag") == "square_radio" then
+ my_dt_val = "Square";
+ elseif get(gcbo, "tag") == "disk_radio" then
+ my_dt_val = "Disk";
+ end
+
+ if my_dt_val == "Square" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,41,"f",theta,alpha,[0;0]);
+ elseif my_dt_val == "Disk" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,[40 20],"f",theta,alpha,[0;0]);
+ end
+
+ demo_fig.immediate_drawing = "on";
+
+endfunction
+
+function update_radius()
+
+ global my_fundef_val;
+ global my_dt_val;
+ global my_radius;
+ global my_typeCut;
+ global my_e;
+
+ try
+ my_radius_tmp = evstr(get(gcbo,"string"));
+ catch
+ updateStatusBar("my_radius_bar", _("Radius should be real and finite"), [1 0 0]);
+ return
+ end
+
+ if ~isscalar(my_radius_tmp) | and(type(my_radius_tmp) <> [1 8]) | ~isreal(my_radius_tmp) | isinf(my_radius_tmp) then
+ updateStatusBar(_("Radius should be real and finite"), [1 0 0]);
+ return
+ else
+ my_radius = my_radius_tmp;
+ end
+
+ // Delete the old plots
+
+ demo_fig = gcf();
+ demo_fig.immediate_drawing = "off";
+
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+
+ theta = -110;
+ alpha = 75;
+
+ deff("Z=f(z)","Z="+my_fundef_val);
+
+ if my_dt_val == "Square" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,41,"f",theta,alpha,[0;0]);
+ elseif my_dt_val == "Disk" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,[40 20],"f",theta,alpha,[0;0]);
+ end
+
+ demo_fig.immediate_drawing = "on";
+
+endfunction
+
+function update_cao()
+
+ global my_fundef_val;
+ global my_dt_val;
+ global my_radius;
+ global my_typeCut;
+ global my_e;
+
+ // Update the radio elements
+ set(findobj("tag", "ox_radio") , "value", 0);
+ set(findobj("tag", "oy_radio") , "value", 0);
+ set(findobj("tag", "no_radio") , "value", 0);
+ set(gcbo, "value", 1);
+
+ // Delete the old plots
+
+ demo_fig = gcf();
+ demo_fig.immediate_drawing = "off";
+
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+ a = gca(); delete(a);
+
+ theta = -110;
+ alpha = 75;
+
+ deff("Z=f(z)","Z="+my_fundef_val);
+
+ if get(gcbo, "tag") == "ox_radio" then
+ my_typeCut = "Ox";
+ elseif get(gcbo, "tag") == "oy_radio" then
+ my_typeCut = "Oy";
+ elseif get(gcbo, "tag") == "no_radio" then
+ my_typeCut = "No";
+ end
+
+ if my_dt_val == "Square" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,41,"f",theta,alpha,[0;0]);
+ elseif my_dt_val == "Disk" then
+ PlotCmplxFunc(my_radius,my_e,my_dt_val,my_typeCut,[40 20],"f",theta,alpha,[0;0]);
+ end
+
+ demo_fig.immediate_drawing = "on";
+
+endfunction
+
+function []=PlotCmplxFunc(R,e,TypeDomain,TypeCut,n,StrFunc,theta,alpha,DomReal)
+
+ // A function to draw on a square or a disk a complex function
+ // with branch(es) cut(s) on Ox or Oy
+ //
+ // TypeDomain : "Square" or "Disk"
+ // TypeCut : "Ox" or "Oy"
+ // R : length of half a side of the square or radius of the disk
+ // e : thin layer to avoid the branch(es) cut(s)
+ // n : a scalar (for Square) or a 2-vector = [ntheta, nr]
+ // (for Disk) for discretization
+ // StrFunc : the string which names the complex function (this is
+ // because primitive don't pass as function argument)
+ // theta,alpha : usual parameters for plot3d
+ // DomReal : interval for which the real restriction is drawn
+
+ // computes the facets
+
+ [xr,yr,zr,xi,yi,zi] = CmplxFacets(R,e,TypeDomain,TypeCut,n,StrFunc);
+
+ // draw
+ // ============================================
+
+ // Title
+ // ============================================
+
+ my_title_axes = newaxes();
+ my_title_axes.axes_bounds = [1/3,0,2/3,1];
+
+ // make axes transparent
+ my_title_axes.filled = "off";
+
+ Rs = string(R);
+
+ if TypeDomain == "Square" then
+ end_title = " function on [-"+Rs+","+Rs+"]x[-"+Rs+","+Rs+"]"
+ else
+ end_title = " function on D(0,R="+Rs+")"
+ end
+
+ if StrFunc == "f" then
+ the_title = "Your custom (named f) complex" + end_title;
+ else
+ the_title = "The complex " + StrFunc + end_title;
+ end
+
+ xtitle(the_title);
+
+ my_title_axes.title.text = the_title;
+ my_title_axes.title.font_size = 3;
+ my_title_axes.margins = [ 0.15 0.08 0.08 0.08 ]
+
+ // plot Im(z)
+ // ============================================
+
+ subplot(211)
+ plot3d(xi,yi,zi,theta,alpha,"Re(z)@Im(z)@",[2 6 4]);
+
+ my_IM_axes = gca();
+ my_IM_axes.axes_bounds = [0.16, 0.05, 1, 0.5];
+ my_IM_plot = my_IM_axes.children;
+ my_IM_plot.color_flag = 1;
+
+ xtitle("Im("+StrFunc+"(z))");
+ my_IM_axes.margins = [0.2, 0.2, 0.2, 0.2];
+ my_IM_axes.cube_scaling = "on";
+
+ // plot Re(z) + the real restriction
+ // ============================================
+
+ subplot(212)
+ plot3d(xr,yr,zr,theta,alpha,"Re(z)@Im(z)@",[2 6 4]);
+
+ my_RE_axes = gca();
+ my_RE_axes.axes_bounds = [0.16, 0.5, 1, 0.5];
+ my_RE_plot = my_RE_axes.children;
+ my_RE_plot.color_flag = 1;
+
+ xtitle("Re("+StrFunc+"(z))");
+ my_RE_axes.margins = [0.2, 0.2, 0.2, 0.2];
+ my_RE_axes.cube_scaling = "on";
+
+ // real function in yellow
+ // ============================================
+
+ if DomReal(2) > DomReal(1) then
+ xstring(0.1,-0.15," In yellow : the real "+StrFunc+" function")
+ end
+
+ if DomReal(2) > DomReal(1) then
+ xx = linspace(DomReal(1),DomReal(2),40)';
+ yy = zeros(xx);
+ zz = evstr(StrFunc+"(xx)");
+ param3d1(xx,yy,list(zz,32),theta,alpha,flag=[0,0]);
+ yellow_line = get("hdl");
+ yellow_line.thickness = 3;
+ end
+
+endfunction
+
+function [xr,yr,zr,xi,yi,zi] = CmplxFacets(R,e,TypeDomain,TypeCut,n,StrFunc)
+
+ // A function to compute the facets for drawing a complex function
+ // on a square or a disk with branch(es) cut(s) on Ox or Oy
+ //
+ // TypeDomain : "Square" or "Disk"
+ // TypeCut : "Ox" or "Oy"
+ // R : length of half a side of the square or radius of the disk
+ // e : thin layer to avoid the branch(es) cut(s)
+ // n : a scalar (for Square) or a 2-vector = [ntheta, nr]
+ // (for Disk) for discretization
+ // StrFunc : the string which names the complex function (this is
+ // because primitive don't pass as function argument)
+
+ if TypeDomain == "Square" then
+ if TypeCut == "Ox" then
+ x1 = linspace(-R, R, n);
+ y1 = linspace( e, R, int(n/2));
+ else // for TypeCut = "Oy" ...
+ x1 = linspace( e, R, int(n/2));
+ y1 = linspace(-R, R, n);
+ end
+ X1 = ones(y1')*x1 ; Y1 = y1'*ones(x1);
+
+ else // for TypeDomain = "Disk"
+ r = linspace(0,R, n(2));
+ if TypeCut == "Ox" then
+ theta = linspace(0,%pi,n(1))';
+ X1 = cos(theta)*r;
+ Y1 = e + sin(theta)*r;
+ else // for TypeCut = "Oy"
+ theta = linspace(-%pi/2,%pi/2,n(1))';
+ X1 = e + cos(theta)*r;
+ Y1 = sin(theta)*r;
+ end
+ end
+
+ X2 = -X1 ; Y2 = -Y1;
+ Z1 = evstr(StrFunc+"(X1 + %i*Y1)");
+ Z2 = evstr(StrFunc+"(X2 + %i*Y2)");
+ [xr1,yr1,zr1] = nf3d(X1,Y1,real(Z1));
+ [xr2,yr2,zr2] = nf3d(X2,Y2,real(Z2));
+ xr = [xr1 xr2]; yr = [yr1 yr2]; zr = [zr1 zr2];
+ [xi1,yi1,zi1] = nf3d(X1,Y1,imag(Z1));
+ [xi2,yi2,zi2] = nf3d(X2,Y2,imag(Z2));
+ xi = [xi1 xi2]; yi = [yi1 yi2]; zi = [zi1 zi2];
+
+endfunction
+
+// =============================================================================
+// updateStatusBar
+// + Update the string in the text frame
+// =============================================================================
+function updateStatusBar(tag,msg, msg_color)
+ time_active = 2; //Time the message is active in s
+
+ if argn(2) == 0 then
+ set(tag, "String", " ");
+ return
+ end
+
+ h = gcf();
+ set(tag, "Foregroundcolor", msg_color, "String", msg);
+
+ delta_time = 0;
+ timer()
+ while delta_time < time_active
+ delta_time = delta_time + timer();
+ end
+
+ if is_handle_valid(h)
+ updateStatusBar();
+ end
+endfunction
+
+funcprot(1);
+
+demo_custom();
+
+clear demo_custom();
diff --git a/modules/graphics/demos/cmplxfunc/demo_exp.dem.sce b/modules/graphics/demos/cmplxfunc/demo_exp.dem.sce
new file mode 100755
index 000000000..ea58d90a7
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_exp.dem.sce
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// exp
+// =============================================================================
+
+function demo_exp()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+
+ R = 2;
+ theta = -130;
+ alpha = 73;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,0,"Disk","Ox",[40 20],"exp",theta,alpha,[-R,R]);
+ demo_viewCode("demo_exp.dem.sce");
+
+endfunction
+
+demo_exp()
+clear demo_exp;
diff --git a/modules/graphics/demos/cmplxfunc/demo_log.dem.sce b/modules/graphics/demos/cmplxfunc/demo_log.dem.sce
new file mode 100755
index 000000000..cadc42e59
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_log.dem.sce
@@ -0,0 +1,28 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// log
+// =============================================================================
+
+function demo_log()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+
+ R = 4;
+ e = 0.001;
+ theta = 30;
+ alpha = 60;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Disk","Ox",[40 20],"log",theta,alpha,[e,R]);
+ demo_viewCode("demo_log.dem.sce");
+
+endfunction
+
+demo_log()
+clear demo_log;
diff --git a/modules/graphics/demos/cmplxfunc/demo_sin.dem.sce b/modules/graphics/demos/cmplxfunc/demo_sin.dem.sce
new file mode 100755
index 000000000..3bbdbe313
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_sin.dem.sce
@@ -0,0 +1,28 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// sin
+// =============================================================================
+
+function demo_sin()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+
+ R = %pi;
+ theta = -130;
+ alpha = 73;
+ e = 0.001;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Disk","Ox",[40 20],"sin",theta,alpha,[-R,R]);
+ demo_viewCode("demo_sin.dem.sce");
+
+endfunction
+
+demo_sin()
+clear demo_sin;
diff --git a/modules/graphics/demos/cmplxfunc/demo_sinh.dem.sce b/modules/graphics/demos/cmplxfunc/demo_sinh.dem.sce
new file mode 100755
index 000000000..754790fb5
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_sinh.dem.sce
@@ -0,0 +1,28 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// sinh
+// =============================================================================
+
+function demo_sinh()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+
+ R = %pi;
+ e = 0;
+ theta = -148;
+ alpha = 60;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,0,"Disk","Ox",[40 20],"sinh",theta,alpha,[-R,R]);
+ demo_viewCode("demo_sinh.dem.sce");
+
+endfunction
+
+demo_sinh()
+clear demo_sinh;
diff --git a/modules/graphics/demos/cmplxfunc/demo_tan.dem.sce b/modules/graphics/demos/cmplxfunc/demo_tan.dem.sce
new file mode 100755
index 000000000..d3bb7ffa1
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_tan.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// tan
+// =============================================================================
+
+function demo_tan()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+ R = %pi/2-0.15;
+ theta = -130;
+ alpha = 73;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,0,"Square","Ox",41,"tan",theta,alpha,[-R,R]);
+ demo_viewCode("demo_tan.dem.sce");
+
+endfunction
+
+demo_tan()
+clear demo_tan;
diff --git a/modules/graphics/demos/cmplxfunc/demo_tanh.dem.sce b/modules/graphics/demos/cmplxfunc/demo_tanh.dem.sce
new file mode 100755
index 000000000..403f0c89f
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/demo_tanh.dem.sce
@@ -0,0 +1,28 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+// =============================================================================
+// tanh
+// =============================================================================
+
+function demo_tanh()
+
+ exec("SCI/modules/graphics/demos/cmplxfunc/MacCmplx.sci", -1);
+
+ R = %pi/2-0.2;
+ e = 0;
+ theta = -130;
+ alpha = 73;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ PlotCmplxFunc(R,e,"Square","Ox",41,"tanh",theta,alpha,[-R,R]);
+ demo_viewCode("demo_tanh.dem.sce");
+
+endfunction
+
+demo_tanh();
+clear demo_tanh;
diff --git a/modules/graphics/demos/cmplxfunc/warning.png b/modules/graphics/demos/cmplxfunc/warning.png
new file mode 100755
index 000000000..d140d247e
--- /dev/null
+++ b/modules/graphics/demos/cmplxfunc/warning.png
Binary files differ
diff --git a/modules/graphics/demos/colormap/colormap.dem.sce b/modules/graphics/demos/colormap/colormap.dem.sce
new file mode 100755
index 000000000..ad7968dd3
--- /dev/null
+++ b/modules/graphics/demos/colormap/colormap.dem.sce
@@ -0,0 +1,434 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_colormap()
+
+ global margin_x;
+ global margin_y;
+
+ global padding_x;
+ global padding_y;
+
+ global frame_w;
+ global frame_h;
+
+ global plot_w;
+ global plot_h;
+
+ // Parameters
+ // =========================================================================
+
+ frame_w = 200; // Frame width
+ frame_h = 330; // Frame height
+
+ plot_w = 600; // Plot width
+ plot_h = 550; // Plot height
+
+ margin_x = 15; // Horizontal margin between each elements
+ margin_y = 15; // Vertical margin between each elements
+
+ padding_x = 10; // Horizontal padding between each elements
+ padding_y = 10; // Vertical padding between each elements
+
+ defaultfont = "arial"; // Default Font
+ frametitle_font_size = 16; // Title font size
+ text_font_size = 12; // Text font size
+
+ // Figure creation
+ // =========================================================================
+
+ axes_w = 3*margin_x + frame_w + plot_w; // axes width
+ axes_h = 2*margin_y + max(frame_h,plot_h); // axes height
+
+ demo_plot3d = figure(100001);
+
+ demo_plot3d.background = -2;
+ demo_plot3d.color_map = jetcolormap(128);
+ demo_plot3d.figure_position = [0 0];
+ demo_plot3d.axes_size = [axes_w axes_h];
+ demo_plot3d.figure_name = "Colormap";
+
+ my_frame_pos_x = margin_x;
+ my_frame_pos_y = (axes_h/2-frame_h/2);
+
+ // Frames creation [Control Panel]
+ // =========================================================================
+
+ my_frame = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "relief" , "groove",...
+ "style" , "frame",...
+ "units" , "pixels",...
+ "position" , [ my_frame_pos_x my_frame_pos_y frame_w frame_h],...
+ "fontname" , "arial",...
+ "fontunits" , "points",...
+ "fontsize" , 13,...
+ "fontweight" , "bold", ...
+ "horizontalalignment" , "center", ...
+ "background" , [1 1 1], ...
+ "tag" , "frame_control" ...
+ );
+
+ // Frame title
+ my_frame_title = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "text",...
+ "string" , "Colormap",...
+ "units" , "pixels",...
+ "position" , [ 30+my_frame_pos_x my_frame_pos_y+frame_h-10 frame_w-60 20 ],...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , frametitle_font_size,...
+ "horizontalalignment" , "center", ...
+ "background" , [1 1 1], ...
+ "tag" , "title_frame_control" ...
+ );
+
+ // Colormap frame creation
+ // =========================================================================
+
+ my_cmap_frame_w = frame_w;
+ my_cmap_frame_h = frame_h;
+
+ // Colormap : Jetcolormap
+
+ jetcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Jet",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-50 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 1, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "jetcolormap_radio");
+
+ // Colormap : HSVcolormap
+
+ HSVcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "HSV",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-70 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "HSVcolormap_radio");
+
+ // Colormap : Hotcolormap
+
+ hotcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Hot",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-90 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "hotcolormap_radio");
+
+ // Colormap : Graycolormap
+
+ graycolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Gray",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-110 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "graycolormap_radio");
+
+ // Colormap : Wintercolormap
+
+ wintercolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Winter",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-130 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "wintercolormap_radio");
+
+ // Colormap : Springcolormap
+
+ springcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Spring",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-150 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "springcolormap_radio");
+
+ // Colormap : Summercolormap
+
+ summercolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Summer",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-170 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "summercolormap_radio");
+
+ // Colormap : Autumncolormap
+
+ autumncolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Autumn",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-190 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "autumncolormap_radio");
+
+ // Colormap : Bonecolormap
+
+ bonecolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Bone",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-210 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "bonecolormap_radio");
+
+ // Colormap : Coppercolormap
+
+ coppercolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Copper",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-230 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "coppercolormap_radio");
+
+ // Colormap : Pinkcolormap
+
+ pinkcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Pink",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-250 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "pinkcolormap_radio");
+
+ // Colormap : Rainbowcolormap
+
+ rainbowcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Rainbow",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-270 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "rainbowcolormap_radio");
+
+ // Colormap : Oceancolormap
+
+ oceancolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "Ocean",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-290 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "oceancolormap_radio");
+
+ // Colormap : Whitecolormap
+
+ whitecolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , "White",...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-310 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_colormap",...
+ "tag" , "whitecolormap_radio");
+
+ // Plot3d creation
+ // =========================================================================
+
+ drawlater();
+ my_plot_axes = gca();
+
+ my_plot_axes.x_label.text = "";
+ my_plot_axes.y_label.text = "";
+ my_plot_axes.z_label.text = "";
+ my_plot_axes.title.text = "";
+ my_plot_axes.title.font_size = 5;
+ my_plot_axes.rotation_angles(1) = 80;
+ my_plot_axes.axes_bounds = [ ((2*margin_x+frame_w)/axes_w) 0 1-((2*margin_x+frame_w)/axes_w) 1];
+
+ // define colormap
+ colormapSize = 128;
+ f = gcf();
+ f.color_map = jetcolormap(128);
+
+ // generate facet coordinates
+ x = %pi * [-1:0.05:1]';z = sin(x)*cos(x)';
+ [x,y,z] = genfac3d(x,x,z);
+
+ // generate colors
+ // colors depending on z, between 1 and colormap size
+ facetsColors = (z + 1) * (colormapSize - 1) / 2 + 1;
+
+ // plot
+ plot3d(x,y,list(z, facetsColors));
+
+ // Colorbar
+ z_min = min(z);
+ z_max = max(z);
+ colorbar(z_min,z_max);
+
+ // Background
+ my_plot_axes.background = color(240,240,240);
+
+ my_plot3d = gce();
+
+ my_plot_axes.rotation_angles(1) = 80;
+
+ drawnow();
+
+ demo_viewCode("colormap.dem.sce");
+
+endfunction
+
+
+function demo_update_colormap()
+
+ my_figure = gcf();
+ my_plot_axes = gca();
+
+ my_figure.immediate_drawing = "off";
+
+ set(findobj("tag", "jetcolormap_radio") , "value", 0);
+ set(findobj("tag", "hotcolormap_radio") , "value", 0);
+ set(findobj("tag", "graycolormap_radio") , "value", 0);
+ set(findobj("tag", "wintercolormap_radio") , "value", 0);
+ set(findobj("tag", "springcolormap_radio") , "value", 0);
+ set(findobj("tag", "summercolormap_radio") , "value", 0);
+ set(findobj("tag", "autumncolormap_radio") , "value", 0);
+ set(findobj("tag", "bonecolormap_radio") , "value", 0);
+ set(findobj("tag", "coppercolormap_radio") , "value", 0);
+ set(findobj("tag", "pinkcolormap_radio") , "value", 0);
+ set(findobj("tag", "HSVcolormap_radio") , "value", 0);
+ set(findobj("tag", "rainbowcolormap_radio") , "value", 0);
+ set(findobj("tag", "oceancolormap_radio") , "value", 0);
+ set(findobj("tag", "whitecolormap_radio") , "value", 0);
+
+ set(gcbo, "value", 1);
+
+ my_wanted_colormap = get(gcbo,"tag");
+
+ if get(gcbo, "tag") == "jetcolormap_radio" then
+ my_figure.color_map = jetcolormap(128);
+ elseif get(gcbo, "tag") == "hotcolormap_radio" then
+ my_figure.color_map = hotcolormap(128);
+ elseif get(gcbo, "tag") == "graycolormap_radio" then
+ my_figure.color_map = graycolormap(128);
+ elseif get(gcbo, "tag") == "wintercolormap_radio" then
+ my_figure.color_map = wintercolormap(128);
+ elseif get(gcbo, "tag") == "springcolormap_radio" then
+ my_figure.color_map = springcolormap(128);
+ elseif get(gcbo, "tag") == "summercolormap_radio" then
+ my_figure.color_map = summercolormap(128);
+ elseif get(gcbo, "tag") == "autumncolormap_radio" then
+ my_figure.color_map = autumncolormap(128);
+ elseif get(gcbo, "tag") == "bonecolormap_radio" then
+ my_figure.color_map = bonecolormap(128);
+ elseif get(gcbo, "tag") == "coppercolormap_radio" then
+ my_figure.color_map = coppercolormap(128);
+ elseif get(gcbo, "tag") == "pinkcolormap_radio" then
+ my_figure.color_map = pinkcolormap(128);
+ elseif get(gcbo, "tag") == "HSVcolormap_radio" then
+ my_figure.color_map = hsvcolormap(128);
+ elseif get(gcbo, "tag") == "rainbowcolormap_radio" then
+ my_figure.color_map = rainbowcolormap(128);
+ elseif get(gcbo, "tag") == "oceancolormap_radio" then
+ my_figure.color_map = oceancolormap(128);
+ elseif get(gcbo, "tag") == "whitecolormap_radio" then
+ my_figure.color_map = whitecolormap(128);
+ end
+
+ // Background
+ my_plot_axes.background = color(240,240,240);
+
+ my_figure.immediate_drawing = "on";
+
+endfunction
+
+
+demo_colormap();
+clear demo_colormap;
diff --git a/modules/graphics/demos/datatips/curvature.sci b/modules/graphics/demos/datatips/curvature.sci
new file mode 100755
index 000000000..4adf908f5
--- /dev/null
+++ b/modules/graphics/demos/datatips/curvature.sci
@@ -0,0 +1,23 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - INRIA - Serge Steer <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at;
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function c=curvature(data)
+ d1=diff(data,1,1);
+ d2=diff(data,2,1);
+ if size(data,2)==3 then
+ c=sqrt(...
+ (d2(:,3).*d1(2:$,2)-d2(:,2).*d1(2:$,3)).^2 +...
+ (d2(:,1).*d1(2:$,3)-d2(:,3).*d1(2:$,1)).^2 +...
+ (d2(:,2).*d1(2:$,1)-d2(:,1).*d1(2:$,2)).^2)/...
+ ((d1(2:$,1)^2+d1(2:$,2)^2+d1(2:$,3)^2)^1.5)
+ else
+ c=(d1(2:$,1).*d2(:,2)-d1(2:$,2).*d2(:,1))./((d1(2:$,1)^2+d1(2:$,2)^2)^1.5)
+ end
+endfunction
+
diff --git a/modules/graphics/demos/datatips/datatip1.sce b/modules/graphics/demos/datatips/datatip1.sce
new file mode 100755
index 000000000..62cf9da2a
--- /dev/null
+++ b/modules/graphics/demos/datatips/datatip1.sce
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - INRIA - Serge Steer <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at;
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function datatip1
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ fig=gcf();fig.axes_size=[760 460];
+
+ title(_("datatips on 2D curves"),"fontsize",3);
+
+ x1=linspace(-1,1,300)';
+ plot(x1,x1.^3,x1,sinc(10*x1));
+ e=gce();
+ p1=e.children(1);//the handle on the sinc(10*x1) curve
+ p2=e.children(2); //the handle on the x1^3 curve
+
+ //Create 2 datatips on the sinc curve
+ datatipCreate(p1,50); //by index
+ datatipCreate(p1,[0.8 0.5]);//by nearest mesh point
+
+ //Create 2 datatips on the x^3 curve
+ //datatipSetStyle(p2,2,%f) //directional arrow no box
+ //function s=mydisp(curve,pt,index),s=msprintf("%.2g",pt(1)),endfunction
+ //pause;
+ //datatipSetDisplay(p2,mydisp) // Change the default datatip label
+ datatipCreate(p2,[0.1,0]);
+ datatipCreate(p2,[0.8 0.4]);
+ datatipSetStyle(p2,2,%f) //directional arrow no box
+
+ datatipManagerMode(fig,"on") //activate the interactive editor
+
+
+ demo_viewCode("datatip1.sce");
+
+endfunction
+
+datatip1();
+clear datatip1;
diff --git a/modules/graphics/demos/datatips/datatip2.sce b/modules/graphics/demos/datatips/datatip2.sce
new file mode 100755
index 000000000..b25c48a24
--- /dev/null
+++ b/modules/graphics/demos/datatips/datatip2.sce
@@ -0,0 +1,56 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - INRIA - Serge Steer <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at;
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+function datatip2
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ fig=gcf();
+
+ title(_("datatips on 3D curves"),"fontsize",3);
+
+
+ r=1;
+ k=tan(%pi/27);
+ t=linspace(-40,40,1000);
+ x=r*cos(t)./cosh(k*t);
+ y=r*sin(t)./cosh(k*t);
+ z=r*tanh(k*t);
+ param3d(x,y,z);c=gce();c.thickness=2;C.foreground=color("blue")
+
+ ax=gca();ax.rotation_angles=[70 50];ax.axes_visible="off";
+ drawnow()
+
+ c.display_function_data = t;
+ datatipSetStyle(c,2,%f) //directional arrow no box
+
+ function s=mydisp(curve,pt,index),
+ ud=datatipGetStruct(curve);
+ if index<>[] then
+ t=ud.t(index);
+ else //interpolated
+ [d,ptp,i,c]=orthProj(curve.data,pt);
+ t=ud.t(i)+(ud.t(i+1)-ud.t(i))*c;
+ end
+ s=msprintf("%.2g", t);
+ endfunction
+
+ for k=[350 400 450 500 520 550 600]
+ dt=datatipCreate(c,k);
+ end
+ //datatipSetDisplay(c,mydisp) // Change the default datatip label
+
+ datatipManagerMode(fig,"on") //activate the interactive editor
+
+ demo_viewCode("datatip2.sce");
+
+endfunction
+
+datatip2();
+clear datatip2;
diff --git a/modules/graphics/demos/datatips/datatips.dem.gateway.sce b/modules/graphics/demos/datatips/datatips.dem.gateway.sce
new file mode 100755
index 000000000..fc2144698
--- /dev/null
+++ b/modules/graphics/demos/datatips/datatips.dem.gateway.sce
@@ -0,0 +1,17 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - INRIA - Serge Steer <serge.steer@inria.fr>
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at;
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+demopath = get_absolute_file_path("datatips.dem.gateway.sce");
+
+subdemolist=[
+_("2D curves") , "datatip1.sce";
+_("3D curve") , "datatip2.sce"];
+
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath;
diff --git a/modules/graphics/demos/fec/MESH b/modules/graphics/demos/fec/MESH
new file mode 100755
index 000000000..9d5060873
--- /dev/null
+++ b/modules/graphics/demos/fec/MESH
@@ -0,0 +1,2318 @@
+ 801 1516
+ 1 3.6402 11.76284 5
+ 2 3.328 10.4804 0
+ 3 4.91132 9.71708 4
+ 4 1.43247 9.96129 5
+ 5 5.97946 7.98538 4
+ 6 4.09333 8.16162 0
+ 7 2.77862E-02 8.69896 5
+ 8 2.27742 7.8638 0
+ 9 6.90626 5.84907 4
+ 10 5.34723 6.34128 0
+ 11 4.82009 6.87224 0
+ 12 3.51689 7.26221 0
+ 13 -1.33439 7.21336 5
+ 14 .1443161 7.0075 0
+ 15 2.30465 6.16478 0
+ 16 3.36043 6.44961 0
+ 17 1.02922 6.15922 0
+ 18 7.36686 4.41852 4
+ 19 6.55011 4.81687 0
+ 20 5.96395 5.27154 0
+ 21 5.32382 5.15045 0
+ 22 4.57713 5.94394 0
+ 23 4.18224 6.5434 0
+ 24 -2.02359 6.33025 5
+ 25 -.912838 6.37402 0
+ 26 .1256743 6.08867 0
+ 27 1.71283 5.43174 0
+ 28 2.38583 5.02655 0
+ 29 3.17081 5.51546 0
+ 30 3.9533 5.70922 0
+ 31 .2343398 5.47803 0
+ 32 .8987209 4.88058 0
+ 33 7.62583 3.35639 4
+ 34 6.63749 3.65952 0
+ 35 5.6123 4.44633 0
+ 36 4.84216 4.48318 0
+ 37 4.57287 5.18134 0
+ 38 -2.43703 5.73561 5
+ 39 -1.51227 5.7719 0
+ 40 -.558635 5.71733 0
+ 41 1.5767 4.68648 0
+ 42 2.94674 4.69947 0
+ 43 2.34326 4.16834 0
+ 44 3.69427 5.03498 0
+ 45 -.141864 4.93112 0
+ 46 .1580566 4.28326 0
+ 47 .9812617 4.15632 0
+ 48 7.78184 2.50809 4
+ 49 7.04559 2.83035 0
+ 50 6.03631 2.75803 0
+ 51 5.56341 3.56532 0
+ 52 5.0829 4.04871 0
+ 53 4.53694 3.9026 0
+ 54 4.30817 4.54668 0
+ 55 -2.92001 4.9514 5
+ 56 -1.75856 4.90681 0
+ 57 -.883006 4.97573 0
+ 58 1.65534 3.99895 0
+ 59 3.01308 4.11613 0
+ 60 3.56744 4.39268 0
+ 61 1.8919 3.38714 0
+ 62 2.74215 3.3328 0
+ 63 -.548819 4.2822 0
+ 64 -.261566 3.69325 0
+ 65 .5127989 3.60033 0
+ 66 1.1834 3.38654 0
+ 67 7.87853 1.79091 4
+ 68 7.21596 2.15035 0
+ 69 6.50552 2.0525 0
+ 70 5.78098 1.89818 0
+ 71 5.25706 2.69779 0
+ 72 4.74235 3.42041 0
+ 73 4.05824 4.02469 0
+ 74 4.06545 3.43654 0
+ 75 -3.21777 4.39881 5
+ 76 -2.59055 4.40245 0
+ 77 -1.79845 4.21898 0
+ 78 -1.18822 4.28745 0
+ 79 3.46322 3.68952 0
+ 80 1.42913 2.82681 0
+ 81 2.19963 2.65163 0
+ 82 3.67278 2.87457 0
+ 83 2.90544 2.17154 0
+ 84 -.889672 3.76497 0
+ 85 -.667408 3.15585 0
+ 86 -1.51733E-02 3.10834 0
+ 87 .7516537 2.71958 0
+ 88 7.93729 1.15491 4
+ 89 7.23473 1.48573 0
+ 90 6.36426 1.07558 0
+ 91 5.2909 1.28604 0
+ 92 4.77444 2.02167 0
+ 93 4.45731 2.69258 0
+ 94 -3.48762 3.9237 5
+ 95 -2.95276 3.92039 0
+ 96 -2.37882 3.86151 0
+ 97 -1.86909 3.74248 0
+ 98 -1.4637 3.71612 0
+ 99 1.1626 2.30529 0
+ 100 1.71851 2.21814 0
+ 101 2.2463 1.89611 0
+ 102 3.94936 1.93029 0
+ 103 2.65658 1.43759 0
+ 104 3.41445 1.32852 0
+ 105 -1.22008 3.33781 0
+ 106 -.423257 2.63802 0
+ 107 -1.09842 2.65286 0
+ 108 .21667 2.44067 0
+ 109 .6845471 2.20722 0
+ 110 7.96907 .5664396 4
+ 111 7.26807 .6985334 0
+ 112 6.5 .0 0
+ 113 5.2 .0 0
+ 114 4.39951 .9821786 0
+ 115 -3.75745 3.45807 5
+ 116 -3.23939 3.47375 0
+ 117 -2.74277 3.47424 0
+ 118 -2.17209 3.33135 0
+ 119 -1.78177 3.30349 0
+ 120 .9920024 1.9114 0
+ 121 1.39233 1.89085 0
+ 122 1.78555 1.67462 0
+ 123 2.09239 1.36035 0
+ 124 2.37075 .9082378 0
+ 125 2.97354 .7561063 0
+ 126 3.61928 .6404371 0
+ 127 -1.57834 2.99242 0
+ 128 -.165607 2.09423 0
+ 129 -.787933 2.00102 0
+ 130 -1.53968 2.12372 0
+ 131 -1.82228 2.45337 0
+ 132 .2763243 1.9709 0
+ 133 .6651517 1.82758 0
+ 134 7.97914 .0 4
+ 135 7.26807 -.698532 0
+ 136 6.36426 -1.07557 0
+ 137 5.2909 -1.28604 0
+ 138 4.0 .0 0
+ 139 4.39951 -.982177 0
+ 140 -3.99559 2.98379 5
+ 141 -3.47722 3.03564 0
+ 142 -2.98965 3.08626 0
+ 143 -2.57874 2.86667 0
+ 144 -2.00829 2.83651 0
+ 145 .891421 1.60842 0
+ 146 1.17616 1.64518 0
+ 147 1.4658 1.49527 0
+ 148 1.70847 1.2772 0
+ 149 1.90646 .9987785 0
+ 150 2.02119 .5996884 0
+ 151 2.391 .4414106 0
+ 152 3.00467 .0 0
+ 153 2.15301E-02 1.69399 0
+ 154 -.420138 1.67288 0
+ 155 -.849485 1.34154 0
+ 156 -1.32123 1.52209 0
+ 157 -1.87328 1.54151 0
+ 158 -2.01726 1.93998 0
+ 159 -2.2694 2.42714 0
+ 160 .334178 1.63069 0
+ 161 .6722608 1.53423 0
+ 162 7.96907 -.566438 4
+ 163 7.93729 -1.15491 4
+ 164 7.23473 -1.48573 0
+ 165 6.50552 -2.0525 0
+ 166 5.78098 -1.89818 0
+ 167 4.77444 -2.02167 0
+ 168 3.61928 -.640436 0
+ 169 3.41445 -1.32852 0
+ 170 3.94936 -1.93029 0
+ 171 -4.2039 2.50218 5
+ 172 -3.68466 2.58704 0
+ 173 -3.17081 2.67497 0
+ 174 -2.76717 2.26831 0
+ 175 1.04169 1.4681 0
+ 176 .8724148 1.36638 0
+ 177 1.22925 1.35368 0
+ 178 1.42655 1.19665 0
+ 179 1.59794 .9878665 0
+ 180 1.72053 .7244809 0
+ 181 1.75706 .4385085 0
+ 182 1.98656 .2808103 0
+ 183 2.3155 .0 0
+ 184 2.391 -.441411 0
+ 185 2.97354 -.756105 0
+ 186 .1608183 1.37653 0
+ 187 -.157967 1.42318 0
+ 188 -.508676 1.16532 0
+ 189 -.702885 .9696695 0
+ 190 -1.07121 1.0425 0
+ 191 -1.55563 1.07401 0
+ 192 -2.33469 1.56966 0
+ 193 -2.09253 1.01754 0
+ 194 -2.43151 2.0142 0
+ 195 .4047026 1.35943 0
+ 196 .694836 1.28403 0
+ 197 7.87853 -1.7909 4
+ 198 7.21596 -2.15035 0
+ 199 7.04559 -2.83035 0
+ 200 6.03631 -2.75802 0
+ 201 5.25706 -2.69779 0
+ 202 4.45731 -2.69258 0
+ 203 2.65658 -1.43759 0
+ 204 2.90544 -2.17154 0
+ 205 3.67278 -2.87457 0
+ 206 -4.37725 2.01256 5
+ 207 -3.89283 2.15615 0
+ 208 -3.32325 2.21588 0
+ 209 -2.9418 1.74838 0
+ 210 1.01971 1.25626 0
+ 211 .8646832 1.15961 0
+ 212 1.18627 1.129 0
+ 213 1.33886 .9694635 0
+ 214 1.45399 .7855206 0
+ 215 1.53757 .5702986 0
+ 216 1.54703 .3373565 0
+ 217 1.70684 .1989547 0
+ 218 1.90209 .0 0
+ 219 1.98656 -.280809 0
+ 220 2.02119 -.599687 0
+ 221 2.37075 -.908236 0
+ 222 -3.17991E-03 1.22286 0
+ 223 .2317153 1.09168 0
+ 224 -.228146 1.08092 0
+ 225 -.454535 .895419 0
+ 226 -.607821 .6942303 0
+ 227 -.895643 .7692745 0
+ 228 -1.26165 .7702847 0
+ 229 -1.71872 .7544767 0
+ 230 -2.73527 1.07615 0
+ 231 -2.4663 .662132 0
+ 232 -2.01494 .4393782 0
+ 233 .5055174 1.12782 0
+ 234 .7192853 1.0983 0
+ 235 7.78184 -2.50809 4
+ 236 7.62583 -3.35638 4
+ 237 6.63749 -3.65951 0
+ 238 5.56341 -3.56531 0
+ 239 4.74235 -3.4204 0
+ 240 4.06545 -3.43653 0
+ 241 2.09239 -1.36035 0
+ 242 2.2463 -1.8961 0
+ 243 2.19963 -2.65163 0
+ 244 2.74215 -3.33279 0
+ 245 3.46322 -3.68951 0
+ 246 -4.51267 1.51577 5
+ 247 -3.99513 1.71954 0
+ 248 -3.49724 1.64541 0
+ 249 -3.23965 1.08649 0
+ 250 .9858685 1.06643 0
+ 251 .8485561 .9882485 0
+ 252 1.13048 .9417926 0
+ 253 1.2473 .787486 0
+ 254 1.32351 .6290937 0
+ 255 1.38603 .4575971 0
+ 256 1.3781 .2711929 0
+ 257 1.49632 .1538513 0
+ 258 1.62375 .0 0
+ 259 1.70684 -.198953 0
+ 260 1.75706 -.438507 0
+ 261 1.72053 -.724479 0
+ 262 1.90646 -.998777 0
+ 263 1.20544E-03 .9388005 0
+ 264 .3987394 .9309827 0
+ 265 .2000457 .8130611 0
+ 266 -.195955 .831004 0
+ 267 -.385829 .6725705 0
+ 268 -.496326 .488101 0
+ 269 -.734165 .4974913 0
+ 270 -1.08912 .4717954 0
+ 271 -1.55137 .4262877 0
+ 272 -3.00539 .561253 0
+ 273 -2.5 .0 0
+ 274 -1.8 .0 0
+ 275 .5975857 .9573565 0
+ 276 .7378429 .9605755 0
+ 277 7.36686 -4.41852 4
+ 278 6.55011 -4.81686 0
+ 279 5.6123 -4.44633 0
+ 280 5.0829 -4.04871 0
+ 281 4.53694 -3.9026 0
+ 282 4.05824 -4.02468 0
+ 283 1.70847 -1.2772 0
+ 284 1.78555 -1.67462 0
+ 285 1.71851 -2.21814 0
+ 286 1.42913 -2.8268 0
+ 287 1.8919 -3.38713 0
+ 288 3.01308 -4.11613 0
+ 289 2.34326 -4.16833 0
+ 290 3.56744 -4.39268 0
+ 291 -4.61628 1.01422 5
+ 292 -4.02815 1.21572 0
+ 293 -3.57932 .6258863 0
+ 294 .9422603 .9064021 0
+ 295 .7994182 .8515058 0
+ 296 1.0689 .7856748 0
+ 297 1.15861 .6406751 0
+ 298 1.21379 .505963 0
+ 299 1.26488 .3745619 0
+ 300 1.33053 .1319884 0
+ 301 1.24081 .2309416 0
+ 302 1.41919 .0 0
+ 303 1.49632 -.15385 0
+ 304 1.54703 -.337355 0
+ 305 1.53757 -.570297 0
+ 306 1.45399 -.785519 0
+ 307 1.59794 -.987866 0
+ 308 -1.58051E-02 .7064436 0
+ 309 .3944899 .7458981 0
+ 310 .5503782 .7918515 0
+ 311 .2619642 .6726225 0
+ 312 .1294464 .6279096 0
+ 313 -.166951 .6252347 0
+ 314 -.317398 .5023053 0
+ 315 -.386427 .3552457 0
+ 316 -.548409 .3138349 0
+ 317 -.764408 .2465941 0
+ 318 -1.24039 .0 0
+ 319 -3.5 .0 0
+ 320 -2.4663 -.66213 0
+ 321 -2.01494 -.439377 0
+ 322 -3.00539 -.561252 0
+ 323 -1.55137 -.426286 0
+ 324 .6816403 .8166471 0
+ 325 6.90626 -5.84907 4
+ 326 5.96395 -5.27153 0
+ 327 4.84216 -4.48318 0
+ 328 5.32382 -5.15044 0
+ 329 4.30817 -4.54668 0
+ 330 1.42655 -1.19664 0
+ 331 1.4658 -1.49526 0
+ 332 1.39233 -1.89084 0
+ 333 1.1626 -2.30529 0
+ 334 1.1834 -3.38653 0
+ 335 .7516537 -2.71958 0
+ 336 1.65534 -3.99895 0
+ 337 2.94674 -4.69946 0
+ 338 1.5767 -4.68647 0
+ 339 2.38583 -5.02654 0
+ 340 3.69427 -5.03497 0
+ 341 -4.66964 .5076444 5
+ 342 -4.09764 .5711897 0
+ 343 .8975827 .7624905 0
+ 344 .7582349 .7191587 0
+ 345 1.00469 .6460111 0
+ 346 1.08227 .5191755 0
+ 347 1.12558 .4027478 0
+ 348 1.17365 .31369 0
+ 349 1.25756 .0 0
+ 350 1.18748 .1115828 0
+ 351 1.12444 .2060119 0
+ 352 1.33053 -.131987 0
+ 353 1.3781 -.271191 0
+ 354 1.38603 -.457596 0
+ 355 1.32351 -.629092 0
+ 356 1.2473 -.787484 0
+ 357 1.33886 -.969462 0
+ 358 -8.55255E-03 .5190047 0
+ 359 .3832564 .6071637 0
+ 360 .5236296 .6557598 0
+ 361 .6431623 .6826444 0
+ 362 .2504149 .5061048 0
+ 363 .1231291 .4853529 0
+ 364 -.15705 .4607756 0
+ 365 -.258781 .3726958 0
+ 366 -.306358 .2657057 0
+ 367 -.416314 .2308623 0
+ 368 -.535699 .1333449 0
+ 369 -.738809 .0 0
+ 370 -.764408 -.246593 0
+ 371 -1.08912 -.471794 0
+ 372 -4.6758 .0 5
+ 373 -3.57932 -.625885 0
+ 374 -4.09764 -.571188 0
+ 375 -2.73527 -1.07615 0
+ 376 -2.09253 -1.01754 0
+ 377 -1.71872 -.754475 0
+ 378 -3.23965 -1.08649 0
+ 379 -1.26165 -.770283 0
+ 380 5.97946 -7.98537 4
+ 381 5.34723 -6.34127 0
+ 382 4.57287 -5.18133 0
+ 383 4.57713 -5.94394 0
+ 384 1.18627 -1.129 0
+ 385 1.22925 -1.35368 0
+ 386 1.17616 -1.64518 0
+ 387 .9920024 -1.9114 0
+ 388 .6845471 -2.20722 0
+ 389 .5127989 -3.60033 0
+ 390 .9812617 -4.15631 0
+ 391 .21667 -2.44067 0
+ 392 -1.51733E-02 -3.10833 0
+ 393 3.17081 -5.51545 0
+ 394 1.71283 -5.43174 0
+ 395 .8987209 -4.88057 0
+ 396 2.30465 -6.16477 0
+ 397 3.9533 -5.70922 0
+ 398 .8533412 .6308683 0
+ 399 .7218213 .5958523 0
+ 400 .9460018 .5226851 0
+ 401 1.01681 .4086089 0
+ 402 1.0718 .3018279 0
+ 403 1.12147 .0 0
+ 404 1.18748 -.111581 0
+ 405 1.06602 .1009536 0
+ 406 1.01467 .2024139 0
+ 407 1.24081 -.23094 0
+ 408 1.26488 -.37456 0
+ 409 1.21379 -.505961 0
+ 410 1.15861 -.640674 0
+ 411 1.0689 -.785673 0
+ 412 1.13048 -.941792 0
+ 413 3.55560E-02 .428485 0
+ 414 -4.36707E-02 .4012678 0
+ 415 .396115 .4791623 0
+ 416 .5056213 .5232939 0
+ 417 .6100782 .5591459 0
+ 418 .3086912 .3967604 0
+ 419 .2019118 .3994993 0
+ 420 .1055663 .3977201 0
+ 421 -.139096 .3440443 0
+ 422 -.218281 .2834456 0
+ 423 -.331998 .1891067 0
+ 424 -.254535 .1933241 0
+ 425 -.382798 .1143127 0
+ 426 -.449423 .0 0
+ 427 -.535699 -.133343 0
+ 428 -.548409 -.313834 0
+ 429 -.734165 -.49749 0
+ 430 -.895643 -.769273 0
+ 431 -4.66964 -.507643 5
+ 432 -4.02815 -1.21571 0
+ 433 -4.61628 -1.01422 5
+ 434 -2.33469 -1.56966 0
+ 435 -2.9418 -1.74838 0
+ 436 -1.55563 -1.074 0
+ 437 -1.87328 -1.5415 0
+ 438 -3.49724 -1.64541 0
+ 439 -1.07121 -1.0425 0
+ 440 4.91132 -9.84733 4
+ 441 4.82009 -6.87224 0
+ 442 4.09333 -8.16162 0
+ 443 4.18224 -6.5434 0
+ 444 .9858685 -1.06643 0
+ 445 1.01971 -1.25626 0
+ 446 1.04169 -1.4681 0
+ 447 .891421 -1.60842 0
+ 448 .6651517 -1.82758 0
+ 449 .2763243 -1.9709 0
+ 450 -.261566 -3.69325 0
+ 451 .1580566 -4.28325 0
+ 452 -.165607 -2.09423 0
+ 453 -.423257 -2.63802 0
+ 454 -.667408 -3.15585 0
+ 455 3.36043 -6.44961 0
+ 456 1.02922 -6.15921 0
+ 457 .2343398 -5.47803 0
+ 458 -.141864 -4.93112 0
+ 459 2.27742 -7.8638 0
+ 460 .8109645 .5095853 0
+ 461 .6902219 .4820845 0
+ 462 .8914241 .4100629 0
+ 463 .9585263 .3064391 0
+ 464 1.06602 -.100952 0
+ 465 .9999982 .0 3
+ 466 1.12444 -.20601 0
+ 467 .9568228 .1061446 0
+ 468 .9001461 .2073882 0
+ 469 1.17365 -.313688 0
+ 470 1.12558 -.402746 0
+ 471 1.08227 -.519174 0
+ 472 1.00469 -.64601 0
+ 473 .8975827 -.762489 0
+ 474 .9422603 -.906401 0
+ 475 4.28360E-02 .3224684 0
+ 476 -5.86533E-02 .2962005 0
+ 477 .4061597 .3827117 0
+ 478 .4945279 .4150389 0
+ 479 .5853955 .4506224 0
+ 480 .2610304 .3155134 0
+ 481 .3456237 .3118484 0
+ 482 .156613 .2958205 0
+ 483 -.128964 .253279 0
+ 484 -.186462 .2173918 0
+ 485 -.268495 .1124373 0
+ 486 -.18335 .1483871 0
+ 487 -.269118 .0 0
+ 488 -.382798 -.114311 0
+ 489 -.416314 -.230861 0
+ 490 -.386427 -.355244 0
+ 491 -.496326 -.488099 0
+ 492 -.607821 -.694229 0
+ 493 -.702885 -.969668 0
+ 494 -4.51267 -1.51577 5
+ 495 -3.99513 -1.71954 0
+ 496 -2.43151 -2.0142 0
+ 497 -2.01726 -1.93998 0
+ 498 -3.32325 -2.21588 0
+ 499 -2.76717 -2.26831 0
+ 500 -1.32123 -1.52209 0
+ 501 -1.53968 -2.12372 0
+ 502 -3.89283 -2.15615 0
+ 503 -.849485 -1.34153 0
+ 504 3.6402 -11.7628 5
+ 505 3.328 -10.5672 0
+ 506 1.43247 -10.0915 5
+ 507 3.51689 -7.26221 0
+ 508 .8485561 -.988247 0
+ 509 .8646832 -1.1596 0
+ 510 .8724148 -1.36638 0
+ 511 .6722608 -1.53422 0
+ 512 .334178 -1.63069 0
+ 513 2.15301E-02 -1.69399 0
+ 514 -.889672 -3.76497 0
+ 515 -.548819 -4.28219 0
+ 516 -.420138 -1.67288 0
+ 517 -.787933 -2.00102 0
+ 518 -1.09842 -2.65286 0
+ 519 -1.22008 -3.3378 0
+ 520 .1256743 -6.08867 0
+ 521 .1443161 -7.00749 0
+ 522 -.558635 -5.71732 0
+ 523 -.883006 -4.97572 0
+ 524 2.77862E-02 -8.69895 5
+ 525 .7691814 .3984968 0
+ 526 .6574751 .3774656 0
+ 527 .8401898 .3053953 0
+ 528 .9568215 -.106144 0
+ 529 1.01467 -.202412 0
+ 530 .8864864 -1.50375E-02 3
+ 531 .8864864 1.50375E-02 3
+ 532 1.0718 -.301826 0
+ 533 .8441705 .1145241 0
+ 534 .7884731 .2083113 0
+ 535 1.01681 -.408607 0
+ 536 .9460018 -.522685 0
+ 537 .8533412 -.630867 0
+ 538 .7582349 -.719157 0
+ 539 .7994182 -.851504 0
+ 540 7.16278E-02 .2403303 0
+ 541 -2.59548E-03 .2331923 0
+ 542 -6.24756E-02 .2110534 0
+ 543 .4129697 .3112852 0
+ 544 .4795697 .324678 0
+ 545 .5596387 .3530775 0
+ 546 .2348296 .2333526 0
+ 547 .3080657 .2374953 0
+ 548 .3767896 .2438903 0
+ 549 .1534377 .2148437 0
+ 550 -.116585 .1826065 0
+ 551 -.164484 7.41516E-02 0
+ 552 -.114101 .1188628 0
+ 553 -.151888 .0 0
+ 554 -.164484 -7.41500E-02 0
+ 555 -.268495 -.112436 0
+ 556 -.331998 -.189105 0
+ 557 -.306358 -.265704 0
+ 558 -.258781 -.372694 0
+ 559 -.317398 -.502304 0
+ 560 -.385829 -.672569 0
+ 561 -.454535 -.895417 0
+ 562 -.508676 -1.16532 0
+ 563 -4.37725 -2.01256 5
+ 564 -2.2694 -2.42714 0
+ 565 -1.82228 -2.45337 0
+ 566 -3.68466 -2.58704 0
+ 567 -3.17081 -2.67497 0
+ 568 -2.57874 -2.86667 0
+ 569 -4.2039 -2.50218 5
+ 570 .7378429 -.960574 0
+ 571 .7192853 -1.0983 0
+ 572 .694836 -1.28403 0
+ 573 .4047026 -1.35943 0
+ 574 .1608183 -1.37652 0
+ 575 -.157967 -1.42317 0
+ 576 -1.4637 -3.71611 0
+ 577 -1.18822 -4.28744 0
+ 578 -1.57834 -2.99242 0
+ 579 -1.78177 -3.30349 0
+ 580 -.912838 -6.37401 0
+ 581 -1.33439 -7.21335 5
+ 582 -1.51227 -5.77189 0
+ 583 -1.75856 -4.90681 0
+ 584 .7275524 .2973372 0
+ 585 .6236158 .28421 0
+ 586 .8441705 -.114523 0
+ 587 .9001461 -.207387 0
+ 588 .9585263 -.306437 0
+ 589 .7797284 -2.74484E-02 3
+ 590 .7797284 2.74484E-02 3
+ 591 .7384822 .1200897 0
+ 592 .6837766 .2058394 0
+ 593 .8914241 -.410061 0
+ 594 .8109645 -.509584 0
+ 595 .7218213 -.595851 0
+ 596 .6431623 -.682643 0
+ 597 .6816403 -.816645 0
+ 598 8.59481E-02 .1766327 0
+ 599 3.15963E-02 .1806014 0
+ 600 -1.67618E-02 .1721709 0
+ 601 -6.18225E-02 .1536864 0
+ 602 .4492064 .2552368 0
+ 603 .5306807 .2694289 0
+ 604 .2130416 .1636946 0
+ 605 .2778944 .1703933 0
+ 606 .3450286 .1788817 0
+ 607 .4175351 .1861021 0
+ 608 .1466674 .1506973 0
+ 609 -8.36426E-02 5.70786E-02 0
+ 610 -5.78934E-02 .1079787 0
+ 611 -7.49145E-02 .0 0
+ 612 -8.36426E-02 -5.70770E-02 0
+ 613 -.114101 -.118861 0
+ 614 -.18335 -.148385 0
+ 615 -.254535 -.193323 0
+ 616 -.218281 -.283444 0
+ 617 -.139096 -.344043 0
+ 618 -.15705 -.460774 0
+ 619 -.166951 -.625233 0
+ 620 -.195955 -.831002 0
+ 621 -.228146 -1.08092 0
+ 622 -2.00829 -2.83651 0
+ 623 -3.99559 -2.98379 5
+ 624 -3.47722 -3.03563 0
+ 625 -2.98965 -3.08625 0
+ 626 -2.74277 -3.47423 0
+ 627 -2.17209 -3.33135 0
+ 628 .5975857 -.957356 0
+ 629 .5055174 -1.12782 0
+ 630 .2317153 -1.09168 0
+ 631 -3.17991E-03 -1.22285 0
+ 632 -1.86909 -3.74248 0
+ 633 -1.79845 -4.21898 0
+ 634 -2.02359 -6.33024 5
+ 635 -2.43703 -5.73561 5
+ 636 -2.92001 -4.9514 5
+ 637 -2.59055 -4.40244 0
+ 638 .5866392 .2008635 0
+ 639 .7384824 -.120088 0
+ 640 .7884731 -.20831 0
+ 641 .8401898 -.305394 0
+ 642 .6797482 -3.76682E-02 3
+ 643 .6797482 3.76682E-02 3
+ 644 .6400778 .1232644 0
+ 645 .7691814 -.398495 0
+ 646 .6902219 -.482083 0
+ 647 .6100782 -.559144 0
+ 648 .5236296 -.655758 0
+ 649 .5503782 -.79185 0
+ 650 4.87854E-02 .1356337 0
+ 651 9.06234E-02 .1248961 0
+ 652 1.18362E-02 .1394988 0
+ 653 -2.41455E-02 .1277617 0
+ 654 .4977034 .1939451 0
+ 655 .193654 .102113 0
+ 656 .2508392 .1105057 0
+ 657 .3150776 .1170149 0
+ 658 .3862369 .1214922 0
+ 659 .4641503 .1239466 0
+ 660 .1434675 9.19626E-02 0
+ 661 -3.29767E-02 2.39800E-02 0
+ 662 -3.39798E-02 6.86035E-02 0
+ 663 -1.39526E-02 9.20333E-02 0
+ 664 -2.62894E-02 .0 0
+ 665 -3.29767E-02 -2.39800E-02 0
+ 666 -3.39798E-02 -6.86035E-02 0
+ 667 -5.78934E-02 -.107977 0
+ 668 -6.18225E-02 -.153685 0
+ 669 -.116585 -.182605 0
+ 670 -.186462 -.21739 0
+ 671 -.128964 -.253277 0
+ 672 -5.86533E-02 -.296199 0
+ 673 -4.36707E-02 -.401266 0
+ 674 -8.55255E-03 -.519003 0
+ 675 -1.58051E-02 -.706442 0
+ 676 1.20544E-03 -.9388 0
+ 677 -3.75745 -3.45806 5
+ 678 -3.23939 -3.47374 0
+ 679 -2.95276 -3.92038 0
+ 680 -2.37882 -3.8615 0
+ 681 .3987394 -.930981 0
+ 682 .2000457 -.81306 0
+ 683 -3.21777 -4.3988 5
+ 684 .5487325 .1245039 0
+ 685 .6400778 -.123263 0
+ 686 .6837766 -.205838 0
+ 687 .7275524 -.297336 0
+ 688 .5865507 -4.58928E-02 3
+ 689 .5865507 4.58928E-02 3
+ 690 .6574751 -.377464 0
+ 691 .5853955 -.450621 0
+ 692 .5056213 -.523292 0
+ 693 .3832564 -.607162 0
+ 694 .3944899 -.745897 0
+ 695 6.02997E-02 9.97894E-02 0
+ 696 2.53082E-02 .1074095 0
+ 697 .1007144 8.05163E-02 0
+ 698 7.81238E-04 .1107513 0
+ 699 .2226226 5.80620E-02 3
+ 700 .1704176 5.49546E-02 3
+ 701 .2817198 5.94303E-02 3
+ 702 .3476926 5.89433E-02 3
+ 703 .4205076 5.65341E-02 3
+ 704 .5001341 5.21816E-02 3
+ 705 .1251464 5.02698E-02 3
+ 706 -6.20210E-03 7.63850E-03 0
+ 707 -2.00397E-02 3.67856E-02 0
+ 708 -3.53849E-03 6.76468E-02 0
+ 709 1.03729E-02 8.31238E-02 0
+ 710 .0 .0 3
+ 711 -6.20067E-03 -7.63772E-03 0
+ 712 -2.00397E-02 -3.66825E-02 0
+ 713 -3.53849E-03 -6.76452E-02 0
+ 714 -1.39526E-02 -9.20333E-02 0
+ 715 -2.41455E-02 -.12776 0
+ 716 -1.67618E-02 -.172169 0
+ 717 -6.24756E-02 -.211052 0
+ 718 -2.59548E-03 -.233191 0
+ 719 4.28360E-02 -.322467 0
+ 720 3.55560E-02 -.428483 0
+ 721 .1231291 -.485351 0
+ 722 .1294464 -.627908 0
+ 723 -3.48762 -3.92369 5
+ 724 .2619642 -.672621 0
+ 725 .5487325 -.124503 0
+ 726 .5866392 -.200862 0
+ 727 .6236158 -.284209 0
+ 728 .5001341 -5.21816E-02 3
+ 729 .5596387 -.353076 0
+ 730 .4945279 -.415037 0
+ 731 .396115 -.479161 0
+ 732 .2504149 -.506103 0
+ 733 6.48759E-02 6.80570E-02 0
+ 734 3.11767E-02 7.73391E-02 0
+ 735 8.67324E-02 4.41818E-02 3
+ 736 3.51411E-03 1.02450E-02 3
+ 737 -1.28508E-04 2.27848E-02 0
+ 738 -1.01769E-03 4.42986E-02 0
+ 739 1.62567E-02 5.80597E-02 0
+ 740 3.51411E-03 -1.02450E-02 3
+ 741 -1.29759E-04 -2.27840E-02 0
+ 742 -1.01769E-03 -4.42974E-02 0
+ 743 1.62567E-02 -5.80581E-02 0
+ 744 1.03729E-02 -8.31237E-02 0
+ 745 7.81238E-04 -.11075 0
+ 746 1.18362E-02 -.139497 0
+ 747 3.15963E-02 -.1806 0
+ 748 7.16278E-02 -.24033 0
+ 749 .1055663 -.397719 0
+ 750 .156613 -.295819 0
+ 751 .2019118 -.399498 0
+ 752 .4641503 -.123945 0
+ 753 .4977034 -.193944 0
+ 754 .5306807 -.269427 0
+ 755 .4205076 -5.65341E-02 3
+ 756 .4795697 -.324678 0
+ 757 .4061597 -.38271 0
+ 758 .3086912 -.396759 0
+ 759 5.51712E-02 3.68667E-02 3
+ 760 3.56405E-02 5.42384E-02 0
+ 761 1.34659E-02 1.95240E-02 3
+ 762 1.36897E-02 3.88718E-02 0
+ 763 1.34659E-02 -1.95240E-02 3
+ 764 1.36910E-02 -3.88709E-02 0
+ 765 3.56404E-02 -5.42368E-02 0
+ 766 3.11767E-02 -7.73376E-02 0
+ 767 2.53082E-02 -.107408 0
+ 768 4.87854E-02 -.135632 0
+ 769 8.59481E-02 -.176631 0
+ 770 .1534377 -.214842 0
+ 771 .2348296 -.233351 0
+ 772 .2610304 -.315512 0
+ 773 .3862369 -.121491 0
+ 774 .4175351 -.186101 0
+ 775 .4492064 -.255235 0
+ 776 .3476926 -5.89433E-02 3
+ 777 .4129697 -.311284 0
+ 778 .3456237 -.311847 0
+ 779 3.06641E-02 2.85427E-02 3
+ 780 3.06641E-02 -2.85427E-02 3
+ 781 5.51712E-02 -3.68667E-02 3
+ 782 6.48745E-02 -6.80562E-02 0
+ 783 6.02997E-02 -9.97878E-02 0
+ 784 9.06234E-02 -.124895 0
+ 785 .1466674 -.150696 0
+ 786 .2130416 -.163693 0
+ 787 .2778944 -.170392 0
+ 788 .3080657 -.237494 0
+ 789 .3150776 -.117013 0
+ 790 .3450286 -.17888 0
+ 791 .3767896 -.243889 0
+ 792 .2817198 -5.94303E-02 3
+ 793 8.67324E-02 -4.41818E-02 3
+ 794 .1007156 -8.05155E-02 0
+ 795 .1434662 -9.19618E-02 0
+ 796 .1936551 -.102112 0
+ 797 .2508392 -.110504 0
+ 798 .2226226 -5.80620E-02 3
+ 799 .1251464 -5.02698E-02 3
+ 800 .1704176 -5.49546E-02 3
+ 801 -7.08067E-03 .0 0
+ 1 506 504 505 0
+ 2 162 134 135 0
+ 3 135 134 112 0
+ 4 163 162 135 0
+ 5 319 372 374 0
+ 6 374 372 431 0
+ 7 374 431 433 0
+ 8 612 611 553 0
+ 9 796 795 785 0
+ 10 785 795 784 0
+ 11 785 784 769 0
+ 12 668 667 613 0
+ 13 613 667 612 0
+ 14 613 612 554 0
+ 15 554 612 553 0
+ 16 554 553 487 0
+ 17 792 798 797 0
+ 18 797 796 786 0
+ 19 786 796 785 0
+ 20 776 792 789 0
+ 21 789 792 797 0
+ 22 789 797 787 0
+ 23 787 797 786 0
+ 24 786 785 770 0
+ 25 770 785 769 0
+ 26 770 769 748 0
+ 27 748 769 747 0
+ 28 748 747 718 0
+ 29 718 747 716 0
+ 30 718 716 717 0
+ 31 717 716 668 0
+ 32 717 668 669 0
+ 33 669 668 613 0
+ 34 669 613 614 0
+ 35 614 613 554 0
+ 36 614 554 555 0
+ 37 555 554 487 0
+ 38 555 487 488 0
+ 39 488 487 426 0
+ 40 787 786 771 0
+ 41 771 786 770 0
+ 42 755 776 773 0
+ 43 773 776 789 0
+ 44 773 789 790 0
+ 45 790 789 787 0
+ 46 790 787 788 0
+ 47 788 787 771 0
+ 48 728 755 752 0
+ 49 752 755 773 0
+ 50 752 773 774 0
+ 51 774 773 790 0
+ 52 774 790 791 0
+ 53 791 790 788 0
+ 54 688 728 725 0
+ 55 725 728 752 0
+ 56 725 752 753 0
+ 57 753 752 774 0
+ 58 753 774 775 0
+ 59 775 774 791 0
+ 60 771 770 750 0
+ 61 750 770 748 0
+ 62 788 771 772 0
+ 63 772 771 750 0
+ 64 791 788 778 0
+ 65 778 788 772 0
+ 66 775 791 777 0
+ 67 777 791 778 0
+ 68 750 748 719 0
+ 69 719 748 718 0
+ 70 719 718 672 0
+ 71 672 718 717 0
+ 72 672 717 671 0
+ 73 671 717 669 0
+ 74 671 669 670 0
+ 75 670 669 614 0
+ 76 670 614 615 0
+ 77 615 614 555 0
+ 78 615 555 556 0
+ 79 556 555 488 0
+ 80 671 670 616 0
+ 81 616 670 615 0
+ 82 616 615 557 0
+ 83 557 615 556 0
+ 84 557 556 489 0
+ 85 489 556 488 0
+ 86 672 671 617 0
+ 87 617 671 616 0
+ 88 642 688 685 0
+ 89 685 688 725 0
+ 90 685 725 726 0
+ 91 726 725 753 0
+ 92 726 753 754 0
+ 93 754 753 775 0
+ 94 754 775 756 0
+ 95 756 775 777 0
+ 96 756 777 757 0
+ 97 757 777 778 0
+ 98 757 778 758 0
+ 99 758 778 772 0
+ 100 617 616 558 0
+ 101 558 616 557 0
+ 102 719 672 673 0
+ 103 673 672 617 0
+ 104 758 772 751 0
+ 105 751 772 750 0
+ 106 751 750 749 0
+ 107 749 750 719 0
+ 108 749 719 720 0
+ 109 720 719 673 0
+ 110 751 749 721 0
+ 111 721 749 720 0
+ 112 721 720 674 0
+ 113 674 720 673 0
+ 114 589 642 639 0
+ 115 639 642 685 0
+ 116 639 685 686 0
+ 117 686 685 726 0
+ 118 686 726 727 0
+ 119 727 726 754 0
+ 120 727 754 729 0
+ 121 729 754 756 0
+ 122 729 756 730 0
+ 123 730 756 757 0
+ 124 730 757 731 0
+ 125 731 757 758 0
+ 126 530 589 586 0
+ 127 586 589 639 0
+ 128 586 639 640 0
+ 129 640 639 686 0
+ 130 640 686 687 0
+ 131 687 686 727 0
+ 132 687 727 690 0
+ 133 690 727 729 0
+ 134 690 729 691 0
+ 135 691 729 730 0
+ 136 691 730 692 0
+ 137 692 730 731 0
+ 138 758 751 732 0
+ 139 732 751 721 0
+ 140 731 758 732 0
+ 141 465 530 528 0
+ 142 528 530 586 0
+ 143 403 465 464 0
+ 144 464 465 528 0
+ 145 528 586 587 0
+ 146 587 586 640 0
+ 147 587 640 641 0
+ 148 641 640 687 0
+ 149 641 687 645 0
+ 150 645 687 690 0
+ 151 645 690 646 0
+ 152 646 690 691 0
+ 153 646 691 647 0
+ 154 647 691 692 0
+ 155 673 617 618 0
+ 156 618 617 558 0
+ 157 674 673 618 0
+ 158 464 528 529 0
+ 159 529 528 587 0
+ 160 529 587 588 0
+ 161 588 587 641 0
+ 162 349 403 404 0
+ 163 404 403 464 0
+ 164 404 464 466 0
+ 165 466 464 529 0
+ 166 466 529 532 0
+ 167 532 529 588 0
+ 168 558 557 490 0
+ 169 490 557 489 0
+ 170 588 641 593 0
+ 171 593 641 645 0
+ 172 532 588 535 0
+ 173 535 588 593 0
+ 174 593 645 594 0
+ 175 594 645 646 0
+ 176 594 646 595 0
+ 177 595 646 647 0
+ 178 692 731 693 0
+ 179 693 731 732 0
+ 180 647 692 648 0
+ 181 648 692 693 0
+ 182 595 647 596 0
+ 183 596 647 648 0
+ 184 489 488 427 0
+ 185 427 488 426 0
+ 186 427 426 369 0
+ 187 535 593 536 0
+ 188 536 593 594 0
+ 189 536 594 537 0
+ 190 537 594 595 0
+ 191 537 595 538 0
+ 192 538 595 596 0
+ 193 490 489 428 0
+ 194 428 489 427 0
+ 195 618 558 559 0
+ 196 559 558 490 0
+ 197 732 721 722 0
+ 198 722 721 674 0
+ 199 693 732 724 0
+ 200 724 732 722 0
+ 201 302 349 352 0
+ 202 352 349 404 0
+ 203 352 404 407 0
+ 204 407 404 466 0
+ 205 407 466 469 0
+ 206 469 466 532 0
+ 207 469 532 470 0
+ 208 470 532 535 0
+ 209 407 469 408 0
+ 210 408 469 470 0
+ 211 470 535 471 0
+ 212 471 535 536 0
+ 213 408 470 409 0
+ 214 409 470 471 0
+ 215 352 407 353 0
+ 216 353 407 408 0
+ 217 471 536 472 0
+ 218 472 536 537 0
+ 219 472 537 473 0
+ 220 473 537 538 0
+ 221 409 471 410 0
+ 222 410 471 472 0
+ 223 648 693 694 0
+ 224 694 693 724 0
+ 225 596 648 649 0
+ 226 649 648 694 0
+ 227 538 596 597 0
+ 228 597 596 649 0
+ 229 473 538 539 0
+ 230 539 538 597 0
+ 231 694 724 682 0
+ 232 682 724 722 0
+ 233 353 408 354 0
+ 234 354 408 409 0
+ 235 354 409 355 0
+ 236 355 409 410 0
+ 237 302 352 303 0
+ 238 303 352 353 0
+ 239 258 302 303 0
+ 240 410 472 411 0
+ 241 411 472 473 0
+ 242 411 473 474 0
+ 243 474 473 539 0
+ 244 674 618 619 0
+ 245 619 618 559 0
+ 246 722 674 675 0
+ 247 675 674 619 0
+ 248 682 722 675 0
+ 249 559 490 491 0
+ 250 491 490 428 0
+ 251 649 694 681 0
+ 252 681 694 682 0
+ 253 597 649 628 0
+ 254 628 649 681 0
+ 255 539 597 570 0
+ 256 570 597 628 0
+ 257 474 539 508 0
+ 258 508 539 570 0
+ 259 508 570 571 0
+ 260 571 570 628 0
+ 261 355 410 356 0
+ 262 356 410 411 0
+ 263 303 353 304 0
+ 264 304 353 354 0
+ 265 356 411 412 0
+ 266 412 411 474 0
+ 267 412 474 444 0
+ 268 444 474 508 0
+ 269 444 508 509 0
+ 270 509 508 571 0
+ 271 619 559 560 0
+ 272 560 559 491 0
+ 273 675 619 620 0
+ 274 620 619 560 0
+ 275 428 427 370 0
+ 276 370 427 369 0
+ 277 370 369 318 0
+ 278 491 428 429 0
+ 279 429 428 370 0
+ 280 304 354 305 0
+ 281 305 354 355 0
+ 282 305 355 306 0
+ 283 306 355 356 0
+ 284 571 628 629 0
+ 285 629 628 681 0
+ 286 509 571 572 0
+ 287 572 571 629 0
+ 288 258 303 259 0
+ 289 259 303 304 0
+ 290 218 258 259 0
+ 291 306 356 357 0
+ 292 357 356 412 0
+ 293 357 412 384 0
+ 294 384 412 444 0
+ 295 384 444 445 0
+ 296 445 444 509 0
+ 297 445 509 510 0
+ 298 510 509 572 0
+ 299 259 304 260 0
+ 300 260 304 305 0
+ 301 560 491 492 0
+ 302 492 491 429 0
+ 303 682 675 676 0
+ 304 676 675 620 0
+ 305 620 560 561 0
+ 306 561 560 492 0
+ 307 629 681 630 0
+ 308 630 681 682 0
+ 309 630 682 676 0
+ 310 676 620 621 0
+ 311 621 620 561 0
+ 312 260 305 261 0
+ 313 261 305 306 0
+ 314 261 306 307 0
+ 315 307 306 357 0
+ 316 307 357 330 0
+ 317 330 357 384 0
+ 318 330 384 385 0
+ 319 385 384 445 0
+ 320 385 445 446 0
+ 321 446 445 510 0
+ 322 218 259 219 0
+ 323 219 259 260 0
+ 324 183 218 219 0
+ 325 572 629 573 0
+ 326 573 629 630 0
+ 327 510 572 511 0
+ 328 511 572 573 0
+ 329 446 510 447 0
+ 330 447 510 511 0
+ 331 385 446 386 0
+ 332 386 446 447 0
+ 333 330 385 331 0
+ 334 331 385 386 0
+ 335 429 370 371 0
+ 336 371 370 318 0
+ 337 371 318 323 0
+ 338 323 318 274 0
+ 339 492 429 430 0
+ 340 430 429 371 0
+ 341 561 492 493 0
+ 342 493 492 430 0
+ 343 621 561 562 0
+ 344 562 561 493 0
+ 345 630 676 631 0
+ 346 631 676 621 0
+ 347 573 630 574 0
+ 348 574 630 631 0
+ 349 574 631 575 0
+ 350 575 631 621 0
+ 351 575 621 562 0
+ 352 511 573 512 0
+ 353 512 573 574 0
+ 354 447 511 448 0
+ 355 448 511 512 0
+ 356 307 330 283 0
+ 357 283 330 331 0
+ 358 219 260 220 0
+ 359 220 260 261 0
+ 360 386 447 387 0
+ 361 387 447 448 0
+ 362 261 307 262 0
+ 363 262 307 283 0
+ 364 220 261 262 0
+ 365 512 574 513 0
+ 366 513 574 575 0
+ 367 448 512 449 0
+ 368 449 512 513 0
+ 369 183 219 184 0
+ 370 184 219 220 0
+ 371 152 183 184 0
+ 372 331 386 332 0
+ 373 332 386 387 0
+ 374 513 575 516 0
+ 375 516 575 562 0
+ 376 516 562 503 0
+ 377 503 562 493 0
+ 378 503 493 439 0
+ 379 439 493 430 0
+ 380 439 430 379 0
+ 381 379 430 371 0
+ 382 379 371 323 0
+ 383 283 331 284 0
+ 384 284 331 332 0
+ 385 387 448 388 0
+ 386 388 448 449 0
+ 387 262 283 241 0
+ 388 241 283 284 0
+ 389 449 513 452 0
+ 390 452 513 516 0
+ 391 332 387 333 0
+ 392 333 387 388 0
+ 393 184 220 221 0
+ 394 221 220 262 0
+ 395 221 262 241 0
+ 396 284 332 285 0
+ 397 285 332 333 0
+ 398 241 284 242 0
+ 399 242 284 285 0
+ 400 388 449 391 0
+ 401 391 449 452 0
+ 402 152 184 185 0
+ 403 185 184 221 0
+ 404 138 152 168 0
+ 405 168 152 185 0
+ 406 333 388 335 0
+ 407 335 388 391 0
+ 408 452 516 517 0
+ 409 517 516 503 0
+ 410 517 503 500 0
+ 411 500 503 439 0
+ 412 500 439 436 0
+ 413 436 439 379 0
+ 414 436 379 377 0
+ 415 377 379 323 0
+ 416 377 323 321 0
+ 417 321 323 274 0
+ 418 321 274 273 0
+ 419 436 377 376 0
+ 420 376 377 321 0
+ 421 500 436 437 0
+ 422 437 436 376 0
+ 423 374 433 432 0
+ 424 432 433 494 0
+ 425 432 494 495 0
+ 426 495 494 563 0
+ 427 495 563 502 0
+ 428 502 563 569 0
+ 429 432 495 438 0
+ 430 438 495 502 0
+ 431 502 569 566 0
+ 432 566 569 623 0
+ 433 438 502 498 0
+ 434 498 502 566 0
+ 435 566 623 624 0
+ 436 624 623 677 0
+ 437 498 566 567 0
+ 438 567 566 624 0
+ 439 624 677 678 0
+ 440 678 677 723 0
+ 441 567 624 625 0
+ 442 625 624 678 0
+ 443 678 723 679 0
+ 444 679 723 683 0
+ 445 625 678 626 0
+ 446 626 678 679 0
+ 447 567 625 568 0
+ 448 568 625 626 0
+ 449 498 567 499 0
+ 450 499 567 568 0
+ 451 438 498 435 0
+ 452 435 498 499 0
+ 453 391 452 453 0
+ 454 453 452 517 0
+ 455 221 241 203 0
+ 456 203 241 242 0
+ 457 185 221 203 0
+ 458 679 683 637 0
+ 459 637 683 636 0
+ 460 626 679 680 0
+ 461 680 679 637 0
+ 462 568 626 627 0
+ 463 627 626 680 0
+ 464 517 500 501 0
+ 465 501 500 437 0
+ 466 453 517 518 0
+ 467 518 517 501 0
+ 468 285 333 286 0
+ 469 286 333 335 0
+ 470 432 438 378 0
+ 471 378 438 435 0
+ 472 374 432 373 0
+ 473 373 432 378 0
+ 474 319 374 373 0
+ 475 273 319 322 0
+ 476 322 319 373 0
+ 477 322 373 378 0
+ 478 321 273 320 0
+ 479 320 273 322 0
+ 480 376 321 320 0
+ 481 320 322 375 0
+ 482 375 322 378 0
+ 483 375 378 435 0
+ 484 376 320 375 0
+ 485 376 375 434 0
+ 486 434 375 435 0
+ 487 437 376 434 0
+ 488 434 435 496 0
+ 489 496 435 499 0
+ 490 437 434 497 0
+ 491 497 434 496 0
+ 492 501 437 497 0
+ 493 496 499 564 0
+ 494 564 499 568 0
+ 495 497 496 564 0
+ 496 564 568 622 0
+ 497 622 568 627 0
+ 498 501 497 565 0
+ 499 565 497 564 0
+ 500 565 564 622 0
+ 501 518 501 565 0
+ 502 518 565 578 0
+ 503 578 565 622 0
+ 504 578 622 579 0
+ 505 579 622 627 0
+ 506 518 578 519 0
+ 507 519 578 579 0
+ 508 453 518 454 0
+ 509 454 518 519 0
+ 510 579 627 632 0
+ 511 632 627 680 0
+ 512 519 579 576 0
+ 513 576 579 632 0
+ 514 576 632 633 0
+ 515 633 632 680 0
+ 516 633 680 637 0
+ 517 454 519 514 0
+ 518 514 519 576 0
+ 519 391 453 392 0
+ 520 392 453 454 0
+ 521 335 391 392 0
+ 522 392 454 450 0
+ 523 450 454 514 0
+ 524 514 576 577 0
+ 525 577 576 633 0
+ 526 450 514 515 0
+ 527 515 514 577 0
+ 528 577 633 583 0
+ 529 583 633 637 0
+ 530 583 637 636 0
+ 531 583 636 635 0
+ 532 583 635 582 0
+ 533 582 635 634 0
+ 534 582 634 580 0
+ 535 580 634 581 0
+ 536 580 581 521 0
+ 537 521 581 524 0
+ 538 242 285 243 0
+ 539 243 285 286 0
+ 540 203 242 204 0
+ 541 204 242 243 0
+ 542 335 392 389 0
+ 543 389 392 450 0
+ 544 286 335 334 0
+ 545 334 335 389 0
+ 546 243 286 287 0
+ 547 287 286 334 0
+ 548 197 163 164 0
+ 549 164 163 135 0
+ 550 235 197 198 0
+ 551 198 197 164 0
+ 552 236 235 199 0
+ 553 199 235 198 0
+ 554 515 577 523 0
+ 555 523 577 583 0
+ 556 523 583 582 0
+ 557 523 582 522 0
+ 558 522 582 580 0
+ 559 522 580 520 0
+ 560 520 580 521 0
+ 561 389 450 451 0
+ 562 451 450 515 0
+ 563 168 185 169 0
+ 564 169 185 203 0
+ 565 169 203 204 0
+ 566 199 198 165 0
+ 567 165 198 164 0
+ 568 334 389 390 0
+ 569 390 389 451 0
+ 570 287 334 336 0
+ 571 336 334 390 0
+ 572 451 515 458 0
+ 573 458 515 523 0
+ 574 458 523 522 0
+ 575 458 522 457 0
+ 576 457 522 520 0
+ 577 457 520 456 0
+ 578 456 520 521 0
+ 579 458 457 395 0
+ 580 395 457 456 0
+ 581 451 458 395 0
+ 582 390 451 395 0
+ 583 336 390 338 0
+ 584 338 390 395 0
+ 585 338 395 394 0
+ 586 394 395 456 0
+ 587 287 336 289 0
+ 588 289 336 338 0
+ 589 289 338 339 0
+ 590 339 338 394 0
+ 591 138 168 139 0
+ 592 139 168 169 0
+ 593 113 138 139 0
+ 594 277 236 237 0
+ 595 237 236 199 0
+ 596 339 394 396 0
+ 597 396 394 456 0
+ 598 164 135 136 0
+ 599 136 135 112 0
+ 600 165 164 136 0
+ 601 136 112 113 0
+ 602 136 113 137 0
+ 603 137 113 139 0
+ 604 165 136 166 0
+ 605 166 136 137 0
+ 606 199 165 200 0
+ 607 200 165 166 0
+ 608 237 199 200 0
+ 609 166 137 167 0
+ 610 167 137 139 0
+ 611 167 139 170 0
+ 612 170 139 169 0
+ 613 170 169 204 0
+ 614 200 166 201 0
+ 615 201 166 167 0
+ 616 237 200 238 0
+ 617 238 200 201 0
+ 618 243 287 244 0
+ 619 244 287 289 0
+ 620 204 243 244 0
+ 621 170 204 205 0
+ 622 205 204 244 0
+ 623 167 170 202 0
+ 624 202 170 205 0
+ 625 201 167 202 0
+ 626 238 201 239 0
+ 627 239 201 202 0
+ 628 239 202 240 0
+ 629 240 202 205 0
+ 630 240 205 245 0
+ 631 245 205 244 0
+ 632 245 244 288 0
+ 633 288 244 289 0
+ 634 288 289 337 0
+ 635 337 289 339 0
+ 636 245 288 290 0
+ 637 290 288 337 0
+ 638 240 245 282 0
+ 639 282 245 290 0
+ 640 239 240 281 0
+ 641 281 240 282 0
+ 642 238 239 280 0
+ 643 280 239 281 0
+ 644 281 282 329 0
+ 645 329 282 290 0
+ 646 280 281 327 0
+ 647 327 281 329 0
+ 648 238 280 279 0
+ 649 279 280 327 0
+ 650 237 238 279 0
+ 651 277 237 278 0
+ 652 278 237 279 0
+ 653 325 277 278 0
+ 654 337 339 393 0
+ 655 393 339 396 0
+ 656 290 337 340 0
+ 657 340 337 393 0
+ 658 329 290 340 0
+ 659 327 329 382 0
+ 660 382 329 340 0
+ 661 279 327 328 0
+ 662 328 327 382 0
+ 663 278 279 326 0
+ 664 326 279 328 0
+ 665 325 278 326 0
+ 666 380 325 381 0
+ 667 381 325 326 0
+ 668 381 326 328 0
+ 669 381 328 383 0
+ 670 383 328 382 0
+ 671 383 382 397 0
+ 672 397 382 340 0
+ 673 397 340 393 0
+ 674 397 393 455 0
+ 675 455 393 396 0
+ 676 383 397 443 0
+ 677 443 397 455 0
+ 678 381 383 441 0
+ 679 441 383 443 0
+ 680 380 381 441 0
+ 681 440 380 442 0
+ 682 442 380 441 0
+ 683 506 440 442 0
+ 684 442 441 507 0
+ 685 507 441 443 0
+ 686 507 443 455 0
+ 687 506 442 459 0
+ 688 459 442 507 0
+ 689 524 506 459 0
+ 690 459 507 455 0
+ 691 521 524 459 0
+ 692 459 455 396 0
+ 693 456 521 459 0
+ 694 456 459 396 0
+ 695 4 3 2 0
+ 696 110 111 134 0
+ 697 111 112 134 0
+ 698 88 111 110 0
+ 699 319 342 372 0
+ 700 342 341 372 0
+ 701 342 291 341 0
+ 702 609 553 611 0
+ 703 655 608 660 0
+ 704 608 651 660 0
+ 705 608 598 651 0
+ 706 601 552 610 0
+ 707 552 609 610 0
+ 708 552 551 609 0
+ 709 551 553 609 0
+ 710 551 487 553 0
+ 711 701 656 699 0
+ 712 656 604 655 0
+ 713 604 608 655 0
+ 714 702 657 701 0
+ 715 657 656 701 0
+ 716 657 605 656 0
+ 717 605 604 656 0
+ 718 604 549 608 0
+ 719 549 598 608 0
+ 720 549 540 598 0
+ 721 540 599 598 0
+ 722 540 541 599 0
+ 723 541 600 599 0
+ 724 541 542 600 0
+ 725 542 601 600 0
+ 726 542 550 601 0
+ 727 550 552 601 0
+ 728 550 486 552 0
+ 729 486 551 552 0
+ 730 486 485 551 0
+ 731 485 487 551 0
+ 732 485 425 487 0
+ 733 425 426 487 0
+ 734 605 546 604 0
+ 735 546 549 604 0
+ 736 703 658 702 0
+ 737 658 657 702 0
+ 738 658 606 657 0
+ 739 606 605 657 0
+ 740 606 547 605 0
+ 741 547 546 605 0
+ 742 704 659 703 0
+ 743 659 658 703 0
+ 744 659 607 658 0
+ 745 607 606 658 0
+ 746 607 548 606 0
+ 747 548 547 606 0
+ 748 689 684 704 0
+ 749 684 659 704 0
+ 750 684 654 659 0
+ 751 654 607 659 0
+ 752 654 602 607 0
+ 753 602 548 607 0
+ 754 546 482 549 0
+ 755 482 540 549 0
+ 756 547 480 546 0
+ 757 480 482 546 0
+ 758 548 481 547 0
+ 759 481 480 547 0
+ 760 602 543 548 0
+ 761 543 481 548 0
+ 762 482 475 540 0
+ 763 475 541 540 0
+ 764 475 476 541 0
+ 765 476 542 541 0
+ 766 476 483 542 0
+ 767 483 550 542 0
+ 768 483 484 550 0
+ 769 484 486 550 0
+ 770 484 424 486 0
+ 771 424 485 486 0
+ 772 424 423 485 0
+ 773 423 425 485 0
+ 774 483 422 484 0
+ 775 422 424 484 0
+ 776 422 366 424 0
+ 777 366 423 424 0
+ 778 366 367 423 0
+ 779 367 425 423 0
+ 780 476 421 483 0
+ 781 421 422 483 0
+ 782 643 644 689 0
+ 783 644 684 689 0
+ 784 644 638 684 0
+ 785 638 654 684 0
+ 786 638 603 654 0
+ 787 603 602 654 0
+ 788 603 544 602 0
+ 789 544 543 602 0
+ 790 544 477 543 0
+ 791 477 481 543 0
+ 792 477 418 481 0
+ 793 418 480 481 0
+ 794 421 365 422 0
+ 795 365 366 422 0
+ 796 475 414 476 0
+ 797 414 421 476 0
+ 798 418 419 480 0
+ 799 419 482 480 0
+ 800 419 420 482 0
+ 801 420 475 482 0
+ 802 420 413 475 0
+ 803 413 414 475 0
+ 804 419 363 420 0
+ 805 363 413 420 0
+ 806 363 358 413 0
+ 807 358 414 413 0
+ 808 590 591 643 0
+ 809 591 644 643 0
+ 810 591 592 644 0
+ 811 592 638 644 0
+ 812 592 585 638 0
+ 813 585 603 638 0
+ 814 585 545 603 0
+ 815 545 544 603 0
+ 816 545 478 544 0
+ 817 478 477 544 0
+ 818 478 415 477 0
+ 819 415 418 477 0
+ 820 531 533 590 0
+ 821 533 591 590 0
+ 822 533 534 591 0
+ 823 534 592 591 0
+ 824 534 584 592 0
+ 825 584 585 592 0
+ 826 584 526 585 0
+ 827 526 545 585 0
+ 828 526 479 545 0
+ 829 479 478 545 0
+ 830 479 416 478 0
+ 831 416 415 478 0
+ 832 418 362 419 0
+ 833 362 363 419 0
+ 834 415 362 418 0
+ 835 465 467 531 0
+ 836 467 533 531 0
+ 837 403 405 465 0
+ 838 405 467 465 0
+ 839 467 468 533 0
+ 840 468 534 533 0
+ 841 468 527 534 0
+ 842 527 584 534 0
+ 843 527 525 584 0
+ 844 525 526 584 0
+ 845 525 461 526 0
+ 846 461 479 526 0
+ 847 461 417 479 0
+ 848 417 416 479 0
+ 849 414 364 421 0
+ 850 364 365 421 0
+ 851 358 364 414 0
+ 852 405 406 467 0
+ 853 406 468 467 0
+ 854 406 463 468 0
+ 855 463 527 468 0
+ 856 349 350 403 0
+ 857 350 405 403 0
+ 858 350 351 405 0
+ 859 351 406 405 0
+ 860 351 402 406 0
+ 861 402 463 406 0
+ 862 365 315 366 0
+ 863 315 367 366 0
+ 864 463 462 527 0
+ 865 462 525 527 0
+ 866 402 401 463 0
+ 867 401 462 463 0
+ 868 462 460 525 0
+ 869 460 461 525 0
+ 870 460 399 461 0
+ 871 399 417 461 0
+ 872 416 359 415 0
+ 873 359 362 415 0
+ 874 417 360 416 0
+ 875 360 359 416 0
+ 876 399 361 417 0
+ 877 361 360 417 0
+ 878 367 368 425 0
+ 879 368 426 425 0
+ 880 368 369 426 0
+ 881 401 400 462 0
+ 882 400 460 462 0
+ 883 400 398 460 0
+ 884 398 399 460 0
+ 885 398 344 399 0
+ 886 344 361 399 0
+ 887 315 316 367 0
+ 888 316 368 367 0
+ 889 364 314 365 0
+ 890 314 315 365 0
+ 891 362 312 363 0
+ 892 312 358 363 0
+ 893 359 311 362 0
+ 894 311 312 362 0
+ 895 302 300 349 0
+ 896 300 350 349 0
+ 897 300 301 350 0
+ 898 301 351 350 0
+ 899 301 348 351 0
+ 900 348 402 351 0
+ 901 348 347 402 0
+ 902 347 401 402 0
+ 903 301 299 348 0
+ 904 299 347 348 0
+ 905 347 346 401 0
+ 906 346 400 401 0
+ 907 299 298 347 0
+ 908 298 346 347 0
+ 909 300 256 301 0
+ 910 256 299 301 0
+ 911 346 345 400 0
+ 912 345 398 400 0
+ 913 345 343 398 0
+ 914 343 344 398 0
+ 915 298 297 346 0
+ 916 297 345 346 0
+ 917 360 309 359 0
+ 918 309 311 359 0
+ 919 361 310 360 0
+ 920 310 309 360 0
+ 921 344 324 361 0
+ 922 324 310 361 0
+ 923 343 295 344 0
+ 924 295 324 344 0
+ 925 309 265 311 0
+ 926 265 312 311 0
+ 927 256 255 299 0
+ 928 255 298 299 0
+ 929 255 254 298 0
+ 930 254 297 298 0
+ 931 302 257 300 0
+ 932 257 256 300 0
+ 933 258 257 302 0
+ 934 297 296 345 0
+ 935 296 343 345 0
+ 936 296 294 343 0
+ 937 294 295 343 0
+ 938 358 313 364 0
+ 939 313 314 364 0
+ 940 312 308 358 0
+ 941 308 313 358 0
+ 942 265 308 312 0
+ 943 314 268 315 0
+ 944 268 316 315 0
+ 945 310 264 309 0
+ 946 264 265 309 0
+ 947 324 275 310 0
+ 948 275 264 310 0
+ 949 295 276 324 0
+ 950 276 275 324 0
+ 951 294 251 295 0
+ 952 251 276 295 0
+ 953 251 234 276 0
+ 954 234 275 276 0
+ 955 254 253 297 0
+ 956 253 296 297 0
+ 957 257 216 256 0
+ 958 216 255 256 0
+ 959 253 252 296 0
+ 960 252 294 296 0
+ 961 252 250 294 0
+ 962 250 251 294 0
+ 963 250 211 251 0
+ 964 211 234 251 0
+ 965 313 267 314 0
+ 966 267 268 314 0
+ 967 308 266 313 0
+ 968 266 267 313 0
+ 969 316 317 368 0
+ 970 317 369 368 0
+ 971 317 318 369 0
+ 972 268 269 316 0
+ 973 269 317 316 0
+ 974 216 215 255 0
+ 975 215 254 255 0
+ 976 215 214 254 0
+ 977 214 253 254 0
+ 978 234 233 275 0
+ 979 233 264 275 0
+ 980 211 196 234 0
+ 981 196 233 234 0
+ 982 258 217 257 0
+ 983 217 216 257 0
+ 984 218 217 258 0
+ 985 214 213 253 0
+ 986 213 252 253 0
+ 987 213 212 252 0
+ 988 212 250 252 0
+ 989 212 210 250 0
+ 990 210 211 250 0
+ 991 210 176 211 0
+ 992 176 196 211 0
+ 993 217 181 216 0
+ 994 181 215 216 0
+ 995 267 226 268 0
+ 996 226 269 268 0
+ 997 265 263 308 0
+ 998 263 266 308 0
+ 999 266 225 267 0
+ 1000 225 226 267 0
+ 1001 233 223 264 0
+ 1002 223 265 264 0
+ 1003 223 263 265 0
+ 1004 263 224 266 0
+ 1005 224 225 266 0
+ 1006 181 180 215 0
+ 1007 180 214 215 0
+ 1008 180 179 214 0
+ 1009 179 213 214 0
+ 1010 179 178 213 0
+ 1011 178 212 213 0
+ 1012 178 177 212 0
+ 1013 177 210 212 0
+ 1014 177 175 210 0
+ 1015 175 176 210 0
+ 1016 218 182 217 0
+ 1017 182 181 217 0
+ 1018 183 182 218 0
+ 1019 196 195 233 0
+ 1020 195 223 233 0
+ 1021 176 161 196 0
+ 1022 161 195 196 0
+ 1023 175 145 176 0
+ 1024 145 161 176 0
+ 1025 177 146 175 0
+ 1026 146 145 175 0
+ 1027 178 147 177 0
+ 1028 147 146 177 0
+ 1029 269 270 317 0
+ 1030 270 318 317 0
+ 1031 270 271 318 0
+ 1032 271 274 318 0
+ 1033 226 227 269 0
+ 1034 227 270 269 0
+ 1035 225 189 226 0
+ 1036 189 227 226 0
+ 1037 224 188 225 0
+ 1038 188 189 225 0
+ 1039 223 222 263 0
+ 1040 222 224 263 0
+ 1041 195 186 223 0
+ 1042 186 222 223 0
+ 1043 186 187 222 0
+ 1044 187 224 222 0
+ 1045 187 188 224 0
+ 1046 161 160 195 0
+ 1047 160 186 195 0
+ 1048 145 133 161 0
+ 1049 133 160 161 0
+ 1050 179 148 178 0
+ 1051 148 147 178 0
+ 1052 182 150 181 0
+ 1053 150 180 181 0
+ 1054 146 120 145 0
+ 1055 120 133 145 0
+ 1056 180 149 179 0
+ 1057 149 148 179 0
+ 1058 150 149 180 0
+ 1059 160 153 186 0
+ 1060 153 187 186 0
+ 1061 133 132 160 0
+ 1062 132 153 160 0
+ 1063 183 151 182 0
+ 1064 151 150 182 0
+ 1065 152 151 183 0
+ 1066 147 121 146 0
+ 1067 121 120 146 0
+ 1068 153 154 187 0
+ 1069 154 188 187 0
+ 1070 154 155 188 0
+ 1071 155 189 188 0
+ 1072 155 190 189 0
+ 1073 190 227 189 0
+ 1074 190 228 227 0
+ 1075 228 270 227 0
+ 1076 228 271 270 0
+ 1077 148 122 147 0
+ 1078 122 121 147 0
+ 1079 120 109 133 0
+ 1080 109 132 133 0
+ 1081 149 123 148 0
+ 1082 123 122 148 0
+ 1083 132 128 153 0
+ 1084 128 154 153 0
+ 1085 121 99 120 0
+ 1086 99 109 120 0
+ 1087 151 124 150 0
+ 1088 124 149 150 0
+ 1089 124 123 149 0
+ 1090 122 100 121 0
+ 1091 100 99 121 0
+ 1092 123 101 122 0
+ 1093 101 100 122 0
+ 1094 109 108 132 0
+ 1095 108 128 132 0
+ 1096 152 125 151 0
+ 1097 125 124 151 0
+ 1098 138 126 152 0
+ 1099 126 125 152 0
+ 1100 99 87 109 0
+ 1101 87 108 109 0
+ 1102 128 129 154 0
+ 1103 129 155 154 0
+ 1104 129 156 155 0
+ 1105 156 190 155 0
+ 1106 156 191 190 0
+ 1107 191 228 190 0
+ 1108 191 229 228 0
+ 1109 229 271 228 0
+ 1110 229 232 271 0
+ 1111 232 274 271 0
+ 1112 232 273 274 0
+ 1113 191 193 229 0
+ 1114 193 232 229 0
+ 1115 156 157 191 0
+ 1116 157 193 191 0
+ 1117 342 292 291 0
+ 1118 292 246 291 0
+ 1119 292 247 246 0
+ 1120 247 206 246 0
+ 1121 247 207 206 0
+ 1122 207 171 206 0
+ 1123 292 248 247 0
+ 1124 248 207 247 0
+ 1125 207 172 171 0
+ 1126 172 140 171 0
+ 1127 248 208 207 0
+ 1128 208 172 207 0
+ 1129 172 141 140 0
+ 1130 141 115 140 0
+ 1131 208 173 172 0
+ 1132 173 141 172 0
+ 1133 141 116 115 0
+ 1134 116 94 115 0
+ 1135 173 142 141 0
+ 1136 142 116 141 0
+ 1137 116 95 94 0
+ 1138 95 75 94 0
+ 1139 142 117 116 0
+ 1140 117 95 116 0
+ 1141 173 143 142 0
+ 1142 143 117 142 0
+ 1143 208 174 173 0
+ 1144 174 143 173 0
+ 1145 248 209 208 0
+ 1146 209 174 208 0
+ 1147 108 106 128 0
+ 1148 106 129 128 0
+ 1149 124 103 123 0
+ 1150 103 101 123 0
+ 1151 125 103 124 0
+ 1152 95 76 75 0
+ 1153 76 55 75 0
+ 1154 117 96 95 0
+ 1155 96 76 95 0
+ 1156 143 118 117 0
+ 1157 118 96 117 0
+ 1158 129 130 156 0
+ 1159 130 157 156 0
+ 1160 106 107 129 0
+ 1161 107 130 129 0
+ 1162 100 80 99 0
+ 1163 80 87 99 0
+ 1164 292 249 248 0
+ 1165 249 209 248 0
+ 1166 342 293 292 0
+ 1167 293 249 292 0
+ 1168 319 293 342 0
+ 1169 273 272 319 0
+ 1170 272 293 319 0
+ 1171 272 249 293 0
+ 1172 232 231 273 0
+ 1173 231 272 273 0
+ 1174 193 231 232 0
+ 1175 231 230 272 0
+ 1176 230 249 272 0
+ 1177 230 209 249 0
+ 1178 193 230 231 0
+ 1179 193 192 230 0
+ 1180 192 209 230 0
+ 1181 157 192 193 0
+ 1182 192 194 209 0
+ 1183 194 174 209 0
+ 1184 157 158 192 0
+ 1185 158 194 192 0
+ 1186 130 158 157 0
+ 1187 194 159 174 0
+ 1188 159 143 174 0
+ 1189 158 159 194 0
+ 1190 159 144 143 0
+ 1191 144 118 143 0
+ 1192 130 131 158 0
+ 1193 131 159 158 0
+ 1194 131 144 159 0
+ 1195 107 131 130 0
+ 1196 107 127 131 0
+ 1197 127 144 131 0
+ 1198 127 119 144 0
+ 1199 119 118 144 0
+ 1200 107 105 127 0
+ 1201 105 119 127 0
+ 1202 106 85 107 0
+ 1203 85 105 107 0
+ 1204 119 97 118 0
+ 1205 97 96 118 0
+ 1206 105 98 119 0
+ 1207 98 97 119 0
+ 1208 98 77 97 0
+ 1209 77 96 97 0
+ 1210 77 76 96 0
+ 1211 85 84 105 0
+ 1212 84 98 105 0
+ 1213 108 86 106 0
+ 1214 86 85 106 0
+ 1215 87 86 108 0
+ 1216 86 64 85 0
+ 1217 64 84 85 0
+ 1218 84 78 98 0
+ 1219 78 77 98 0
+ 1220 64 63 84 0
+ 1221 63 78 84 0
+ 1222 78 56 77 0
+ 1223 56 76 77 0
+ 1224 56 55 76 0
+ 1225 56 38 55 0
+ 1226 56 39 38 0
+ 1227 39 24 38 0
+ 1228 39 25 24 0
+ 1229 25 13 24 0
+ 1230 25 14 13 0
+ 1231 14 7 13 0
+ 1232 101 81 100 0
+ 1233 81 80 100 0
+ 1234 103 83 101 0
+ 1235 83 81 101 0
+ 1236 87 65 86 0
+ 1237 65 64 86 0
+ 1238 80 66 87 0
+ 1239 66 65 87 0
+ 1240 81 61 80 0
+ 1241 61 66 80 0
+ 1242 67 89 88 0
+ 1243 89 111 88 0
+ 1244 48 68 67 0
+ 1245 68 89 67 0
+ 1246 33 49 48 0
+ 1247 49 68 48 0
+ 1248 63 57 78 0
+ 1249 57 56 78 0
+ 1250 57 39 56 0
+ 1251 57 40 39 0
+ 1252 40 25 39 0
+ 1253 40 26 25 0
+ 1254 26 14 25 0
+ 1255 65 46 64 0
+ 1256 46 63 64 0
+ 1257 126 104 125 0
+ 1258 104 103 125 0
+ 1259 104 83 103 0
+ 1260 49 69 68 0
+ 1261 69 89 68 0
+ 1262 66 47 65 0
+ 1263 47 46 65 0
+ 1264 61 58 66 0
+ 1265 58 47 66 0
+ 1266 46 45 63 0
+ 1267 45 57 63 0
+ 1268 45 40 57 0
+ 1269 45 31 40 0
+ 1270 31 26 40 0
+ 1271 31 17 26 0
+ 1272 17 14 26 0
+ 1273 45 32 31 0
+ 1274 32 17 31 0
+ 1275 46 32 45 0
+ 1276 47 32 46 0
+ 1277 58 41 47 0
+ 1278 41 32 47 0
+ 1279 41 27 32 0
+ 1280 27 17 32 0
+ 1281 61 43 58 0
+ 1282 43 41 58 0
+ 1283 43 28 41 0
+ 1284 28 27 41 0
+ 1285 138 114 126 0
+ 1286 114 104 126 0
+ 1287 113 114 138 0
+ 1288 18 34 33 0
+ 1289 34 49 33 0
+ 1290 28 15 27 0
+ 1291 15 17 27 0
+ 1292 89 90 111 0
+ 1293 90 112 111 0
+ 1294 69 90 89 0
+ 1295 90 113 112 0
+ 1296 90 91 113 0
+ 1297 91 114 113 0
+ 1298 69 70 90 0
+ 1299 70 91 90 0
+ 1300 49 50 69 0
+ 1301 50 70 69 0
+ 1302 34 50 49 0
+ 1303 70 92 91 0
+ 1304 92 114 91 0
+ 1305 92 102 114 0
+ 1306 102 104 114 0
+ 1307 102 83 104 0
+ 1308 50 71 70 0
+ 1309 71 92 70 0
+ 1310 34 51 50 0
+ 1311 51 71 50 0
+ 1312 81 62 61 0
+ 1313 62 43 61 0
+ 1314 83 62 81 0
+ 1315 102 82 83 0
+ 1316 82 62 83 0
+ 1317 92 93 102 0
+ 1318 93 82 102 0
+ 1319 71 93 92 0
+ 1320 51 72 71 0
+ 1321 72 93 71 0
+ 1322 72 74 93 0
+ 1323 74 82 93 0
+ 1324 74 79 82 0
+ 1325 79 62 82 0
+ 1326 79 59 62 0
+ 1327 59 43 62 0
+ 1328 59 42 43 0
+ 1329 42 28 43 0
+ 1330 79 60 59 0
+ 1331 60 42 59 0
+ 1332 74 73 79 0
+ 1333 73 60 79 0
+ 1334 72 53 74 0
+ 1335 53 73 74 0
+ 1336 51 52 72 0
+ 1337 52 53 72 0
+ 1338 53 54 73 0
+ 1339 54 60 73 0
+ 1340 52 36 53 0
+ 1341 36 54 53 0
+ 1342 51 35 52 0
+ 1343 35 36 52 0
+ 1344 34 35 51 0
+ 1345 18 19 34 0
+ 1346 19 35 34 0
+ 1347 9 19 18 0
+ 1348 42 29 28 0
+ 1349 29 15 28 0
+ 1350 60 44 42 0
+ 1351 44 29 42 0
+ 1352 54 44 60 0
+ 1353 36 37 54 0
+ 1354 37 44 54 0
+ 1355 35 21 36 0
+ 1356 21 37 36 0
+ 1357 19 20 35 0
+ 1358 20 21 35 0
+ 1359 9 20 19 0
+ 1360 5 10 9 0
+ 1361 10 20 9 0
+ 1362 10 21 20 0
+ 1363 10 22 21 0
+ 1364 22 37 21 0
+ 1365 22 30 37 0
+ 1366 30 44 37 0
+ 1367 30 29 44 0
+ 1368 30 16 29 0
+ 1369 16 15 29 0
+ 1370 22 23 30 0
+ 1371 23 16 30 0
+ 1372 10 11 22 0
+ 1373 11 23 22 0
+ 1374 5 11 10 0
+ 1375 3 6 5 0
+ 1376 6 11 5 0
+ 1377 4 6 3 0
+ 1378 6 12 11 0
+ 1379 12 23 11 0
+ 1380 12 16 23 0
+ 1381 4 8 6 0
+ 1382 8 12 6 0
+ 1383 7 8 4 0
+ 1384 8 16 12 0
+ 1385 14 8 7 0
+ 1386 8 15 16 0
+ 1387 17 8 14 0
+ 1388 17 15 8 0
+ 1389 504 440 505 0
+ 1390 440 506 505 0
+ 1391 3 1 2 0
+ 1392 1 4 2 0
+ 1393 740 710 711 0
+ 1394 711 710 801 0
+ 1395 763 740 741 0
+ 1396 741 740 711 0
+ 1397 780 763 764 0
+ 1398 764 763 741 0
+ 1399 781 780 765 0
+ 1400 765 780 764 0
+ 1401 711 664 665 0
+ 1402 665 664 611 0
+ 1403 741 711 712 0
+ 1404 712 711 665 0
+ 1405 764 741 742 0
+ 1406 742 741 712 0
+ 1407 765 764 743 0
+ 1408 743 764 742 0
+ 1409 743 742 713 0
+ 1410 713 742 712 0
+ 1411 713 712 666 0
+ 1412 666 712 665 0
+ 1413 793 781 782 0
+ 1414 782 781 765 0
+ 1415 782 765 766 0
+ 1416 766 765 743 0
+ 1417 766 743 744 0
+ 1418 744 743 713 0
+ 1419 744 713 714 0
+ 1420 714 713 666 0
+ 1421 799 793 794 0
+ 1422 794 793 782 0
+ 1423 794 782 783 0
+ 1424 783 782 766 0
+ 1425 783 766 767 0
+ 1426 767 766 744 0
+ 1427 767 744 745 0
+ 1428 745 744 714 0
+ 1429 666 665 612 0
+ 1430 612 665 611 0
+ 1431 714 666 667 0
+ 1432 667 666 612 0
+ 1433 745 714 715 0
+ 1434 715 714 667 0
+ 1435 767 745 746 0
+ 1436 746 745 715 0
+ 1437 783 767 768 0
+ 1438 768 767 746 0
+ 1439 794 783 784 0
+ 1440 784 783 768 0
+ 1441 799 794 795 0
+ 1442 795 794 784 0
+ 1443 800 799 795 0
+ 1444 798 800 796 0
+ 1445 796 800 795 0
+ 1446 769 784 768 0
+ 1447 769 768 747 0
+ 1448 747 768 746 0
+ 1449 747 746 716 0
+ 1450 716 746 715 0
+ 1451 716 715 668 0
+ 1452 668 715 667 0
+ 1453 797 798 796 0
+ 1454 736 706 710 0
+ 1455 706 801 710 0
+ 1456 761 737 736 0
+ 1457 737 706 736 0
+ 1458 779 762 761 0
+ 1459 762 737 761 0
+ 1460 759 760 779 0
+ 1461 760 762 779 0
+ 1462 706 661 664 0
+ 1463 661 611 664 0
+ 1464 737 707 706 0
+ 1465 707 661 706 0
+ 1466 762 738 737 0
+ 1467 738 707 737 0
+ 1468 760 739 762 0
+ 1469 739 738 762 0
+ 1470 739 708 738 0
+ 1471 708 707 738 0
+ 1472 708 662 707 0
+ 1473 662 661 707 0
+ 1474 735 733 759 0
+ 1475 733 760 759 0
+ 1476 733 734 760 0
+ 1477 734 739 760 0
+ 1478 734 709 739 0
+ 1479 709 708 739 0
+ 1480 709 663 708 0
+ 1481 663 662 708 0
+ 1482 705 697 735 0
+ 1483 697 733 735 0
+ 1484 697 695 733 0
+ 1485 695 734 733 0
+ 1486 695 696 734 0
+ 1487 696 709 734 0
+ 1488 696 698 709 0
+ 1489 698 663 709 0
+ 1490 662 609 661 0
+ 1491 609 611 661 0
+ 1492 663 610 662 0
+ 1493 610 609 662 0
+ 1494 698 653 663 0
+ 1495 653 610 663 0
+ 1496 696 652 698 0
+ 1497 652 653 698 0
+ 1498 695 650 696 0
+ 1499 650 652 696 0
+ 1500 697 651 695 0
+ 1501 651 650 695 0
+ 1502 705 660 697 0
+ 1503 660 651 697 0
+ 1504 700 660 705 0
+ 1505 699 655 700 0
+ 1506 655 660 700 0
+ 1507 598 650 651 0
+ 1508 598 599 650 0
+ 1509 599 652 650 0
+ 1510 599 600 652 0
+ 1511 600 653 652 0
+ 1512 600 601 653 0
+ 1513 601 610 653 0
+ 1514 656 655 699 0
+ 1515 664 711 801 0
+ 1516 664 801 706 0
diff --git a/modules/graphics/demos/fec/MESH.VAL b/modules/graphics/demos/fec/MESH.VAL
new file mode 100755
index 000000000..9a40fb085
--- /dev/null
+++ b/modules/graphics/demos/fec/MESH.VAL
@@ -0,0 +1,802 @@
+ 1.00048 1.00024 2.72387E-04 3.29202 1.11681 0.799736
+ 1.00021 1.00042 6.17768E-04 3.29128 1.11639 0.800139
+ 0.999933 1.00074 -4.98324E-06 3.29069 1.11597 0.800655
+ 1.00085 1.00038 1.18862E-03 3.29345 1.11740 0.799488
+ 1.00074 1.00229 -7.30533E-04 3.29503 1.11724 0.801116
+ 0.999554 1.00261 -2.40741E-04 3.29131 1.11539 0.802510
+ 1.00269 1.00046 2.96002E-03 3.29983 1.12028 0.797793
+ 0.999360 1.00296 1.23102E-03 3.29102 1.11509 0.802980
+ 1.00122 1.00373 -2.01863E-03 3.29817 1.11802 0.801801
+ 0.999944 1.00418 -1.23305E-03 3.29425 1.11601 0.803390
+ 0.999697 1.00388 -8.39569E-04 3.29305 1.11560 0.803395
+ 0.999075 1.00386 4.68790E-05 3.29091 1.11463 0.803976
+ 1.00532 1.00025 4.48603E-03 3.30864 1.12441 0.795121
+ 1.00201 1.00269 4.56492E-03 3.29978 1.11923 0.800221
+ 0.997728 1.00540 1.37638E-03 3.28786 1.11252 0.806518
+ 0.998474 1.00470 -7.55506E-06 3.28973 1.11370 0.805234
+ 0.998941 1.00491 3.85145E-03 3.29163 1.11446 0.804942
+ 1.00121 1.00382 -3.28830E-03 3.29843 1.11808 0.801849
+ 1.00056 1.00466 -2.63194E-03 3.29690 1.11700 0.803174
+ 1.00009 1.00469 -2.03706E-03 3.29540 1.11630 0.803631
+ 0.999555 1.00508 -1.73982E-03 3.29398 1.11546 0.804460
+ 0.999226 1.00476 -1.06504E-03 3.29245 1.11491 0.804541
+ 0.999148 1.00434 -6.47797E-04 3.29166 1.11475 0.804293
+ 1.00739 0.999876 5.48916E-03 3.31538 1.12766 0.792867
+ 1.00472 1.00156 6.35870E-03 3.30796 1.12349 0.796736
+ 1.00149 1.00365 6.09981E-03 3.29901 1.11844 0.801485
+ 0.996842 1.00652 2.65012E-03 3.28611 1.11118 0.808267
+ 0.996213 1.00668 8.61692E-04 3.28427 1.11025 0.808988
+ 0.997637 1.00591 -2.22493E-04 3.28830 1.11247 0.806988
+ 0.998621 1.00530 -8.05008E-04 3.29096 1.11398 0.805548
+ 1.00029 1.00446 7.06885E-03 3.29581 1.11659 0.803286
+ 0.996841 1.00656 6.06402E-03 3.28616 1.11118 0.808308
+ 1.00117 1.00455 -4.48351E-03 3.29835 1.11775 0.802573
+ 0.999972 1.00411 -3.23183E-03 3.29456 1.11617 0.803272
+ 0.999608 1.00503 -2.24057E-03 3.29401 1.11551 0.804385
+ 0.998992 1.00559 -1.81265E-03 3.29252 1.11456 0.805425
+ 0.998967 1.00532 -1.41897E-03 3.29225 1.11455 0.805222
+ 1.00867 0.999450 5.77393E-03 3.31938 1.12968 0.791320
+ 1.00651 1.00071 6.87341E-03 3.31325 1.12630 0.794359
+ 1.00357 1.00248 7.43303E-03 3.30497 1.12170 0.798569
+ 0.994950 1.00717 3.25998E-03 3.28061 1.10833 0.810599
+ 0.996671 1.00652 -4.33033E-04 3.28564 1.11096 0.808408
+ 0.994758 1.00758 2.50140E-04 3.28021 1.10797 0.811140
+ 0.997999 1.00580 -1.00491E-03 3.28947 1.11306 0.806534
+ 1.00141 1.00398 9.22460E-03 3.29918 1.11834 0.801834
+ 0.998880 1.00552 1.04668E-02 3.29208 1.11437 0.805520
+ 0.993950 1.00771 6.62423E-03 3.27781 1.10678 0.812024
+ 1.00171 1.00781 -6.71705E-03 3.30140 1.11776 0.804969
+ 0.999842 1.00745 -4.01821E-03 3.29561 1.11522 0.806335
+ 0.999671 1.00721 -2.39158E-03 3.29558 1.11527 0.806197
+ 0.999199 1.00384 -2.55613E-03 3.29170 1.11498 0.803793
+ 0.999227 1.00526 -2.27070E-03 3.29282 1.11486 0.804959
+ 0.998621 1.00544 -2.14027E-03 3.29111 1.11398 0.805668
+ 0.998560 1.00584 -1.56977E-03 3.29128 1.11388 0.806047
+ 1.00985 0.999012 6.01955E-03 3.32307 1.13156 0.789853
+ 1.00788 1.00029 7.89240E-03 3.31757 1.12846 0.792731
+ 1.00491 1.00200 9.03093E-03 3.30912 1.12381 0.796918
+ 0.992954 1.00849 2.68620E-03 3.27497 1.10513 0.813647
+ 0.996223 1.00695 -1.07968E-03 3.28447 1.11023 0.809207
+ 0.997482 1.00614 -1.29970E-03 3.28802 1.11223 0.807321
+ 0.991446 1.00923 8.73182E-04 3.27072 1.10282 0.815713
+ 0.994914 1.00778 -1.93695E-03 3.28061 1.10808 0.811195
+ 1.00352 1.00288 1.12963E-02 3.30529 1.12164 0.798955
+ 1.00158 1.00382 1.39828E-02 3.29966 1.11861 0.801586
+ 0.994234 1.00782 1.12685E-02 3.27854 1.10707 0.811925
+ 0.989913 1.01012 5.99633E-03 3.26632 1.10037 0.817990
+ 0.997608 1.00104 -1.11251E-02 3.28660 1.11372 0.802685
+ 0.998831 1.00967 -5.44272E-03 3.29377 1.11338 0.809201
+ 0.998790 1.01007 -2.80660E-03 3.29406 1.11333 0.809542
+ 1.00059 1.01067 -1.97994E-03 3.30002 1.11584 0.808387
+ 0.999265 1.00683 -2.61688E-03 3.29451 1.11491 0.806180
+ 0.998687 1.00387 -2.49584E-03 3.28994 1.11416 0.804311
+ 0.998211 1.00650 -1.80169E-03 3.29045 1.11321 0.806958
+ 0.997823 1.00393 -2.57704E-03 3.28750 1.11298 0.805136
+ 1.01041 0.998913 6.21803E-03 3.32489 1.13244 0.789252
+ 1.00987 0.999179 6.94318E-03 3.32328 1.13158 0.789977
+ 1.00891 0.999808 8.87974E-03 3.32063 1.13008 0.791388
+ 1.00683 1.00100 1.02614E-02 3.31471 1.12682 0.794306
+ 0.997264 1.00702 -1.90132E-03 3.28770 1.11170 0.808306
+ 0.986163 1.01087 2.94718E-03 3.25456 1.09458 0.822305
+ 0.991148 1.00846 -2.48645E-03 3.26860 1.10223 0.815438
+ 0.997284 1.00217 -3.21279E-03 3.28452 1.11239 0.804157
+ 0.995262 1.00254 -5.72210E-03 3.27812 1.10927 0.806414
+ 1.00620 1.00119 1.24881E-02 3.31274 1.12583 0.795072
+ 1.00579 1.00082 1.59773E-02 3.31099 1.12517 0.795212
+ 0.998325 1.00517 1.74403E-02 3.28998 1.11352 0.805852
+ 0.986519 1.01138 1.23800E-02 3.25632 1.09512 0.822432
+ 0.986602 0.977019 -1.16029E-02 3.24381 1.10399 0.791254
+ 0.992754 0.991831 -5.81386E-03 3.26816 1.10907 0.798877
+ 0.993316 0.972458 -4.49527E-03 3.26237 1.11454 0.781126
+ 0.998440 0.993010 -4.42050E-03 3.28347 1.11586 0.795110
+ 0.997022 1.01092 -1.77145E-03 3.29090 1.11136 0.811656
+ 0.998651 1.00623 -2.02740E-03 3.29135 1.11376 0.806367
+ 1.01027 0.998990 6.31837E-03 3.32449 1.13222 0.789445
+ 1.01055 0.998810 6.54930E-03 3.32526 1.13265 0.789043
+ 1.01031 0.998844 7.65650E-03 3.32447 1.13228 0.789302
+ 1.00992 0.998991 9.23336E-03 3.32329 1.13166 0.789795
+ 1.00894 0.999509 1.06968E-02 3.32046 1.13013 0.791136
+ 0.979905 1.01316 4.81488E-03 3.23592 1.08485 0.830503
+ 0.984927 1.01051 -1.71228E-03 3.25022 1.09274 0.823225
+ 0.990290 1.00833 -7.73315E-03 3.26554 1.10086 0.816215
+ 1.00078 1.01368 -1.97230E-04 3.30276 1.11576 0.810742
+ 0.994136 1.00543 -7.55861E-03 3.27715 1.10748 0.809864
+ 1.00231 1.02122 7.66487E-04 3.31327 1.11721 0.815616
+ 1.00907 0.999174 1.27119E-02 3.32059 1.13033 0.790767
+ 1.00450 1.00112 2.08377E-02 3.30697 1.12315 0.796746
+ 1.01139 0.997139 1.54274E-02 3.32655 1.13395 0.787023
+ 0.992364 1.00777 2.26127E-02 3.27247 1.10420 0.813853
+ 0.980128 1.01354 1.50602E-02 3.23726 1.08524 0.830657
+ 0.977026 0.954647 -6.65822E-03 3.20932 1.09716 0.779293
+ 0.984227 0.952815 -5.35279E-03 3.22853 1.10692 0.771515
+ 0.982123 0.927991 -4.01821E-06 3.21810 1.11187 0.750533
+ 0.980458 0.912136 -3.89054E-06 3.20721 1.11317 0.737904
+ 0.995480 0.976581 -8.35152E-03 3.26662 1.11502 0.783432
+ 1.00982 0.998863 5.78962E-03 3.32279 1.13150 0.789770
+ 1.01061 0.998398 6.16682E-03 3.32507 1.13275 0.788656
+ 1.01095 0.998193 6.84533E-03 3.32604 1.13329 0.788179
+ 1.01118 0.997914 8.45758E-03 3.32656 1.13364 0.787756
+ 1.01077 0.998062 9.97872E-03 3.32530 1.13300 0.788269
+ 0.973619 1.01599 7.47187E-03 3.21803 1.07516 0.839281
+ 0.977948 1.01371 -7.97559E-04 3.23011 1.08189 0.832914
+ 0.983697 1.01239 -5.33113E-03 3.24719 1.09049 0.826128
+ 0.985686 1.00537 -1.17321E-02 3.25035 1.09502 0.817924
+ 0.994926 1.02281 -7.62059E-03 3.28634 1.10423 0.824740
+ 1.00756 1.00556 -1.03734E-02 3.31066 1.12353 0.798803
+ 0.998735 0.952304 -1.32926E-02 3.26595 1.12474 0.759457
+ 1.01141 0.997454 1.11602E-02 3.32688 1.13399 0.787207
+ 1.00122 1.00256 2.89286E-02 3.29745 1.11803 0.801192
+ 1.01378 0.995146 2.21558E-02 3.33292 1.13770 0.783331
+ 1.01537 0.994116 1.19928E-02 3.33726 1.14022 0.780906
+ 1.01372 0.995444 1.01541E-02 3.33286 1.13762 0.783460
+ 0.986726 1.01031 2.77191E-02 3.25621 1.09543 0.821608
+ 0.972978 1.01639 1.75065E-02 3.21639 1.07414 0.840387
+ 0.974930 0.944406 -4.05017E-06 3.20305 1.09825 0.771359
+ 0.984226 0.952813 5.34488E-03 3.22853 1.10692 0.771514
+ 0.993316 0.972456 4.48718E-03 3.26237 1.11454 0.781124
+ 0.998440 0.993008 4.41262E-03 3.28347 1.11586 0.795109
+ 0.967534 0.864049 -3.42411E-06 3.15501 1.10768 0.705398
+ 0.995479 0.976579 8.34387E-03 3.26661 1.11502 0.783431
+ 1.00946 0.998614 5.02214E-03 3.32132 1.13095 0.789901
+ 1.01050 0.998039 5.51651E-03 3.32430 1.13257 0.788479
+ 1.01124 0.997658 6.21110E-03 3.32648 1.13373 0.787486
+ 1.01201 0.996966 6.99953E-03 3.32845 1.13494 0.786227
+ 1.01240 0.996717 9.26952E-03 3.32955 1.13555 0.785684
+ 0.966545 1.01851 9.51152E-03 3.19729 1.06424 0.848770
+ 0.971579 1.01698 1.85525E-03 3.21206 1.07192 0.842223
+ 0.975267 1.01425 -5.44574E-03 3.22241 1.07800 0.836016
+ 0.981879 1.01559 -8.71435E-03 3.24186 1.08664 0.830994
+ 0.980913 0.999295 -1.42863E-02 3.23462 1.09020 0.816780
+ 0.999555 1.04557 -6.51039E-03 3.30564 1.10351 0.841406
+ 0.985635 0.930021 -3.31109E-02 3.21827 1.11158 0.751409
+ 0.959363 0.805521 -2.90427E-06 3.12784 1.11587 0.657984
+ 0.995220 1.00551 3.70442E-02 3.28028 1.10865 0.809581
+ 1.01168 0.996057 3.24344E-02 3.32685 1.13440 0.786225
+ 1.02276 0.988583 2.38281E-02 3.35767 1.15185 0.769999
+ 1.01986 0.990759 1.43260E-02 3.34955 1.14728 0.774184
+ 1.01773 0.992459 8.47367E-03 3.34377 1.14393 0.777404
+ 1.01537 0.994093 8.52315E-03 3.33720 1.14021 0.780862
+ 1.01338 0.995725 7.82352E-03 3.33195 1.13709 0.783977
+ 0.978991 1.01355 3.26784E-02 3.23376 1.08342 0.832185
+ 0.964303 1.01929 1.89354E-02 3.19087 1.06079 0.851896
+ 0.977025 0.954646 6.65005E-03 3.20932 1.09716 0.779293
+ 0.986601 0.977018 1.15949E-02 3.24381 1.10399 0.791254
+ 0.992754 0.991830 5.80561E-03 3.26816 1.10907 0.798876
+ 0.998790 1.01007 2.79804E-03 3.29406 1.11333 0.809542
+ 1.00059 1.01067 1.97180E-03 3.30002 1.11584 0.808387
+ 0.997021 1.01092 1.76299E-03 3.29090 1.11136 0.811657
+ 0.998734 0.952300 1.32863E-02 3.26595 1.12474 0.759454
+ 1.00231 1.02122 -7.73547E-04 3.31327 1.11721 0.815618
+ 1.00078 1.01368 1.89198E-04 3.30276 1.11575 0.810744
+ 1.00917 0.998385 4.20877E-03 3.32007 1.13048 0.789993
+ 1.01035 0.997738 4.74721E-03 3.32347 1.13233 0.788382
+ 1.01137 0.997179 5.52564E-03 3.32646 1.13394 0.786981
+ 1.01276 0.995972 5.86476E-03 3.33002 1.13611 0.784744
+ 0.965764 1.01935 3.93162E-03 3.19559 1.06305 0.850262
+ 0.959861 1.02185 9.64791E-03 3.17860 1.05385 0.858713
+ 0.968303 1.01880 -2.23409E-03 3.20289 1.06677 0.847201
+ 0.971558 1.01574 -8.17590E-03 3.21193 1.07237 0.841060
+ 0.976915 1.01535 -1.32287E-02 3.22708 1.07974 0.835609
+ 0.977568 1.00700 -1.79316E-02 3.22821 1.08375 0.826982
+ 0.991082 1.05100 -1.91973E-02 3.28343 1.09039 0.854609
+ 0.976016 0.860262 -4.23771E-02 3.16961 1.11583 0.697535
+ 0.918581 0.656502 -2.42867E-06 2.97508 1.09619 0.552930
+ 0.985633 0.930018 3.31063E-02 3.21826 1.11157 0.751407
+ 1.00756 1.00556 1.03675E-02 3.31066 1.12353 0.798801
+ 0.985271 1.00986 4.45685E-02 3.25140 1.09315 0.823192
+ 1.00543 0.999015 4.39329E-02 3.30879 1.12461 0.794786
+ 1.02406 0.987447 3.72321E-02 3.36142 1.15387 0.768278
+ 1.03029 0.983071 2.83732E-02 3.37876 1.16374 0.759089
+ 1.02629 0.986112 1.67153E-02 3.36744 1.15742 0.764792
+ 1.02207 0.989304 9.05344E-03 3.35574 1.15076 0.770993
+ 1.01554 0.993843 6.10603E-03 3.33753 1.14048 0.780491
+ 1.01830 0.991774 5.21040E-03 3.34502 1.14482 0.776336
+ 1.01415 0.994984 6.58725E-03 3.33384 1.13829 0.782681
+ 0.967646 1.01826 3.57590E-02 3.20121 1.06592 0.847892
+ 0.954580 1.02365 1.84524E-02 3.16326 1.04569 0.866063
+ 0.997608 1.00104 1.11171E-02 3.28660 1.11372 0.802684
+ 0.998832 1.00967 5.43440E-03 3.29377 1.11338 0.809200
+ 0.999842 1.00744 4.00938E-03 3.29561 1.11522 0.806334
+ 0.999671 1.00721 2.38227E-03 3.29558 1.11527 0.806197
+ 0.999265 1.00683 2.60745E-03 3.29451 1.11491 0.806180
+ 0.998650 1.00623 2.01830E-03 3.29135 1.11376 0.806368
+ 0.994135 1.00544 7.55281E-03 3.27714 1.10747 0.809866
+ 0.995260 1.00254 5.71516E-03 3.27812 1.10926 0.806416
+ 0.997283 1.00217 3.20434E-03 3.28452 1.11239 0.804159
+ 1.00892 0.998168 3.35054E-03 3.31899 1.13009 0.790055
+ 1.01008 0.997550 3.92921E-03 3.32237 1.13191 0.788479
+ 1.01148 0.996746 4.64292E-03 3.32639 1.13411 0.786535
+ 1.01307 0.995476 4.49934E-03 3.33060 1.13660 0.784058
+ 0.960343 1.02134 2.86078E-03 3.17991 1.05472 0.857679
+ 0.953048 1.02359 8.67597E-03 3.15866 1.04358 0.867477
+ 0.962815 1.01998 -4.24261E-03 3.18651 1.05849 0.853918
+ 0.966364 1.01858 -9.69456E-03 3.19700 1.06406 0.848982
+ 0.969568 1.01309 -1.64550E-02 3.20417 1.06990 0.840773
+ 0.977912 1.02834 -1.66686E-02 3.23190 1.07643 0.847197
+ 0.975233 1.03655 -2.88525E-02 3.24130 1.07601 0.855523
+ 0.943623 0.744858 -4.86913E-02 3.04353 1.09932 0.619405
+ 0.891971 0.525975 -2.13332E-06 2.87164 1.08662 0.451530
+ 0.976012 0.860253 4.23732E-02 3.16960 1.11583 0.697529
+ 0.999555 1.04557 6.50544E-03 3.30564 1.10351 0.841408
+ 0.994926 1.02281 7.61489E-03 3.28634 1.10423 0.824742
+ 0.997308 1.00294 5.33119E-02 3.28539 1.11186 0.806089
+ 0.972956 1.01527 5.55357E-02 3.21647 1.07407 0.840623
+ 1.01668 0.991716 5.17721E-02 3.34057 1.14223 0.778835
+ 1.03178 0.981288 4.25272E-02 3.38274 1.16609 0.756796
+ 1.03993 0.976169 3.14545E-02 3.40615 1.17901 0.745464
+ 1.03321 0.981533 1.91495E-02 3.38728 1.16835 0.755167
+ 1.02752 0.985567 1.07448E-02 3.37111 1.15936 0.763212
+ 1.02216 0.989215 5.71164E-03 3.35595 1.15091 0.770821
+ 1.01478 0.994111 3.42013E-03 3.33516 1.13929 0.781394
+ 1.01665 0.992774 2.57067E-03 3.34030 1.14223 0.778620
+ 1.02021 0.990500 2.63186E-03 3.35039 1.14783 0.773588
+ 0.950693 1.02439 3.31818E-02 3.15199 1.03981 0.871227
+ 0.946068 1.02554 1.70112E-02 3.13824 1.03290 0.876917
+ 1.00171 1.00781 6.70874E-03 3.30141 1.11776 0.804968
+ 1.00117 1.00455 4.47525E-03 3.29835 1.11775 0.802572
+ 0.999972 1.00412 3.22316E-03 3.29457 1.11617 0.803273
+ 0.999199 1.00384 2.54658E-03 3.29170 1.11498 0.803793
+ 0.998687 1.00387 2.48681E-03 3.28994 1.11416 0.804312
+ 0.997821 1.00393 2.56823E-03 3.28749 1.11298 0.805138
+ 0.985684 1.00537 1.17270E-02 3.25034 1.09502 0.817925
+ 0.990287 1.00833 7.72803E-03 3.26554 1.10086 0.816217
+ 0.991145 1.00846 2.48157E-03 3.26859 1.10222 0.815442
+ 0.994911 1.00778 1.92970E-03 3.28060 1.10807 0.811199
+ 0.997262 1.00702 1.89293E-03 3.28769 1.11170 0.808310
+ 1.00868 0.998018 2.51320E-03 3.31801 1.12971 0.790162
+ 1.01004 0.997312 3.12023E-03 3.32200 1.13185 0.788324
+ 1.01149 0.996396 3.49586E-03 3.32608 1.13412 0.786246
+ 1.01271 0.995321 2.67909E-03 3.32921 1.13604 0.784261
+ 0.953957 1.02305 2.01763E-03 3.16110 1.04501 0.865984
+ 0.946103 1.02546 7.94343E-03 3.13816 1.03296 0.876710
+ 0.956355 1.02193 -5.53393E-03 3.16777 1.04870 0.862443
+ 0.959215 1.02165 -1.17829E-02 3.17691 1.05311 0.859154
+ 0.959909 1.01346 -1.96434E-02 3.17420 1.05560 0.851059
+ 0.971606 1.05376 -1.78810E-02 3.22839 1.06272 0.876571
+ 0.952675 0.969959 -3.32225E-02 3.14282 1.05939 0.816478
+ 0.908990 0.626093 -4.87976E-02 2.90353 1.07464 0.537006
+ 0.865805 0.407430 -1.87815E-06 2.76646 1.06824 0.358051
+ 0.943621 0.744848 4.86882E-02 3.04352 1.09932 0.619398
+ 0.991082 1.05100 1.91934E-02 3.28343 1.09039 0.854609
+ 0.977567 1.00700 1.79271E-02 3.22821 1.08375 0.826983
+ 0.980912 0.999295 1.42816E-02 3.23462 1.09020 0.816781
+ 1.00006 1.00104 6.94873E-02 3.29379 1.11615 0.802703
+ 0.944885 1.02555 4.85128E-02 3.13540 1.03104 0.879129
+ 0.967701 1.01648 7.54951E-02 3.20181 1.06600 0.848166
+ 1.02492 0.985610 6.45630E-02 3.36397 1.15521 0.767176
+ 1.04198 0.973496 4.98297E-02 3.41161 1.18226 0.742252
+ 1.05171 0.966505 3.59304E-02 3.43914 1.19777 0.728292
+ 1.04293 0.973895 2.03814E-02 3.41440 1.18379 0.740929
+ 1.03368 0.981214 9.90791E-03 3.38851 1.16910 0.754403
+ 1.02531 0.987052 4.16007E-03 3.36480 1.15587 0.766297
+ 1.01401 0.994448 1.69422E-03 3.33283 1.13808 0.782367
+ 1.01682 0.992584 -2.00810E-07 3.34069 1.14249 0.778313
+ 1.02270 0.988788 -5.88082E-07 3.35740 1.15176 0.769987
+ 0.936152 1.02821 2.59755E-02 3.10938 1.01774 0.890563
+ 0.940159 1.02723 1.48558E-02 3.12098 1.02387 0.884968
+ 1.00121 1.00382 3.27860E-03 3.29843 1.11809 0.801849
+ 1.00056 1.00467 2.62262E-03 3.29690 1.11700 0.803176
+ 0.999608 1.00503 2.23142E-03 3.29401 1.11551 0.804387
+ 0.999227 1.00526 2.26175E-03 3.29283 1.11486 0.804960
+ 0.998620 1.00545 2.13088E-03 3.29111 1.11398 0.805670
+ 0.998209 1.00650 1.79213E-03 3.29044 1.11320 0.806961
+ 0.981877 1.01559 8.71017E-03 3.24186 1.08664 0.830995
+ 0.983695 1.01239 5.32663E-03 3.24719 1.09049 0.826130
+ 0.984924 1.01051 1.70778E-03 3.25022 1.09273 0.823228
+ 0.986160 1.01087 -2.95058E-03 3.25455 1.09458 0.822310
+ 0.991442 1.00923 -8.77945E-04 3.27070 1.10281 0.815719
+ 0.996219 1.00695 1.07219E-03 3.28446 1.11022 0.809214
+ 0.994752 1.00759 -2.55482E-04 3.28019 1.10796 0.811148
+ 0.997479 1.00615 1.29068E-03 3.28802 1.11223 0.807327
+ 1.00848 0.997862 1.62258E-03 3.31716 1.12939 0.790225
+ 1.01014 0.996981 2.23754E-03 3.32199 1.13199 0.787972
+ 1.01178 0.995855 1.32496E-03 3.32650 1.13456 0.785554
+ 0.947033 1.02568 1.95198E-03 3.14122 1.03432 0.875871
+ 0.937669 1.02820 9.32925E-03 3.11417 1.02015 0.888537
+ 0.949094 1.02437 -6.05629E-03 3.14734 1.03780 0.872346
+ 0.950583 1.02376 -1.23371E-02 3.15135 1.03999 0.870275
+ 0.952471 1.02605 -1.93499E-02 3.15293 1.04003 0.871432
+ 0.962032 1.07719 -1.77352E-02 3.21878 1.04622 0.907568
+ 0.879492 0.538783 -5.05217E-02 2.79065 1.04966 0.476003
+ 0.925980 0.904780 -3.33704E-02 3.03851 1.03835 0.780371
+ 0.842165 0.313127 -1.53138E-06 2.68091 1.04908 0.281549
+ 0.908988 0.626081 4.87953E-02 2.90352 1.07464 0.536997
+ 0.975231 1.03654 2.88490E-02 3.24130 1.07601 0.855520
+ 0.977912 1.02834 1.66644E-02 3.23190 1.07643 0.847199
+ 0.969567 1.01309 1.64516E-02 3.20416 1.06990 0.840774
+ 0.976913 1.01535 1.32248E-02 3.22708 1.07973 0.835610
+ 1.00939 0.994453 8.92842E-02 3.32060 1.13071 0.789873
+ 0.927946 1.02990 5.44307E-02 3.08596 1.00513 0.902537
+ 0.922531 1.03178 3.12198E-02 3.07035 0.997133 0.909611
+ 0.945733 1.02516 8.08832E-02 3.13968 1.03224 0.879633
+ 0.977300 1.01009 9.90313E-02 3.22891 1.08076 0.834630
+ 1.03660 0.976657 7.93556E-02 3.39727 1.17366 0.750813
+ 1.05416 0.962817 5.89578E-02 3.44550 1.20166 0.724351
+ 1.06587 0.954357 4.36640E-02 3.47922 1.22043 0.707933
+ 1.05736 0.962180 2.32376E-02 3.45505 1.20680 0.720095
+ 1.04689 0.971249 1.07535E-02 3.42584 1.19010 0.735445
+ 1.03190 0.982610 -5.57815E-07 3.38354 1.16628 0.757000
+ 1.01213 0.995592 -4.97070E-08 3.32745 1.13512 0.785018
+ 1.01665 0.992775 -2.57139E-03 3.34030 1.14223 0.778621
+ 1.02021 0.990500 -2.63263E-03 3.35039 1.14782 0.773589
+ 1.01401 0.994448 -1.69458E-03 3.33283 1.13808 0.782367
+ 1.02531 0.987052 -4.16096E-03 3.36480 1.15587 0.766297
+ 0.928914 1.03045 1.78711E-02 3.08880 1.00683 0.900665
+ 1.00122 1.00373 2.00885E-03 3.29816 1.11801 0.801797
+ 1.00009 1.00469 2.02846E-03 3.29540 1.11630 0.803632
+ 0.998991 1.00560 1.80302E-03 3.29252 1.11456 0.805429
+ 0.999555 1.00508 1.73048E-03 3.29398 1.11546 0.804461
+ 0.998558 1.00585 1.56059E-03 3.29128 1.11387 0.806052
+ 0.971556 1.01574 8.17258E-03 3.21192 1.07237 0.841062
+ 0.975265 1.01425 5.44195E-03 3.22240 1.07800 0.836018
+ 0.977946 1.01371 7.93905E-04 3.23011 1.08189 0.832917
+ 0.979902 1.01316 -4.81791E-03 3.23591 1.08485 0.830506
+ 0.989910 1.01012 -5.99925E-03 3.26631 1.10037 0.817995
+ 0.986516 1.01138 -1.23822E-02 3.25631 1.09512 0.822437
+ 0.992949 1.00849 -2.68982E-03 3.27495 1.10512 0.813654
+ 0.996665 1.00652 4.24900E-04 3.28563 1.11096 0.808417
+ 0.994941 1.00718 -3.26371E-03 3.28060 1.10832 0.810610
+ 0.996203 1.00669 -8.67770E-04 3.28425 1.11024 0.809002
+ 0.997995 1.00580 9.94936E-04 3.28947 1.11305 0.806542
+ 1.00855 0.997770 5.82852E-04 3.31732 1.12951 0.790083
+ 1.01013 0.996833 1.09143E-03 3.32182 1.13199 0.787860
+ 0.939342 1.02899 1.96578E-03 3.12007 1.02259 0.887333
+ 0.928338 1.03190 1.02352E-02 3.08845 1.00595 0.902514
+ 0.940707 1.02477 -6.21277E-03 3.12210 1.02556 0.881785
+ 0.943838 1.03125 -1.09391E-02 3.13176 1.02733 0.885155
+ 0.945182 1.04998 -1.66903E-02 3.14290 1.02382 0.902200
+ 0.943235 1.06724 -2.01527E-02 3.17023 1.02649 0.916829
+ 0.816497 0.224902 -1.34913E-06 2.59277 1.02472 0.207802
+ 0.852898 0.452599 -5.05852E-02 2.69310 1.02860 0.410934
+ 0.896167 0.848742 -2.69863E-02 2.92215 1.00793 0.755129
+ 0.879490 0.538771 5.05196E-02 2.79064 1.04966 0.475993
+ 0.952673 0.969951 3.32201E-02 3.14281 1.05938 0.816472
+ 0.971605 1.05376 1.78774E-02 3.22838 1.06271 0.876573
+ 0.959908 1.01346 1.96402E-02 3.17420 1.05560 0.851060
+ 0.959214 1.02165 1.17795E-02 3.17691 1.05311 0.859155
+ 0.966362 1.01858 9.69070E-03 3.19700 1.06406 0.848983
+ 1.01815 0.986381 0.113002 3.34544 1.14455 0.777302
+ 0.910958 1.03199 6.14813E-02 3.03576 0.979655 0.924898
+ 0.908231 1.03662 3.48617E-02 3.03103 0.975511 0.931298
+ 0.916834 1.03443 2.01393E-02 3.05521 0.988573 0.918482
+ 0.930085 1.02741 9.89396E-02 3.09388 1.00846 0.900731
+ 0.976477 1.00902 0.122038 3.22730 1.07934 0.836719
+ 1.05381 0.962801 9.35292E-02 3.44656 1.20103 0.726697
+ 1.06913 0.950344 6.87760E-02 3.48880 1.22569 0.703472
+ 1.08070 0.940450 5.15967E-02 3.52111 1.24427 0.686460
+ 1.07275 0.948767 2.94575E-02 3.49871 1.23150 0.697971
+ 1.06451 0.955972 1.15659E-02 3.47496 1.21826 0.709527
+ 1.04895 0.967422 -6.76098E-07 3.42953 1.19336 0.730782
+ 1.04689 0.971250 -1.07548E-02 3.42584 1.19010 0.735445
+ 1.03368 0.981214 -9.90909E-03 3.38851 1.16910 0.754403
+ 1.00855 0.997842 -1.03752E-08 3.31736 1.12949 0.790147
+ 1.01178 0.995856 -1.32502E-03 3.32650 1.13456 0.785555
+ 1.01013 0.996833 -1.09150E-03 3.32182 1.13199 0.787860
+ 1.01478 0.994111 -3.42051E-03 3.33515 1.13929 0.781394
+ 1.01830 0.991773 -5.21083E-03 3.34502 1.14482 0.776336
+ 1.02216 0.989216 -5.71227E-03 3.35595 1.15091 0.770821
+ 1.01271 0.995321 -2.67932E-03 3.32921 1.13604 0.784261
+ 1.02752 0.985568 -1.07458E-02 3.37111 1.15936 0.763212
+ 1.00075 1.00227 7.21912E-04 3.29503 1.11725 0.801090
+ 0.999946 1.00417 1.22432E-03 3.29424 1.11601 0.803382
+ 0.998966 1.00533 1.40851E-03 3.29225 1.11455 0.805225
+ 0.999227 1.00476 1.05365E-03 3.29245 1.11491 0.804537
+ 0.962813 1.01998 4.23930E-03 3.18650 1.05849 0.853919
+ 0.968301 1.01880 2.23091E-03 3.20288 1.06676 0.847202
+ 0.971577 1.01698 -1.85836E-03 3.21205 1.07192 0.842226
+ 0.973617 1.01599 -7.47463E-03 3.21803 1.07516 0.839284
+ 0.980125 1.01354 -1.50625E-02 3.23725 1.08523 0.830660
+ 0.994231 1.00783 -1.12707E-02 3.27853 1.10707 0.811930
+ 0.993946 1.00772 -6.62565E-03 3.27780 1.10677 0.812031
+ 0.992361 1.00777 -2.26145E-02 3.27246 1.10420 0.813856
+ 0.998323 1.00517 -1.74415E-02 3.28997 1.11352 0.805855
+ 0.997629 1.00592 2.13118E-04 3.28829 1.11246 0.807001
+ 0.996833 1.00653 -2.65163E-03 3.28609 1.11117 0.808284
+ 0.996835 1.00656 -6.06640E-03 3.28615 1.11117 0.808316
+ 0.997717 1.00541 -1.38752E-03 3.28783 1.11250 0.806538
+ 0.998618 1.00529 7.92616E-04 3.29095 1.11398 0.805549
+ 0.930558 1.02936 1.61697E-03 3.09366 1.00973 0.897487
+ 0.917620 1.03207 1.07819E-02 3.05534 0.989954 0.915228
+ 0.933372 1.02781 -5.40831E-03 3.09908 1.01326 0.893238
+ 0.940225 1.05426 -8.36068E-03 3.12985 1.01550 0.911883
+ 0.931278 1.05765 -1.42269E-02 3.12763 1.01077 0.921411
+ 0.780462 0.135422 -1.11418E-06 2.47273 0.984392 0.130576
+ 0.852896 0.452584 5.05833E-02 2.69309 1.02860 0.410921
+ 0.820246 0.421033 -4.84519E-02 2.58344 0.989578 0.397568
+ 0.888669 0.862947 -1.14270E-02 2.90991 0.996339 0.775149
+ 0.925978 0.904770 3.33685E-02 3.03850 1.03835 0.780364
+ 0.962031 1.07719 1.77320E-02 3.21878 1.04622 0.907569
+ 0.952470 1.02605 1.93468E-02 3.15293 1.04003 0.871434
+ 0.950582 1.02376 1.23340E-02 3.15135 1.03999 0.870276
+ 0.949093 1.02437 6.05311E-03 3.14733 1.03780 0.872347
+ 0.956354 1.02193 5.53077E-03 3.16777 1.04870 0.862444
+ 1.01216 0.988336 0.134233 3.32887 1.13497 0.786490
+ 1.04044 0.968808 0.126450 3.40801 1.17971 0.745325
+ 0.885858 1.03635 6.13018E-02 2.96405 0.942289 0.960346
+ 0.888608 1.03535 3.76092E-02 2.97006 0.946441 0.954791
+ 0.902740 1.03348 2.20728E-02 3.01083 0.967593 0.934777
+ 0.890143 1.03388 9.11052E-02 2.97606 0.948397 0.954683
+ 0.934037 1.02254 0.123535 3.10432 1.01457 0.894210
+ 0.981093 1.00503 0.142242 3.24098 1.08636 0.830963
+ 1.07023 0.946027 0.105923 3.49174 1.22735 0.701974
+ 1.08413 0.935131 7.69753E-02 3.53059 1.24982 0.681255
+ 1.08560 0.935508 3.68983E-02 3.53427 1.25222 0.678649
+ 1.09649 0.923182 5.42778E-02 3.56452 1.26982 0.662369
+ 1.08337 0.937563 1.93599E-02 3.52739 1.24861 0.681440
+ 1.07556 0.944227 -8.31780E-07 3.50445 1.23599 0.692130
+ 1.06451 0.955972 -1.15673E-02 3.47496 1.21826 0.709527
+ 1.05736 0.962180 -2.32390E-02 3.45505 1.20680 0.720096
+ 1.04293 0.973896 -2.03829E-02 3.41440 1.18379 0.740929
+ 1.03321 0.981533 -1.91510E-02 3.38728 1.16835 0.755167
+ 1.00855 0.997769 -5.82914E-04 3.31732 1.12951 0.790083
+ 1.01014 0.996981 -2.23770E-03 3.32199 1.13199 0.787972
+ 1.00848 0.997862 -1.62263E-03 3.31716 1.12939 0.790224
+ 1.01554 0.993843 -6.10643E-03 3.33753 1.14048 0.780492
+ 1.01307 0.995476 -4.49980E-03 3.33059 1.13660 0.784059
+ 1.02207 0.989304 -9.05403E-03 3.35574 1.15076 0.770993
+ 1.01773 0.992459 -8.47431E-03 3.34377 1.14393 0.777404
+ 1.01149 0.996396 -3.49587E-03 3.32607 1.13412 0.786247
+ 1.02629 0.986112 -1.67163E-02 3.36744 1.15742 0.764793
+ 0.999964 1.00070 -4.41796E-06 3.29076 1.11602 0.800594
+ 0.999697 1.00386 8.26967E-04 3.29303 1.11560 0.803377
+ 0.999562 1.00259 2.22759E-04 3.29132 1.11540 0.802490
+ 0.999151 1.00433 6.35449E-04 3.29166 1.11476 0.804281
+ 0.953956 1.02305 -2.02050E-03 3.16109 1.04501 0.865986
+ 0.960341 1.02134 -2.86385E-03 3.17990 1.05472 0.857680
+ 0.965762 1.01936 -3.93441E-03 3.19558 1.06304 0.850264
+ 0.966543 1.01851 -9.51424E-03 3.19729 1.06424 0.848773
+ 0.972975 1.01639 -1.75087E-02 3.21638 1.07414 0.840390
+ 0.986724 1.01032 -2.77211E-02 3.25620 1.09543 0.821612
+ 1.00158 1.00382 -1.39834E-02 3.29965 1.11861 0.801589
+ 0.998876 1.00552 -1.04671E-02 3.29207 1.11437 0.805524
+ 1.00122 1.00257 -2.89302E-02 3.29744 1.11803 0.801195
+ 1.00450 1.00112 -2.08387E-02 3.30696 1.12315 0.796748
+ 1.00579 1.00082 -1.59783E-02 3.31099 1.12517 0.795214
+ 0.998470 1.00469 -1.24995E-05 3.28971 1.11369 0.805228
+ 0.998929 1.00492 -3.84561E-03 3.29160 1.11445 0.804962
+ 1.00029 1.00446 -7.06932E-03 3.29579 1.11658 0.803290
+ 1.00141 1.00398 -9.22377E-03 3.29917 1.11834 0.801839
+ 0.999326 1.00293 -1.25431E-03 3.29087 1.11504 0.802987
+ 0.920728 1.02948 1.76141E-03 3.06293 0.994957 0.909045
+ 0.905635 1.03243 1.19084E-02 3.01874 0.972070 0.930037
+ 0.929451 1.04844 -3.06461E-03 3.09247 1.00045 0.918901
+ 0.928365 1.06525 -5.75035E-03 3.11801 1.00273 0.933133
+ 0.820244 0.421017 4.84502E-02 2.58343 0.989578 0.397554
+ 0.752601 0. 0. 2.40312 0.961248 0.
+ 0.896165 0.848729 2.69848E-02 2.92214 1.00793 0.755118
+ 0.833736 0.442351 -2.08004E-02 2.64013 1.00901 0.408057
+ 0.891464 0.900248 -1.07568E-02 2.94336 0.995496 0.807714
+ 0.943234 1.06724 2.01503E-02 3.17022 1.02649 0.916829
+ 0.945181 1.04998 1.66874E-02 3.14290 1.02382 0.902202
+ 0.943838 1.03125 1.09360E-02 3.13176 1.02733 0.885156
+ 0.940707 1.02477 6.20975E-03 3.12210 1.02556 0.881786
+ 0.939341 1.02899 -1.96857E-03 3.12007 1.02259 0.887335
+ 0.947032 1.02568 -1.95496E-03 3.14122 1.03431 0.875872
+ 1.01404 0.982429 0.165882 3.33448 1.13801 0.783864
+ 1.06489 0.947468 0.143856 3.47773 1.21861 0.710995
+ 0.864335 1.03763 5.95669E-02 2.90085 0.910387 0.990233
+ 0.870594 1.03689 3.94514E-02 2.91627 0.919160 0.980345
+ 0.888892 1.03529 2.36861E-02 2.97021 0.946800 0.954021
+ 0.888706 1.03427 0.115562 2.97381 0.945784 0.959375
+ 0.857035 1.04382 8.24899E-02 2.88291 0.897314 1.00912
+ 0.942719 1.01387 0.155354 3.12821 1.02809 0.880542
+ 1.09033 0.926682 0.114681 3.54914 1.25973 0.673363
+ 1.09985 0.917628 8.34387E-02 3.57400 1.27521 0.657556
+ 1.10418 0.914152 3.21060E-02 3.58468 1.28232 0.649689
+ 1.11627 0.896723 7.29808E-02 3.61783 1.30211 0.630695
+ 1.10968 0.908750 -9.10830E-07 3.60037 1.29131 0.641603
+ 1.08337 0.937563 -1.93615E-02 3.52739 1.24861 0.681439
+ 1.07275 0.948767 -2.94592E-02 3.49871 1.23150 0.697972
+ 1.06587 0.954358 -4.36656E-02 3.47922 1.22043 0.707934
+ 1.05171 0.966504 -3.59319E-02 3.43914 1.19777 0.728292
+ 1.03993 0.976169 -3.14561E-02 3.40615 1.17901 0.745464
+ 1.03029 0.983071 -2.83744E-02 3.37876 1.16374 0.759090
+ 1.00868 0.998018 -2.51311E-03 3.31801 1.12971 0.790162
+ 1.01004 0.997312 -3.12006E-03 3.32200 1.13185 0.788324
+ 1.01415 0.994985 -6.58777E-03 3.33384 1.13829 0.782681
+ 1.01537 0.994094 -8.52370E-03 3.33720 1.14021 0.780862
+ 1.01148 0.996746 -4.64289E-03 3.32639 1.13411 0.786536
+ 1.01276 0.995972 -5.86502E-03 3.33002 1.13611 0.784744
+ 1.01986 0.990759 -1.43267E-02 3.34954 1.14728 0.774184
+ 1.01537 0.994117 -1.19934E-02 3.33726 1.14021 0.780907
+ 1.01008 0.997550 -3.92904E-03 3.32237 1.13191 0.788479
+ 1.02276 0.988583 -2.38290E-02 3.35767 1.15185 0.769999
+ 1.00047 1.00015 -2.79481E-04 3.29188 1.11679 0.799675
+ 1.00021 1.00036 -6.13301E-04 3.29124 1.11640 0.800083
+ 1.00085 1.00030 -1.17835E-03 3.29336 1.11739 0.799433
+ 0.999082 1.00385 -6.29752E-05 3.29092 1.11464 0.803962
+ 0.946101 1.02546 -7.94576E-03 3.13815 1.03295 0.876712
+ 0.953045 1.02359 -8.67841E-03 3.15865 1.04357 0.867479
+ 0.959859 1.02185 -9.65053E-03 3.17860 1.05385 0.858716
+ 0.964301 1.01929 -1.89378E-02 3.19086 1.06079 0.851900
+ 0.978989 1.01355 -3.26806E-02 3.23376 1.08342 0.832188
+ 0.995218 1.00551 -3.70461E-02 3.28027 1.10865 0.809583
+ 1.00620 1.00119 -1.24886E-02 3.31274 1.12582 0.795074
+ 1.00352 1.00288 -1.12967E-02 3.30529 1.12164 0.798957
+ 1.01168 0.996058 -3.24359E-02 3.32685 1.13439 0.786227
+ 1.01378 0.995147 -2.21568E-02 3.33292 1.13770 0.783332
+ 1.01139 0.997140 -1.54283E-02 3.32655 1.13395 0.787024
+ 1.00907 0.999175 -1.27126E-02 3.32059 1.13033 0.790769
+ 1.00149 1.00364 -6.09547E-03 3.29900 1.11843 0.801485
+ 1.00202 1.00270 -4.55792E-03 3.29980 1.11924 0.800230
+ 1.00357 1.00248 -7.43297E-03 3.30497 1.12170 0.798571
+ 1.00491 1.00201 -9.03084E-03 3.30911 1.12381 0.796920
+ 1.00267 1.00044 -2.93030E-03 3.29973 1.12025 0.797793
+ 0.913022 1.04608 4.13351E-03 3.04398 0.977882 0.935665
+ 0.895153 1.04702 1.52018E-02 2.99201 0.951821 0.958765
+ 0.918480 1.06552 7.55809E-04 3.07722 0.983666 0.947413
+ 0.833734 0.442341 2.07985E-02 2.64012 1.00901 0.408048
+ 0.888667 0.862935 1.14255E-02 2.90989 0.996338 0.775138
+ 0.754677 0. 0. 2.38186 0.952745 0.
+ 0.754678 0. 0. 2.38187 0.952747 0.
+ 0.931277 1.05765 1.42245E-02 3.12762 1.01077 0.921410
+ 0.822278 0.476894 -3.83421E-02 2.59399 0.981921 0.449996
+ 0.879217 0.943623 -4.05111E-03 2.93072 0.969734 0.863702
+ 0.940225 1.05426 8.35755E-03 3.12985 1.01550 0.911885
+ 0.933372 1.02781 5.40526E-03 3.09907 1.01326 0.893238
+ 0.930557 1.02936 -1.61949E-03 3.09366 1.00973 0.897488
+ 0.928336 1.03190 -1.02374E-02 3.08844 1.00595 0.902516
+ 0.937667 1.02820 -9.33171E-03 3.11417 1.02015 0.888539
+ 0.996858 0.983477 0.197687 3.28296 1.11129 0.805510
+ 1.05448 0.947958 0.189378 3.44808 1.20199 0.725695
+ 1.09084 0.916093 0.161396 3.54802 1.26056 0.670426
+ 0.848646 1.04947 6.11721E-02 2.86109 0.883992 1.02578
+ 0.855537 1.05006 4.53173E-02 2.87747 0.892746 1.01641
+ 0.874564 1.04849 2.91300E-02 2.93328 0.921719 0.987353
+ 0.881074 1.05392 0.139450 2.96707 0.930279 0.992427
+ 0.845996 1.05954 1.00569E-01 2.86558 0.878440 1.04343
+ 0.836150 1.06437 7.23634E-02 2.83761 0.862815 1.06153
+ 0.928195 1.02761 0.184320 3.09630 1.00366 0.914172
+ 1.11261 0.898783 0.121661 3.60967 1.29600 0.638352
+ 1.14053 0.871591 4.97327E-02 3.68883 1.34188 0.596409
+ 1.14051 0.859607 0.111526 3.68423 1.34194 0.592168
+ 1.14955 0.847632 -1.60935E-06 3.70462 1.35685 0.573605
+ 1.14053 0.871591 -4.97332E-02 3.68883 1.34188 0.596409
+ 1.10418 0.914152 -3.21076E-02 3.58468 1.28232 0.649689
+ 1.08560 0.935508 -3.69001E-02 3.53427 1.25222 0.678648
+ 1.08070 0.940450 -5.15986E-02 3.52111 1.24427 0.686460
+ 1.06913 0.950344 -6.87781E-02 3.48880 1.22569 0.703472
+ 1.05416 0.962817 -5.89597E-02 3.44550 1.20166 0.724352
+ 1.04198 0.973496 -4.98313E-02 3.41160 1.18226 0.742252
+ 1.03178 0.981288 -4.25287E-02 3.38273 1.16609 0.756797
+ 1.02406 0.987447 -3.72335E-02 3.36142 1.15387 0.768279
+ 1.00892 0.998168 -3.35048E-03 3.31899 1.13009 0.790055
+ 1.01338 0.995726 -7.82409E-03 3.33195 1.13709 0.783978
+ 1.01372 0.995445 -1.01547E-02 3.33286 1.13762 0.783461
+ 1.01035 0.997738 -4.74728E-03 3.32347 1.13233 0.788382
+ 1.01137 0.997179 -5.52570E-03 3.32646 1.13394 0.786982
+ 1.01201 0.996967 -6.99980E-03 3.32845 1.13494 0.786228
+ 1.00917 0.998385 -4.20865E-03 3.32007 1.13048 0.789993
+ 0.940157 1.02723 -1.48579E-02 3.12098 1.02387 0.884971
+ 0.946066 1.02554 -1.70135E-02 3.13823 1.03289 0.876920
+ 0.954578 1.02365 -1.84547E-02 3.16326 1.04569 0.866067
+ 0.967644 1.01826 -3.57614E-02 3.20120 1.06591 0.847895
+ 0.985268 1.00986 -4.45713E-02 3.25140 1.09314 0.823195
+ 1.00543 0.999015 -4.39348E-02 3.30879 1.12460 0.794788
+ 1.00894 0.999509 -1.06972E-02 3.32046 1.13013 0.791138
+ 1.00683 1.00100 -1.02616E-02 3.31470 1.12682 0.794308
+ 1.01140 0.997455 -1.11609E-02 3.32688 1.13399 0.787209
+ 1.01077 0.998063 -9.97919E-03 3.32530 1.13300 0.788270
+ 1.00472 1.00156 -6.35907E-03 3.30794 1.12349 0.796735
+ 1.00532 1.00025 -4.49949E-03 3.30864 1.12441 0.795120
+ 1.00651 1.00071 -6.87347E-03 3.31325 1.12630 0.794361
+ 1.00788 1.00029 -7.89218E-03 3.31756 1.12846 0.792732
+ 0.901915 1.06354 8.10086E-03 3.02025 0.957263 0.967391
+ 0.883241 1.06422 1.96948E-02 2.96328 0.928770 0.993225
+ 0.822276 0.476882 3.83404E-02 2.59398 0.981920 0.449987
+ 0.891461 0.900237 1.07548E-02 2.94335 0.995494 0.807706
+ 0.928365 1.06525 5.74814E-03 3.11801 1.00273 0.933134
+ 0.741729 0. 0. 2.34445 0.937782 0.
+ 0.741728 0. 0. 2.34445 0.937781 0.
+ 0.801947 0.501326 -2.95803E-02 2.53660 0.951744 0.485823
+ 0.863351 0.980851 7.50684E-03 2.90894 0.940696 0.919884
+ 0.929452 1.04844 3.06153E-03 3.09247 1.00045 0.918903
+ 0.920727 1.02948 -1.76362E-03 3.06293 0.994956 0.909045
+ 0.917619 1.03207 -1.07841E-02 3.05534 0.989952 0.915229
+ 0.916832 1.03443 -2.01410E-02 3.05521 0.988570 0.918486
+ 0.928911 1.03045 -1.78733E-02 3.08879 1.00683 0.900668
+ 0.975911 0.985707 0.230253 3.22469 1.07989 0.833346
+ 1.03813 0.951668 0.231073 3.40091 1.17560 0.749214
+ 1.08547 0.911964 0.214014 3.53398 1.25191 0.679140
+ 1.11814 0.881331 0.172730 3.62342 1.30510 0.628332
+ 0.842768 1.06593 5.22919E-02 2.85183 0.870447 1.05308
+ 0.859654 1.06590 3.43435E-02 2.89681 0.894127 1.02805
+ 0.856566 1.05968 0.160750 2.92438 0.901531 1.03081
+ 0.815361 1.04155 0.112875 2.79600 0.849175 1.06409
+ 0.797569 1.03170 8.31045E-02 2.73515 0.825413 1.07814
+ 0.801675 1.02186 6.06763E-02 2.74163 0.835232 1.05727
+ 0.910378 1.06615 0.224392 3.08737 0.974171 0.977770
+ 1.18749 0.796754 0.110539 3.82306 1.42025 0.523484
+ 1.14643 0.837003 0.184197 3.69997 1.35185 0.581828
+ 1.21433 0.720105 -7.86380E-06 3.87742 1.46556 0.456207
+ 1.18749 0.796762 -0.110539 3.82307 1.42025 0.523489
+ 1.14051 0.859605 -0.111526 3.68424 1.34194 0.592166
+ 1.11627 0.896723 -7.29818E-02 3.61783 1.30211 0.630695
+ 1.09649 0.923182 -5.42796E-02 3.56452 1.26982 0.662369
+ 1.08413 0.935131 -7.69773E-02 3.53059 1.24982 0.681256
+ 1.07023 0.946027 -0.105925 3.49174 1.22735 0.701974
+ 1.05381 0.962800 -9.35318E-02 3.44656 1.20103 0.726697
+ 1.03660 0.976657 -7.93578E-02 3.39727 1.17365 0.750814
+ 1.02492 0.985610 -6.45651E-02 3.36397 1.15521 0.767177
+ 1.01668 0.991716 -5.17739E-02 3.34056 1.14223 0.778837
+ 1.01240 0.996717 -9.26981E-03 3.32955 1.13555 0.785685
+ 1.00946 0.998614 -5.02220E-03 3.32132 1.13095 0.789901
+ 1.01050 0.998039 -5.51636E-03 3.32430 1.13257 0.788480
+ 1.01124 0.997658 -6.21104E-03 3.32648 1.13373 0.787487
+ 1.01095 0.998194 -6.84518E-03 3.32604 1.13329 0.788180
+ 1.01118 0.997915 -8.45770E-03 3.32655 1.13364 0.787757
+ 0.936149 1.02821 -2.59774E-02 3.10937 1.01774 0.890566
+ 0.950690 1.02439 -3.31839E-02 3.15198 1.03980 0.871230
+ 0.972954 1.01527 -5.55377E-02 3.21646 1.07407 0.840626
+ 0.997306 1.00294 -5.33143E-02 3.28538 1.11186 0.806091
+ 1.00992 0.998992 -9.23356E-03 3.32329 1.13166 0.789797
+ 1.00891 0.999809 -8.87996E-03 3.32063 1.13008 0.791390
+ 1.00738 0.999878 -5.48802E-03 3.31538 1.12766 0.792871
+ 1.00867 0.999450 -5.77318E-03 3.31938 1.12968 0.791322
+ 1.00985 0.999012 -6.01910E-03 3.32306 1.13156 0.789853
+ 1.00986 0.999179 -6.94295E-03 3.32328 1.13158 0.789978
+ 0.839435 1.00355 2.24138E-02 2.85032 0.900058 0.976012
+ 0.801944 0.501313 2.95796E-02 2.53659 0.951743 0.485811
+ 0.879215 0.943610 4.04905E-03 2.93070 0.969733 0.863692
+ 0.918479 1.06552 -7.58771E-04 3.07722 0.983666 0.947416
+ 0.714953 0. 0. 2.25225 0.900899 0.
+ 0.714952 0. 0. 2.25225 0.900899 0.
+ 0.780415 0.522983 -2.42659E-02 2.46779 0.916870 0.523088
+ 0.913021 1.04608 -4.13581E-03 3.04398 0.977880 0.935667
+ 0.905634 1.03243 -1.19106E-02 3.01874 0.972068 0.930039
+ 0.902738 1.03348 -2.20746E-02 3.01082 0.967590 0.934778
+ 0.908228 1.03663 -3.48633E-02 3.03103 0.975507 0.931303
+ 0.922528 1.03178 -3.12216E-02 3.07034 0.997129 0.909614
+ 1.01683 0.952690 0.273896 3.34297 1.14391 0.776806
+ 0.959617 1.03761 0.289190 3.22315 1.04744 0.908031
+ 1.07026 0.913721 0.260216 3.48972 1.22722 0.700611
+ 1.11633 0.870301 0.233791 3.61873 1.30200 0.631734
+ 0.814780 1.01518 4.06662E-02 2.77936 0.858363 1.02677
+ 0.791845 0.693875 8.74224E-02 2.52517 0.886534 0.705455
+ 0.757430 0.665104 5.70972E-02 2.40784 0.845470 0.705017
+ 0.738766 0.640318 3.47092E-02 2.34391 0.826240 0.693685
+ 0.732838 0.609352 1.67065E-02 2.33238 0.831540 0.659966
+ 0.741403 0.578949 -1.42740E-03 2.35761 0.852627 0.615419
+ 0.838153 0.718698 0.126020 2.68595 0.947335 0.692062
+ 1.25937 0.601458 0.158223 4.01381 1.54410 0.376926
+ 1.17751 0.772299 0.241611 3.78888 1.40433 0.531840
+ 1.13657 0.835679 0.281155 3.68104 1.33562 0.604814
+ 1.28216 0.453794 -2.31861E-06 4.04913 1.58753 0.268820
+ 1.25938 0.601510 -0.158192 4.01383 1.54410 0.376951
+ 1.17752 0.772296 -0.241631 3.78892 1.40435 0.531836
+ 1.14643 0.837002 -0.184204 3.69999 1.35186 0.581825
+ 1.11815 0.881329 -0.172733 3.62343 1.30510 0.628330
+ 1.11261 0.898782 -0.121662 3.60967 1.29600 0.638351
+ 1.09985 0.917628 -8.34406E-02 3.57400 1.27521 0.657556
+ 1.09033 0.926680 -0.114683 3.54914 1.25973 0.673362
+ 1.06489 0.947468 -0.143859 3.47773 1.21861 0.710995
+ 1.04044 0.968808 -0.126453 3.40801 1.17971 0.745326
+ 1.01815 0.986381 -0.113005 3.34544 1.14455 0.777303
+ 1.00939 0.994453 -8.92869E-02 3.32060 1.13071 0.789874
+ 1.00006 1.00104 -6.94896E-02 3.29379 1.11615 0.802705
+ 1.00982 0.998864 -5.78931E-03 3.32279 1.13150 0.789770
+ 1.01061 0.998397 -6.16658E-03 3.32506 1.13275 0.788657
+ 1.01055 0.998811 -6.54908E-03 3.32526 1.13265 0.789044
+ 1.01031 0.998844 -7.65624E-03 3.32447 1.13227 0.789304
+ 0.944883 1.02556 -4.85147E-02 3.13539 1.03104 0.879133
+ 0.967699 1.01648 -7.54976E-02 3.20180 1.06600 0.848169
+ 1.01041 0.998913 -6.21780E-03 3.32489 1.13244 0.789252
+ 0.757510 0.548663 -1.48620E-02 2.39918 0.880135 0.568109
+ 0.780412 0.522972 2.42655E-02 2.46778 0.916869 0.523077
+ 0.863350 0.980841 -7.50903E-03 2.90893 0.940695 0.919876
+ 0.901913 1.06354 -8.10354E-03 3.02025 0.957261 0.967395
+ 0.681440 0. 0. 2.13863 0.855451 0.
+ 0.681440 0. 0. 2.13863 0.855452 0.
+ 0.895152 1.04703 -1.52038E-02 2.99201 0.951819 0.958768
+ 0.888890 1.03529 -2.36879E-02 2.97021 0.946797 0.954024
+ 0.888605 1.03535 -3.76106E-02 2.97005 0.946437 0.954794
+ 0.910955 1.03199 -6.14829E-02 3.03575 0.979649 0.924902
+ 0.927943 1.02990 -5.44323E-02 3.08595 1.00513 0.902541
+ 0.991456 0.981282 0.330702 3.29474 1.10159 0.837418
+ 1.05993 0.915122 0.312689 3.47073 1.21182 0.721167
+ 0.889771 0.736834 0.170452 2.86758 1.01846 0.671450
+ 1.09864 0.878876 0.283010 3.57164 1.27346 0.659731
+ 0.647936 0. 0. 2.04150 0.816600 0.
+ 0.677725 0. 0. 2.14902 0.859609 0.
+ 0.623874 0. 0. 1.95257 0.781027 0.
+ 0.618523 0. 0. 1.92257 0.769027 0.
+ 0.625675 0. 0. 1.95509 0.782034 0.
+ 0.646278 0. 0. 2.02398 0.809592 0.
+ 0.714370 0. 0. 2.27061 0.908242 0.
+ 1.31559 0.213192 0.175919 4.19691 1.66715 0.157736
+ 1.22082 0.630764 0.284161 3.89863 1.48104 0.434828
+ 1.14376 0.794951 0.344826 3.70123 1.34920 0.589533
+ 1.09534 0.863664 0.342614 3.56954 1.27018 0.665746
+ 1.43424 0. 0. 4.56508 1.82603 0.
+ 1.31553 0.212968 -0.175876 4.19669 1.66708 0.157628
+ 1.22108 0.630043 -0.283961 3.89931 1.48150 0.434251
+ 1.14370 0.794894 -0.344815 3.70099 1.34911 0.589527
+ 1.13657 0.835687 -0.281152 3.68104 1.33562 0.604818
+ 1.11633 0.870302 -0.233797 3.61872 1.30200 0.631737
+ 1.08547 0.911963 -0.214018 3.53399 1.25192 0.679140
+ 1.09084 0.916092 -0.161399 3.54803 1.26057 0.670425
+ 1.05448 0.947957 -0.189381 3.44808 1.20199 0.725695
+ 1.01404 0.982429 -0.165885 3.33448 1.13800 0.783865
+ 1.01216 0.988337 -0.134236 3.32886 1.13497 0.786492
+ 0.976475 1.00902 -0.122041 3.22730 1.07934 0.836722
+ 0.977298 1.01009 -9.90340E-02 3.22890 1.08076 0.834632
+ 1.01027 0.998990 -6.31806E-03 3.32448 1.13222 0.789445
+ 0.945731 1.02516 -8.08856E-02 3.13967 1.03223 0.879637
+ 0.757507 0.548655 1.48616E-02 2.39917 0.880133 0.568103
+ 0.839432 1.00354 -2.24157E-02 2.85031 0.900056 0.976007
+ 0.883240 1.06422 -1.96971E-02 2.96328 0.928768 0.993227
+ 0.646277 0. 0. 2.02398 0.809591 0.
+ 0.874562 1.04849 -2.91317E-02 2.93328 0.921716 0.987356
+ 0.870591 1.03689 -3.94526E-02 2.91626 0.919156 0.980349
+ 0.885854 1.03635 -6.13032E-02 2.96404 0.942283 0.960351
+ 0.930082 1.02742 -9.89418E-02 3.09388 1.00846 0.900735
+ 0.939415 0.746634 0.228697 3.04164 1.08684 0.653139
+ 1.04343 0.905315 0.377825 3.42858 1.18697 0.744990
+ 0.763005 0. 0. 2.42103 0.968413 0.
+ 1.32732 0. 0. 4.23190 1.69276 0.
+ 1.22476 0.394937 0.409513 3.91976 1.51505 0.352982
+ 1.16774 0.682052 0.410318 3.76451 1.39730 0.526636
+ 1.09051 0.802995 0.410450 3.55072 1.27113 0.647355
+ 1.32725 0. 0. 4.23160 1.69264 0.
+ 1.22484 0.394948 -0.409422 3.92004 1.51517 0.352919
+ 1.16779 0.682130 -0.410337 3.76469 1.39735 0.526666
+ 1.09054 0.803001 -0.410501 3.55080 1.27116 0.647362
+ 1.09535 0.863619 -0.342588 3.56954 1.27020 0.665702
+ 1.09865 0.878879 -0.283010 3.57165 1.27346 0.659731
+ 1.07027 0.913723 -0.260222 3.48973 1.22722 0.700612
+ 1.03813 0.951668 -0.231078 3.40092 1.17560 0.749215
+ 0.996857 0.983477 -0.197692 3.28296 1.11129 0.805512
+ 0.981091 1.00503 -0.142246 3.24097 1.08635 0.830965
+ 0.942716 1.01387 -0.155357 3.12820 1.02808 0.880546
+ 0.934035 1.02254 -0.123537 3.10431 1.01457 0.894215
+ 0.741399 0.578936 1.42741E-03 2.35760 0.852623 0.615409
+ 0.814777 1.01518 -4.06675E-02 2.77935 0.858361 1.02676
+ 0.859651 1.06589 -3.43453E-02 2.89680 0.894123 1.02805
+ 0.625673 0. 0. 1.95508 0.782031 0.
+ 0.855534 1.05006 -4.53186E-02 2.87747 0.892743 1.01642
+ 0.864331 1.03763 -5.95680E-02 2.90084 0.910381 0.990239
+ 0.890139 1.03388 -9.11065E-02 2.97605 0.948391 0.954689
+ 0.822076 0. 0. 2.59880 1.03952 0.
+ 1.00807 0.731823 0.309655 3.26467 1.18059 0.615617
+ 1.07698 0. 0. 3.42075 1.36830 0.
+ 1.10084 0.625442 0.389534 3.54118 1.31783 0.517023
+ 1.07700 0. 0. 3.42079 1.36832 0.
+ 1.10084 0.625510 -0.389555 3.54125 1.31784 0.517068
+ 1.00807 0.731856 -0.309683 3.26469 1.18059 0.615651
+ 1.04344 0.905292 -0.377841 3.42861 1.18699 0.744966
+ 1.05993 0.915105 -0.312691 3.47074 1.21183 0.721151
+ 1.01683 0.952688 -0.273902 3.34298 1.14392 0.776804
+ 0.975910 0.985708 -0.230259 3.22469 1.07989 0.833350
+ 0.928192 1.02761 -0.184322 3.09629 1.00366 0.914177
+ 0.881069 1.05392 -0.139450 2.96705 0.930271 0.992433
+ 0.888702 1.03427 -0.115563 2.97380 0.945778 0.959381
+ 0.732833 0.609343 -1.67065E-02 2.33236 0.831536 0.659961
+ 0.801671 1.02185 -6.06770E-02 2.74162 0.835228 1.05728
+ 0.842765 1.06593 -5.22930E-02 2.85182 0.870443 1.05308
+ 0.618519 0. 0. 1.92256 0.769022 0.
+ 0.848643 1.04947 -6.11732E-02 2.86108 0.883987 1.02579
+ 0.857030 1.04382 -8.24908E-02 2.88290 0.897308 1.00913
+ 0.914726 0. 0. 2.88909 1.15564 0.
+ 0.914731 0. 0. 2.88913 1.15565 0.
+ 0.822072 0. 0. 2.59881 1.03952 0.
+ 0.939409 0.746670 -0.228710 3.04165 1.08683 0.653176
+ 0.991454 0.981265 -0.330708 3.29472 1.10159 0.837409
+ 0.959614 1.03760 -0.289194 3.22313 1.04744 0.908027
+ 0.910371 1.06614 -0.224393 3.08734 0.974162 0.977774
+ 0.856561 1.05967 -0.160751 2.92437 0.901523 1.03082
+ 0.815355 1.04155 -0.112874 2.79598 0.849167 1.06410
+ 0.845992 1.05954 -1.00569E-01 2.86556 0.878433 1.04343
+ 0.738758 0.640303 -3.47078E-02 2.34388 0.826233 0.693675
+ 0.797563 1.03170 -8.31042E-02 2.73513 0.825407 1.07814
+ 0.836146 1.06437 -7.23640E-02 2.83760 0.862809 1.06153
+ 0.623870 0. 0. 1.95255 0.781019 0.
+ 0.762999 0. 0. 2.42103 0.968414 0.
+ 0.889765 0.736837 -0.170455 2.86757 1.01846 0.671457
+ 0.838146 0.718699 -0.126024 2.68593 0.947328 0.692068
+ 0.791836 0.693871 -8.74208E-02 2.52515 0.886525 0.705458
+ 0.757421 0.665089 -5.70952E-02 2.40781 0.845462 0.705008
+ 0.647930 0. 0. 2.04148 0.816592 0.
+ 0.714361 0. 0. 2.27059 0.908237 0.
+ 0.677713 0. 0. 2.14899 0.859595 0.
+ 1.26979 0.144703 -1.66055E-05 4.03369 1.61018 8.55287E-02
+ 1000 1.78225
diff --git a/modules/graphics/demos/fec/fec.dem.gateway.sce b/modules/graphics/demos/fec/fec.dem.gateway.sce
new file mode 100755
index 000000000..d49ba0bb8
--- /dev/null
+++ b/modules/graphics/demos/fec/fec.dem.gateway.sce
@@ -0,0 +1,10 @@
+
+demopath = get_absolute_file_path("fec.dem.gateway.sce");
+
+subdemolist=["Finite Element display with colorbar" ,"fec.ex4.dem.sce";
+"Finite Element display with a mesh" ,"fec.ex2.dem.sce";
+"Sfgrayplot " ,"fec.ex3.dem.sce"];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+
+clear demopath; \ No newline at end of file
diff --git a/modules/graphics/demos/fec/fec.ex2.dem.sce b/modules/graphics/demos/fec/fec.ex2.dem.sce
new file mode 100755
index 000000000..f7b0d419c
--- /dev/null
+++ b/modules/graphics/demos/fec/fec.ex2.dem.sce
@@ -0,0 +1,57 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO -
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_fec_example2()
+
+ mode(0);
+
+ path=get_absolute_file_path("fec.ex2.dem.sce");
+ exec(path+"fec_demo.sci",-1);
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+
+ show_window();
+
+ xset("colormap",jetcolormap(128));
+
+ drawlater();
+ amdbaR(path+"MESH");
+ meshvisu();
+ xtitle("a mesh");
+ a=gca();
+ a.title.font_size=3;
+ drawnow();
+
+ //xclick();
+ messagebox("click to continue","modal");
+
+ clf(curFig,"reset");
+ drawlater();
+ emc2C(1,6,path+"MESH.VAL");
+ xtitle("display a fem solution");
+ a=gca(); a.title.font_size=3;
+ drawnow();
+ //xclick();
+ messagebox("click to continue","modal");
+
+ clf();
+ drawlater();
+ emc2C(1,6,path+"MESH.VAL",[-2,-2,2,2]);
+ emc2V(2,3,6,20,path+"MESH.VAL",[-2,-2,2,2]);
+ xtitle("display a zoom of the solution together with the velocity field");
+ a=gca();
+ a.title.font_size=3;
+ drawnow();
+
+ mode(-1);
+ demo_viewCode("fec.ex2.dem.sce");
+
+endfunction
+
+demo_fec_example2();
+clear demo_fec_example2;
diff --git a/modules/graphics/demos/fec/fec.ex3.dem.sce b/modules/graphics/demos/fec/fec.ex3.dem.sce
new file mode 100755
index 000000000..b1cfe30c4
--- /dev/null
+++ b/modules/graphics/demos/fec/fec.ex3.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_fec_example3()
+
+ mode(0);
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+
+ Sfgrayplot();
+ a=gca();
+ a.title.font_size=3;
+
+ mode(-1);
+
+ demo_viewCode("fec.ex3.dem.sce");
+
+endfunction
+
+demo_fec_example3();
+clear demo_fec_example3;
diff --git a/modules/graphics/demos/fec/fec.ex4.dem.sce b/modules/graphics/demos/fec/fec.ex4.dem.sce
new file mode 100755
index 000000000..c308df57a
--- /dev/null
+++ b/modules/graphics/demos/fec/fec.ex4.dem.sce
@@ -0,0 +1,47 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2010 - DIGITEO
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fec4()
+ mode(0);
+
+ path=get_absolute_file_path("fec.ex4.dem.sce");
+ exec(path+"fec_demo.sci",-1);
+
+ curFig = scf(100001);
+ clf(curFig,"reset");
+
+ // compute the mesh
+ N=20;n=1:N;
+ x=cos(n*2*%pi/N);
+ y=sin(n*2*%pi/N);
+
+ noeul=[(1:(N))', x', y',zeros(N,1);(N+1),0,0,0];
+
+ trianl=[];
+ for i=1:(N-1), trianl=[trianl;i,i,i+1,N+1,0]; end
+ trianl=[trianl;N,N,1,N+1,0];
+
+ // Set the colormap
+
+ xset("colormap",jetcolormap(128));
+
+ drawlater();
+ colorbar(1,N+1);
+ rect=[-1.2,-1.2,1.2,1.2];
+ fec(noeul(:,2),noeul(:,3),trianl,(1:N+1)',"030"," ",rect);
+ meshvisu(3,rect);
+ a=gca();
+ a.title.text="finite element display with colorbar";
+ a.title.font_size=3;
+ drawnow();
+
+ demo_viewCode("fec.ex4.dem.sce");
+ mode(0);
+
+endfunction
+
+demo_fec4()
+clear demo_fec4;
diff --git a/modules/graphics/demos/fec/fec.info b/modules/graphics/demos/fec/fec.info
new file mode 100755
index 000000000..4a48050ef
--- /dev/null
+++ b/modules/graphics/demos/fec/fec.info
@@ -0,0 +1,41 @@
+In fact, I haven't written information about the command fec
+fec is used to plot contour level of a function defined
+on a mesh constituted of triangles
+and assuming that f is linear on triangles
+
+The best way to undersantd how it works is to look at the two demo
+files in demos/fec ( and source code for fec in routines/graphics/Fec )
+
+===================================================================
+fec.ex1 is a simple demo file in which a mesh and a function
+on that mesh is completely built in Scilab syntax
+
+Fec is used as folows :
+ let no be the number of nodes
+ and Ntr the number of traiangles
+
+fec(x,y,triangles,func,no,Ntr,strflag,legend,brect,aaint)
+
+ x and y are two vectors of size no
+ (x(i),y(i)) gives the coordinates of node i
+ func is also a vector of size no :
+ func(i) gives the value of the function for which we want
+ the level curves.
+
+ trianles : is a [Ntr,5] matrix
+ each line of triangles specifies a triangle of the
+ mesh
+ triangle(j) = [number,node1,node2,node3,flag]
+ node1,node2,node3 : are the number of the nodes
+ which constitues triangle(j)
+ number : is the number of the triangle
+ flag is an integer not used in the fec function
+
+ for the remaining arguments
+ strflag,legend,brect,aint : see plot2d
+===================================================================
+
+fec.ex2 is an example for which the mesh and the function value where
+computed by an external `mesh builder (amdba type mesh) and external program
+A set of macros ( provided in file fec_demos.sci) were used to read the to data files in Scilab
+and plot the results
diff --git a/modules/graphics/demos/fec/fec_demo.sci b/modules/graphics/demos/fec/fec_demo.sci
new file mode 100755
index 000000000..cdd1e0da0
--- /dev/null
+++ b/modules/graphics/demos/fec/fec_demo.sci
@@ -0,0 +1,129 @@
+
+function []=emc2(filename)
+
+ // Visualise un resultat de type GNU.*
+ // generes par NSCK2E
+ // en general un ensemble de segments
+ // Copyright ENPC
+
+ xx=read(filename,-1,2);
+ x=xx(:,1);
+ y=xx(:,2);
+ y1=matrix(y,2,prod(size(y))/2);
+ x1=matrix(x,2,prod(size(x))/2);
+ rect=[min(x1),min(y1),max(x1),max(y1)];
+ plot2d(1,1,[1],"031"," ",rect);
+ xsegs(x1,y1);
+
+endfunction
+
+function []=amdbaR(File_name)
+
+ // Read a file describing a MESH of finite elements
+ // of triangle type
+ // The file is of amdba type
+
+ [lhs,rhs]=argn(0);
+ if rhs == 0 ; File_name="MESH"; end
+ unit=file("open",File_name,"old");
+ x=read(unit,1,2);
+ noeuds=x(1);
+ triang=x(2);
+ noeul=read(unit,x(1),4);
+ trianl=read(unit,x(2),5);
+ file("close",unit);
+ [noeuds,triang,noeul,trianl]=resume(noeuds,triang,noeul,trianl);
+
+endfunction
+
+function []=meshvisu(col,rect)
+
+ // Mesh visualisation
+ // uses global variables
+
+ [lhs,rhs]=argn(0);
+ if rhs<=0;col=1;end
+ if rhs<=1;rect=[min(noeul(:,2)),min(noeul(:,3)),max(noeul(:,2)),max(noeul(:,3))];end
+ if rhs<=2;iso="1";end
+ plot2d(1,1,[1],"031"," ",rect);
+ xset("clipgrf");
+ xx=trianl(:,2:4);
+ xx=matrix(xx,prod(size(xx)),1);
+ x=noeul(xx,2);
+ triang=size(x,"*")/3;
+ x=matrix(x,triang,3);
+ y=noeul(xx,3);
+ y=matrix(y,triang,3);
+ x=[x,x(:,1)]';
+ y=[y,y(:,1)]';
+ xpolys(x,y,col*ones(1,triang));
+ xset("clipoff");
+
+endfunction
+
+function []=nvisu(rect)
+
+ // Visualisation des noeuds
+
+ [lhs,rhs]=argn(0);
+ if rhs==0;rect=[min(noeul(:,2)),min(noeul(:,3)),max(noeul(:,2)),max(noeul(:,3))];end
+ plot2d(1,1,[1],"031"," ",rect);
+ xset("clipgrf");
+ bords=noeul(find(noeul(:,4)>0),:);
+ [no,ign]=size(bords);
+ for i=1:no
+ xstring(bords(i,2),bords(i,3),string(bords(i,4)));
+ end
+ xset("clipoff");
+
+endfunction
+
+function []=emc2V(i,j,k,sa,FN,rect)
+
+ // Visualise un champ de vitesse
+ // la taille des vecteur est constante
+ // mais on change la couleur suivant l'intensite du champ
+ // Les vecteurs sont lus dans les colonnes i et j du fichier
+ // du fichier FN qui continet k colonnes
+
+ [lhs,rhs]=argn(0);
+ plot2d(1,1,[1],"031"," ",rect);
+ xset("clipgrf");
+ if rhs == 0 ; FN="MESH";end
+ unit=file("open",FN,"old")
+ resu=read(unit,noeuds,k);
+ resu=resu(:,[i,j]);
+ nm=[];
+ for i=1:noeuds;
+ nm1=norm(resu(i,:),2);
+ nm=[nm,nm1];
+ if nm1<>0,resu(i,:)=resu(i,:)/nm1;end
+ end
+ nmax=max(nm);
+ if nmax<>0; nm=nm/nmax;end
+ xsegs([noeul(:,2)-(1/sa)*resu(:,1),noeul(:,2)+(1/sa)*resu(:,1)]',...
+ [noeul(:,3)-(1/sa)*resu(:,2),noeul(:,3)+(1/sa)*resu(:,2)]',...
+ 16*ones(nm)-16*nm);
+ file("close",unit);
+ xset("clipoff");
+ file("close",unit);
+
+endfunction
+
+function []=emc2C(i,j,FN,rect)
+
+ // iso contour de la fonction lineaire sur les
+ // triangles du maillage on lit les valeurs de la fonction
+ // aux noeuds du maillage sur la ieme colonne
+ // du fichier file qui en contient j
+
+ [lhs,rhs]=argn(0);
+ unit=file("open",FN,"old");
+ resu=read(unit,-1,j);
+ resu=resu(:,i);
+ file("close",unit);
+ if rhs<=3;rect=[min(noeul(:,2)),min(noeul(:,3)),max(noeul(:,2)),max(noeul(:,3))];end
+ fec(noeul(:,2),noeul(:,3),trianl,resu,"031"," ",rect);
+ file("close",unit);
+
+endfunction
diff --git a/modules/graphics/demos/graphics.dem.gateway.sce b/modules/graphics/demos/graphics.dem.gateway.sce
new file mode 100755
index 000000000..94cdfe0dc
--- /dev/null
+++ b/modules/graphics/demos/graphics.dem.gateway.sce
@@ -0,0 +1,33 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function subdemolist = demo_gateway()
+
+ demopath = get_absolute_file_path("graphics.dem.gateway.sce");
+ add_demo(gettext("Graphics"), demopath+"graphics.dem.gateway.sce");
+
+ subdemolist = [_("2D and 3D plots") ,"2d_3d_plots/2d_3d_plots.dem.gateway.sce" ; ..
+ _("Basic functions") ,"basic_functions/basic_functions.dem.gateway.sce" ; ..
+ _("Animation") ,"anim/anim.dem.gateway.sce" ; ..
+ _("Finite Elements") ,"fec/fec.dem.gateway.sce" ; ..
+ _("Bezier curves and surfaces") ,"bezier/bezier.dem.gateway.sce" ; ..
+ _("More surfaces") ,"surface/surfaces.dem.gateway.sce" ; ..
+ _("Complex elementary functions"),"cmplxfunc/cmplxfunc.dem.gateway.sce" ; ..
+ _("bar histogram") ,"bar/bar.dem.sce"; ..
+ _("Datatips") ,"datatips/datatips.dem.gateway.sce" ; ..
+ _("LaTeX/MathML") ,"textrendering/textrendering.dem.gateway.sce" ; ..
+ _("Lighting") ,"lighting/lighting.dem.gateway.sce" ; ..
+ _("Misc") ,"misc/misc.dem.sce" ; ..
+ _("Colormap") ,"colormap/colormap.dem.sce" ; ..
+ _("Matplot") ,"matplot/matplot.dem.gateway.sce"];
+
+ subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
diff --git a/modules/graphics/demos/lighting/color_light.dem.sce b/modules/graphics/demos/lighting/color_light.dem.sce
new file mode 100755
index 000000000..d81a806bd
--- /dev/null
+++ b/modules/graphics/demos/lighting/color_light.dem.sce
@@ -0,0 +1,62 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Pedro SOUZA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_color_light()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("color_light.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "Color light";
+ my_handle.figure_name = my_plot_desc;
+
+ plot3d;l=light();s=gce();
+
+ s.use_color_material = "off";
+ s.color_flag = 0;
+ s.thickness = 0;
+ s.hiddencolor = -1;
+ s.ambient_color = [1 1 1];
+ s.diffuse_color = [1 1 1];
+ s.specular_color = [1 1 1];
+
+ diff0 = rand(1, 3);
+ diff1 = rand(1, 3);
+ spec0 = rand(1, 3);
+ spec1 = rand(1, 3);
+
+ num = 10;
+ for j=1: num
+ n = 700;
+ for i=1:n
+ if ~is_handle_valid(l) then
+ break
+ end
+ t = i / n;
+ cdiff = diff0 * (1 - t) + diff1 * t;
+ cspec = spec0 * (1 - t) + spec1 * t;
+ l.ambient_color = 0.2 * cdiff;
+ l.diffuse_color = 0.8 * cdiff;
+ l.specular_color = cspec;
+ sleep(3);
+ end
+ if ~is_handle_valid(l) then
+ break
+ end
+ diff0 = diff1;
+ spec0 = spec1;
+ diff1 = rand(1, 3);
+ spec1 = rand(1, 3);
+ end
+ // DEMO END
+
+endfunction
+
+
+demo_color_light();
+clear demo_color_light;
diff --git a/modules/graphics/demos/lighting/dir_light.dem.sce b/modules/graphics/demos/lighting/dir_light.dem.sce
new file mode 100755
index 000000000..b48a35d1e
--- /dev/null
+++ b/modules/graphics/demos/lighting/dir_light.dem.sce
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Pedro SOUZA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_dir_light()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("dir_light.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "Directional light";
+ my_handle.figure_name = my_plot_desc;
+
+ plot3d;l=light();s=gce();
+
+ l.light_type = "directional";
+ l.direction = [-1 0 -1];
+ l.ambient_color = [0.1 0.1 0.1];
+ s.diffuse_color = [0.5 0.4 0.4];
+ s.use_color_material = "off";
+ s.color_flag = 0;
+ s.thickness = 0;
+ s.hiddencolor = -1;
+ s.specular_color = [0.6 0.6 1];
+
+ // DEMO END
+endfunction
+
+
+demo_dir_light();
+clear demo_dir_light;
+
+
diff --git a/modules/graphics/demos/lighting/lighting.dem.gateway.sce b/modules/graphics/demos/lighting/lighting.dem.gateway.sce
new file mode 100755
index 000000000..4f722dba6
--- /dev/null
+++ b/modules/graphics/demos/lighting/lighting.dem.gateway.sce
@@ -0,0 +1,16 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Pedro SOUZA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("lighting.dem.gateway.sce");
+
+subdemolist = [ ..
+"Simple light" , "simple_light.dem.sce" ; ..
+"Rotating light" , "rot_light.dem.sce" ; ..
+"Rotating plot3d" , "rot_plot3d.dem.sce" ; ..
+"Colored light" , "color_light.dem.sce" ; ..
+"Directional light" , "dir_light.dem.sce" ];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath; \ No newline at end of file
diff --git a/modules/graphics/demos/lighting/rot_light.dem.sce b/modules/graphics/demos/lighting/rot_light.dem.sce
new file mode 100755
index 000000000..2bda5d841
--- /dev/null
+++ b/modules/graphics/demos/lighting/rot_light.dem.sce
@@ -0,0 +1,38 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Pedro SOUZA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_rot_light()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("rot_light.dem.sce");
+
+ // DEMO START
+ my_plot_desc = "Rotating light";
+ my_handle.figure_name = my_plot_desc;
+
+ plot3d;
+ l=light();
+ s=gce();
+
+ for i=0:2000
+ sleep(5);
+ x = 2*cos(i*%pi/180);
+ y = 2*sin(i*%pi/180);
+ z = 2;
+ if is_handle_valid(l) then
+ l.position = [x y z];
+ else
+ break
+ end
+ end
+ // DEMO END
+endfunction
+
+
+demo_rot_light();
+clear demo_rot_light;
+
diff --git a/modules/graphics/demos/lighting/rot_plot3d.dem.sce b/modules/graphics/demos/lighting/rot_plot3d.dem.sce
new file mode 100755
index 000000000..db4f8d55d
--- /dev/null
+++ b/modules/graphics/demos/lighting/rot_plot3d.dem.sce
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Pedro SOUZA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_rot_light()
+
+ my_handle = scf(100001);
+ clf(my_handle, "reset");
+ demo_viewCode("rot_plot3d.dem.sce");
+
+ // DEMO START
+ my_plot_desc = "Rotating light";
+ my_handle.figure_name = my_plot_desc;
+
+ plot3d;
+ l=light();
+ s=gce();
+ a=gca();
+
+ for i=1:360
+ sleep(5);
+ if (is_handle_valid(a)) then
+ a.rotation_angles = [70 i];
+ else
+ break
+ end
+ end
+ // DEMO END
+endfunction
+
+
+demo_rot_light();
+clear demo_rot_light;
+
diff --git a/modules/graphics/demos/lighting/simple_light.dem.sce b/modules/graphics/demos/lighting/simple_light.dem.sce
new file mode 100755
index 000000000..9ffdcb263
--- /dev/null
+++ b/modules/graphics/demos/lighting/simple_light.dem.sce
@@ -0,0 +1,35 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Pedro SOUZA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+
+function demo_simple_light()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("simple_light.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = "Simple light";
+ my_handle.figure_name = my_plot_desc;
+
+ plot3d;l=light();s=gce();
+
+ l.ambient_color = [1 1 1];
+ s.diffuse_color = [0 0 0.8];
+ s.use_color_material = "off";
+ s.color_flag = 0;
+ s.thickness = 0;
+ s.hiddencolor = -1;
+ s.specular_color = [0.1 0.1 0.3];
+ s.ambient_color = [0 0 0.35];
+
+ // DEMO END
+
+endfunction
+
+
+demo_simple_light();
+clear demo_simple_light;
diff --git a/modules/graphics/demos/matplot/classical.dem.sce b/modules/graphics/demos/matplot/classical.dem.sce
new file mode 100755
index 000000000..7960a071a
--- /dev/null
+++ b/modules/graphics/demos/matplot/classical.dem.sce
@@ -0,0 +1,24 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_classical()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("classical.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = _("Classical Matplot");
+ my_handle.figure_name = my_plot_desc;
+
+ Matplot();
+
+ // DEMO END
+
+endfunction
+
+
+demo_classical();
+clear demo_classical;
diff --git a/modules/graphics/demos/matplot/classical_1.dem.sce b/modules/graphics/demos/matplot/classical_1.dem.sce
new file mode 100755
index 000000000..b5ea64439
--- /dev/null
+++ b/modules/graphics/demos/matplot/classical_1.dem.sce
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_classical_1()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("classical_1.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = _("Classical Matplot1");
+ my_handle.figure_name = my_plot_desc;
+
+ Matplot1();
+
+ // DEMO END
+
+endfunction
+
+
+demo_classical_1();
+clear demo_classical_1;
diff --git a/modules/graphics/demos/matplot/java_image.dem.sce b/modules/graphics/demos/matplot/java_image.dem.sce
new file mode 100755
index 000000000..7e0ae7430
--- /dev/null
+++ b/modules/graphics/demos/matplot/java_image.dem.sce
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_java_image()
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("java_image.dem.sce");
+ demopath = get_absolute_file_path("java_image.dem.sce");
+
+ // DEMO START
+
+ my_plot_desc = _("Java Image");
+ my_handle.figure_name = my_plot_desc;
+
+ jimport javax.imageio.ImageIO;
+ jimport java.net.URL;
+
+ bi = ImageIO.read(URL.new("file:////" + demopath + "/puffin.png"));
+ w = bi.getWidth(jvoid);
+ h = bi.getHeight(jvoid);
+ data = bi.getRGB(0, 0, w, h, [], 0, w);
+ data = matrix(data, double(w), double(h));
+ data = uint32(data');
+
+ Matplot(data);
+ e = gce();
+ e.image_type="argb";
+
+ // DEMO END
+endfunction
+
+
+demo_java_image();
+clear demo_java_image; \ No newline at end of file
diff --git a/modules/graphics/demos/matplot/mandelbrot.dem.sce b/modules/graphics/demos/matplot/mandelbrot.dem.sce
new file mode 100755
index 000000000..a265f89e6
--- /dev/null
+++ b/modules/graphics/demos/matplot/mandelbrot.dem.sce
@@ -0,0 +1,101 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Samuel GOUGEON
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_mandelbrot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+
+ // DEMO START
+
+ my_plot_desc = "mandelbrot";
+ my_handle.figure_name = my_plot_desc;
+ function M = getMandelbrotPart(xmin, xmax, ymin, ymax, nbPix, nColors, maxIters)
+ // M : matrix of integers imaging the targetted local Mandelbrot area
+ // M(i,j) gives the number of iterations for which the iterated z(i,j)
+ // suite crosses |z|>=2 (making this point out of the Mandelbrot set)
+ ndmin = 0;
+ Dx = abs(xmax - xmin);
+ Dy = abs(ymax - ymin);
+ dp = sqrt(Dx*Dy / nbPix); // Area of a pixel
+ nx = round(Dx/dp);
+ ny = round(Dy/dp);
+ dx = abs(xmax - xmin)/(nx-1);
+ x = linspace(xmin, xmax, nx);
+ y = ymax:-dx:ymin;
+ ny = length(y);
+ c = (ones(ny,1)*x) + %i*(y.'*ones(1,nx));
+ z = c; // Initial c Matrix
+ nd = ones(z)*%inf; // nb iter for > 2
+ inC = 1:size(c,"*");
+ i = 1;
+ waitId = 0;
+ ifin = min(ndmin+nColors, maxIters);
+ while i<=ifin,
+ if waitId==0
+ waitId = waitbar(i/ifin,_("Computing in progress..."));
+ else
+ waitbar(i/ifin,waitId);
+ end
+ a = abs(z);
+ nd(inC(find(a>2)))=i;
+ tmp = find(a<=2);
+ z = z(tmp);
+ inC = inC(tmp);
+ z = z.*z+c(inC);
+ i = i+1;
+ end
+ close(waitId)
+ M = nd
+ endfunction
+ // ---------------------
+
+ nColors = 100; // Number of colors
+ maxIters = 500; // Maximal number of iterations
+ nbPix = 200000; // Total number of pixel per image
+ // Targetted Mandelbrot area
+ xmin = -0.33;
+ xmax = 0.07;
+ ymin = 0.6;
+ ymax = 1.13;
+
+ // Generating the Mandelbrot local view
+ M = getMandelbrotPart(xmin, xmax, ymin, ymax, nbPix, nColors, maxIters);
+
+ // Scaling false colors
+ icol = [color("black") addcolor(rainbowcolormap(nColors))];
+ Mmin = min(M);
+ M = M - Mmin + 1;
+ M(find(M==%inf | M>nColors))=0;
+ A = icol(M+1);
+
+ clf
+ drawlater;
+ // colordef("black") // Bug 11369 to be fixed
+
+ // Displaying the area
+ Matplot1(matrix(A,size(M)),[xmin ymin xmax ymax]);
+
+ // Post-tuning the graphics
+ ca = gca();
+ ca.isoview = "on";
+ ca.data_bounds = [xmin ymin ; xmax ymax];
+ ca.tight_limits = "on";
+ ca.axes_visible = ["on" "on" "off"];
+ ca.title.font_size = 2;
+ Ttxt = _("Matplot1(..) displays a matrix\n(value => color#), with SCALED AXES\n(here is a part of the Mandelbrot set)")
+ xtitle(justify(msprintf(Ttxt),"c"))
+ xlabel(_("Real part"))
+ ylabel(_("Imaginary part"))
+
+ drawnow()
+
+ demo_viewCode("mandelbrot.dem.sce");
+
+endfunction
+
+demo_mandelbrot();
+clear demo_mandelbrot;
+
diff --git a/modules/graphics/demos/matplot/matplot.dem.gateway.sce b/modules/graphics/demos/matplot/matplot.dem.gateway.sce
new file mode 100755
index 000000000..3017a80bb
--- /dev/null
+++ b/modules/graphics/demos/matplot/matplot.dem.gateway.sce
@@ -0,0 +1,15 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("matplot.dem.gateway.sce");
+
+subdemolist = [ ..
+_("Classical Matplot") , "classical.dem.sce" ; ..
+_("Classical Matplot1") , "classical_1.dem.sce" ; ..
+_("Mandelbrot") , "mandelbrot.dem.sce" ; ..
+_("Java Image") , "java_image.dem.sce" ];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath; \ No newline at end of file
diff --git a/modules/graphics/demos/matplot/puffin.png b/modules/graphics/demos/matplot/puffin.png
new file mode 100755
index 000000000..cf2e6716c
--- /dev/null
+++ b/modules/graphics/demos/matplot/puffin.png
Binary files differ
diff --git a/modules/graphics/demos/misc/misc.dem.sce b/modules/graphics/demos/misc/misc.dem.sce
new file mode 100755
index 000000000..795ef671c
--- /dev/null
+++ b/modules/graphics/demos/misc/misc.dem.sce
@@ -0,0 +1,476 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_misc()
+
+ global margin_x;
+ global margin_y;
+
+ global padding_x;
+ global padding_y;
+
+ global frame_w;
+ global frame_h;
+
+ global plot_w;
+ global plot_h;
+
+ // Parameters
+ // =========================================================================
+
+ frame_w = 200; // Frame width
+ frame_h = 330; // Frame height
+
+ plot_w = 600; // Plot width
+ plot_h = 550; // Plot height
+
+ margin_x = 15; // Horizontal margin between each elements
+ margin_y = 15; // Vertical margin between each elements
+
+ padding_x = 10; // Horizontal padding between each elements
+ padding_y = 10; // Vertical padding between each elements
+
+ defaultfont = "arial"; // Default Font
+ frametitle_font_size = 16; // Title font size
+ text_font_size = 13; // Text font size
+
+ // Figure creation
+ // =========================================================================
+
+ axes_w = 3*margin_x + frame_w + plot_w; // axes width
+ axes_h = 2*margin_y + max(frame_h,plot_h); // axes height
+
+ demo_plot3d = figure(100001);
+ clf(demo_plot3d,"reset");
+
+ demo_plot3d.background = -2;
+ demo_plot3d.color_map = jetcolormap(128);
+ demo_plot3d.axes_size = [axes_w axes_h];
+ demo_plot3d.figure_name = gettext("Misc");
+
+ my_frame_pos_x = margin_x;
+ my_frame_pos_y = (axes_h/2-frame_h/2);
+
+ // Frames creation [Control Panel]
+ // =========================================================================
+
+ my_frame = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "relief" , "groove",...
+ "style" , "frame",...
+ "units" , "pixels",...
+ "position" , [ my_frame_pos_x my_frame_pos_y frame_w frame_h],...
+ "horizontalalignment" , "center", ...
+ "background" , [1 1 1], ...
+ "tag" , "frame_control" ...
+ );
+
+ // Frame title
+ my_frame_title = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "text",...
+ "string" , "Colormap",...
+ "units" , "pixels",...
+ "position" , [ 30+my_frame_pos_x my_frame_pos_y+frame_h-10 frame_w-60 20 ],...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , frametitle_font_size,...
+ "horizontalalignment" , "center", ...
+ "background" , [1 1 1], ...
+ "tag" , "title_frame_control" ...
+ );
+
+ // Colormap frame creation
+ // =========================================================================
+
+ my_cmap_frame_w = frame_w;
+ my_cmap_frame_h = frame_h;
+
+ // Colormap : Jetcolormap
+
+ jetcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Jet"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-50 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 1, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "jetcolormap_radio");
+
+ // Colormap : HSVcolormap
+
+ HSVcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("HSV"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-70 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "HSVcolormap_radio");
+
+ // Colormap : Hotcolormap
+
+ hotcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Hot"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-90 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "hotcolormap_radio");
+
+ // Colormap : Graycolormap
+
+ graycolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Gray"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-110 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "graycolormap_radio");
+
+ // Colormap : Wintercolormap
+
+ wintercolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Winter"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-130 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "wintercolormap_radio");
+
+ // Colormap : Springcolormap
+
+ springcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Spring"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-150 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "springcolormap_radio");
+
+ // Colormap : Summercolormap
+
+ summercolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Summer"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-170 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "summercolormap_radio");
+
+ // Colormap : Autumncolormap
+
+ autumncolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Autumn"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-190 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "autumncolormap_radio");
+
+ // Colormap : Bonecolormap
+
+ bonecolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Bone"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-210 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "bonecolormap_radio");
+
+ // Colormap : Coppercolormap
+
+ coppercolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Copper"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-230 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "coppercolormap_radio");
+
+ // Colormap : Pinkcolormap
+
+ pinkcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Pink"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-250 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "pinkcolormap_radio");
+
+ // Colormap : Rainbowcolormap
+
+ rainbowcolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Rainbow"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-270 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "rainbowcolormap_radio");
+
+ // Colormap : Oceancolormap
+
+ oceancolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("Ocean"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-290 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "oceancolormap_radio");
+
+ // Colormap : Whitecolormap
+
+ whitecolormap_radio = uicontrol( ...
+ "parent" , demo_plot3d,...
+ "style" , "radiobutton",...
+ "string" , gettext("White"),...
+ "position" , [ my_frame_pos_x+10 my_frame_pos_y+my_cmap_frame_h-310 my_cmap_frame_w-25 15],...
+ "horizontalalignment", "left",...
+ "fontname" , defaultfont,...
+ "fontunits" , "points",...
+ "fontsize" , text_font_size,...
+ "value" , 0, ...
+ "background" , [1 1 1], ...
+ "callback" , "demo_update_misc",...
+ "tag" , "whitecolormap_radio");
+
+ // Plots creation
+ // =========================================================================
+
+ drawlater();
+
+ my_plot_region_pos_x = ((2*margin_x+frame_w)/axes_w);
+ my_plot_region_pos_y = 0;
+ my_plot_region_w = 1-my_plot_region_pos_x;
+ my_plot_region_h = 1;
+
+ // First plot : grayplot(); top - left
+
+ my_plot_1_axes = newaxes();
+ my_plot_1_pos_x = ((2*margin_x+frame_w)/axes_w);
+ my_plot_1_pos_y = 0;
+ my_plot_1_w = (1-my_plot_region_pos_x)/2;
+ my_plot_1_h = 1/2;
+ my_plot_1_axes.axes_bounds = [ my_plot_1_pos_x my_plot_1_pos_y my_plot_1_w my_plot_1_h ];
+ grayplot();
+
+ // Second plot : plot3d1(); top right
+
+ my_plot_2_axes = newaxes();
+ my_plot_2_pos_x = ((2*margin_x+frame_w)/axes_w) + my_plot_region_w/2;
+ my_plot_2_pos_y = 0;
+ my_plot_2_w = (1-my_plot_region_pos_x)/2;
+ my_plot_2_h = 1/2;
+ my_plot_2_axes.axes_bounds = [ my_plot_2_pos_x my_plot_2_pos_y my_plot_2_w my_plot_2_h ];
+ plot3d1();
+
+ // Third plot : grayplot(); bottom - left
+
+ my_plot_3_axes = newaxes();
+ my_plot_3_pos_x = ((2*margin_x+frame_w)/axes_w);
+ my_plot_3_pos_y = 1/2;
+ my_plot_3_w = (1-my_plot_region_pos_x)/2;
+ my_plot_3_h = 1/2;
+ my_plot_3_axes.axes_bounds = [ my_plot_3_pos_x my_plot_3_pos_y my_plot_3_w my_plot_3_h ];
+ grayplot();
+
+ // Fourth plot : knot(); bottom - right
+
+ my_plot_4_axes = newaxes();
+ my_plot_4_pos_x = ((2*margin_x+frame_w)/axes_w) + my_plot_region_w/2;
+ my_plot_4_pos_y = 1/2;
+ my_plot_4_w = (1-my_plot_region_pos_x)/2;
+ my_plot_4_h = 1/2;
+ my_plot_4_axes.axes_bounds = [ my_plot_4_pos_x my_plot_4_pos_y my_plot_4_w my_plot_4_h ];
+
+ deff("[x,y,z]=knot(u,v)",["vv=ones(v)";"uu=ones(u);";
+ "x=(5.*cos(u)+cos(u).*cos(v))";
+ "y=(5.*sin(u)+sin(u).*cos(v))";
+ "z=(uu.*sin(v))";])
+
+ nx=60;
+ Nx=(0:nx)/nx;
+ ny=20;
+ Ny=(0:ny)/ny;
+
+ [xx,yy,zz]=eval3dp(knot,2*%pi*Nx,2*%pi*Ny);
+ XXX=[-xx xx];
+ YYY=[-yy zz];
+ ZZZ=[-zz yy];
+ kk1=[1:size(zz,2)];
+
+ kk1=modulo(kk1,60);
+ kk2=kk1;
+ KKK=list(ZZZ,[kk1 kk2]);
+ plot3d(XXX,YYY,KKK,35,70," @ @ ",[2,1,4],[-6,6,-6,6,-6,6]);
+
+ // define colormap
+ colormapSize = 128;
+ f = gcf();
+ f.color_map = jetcolormap(128);
+
+ my_plot_2_axes.background = color(240,240,240);
+ my_plot_4_axes.background = color(240,240,240);
+
+ drawnow();
+
+ demo_viewCode("misc.dem.sce");
+
+endfunction
+
+
+function demo_update_misc()
+
+ my_figure = gcf();
+
+ my_figure.immediate_drawing = "off";
+
+ set(findobj("tag", "jetcolormap_radio") , "value", 0);
+ set(findobj("tag", "hotcolormap_radio") , "value", 0);
+ set(findobj("tag", "graycolormap_radio") , "value", 0);
+ set(findobj("tag", "wintercolormap_radio") , "value", 0);
+ set(findobj("tag", "springcolormap_radio") , "value", 0);
+ set(findobj("tag", "summercolormap_radio") , "value", 0);
+ set(findobj("tag", "autumncolormap_radio") , "value", 0);
+ set(findobj("tag", "bonecolormap_radio") , "value", 0);
+ set(findobj("tag", "coppercolormap_radio") , "value", 0);
+ set(findobj("tag", "pinkcolormap_radio") , "value", 0);
+ set(findobj("tag", "HSVcolormap_radio") , "value", 0);
+ set(findobj("tag", "rainbowcolormap_radio") , "value", 0);
+ set(findobj("tag", "oceancolormap_radio") , "value", 0);
+ set(findobj("tag", "whitecolormap_radio") , "value", 0);
+
+ set(gcbo, "value", 1);
+
+ my_wanted_colormap = get(gcbo,"tag");
+
+ if get(gcbo, "tag") == "jetcolormap_radio" then
+ my_figure.color_map = jetcolormap(128);
+ elseif get(gcbo, "tag") == "hotcolormap_radio" then
+ my_figure.color_map = hotcolormap(128);
+ elseif get(gcbo, "tag") == "graycolormap_radio" then
+ my_figure.color_map = graycolormap(128);
+ elseif get(gcbo, "tag") == "wintercolormap_radio" then
+ my_figure.color_map = wintercolormap(128);
+ elseif get(gcbo, "tag") == "springcolormap_radio" then
+ my_figure.color_map = springcolormap(128);
+ elseif get(gcbo, "tag") == "summercolormap_radio" then
+ my_figure.color_map = summercolormap(128);
+ elseif get(gcbo, "tag") == "autumncolormap_radio" then
+ my_figure.color_map = autumncolormap(128);
+ elseif get(gcbo, "tag") == "bonecolormap_radio" then
+ my_figure.color_map = bonecolormap(128);
+ elseif get(gcbo, "tag") == "coppercolormap_radio" then
+ my_figure.color_map = coppercolormap(128);
+ elseif get(gcbo, "tag") == "pinkcolormap_radio" then
+ my_figure.color_map = pinkcolormap(128);
+ elseif get(gcbo, "tag") == "HSVcolormap_radio" then
+ my_figure.color_map = hsvcolormap(128);
+ elseif get(gcbo, "tag") == "rainbowcolormap_radio" then
+ my_figure.color_map = rainbowcolormap(128);
+ elseif get(gcbo, "tag") == "oceancolormap_radio" then
+ my_figure.color_map = oceancolormap(128);
+ elseif get(gcbo, "tag") == "whitecolormap_radio" then
+ my_figure.color_map = whitecolormap(128);
+ end
+
+ // Gray background for 3d axes
+
+ for i = 1:size(my_figure.children,"*"),
+ child = my_figure.children(i);
+ if child.type=="Axes" then
+ if child.view=="3d" then
+ child.background = color(240,240,240);
+ end
+ end
+ end
+
+ // Plot
+
+ my_figure.immediate_drawing = "on";
+
+
+
+endfunction
+
+demo_misc();
+clear demo_misc;
+
diff --git a/modules/graphics/demos/surface/Macros.sci b/modules/graphics/demos/surface/Macros.sci
new file mode 100755
index 000000000..0878d15ed
--- /dev/null
+++ b/modules/graphics/demos/surface/Macros.sci
@@ -0,0 +1,79 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+funcprot(0);
+
+function [X,Y]=field(x,y)
+ // x and y are two vectors defining a grid
+ // X and Y are two matrices which gives the grid point coordinates
+ //-------------------------------------------------------------
+ [rx,cx]=size(x);
+ [ry,cy]=size(y);
+ if rx<>1, write(%io(2),"x must be a row vector");return;end;
+ if ry<>1, write(%io(2),"y must be a row vector");return;end;
+ X=x.*.ones(cy,1);
+ Y=y'.*.ones(1,cx);
+endfunction
+
+function [z]=dup(x,n)
+ // utility
+ // x is a vector this function returns [x,x,x,x...] or [x;x;x;x;..]
+ // depending on x
+ [nr,nc]=size(x)
+ if nr==1 then
+ y=ones(n,1);
+ z= x.*.y ;
+ else
+ if nc<>1 then
+ error("dup : x must be a vector");
+ else
+ y=ones(1,n);
+ z= x.*.y ;
+ end
+ end
+endfunction
+
+function cplxmap(z,w,varargin)
+ //cplxmap(z,w,T,A,leg,flags,ebox)
+ //cplxmap Plot a function of a complex variable.
+ // cplxmap(z,f(z))
+ x = real(z);
+ y = imag(z);
+ u = real(w);
+ v = imag(w);
+ M = max(u);
+ m = min(u);
+ s = ones(size(z));
+ //mesh(x,y,m*s,blue*s);
+ //hold on
+ [X,Y,U]=nf3d(x,y,u);
+ [X,Y,V]=nf3d(x,y,v);
+ Colors = sum(V,"r");
+ Colors = Colors - min(Colors);
+ Colors = 32*Colors/max(Colors);
+ plot3d1(X,Y,list(U,Colors),varargin(:))
+endfunction
+
+function cplxroot(n,m,varargin)
+ //cplxroot(n,m,T,A,leg,flags,ebox)
+ //CPLXROOT Riemann surface for the n-th root.
+ // CPLXROOT(n) renders the Riemann surface for the n-th root.
+ // CPLXROOT, by itself, renders the Riemann surface for the cube root.
+ // CPLXROOT(n,m) uses an m-by-m grid. Default m = 20.
+ // Use polar coordinates, (r,theta).
+ // Cover the unit disc n times.
+ [lhs,rhs]=argn(0)
+ if rhs < 1, n = 3; end
+ if rhs < 2, m = 20; end
+ r = (0:m)'/m;
+ theta = - %pi*(-n*m:n*m)/m;
+ z = r * exp(%i*theta);
+ s = r.^(1/n) * exp(%i*theta/n);
+ cplxmap(z,s,varargin(:))
+endfunction
+
+funcprot(1);
diff --git a/modules/graphics/demos/surface/bh.sce b/modules/graphics/demos/surface/bh.sce
new file mode 100755
index 000000000..1fc957328
--- /dev/null
+++ b/modules/graphics/demos/surface/bh.sce
@@ -0,0 +1,42 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// bh()
+// =============================================================================
+
+
+function bh(nn)
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+
+ // a black hole
+
+ x = linspace(0,2*%pi,nn);
+ t = linspace(0,1,20);
+ cosphi = dup(cos(x),length(t));
+ sinphi = dup(sin(x),length(t));
+ f = dup((t.*t+0.2)',length(x));
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+ demo_viewCode("bh.sce");
+
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(f.*cosphi,f.*sinphi,dup(t'.*2-1,length(x)));
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [70,20];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+bh(50);
+clear bh;
diff --git a/modules/graphics/demos/surface/cplxroot.sce b/modules/graphics/demos/surface/cplxroot.sce
new file mode 100755
index 000000000..84ad4ed41
--- /dev/null
+++ b/modules/graphics/demos/surface/cplxroot.sce
@@ -0,0 +1,20 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+function demo_cplxroot()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ cplxroot(2,20,130,45);
+ demo_viewCode("cplxroot.sce");
+
+endfunction
+
+demo_cplxroot();
+clear demo_cplxroot; \ No newline at end of file
diff --git a/modules/graphics/demos/surface/hole3d.sce b/modules/graphics/demos/surface/hole3d.sce
new file mode 100755
index 000000000..b8ee74564
--- /dev/null
+++ b/modules/graphics/demos/surface/hole3d.sce
@@ -0,0 +1,28 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// hole3d : Holes in surfaces using %inf
+// =============================================================================
+
+function hole3d()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("hole3d.sce");
+
+ t = linspace(-%pi,%pi,40);
+ z = sin(t)'*cos(t);
+ z1 = find(abs(z) > 0.5);
+ z(z1) = %inf*z1;
+ plot3d1(t,t,z);
+
+endfunction
+
+hole3d();
+clear hole3d;
diff --git a/modules/graphics/demos/surface/hole3d1.sce b/modules/graphics/demos/surface/hole3d1.sce
new file mode 100755
index 000000000..5961888b4
--- /dev/null
+++ b/modules/graphics/demos/surface/hole3d1.sce
@@ -0,0 +1,41 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// hole3d1 : Holes in surfaces using %inf
+// =============================================================================
+
+function hole3d1()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+
+ deff("[x,y,z]=sph(alp,tet)",["x=r*cos(alp).*cos(tet)+orig(1)*ones(tet)";
+ "y=r*cos(alp).*sin(tet)+orig(2)*ones(tet)";
+ "z=r*sin(alp)+orig(3)*ones(tet)"]);
+
+ r=1;
+ orig=[0 0 0];
+ x=linspace(-%pi/2,%pi/2,40);y=linspace(0,%pi*2,20);
+ x(5:8)=%inf*ones(5:8);
+ x(30:35)=%inf*ones(30:35);
+ [x1,y1,z1]=eval3dp(sph,x,y);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("hole3d1.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d1(x1,y1,z1);
+ my_axe.rotation_angles = [70,20];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+hole3d1();
+clear hole3d1;
diff --git a/modules/graphics/demos/surface/moebius.sce b/modules/graphics/demos/surface/moebius.sce
new file mode 100755
index 000000000..9f74d1e97
--- /dev/null
+++ b/modules/graphics/demos/surface/moebius.sce
@@ -0,0 +1,41 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// moebius()
+// =============================================================================
+
+function moebius()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+ // the Moebius band
+ t=linspace(-1,1,20)';
+ x=linspace(0,%pi,40);
+ my_factor=2+ t*cos(x);
+ X=my_factor*diag(cos(2*x));
+ Y=my_factor*diag(sin(2*x));
+ Z=t*sin(x);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("moebius.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(X,Y,Z);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [88,56];
+ my_handle.immediate_drawing = "on";
+
+
+endfunction
+
+moebius();
+clear moebius;
diff --git a/modules/graphics/demos/surface/rings.sce b/modules/graphics/demos/surface/rings.sce
new file mode 100755
index 000000000..b5d743209
--- /dev/null
+++ b/modules/graphics/demos/surface/rings.sce
@@ -0,0 +1,35 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// rings()
+// =============================================================================
+
+function rings()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+ my_handle = scf(100001);
+
+ rr = 0.2;
+ t = linspace(0,2*%pi,10);
+ s = linspace(0,2*%pi,41); n=length(s);
+ r = dup(1+cos(t)*rr,n)'; m=length(t);
+ x = dup(cos(s),m).*r; y=dup(sin(s),m).*r;
+ z = dup(sin(t)*rr,n)';
+ X = [x;(x+1.3);(x-1.3)];
+ Y = [y;-z;-z];
+ Z = [z;y;y];
+
+ clf(my_handle,"reset");
+ demo_viewCode("rings.sce");
+
+ plot3d2(X,Y,Z,[m,2*m]);
+
+endfunction
+
+rings();
+clear rings;
diff --git a/modules/graphics/demos/surface/shell.sce b/modules/graphics/demos/surface/shell.sce
new file mode 100755
index 000000000..6d4380dea
--- /dev/null
+++ b/modules/graphics/demos/surface/shell.sce
@@ -0,0 +1,38 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// shell()
+// =============================================================================
+
+function shell()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+ u = linspace(0,2*%pi,40);
+ v = linspace(0,2*%pi,20);
+ x= (cos(u).*u)'*(1+cos(v)/2);
+ y= (u/2)'*sin(v);
+ z= (sin(u).*u)'*(1+cos(v)/2);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("shell.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(x,y,z);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [51,96];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+shell();
+clear shell;
diff --git a/modules/graphics/demos/surface/sphere.sce b/modules/graphics/demos/surface/sphere.sce
new file mode 100755
index 000000000..f604be7c3
--- /dev/null
+++ b/modules/graphics/demos/surface/sphere.sce
@@ -0,0 +1,40 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// sphere()
+// =============================================================================
+
+function sphere()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+
+ u = linspace(-%pi/2,%pi/2,40);
+ v = linspace(0,2*%pi,20);
+ x = cos(u)'*cos(v);
+ y = cos(u)'*sin(v);
+ z = sin(u)'*ones(v);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("sphere.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(x,y,z);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [51,96];
+ my_axe.isoview = "on";
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+sphere();
+clear sphere;
diff --git a/modules/graphics/demos/surface/spiral.sce b/modules/graphics/demos/surface/spiral.sce
new file mode 100755
index 000000000..d23145f93
--- /dev/null
+++ b/modules/graphics/demos/surface/spiral.sce
@@ -0,0 +1,38 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// spiral()
+// =============================================================================
+
+function hole3d1()
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+ [r,a]=field(0:0.1:1,0:%pi/8:6*%pi);
+ z=a/8;
+ x=r.*cos(a).*(1-a/20);
+ y=r.*sin(a).*(1-a/20);
+ z=z-1.5;
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("spiral.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(x,y,z);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [51,96];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+hole3d1();
+clear hole3d1;
diff --git a/modules/graphics/demos/surface/surfaces.dem.gateway.sce b/modules/graphics/demos/surface/surfaces.dem.gateway.sce
new file mode 100755
index 000000000..7cec88227
--- /dev/null
+++ b/modules/graphics/demos/surface/surfaces.dem.gateway.sce
@@ -0,0 +1,22 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("surfaces.dem.gateway.sce");
+
+subdemolist=["Surface with holes 1" , "hole3d.sce" ; ..
+"Surface with holes 2" , "hole3d1.sce" ; ..
+"Sphere" , "sphere.sce" ; ..
+"Shell" , "shell.sce" ; ..
+"Spiral" , "spiral.sce" ; ..
+"Rings" , "rings.sce" ; ..
+"Torus" , "torus.sce" ; ..
+"Torus 1" , "torus1.sce" ; ..
+"Moebius" , "moebius.sce" ; ..
+"Tube" , "tube.sce" ; ..
+"Black Hole" , "bh.sce" ; ..
+"Riemann surface (n=2)" , "cplxroot.sce" ];
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath; \ No newline at end of file
diff --git a/modules/graphics/demos/surface/torus.sce b/modules/graphics/demos/surface/torus.sce
new file mode 100755
index 000000000..82bac597a
--- /dev/null
+++ b/modules/graphics/demos/surface/torus.sce
@@ -0,0 +1,42 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// torus : a torus with a thick and a thin side.
+// =============================================================================
+
+function torus
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+
+ // some torus type bodies.
+ x=linspace(0,2*%pi,40);
+ y=linspace(0,2*%pi,20)';
+ // a torus with a thick and a thin side.
+ my_factor=1.5+cos(y)*(cos(x)/2+0.6);
+ X=my_factor*diag(cos(x));
+ Y=my_factor*diag(sin(x));
+ Z=sin(y)*(cos(x)/2+0.6);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("torus.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(X,Y,Z);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [68,95];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+torus();
+clear torus;
diff --git a/modules/graphics/demos/surface/torus1.sce b/modules/graphics/demos/surface/torus1.sce
new file mode 100755
index 000000000..e75997c5b
--- /dev/null
+++ b/modules/graphics/demos/surface/torus1.sce
@@ -0,0 +1,38 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// torus1 : a deformed torus
+// =============================================================================
+
+function torus1
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+ x=linspace(0,2*%pi,40);
+ y=linspace(0,2*%pi,20)';
+ my_factor=1.5+cos(y);
+ X=my_factor*cos(x);
+ Y=my_factor*sin(x);
+ Z=sin(y)*ones(x)+ ones(y)*cos(2*x);
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+ demo_viewCode("torus1.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(X,Y,Z);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [30,110];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+torus1();
+clear torus1;
diff --git a/modules/graphics/demos/surface/tube.sce b/modules/graphics/demos/surface/tube.sce
new file mode 100755
index 000000000..f6cc22085
--- /dev/null
+++ b/modules/graphics/demos/surface/tube.sce
@@ -0,0 +1,42 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// =============================================================================
+// tube : some tube like bodies.
+// =============================================================================
+
+function tube(nn)
+
+ exec("SCI/modules/graphics/demos/surface/Macros.sci",-1);
+
+ x=linspace(0,2*%pi,nn);
+ // atomic modell or so.
+ y=0.1+[sin(linspace(0,%pi,15)),1.5*sin(linspace(0,%pi,10)),sin(linspace(0,%pi,15))];
+ cosphi=dup(cos(x),length(y));
+ sinphi=dup(sin(x),length(y));
+ f=dup(y',length(x));
+ x1=f.*cosphi; y1=f.*sinphi;
+ z=dup(linspace(-2,2,prod(size(y)))',prod(size(x)));
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ my_axe = my_handle.children;
+
+ demo_viewCode("tube.sce");
+
+ my_handle.immediate_drawing = "off";
+ plot3d2(x1,y1,z,-1,35,70);
+ my_plot = my_axe.children;
+ my_handle.color_map = jetcolormap(128);
+ my_plot.color_flag = 1;
+ my_axe.rotation_angles = [70,48];
+ my_handle.immediate_drawing = "on";
+
+endfunction
+
+tube(50);
+clear tube;
diff --git a/modules/graphics/demos/textrendering/latex/coloredlabel.dem.sce b/modules/graphics/demos/textrendering/latex/coloredlabel.dem.sce
new file mode 100755
index 000000000..127a8f1e9
--- /dev/null
+++ b/modules/graphics/demos/textrendering/latex/coloredlabel.dem.sce
@@ -0,0 +1,33 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_coloredlabel()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("coloredlabel.dem.sce");
+
+ // DEMO START
+
+ x1 = -2:0.1:2;
+ x2 = -1:0.1:1;
+
+ plot2d(x1,2/sqrt(%pi)*exp(-x1.^2));
+ xpoly([-1 x2 1],[0 2/sqrt(%pi)*exp(-x2.^2) 0],"lines",1);
+ p=get("hdl");
+ p.polyline_style = 5;
+ p.foreground = 20;
+
+ xtitle("$\textstyle\mbox{Graph of }f:t\in[-2;2]\longmapsto\frac2{\sqrt\pi}\mathrm{e}^{-t^2}\in\mathbb{R}$","$t$")
+
+ xstring(-0.55,0.2,"$\fcolorbox{black}{Tan}{\frac2{\sqrt\pi}\int_{-1}^{1}\mathrm{e}^{-t^2}\,\mathrm{d}t\approx"+string(erf(1)-erf(-1))+"}$");
+
+ xstring(1.8,0.04,"$\mathscr{C}_f$");
+ // DEMO END
+
+endfunction
+
+demo_coloredlabel();
+clear demo_coloredlabel; \ No newline at end of file
diff --git a/modules/graphics/demos/textrendering/latex/fulltest.dem.sce b/modules/graphics/demos/textrendering/latex/fulltest.dem.sce
new file mode 100755
index 000000000..279d788c1
--- /dev/null
+++ b/modules/graphics/demos/textrendering/latex/fulltest.dem.sce
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+// Copyright (C) 2009 - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_fulltest()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("fulltest.dem.sce");
+
+ // DEMO START
+ my_handle.figure_name="LaTeX Math";
+ //grosse chaine latex
+ square(0,0,15,15);
+ xtitle("$\scalebox{1.6}\JLaTeXMath$");
+ str="$\newcommand{\oa}{\left|}\newcommand{\fa}{\right|}\scalebox{1.6}{\begin{split}"+...
+ "|I_2| &= \oa\int_0^T\psi(t)\left\{ u(a,t)-\int_{\gamma(t)}^a \frac{d\theta}{k} (\theta,t) \int_a^\theta c(\xi) u_t (\xi,t)\,d\xi\right\}dt\fa\\&\\&\mathrm{Produced\ with\ Java\ and\ \textcolor{OliveGreen}{\LaTeX}\ by\ }\mathscr{C}\mathcal{A}\mathfrak{L}\mathbf{I}\mathtt{X}\mathbb{T}\mathsf{E}.\\&\mbox{It handles accents (éàçèêïö\oe\ae) or cyrillic (привет мир)}\\&\mbox{or greek (γειά κόσμο) for our international users.}\\&\begin{pmatrix}\alpha&\beta&\gamma\\\aleph&\beth&\gimel\\\mathfrak{A}&\mathfrak{B}&\mathfrak{C}\\\end{pmatrix}\quad{(a+b)}^{\frac{n}{2}}=\sqrt{\sum_{k=0}^n\tbinom{n}{k}a^kb^{n-k}}\quad\\&\forall\varepsilon\in\mathbb{R}_+^*\ \exists\eta>0\ |x-x_0|\leq\eta\Longrightarrow|f(x)-f(x_0)|\leq\varepsilon\\&\det\begin{bmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&\ddots&&\vdots\\\vdots&&\ddots&\vdots\\a_{n1}&\cdots&\cdots&a_{nn}\end{bmatrix}\overset{\mathrm{def}}{=}\sum_{\sigma\in\mathfrak{S}_n}\varepsilon(\sigma)\prod_{k=1}^n a_{k\sigma(k)}\\&\Delta f(x,y)=\frac{\partial^2f}{\partial x^2}+\frac{\partial^2f}{\partial y^2}\qquad\qquad \boxed{n!\underset{n\rightarrow+\infty}{\sim} {\left(\frac{n}{e}\right)}^n\sqrt{2\pi n}}\\&\fcolorbox{black}{Bittersweet}{\sideset{_\alpha^\beta}{_\gamma^\delta}{\begin{pmatrix}a&b\\c&d\end{pmatrix}}}\xrightarrow[T]{n\pm i-j}\sideset{^t}{}A\xleftarrow{\overrightarrow{u}\wedge\overrightarrow{v}}\underleftarrow{\iint_{\mathds{R}^2}e^{-\left(x^2+y^2\right)}\,\mathrm{d}x\mathrm{d}y}\end{split}}$";
+ xstring(0,0,str);
+
+ // DEMO END
+endfunction
+
+demo_fulltest();
+clear demo_fulltest; \ No newline at end of file
diff --git a/modules/graphics/demos/textrendering/latex/latexsubplot.dem.sce b/modules/graphics/demos/textrendering/latex/latexsubplot.dem.sce
new file mode 100755
index 000000000..945a94710
--- /dev/null
+++ b/modules/graphics/demos/textrendering/latex/latexsubplot.dem.sce
@@ -0,0 +1,31 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+// Copyright (C) 2009 - DIGITEO - Yann COLLETTE
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_latexsubplot()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("latexsubplot.dem.sce");
+
+ // DEMO START
+
+ x = 1:0.25:10;
+ y1 = x + sin(4*%pi*x / 10);
+ y2 = 1 + cos(4*%pi*x / 10) * (4*%pi/10);
+
+ subplot(2,1,1);
+ plot(x,y1,"k-");
+ xstring(5,3,'$\leftarrow f \left( x \right) = x + \sin \left( \frac{x \cdot 4 \cdot \pi}{10} \right)$');
+
+ subplot(2,1,2);
+ plot(x,y2,"k-");
+ xstring(4.5,1.4,'$\leftarrow \frac{df \left( x \right)}{dx} = 1 + \frac{4 \cdot \pi}{10} \cdot \cos \left( \frac{x \cdot 4 \cdot \pi}{10} \right)$');
+
+ // DEMO END
+endfunction
+
+demo_latexsubplot();
+clear demo_latexsubplot; \ No newline at end of file
diff --git a/modules/graphics/demos/textrendering/latex/simple.dem.sce b/modules/graphics/demos/textrendering/latex/simple.dem.sce
new file mode 100755
index 000000000..39c827c22
--- /dev/null
+++ b/modules/graphics/demos/textrendering/latex/simple.dem.sce
@@ -0,0 +1,37 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+// Copyright (C) 2009 - DIGITEO - Michael BAUDIN
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function demo_simple()
+
+ my_handle = scf(100001);
+ clf(my_handle,"reset");
+ demo_viewCode("simple.dem.sce");
+
+ // DEMO START
+
+ function y = myquad ( x )
+ y = x(1)^2+x(2)^2
+ endfunction
+
+ N = 50
+ xdata = linspace(-1,1,N);
+ ydata = linspace(-1,1,N);
+
+ for i=1:N
+ for j=1:N
+ zdata(i,j) = myquad( [xdata(i) ydata(j)] );
+ end
+ end
+
+ contour ( xdata , ydata , zdata , [0.1 0.5 1.0 1.5] )
+ gg = gce();
+ gg.title.text = "$f(\mathbf{x}) = x_1^2+x_2^2$";
+
+ // DEMO END
+endfunction
+
+demo_simple();
+clear demo_simple; \ No newline at end of file
diff --git a/modules/graphics/demos/textrendering/mathml/simple.dem.sce b/modules/graphics/demos/textrendering/mathml/simple.dem.sce
new file mode 100755
index 000000000..e146257e6
--- /dev/null
+++ b/modules/graphics/demos/textrendering/mathml/simple.dem.sce
@@ -0,0 +1,24 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+// Copyright (C) 2009 - Calixte DENIZET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+my_handle = scf(100001);
+clf(my_handle,"reset");
+demo_viewCode("simple.dem.sce");
+
+// DEMO START
+
+f="<mrow><mi>&#x3b8;</mi><mo lspace=""0.278em"" rspace=""0.278em"">=</m"+...
+"o><mi>sin</mi><mspace width=""0.167em""/><mi>&#x3b1;</mi><mo"+...
+" lspace=""0.222em"" rspace=""0.222em"">&#xd7;</mo><mi>cos</mi><mspace width=""0.167em""/><mi>&#x3b2;</mi></mrow>";
+
+a="<mi>&#x3b1;</mi>";
+b="<mi>&#x3b2;</mi>";
+t="<mi>&#x3b8;</mi>";
+
+xtitle(f,a,b,t);
+plot3d;
+
+// DEMO END
diff --git a/modules/graphics/demos/textrendering/textrendering.dem.gateway.sce b/modules/graphics/demos/textrendering/textrendering.dem.gateway.sce
new file mode 100755
index 000000000..c915def29
--- /dev/null
+++ b/modules/graphics/demos/textrendering/textrendering.dem.gateway.sce
@@ -0,0 +1,17 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+demopath = get_absolute_file_path("textrendering.dem.gateway.sce");
+
+subdemolist = [ ..
+"Full LaTeX demo" , "latex/fulltest.dem.sce" ; ..
+"LaTeX demo with subplots" , "latex/latexsubplot.dem.sce" ; ..
+"LaTeX with graphics" , "latex/simple.dem.sce" ; ..
+"LaTeX with colored box" , "latex/coloredlabel.dem.sce" ; ..
+"MathML with graphics" , "mathml/simple.dem.sce" ];
+
+
+subdemolist(:,2) = demopath + subdemolist(:,2);
+clear demopath;
diff --git a/modules/graphics/demos/xsetechfig.sce b/modules/graphics/demos/xsetechfig.sce
new file mode 100755
index 000000000..4990aa954
--- /dev/null
+++ b/modules/graphics/demos/xsetechfig.sce
@@ -0,0 +1,139 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+//
+
+// This file is called from xsetech help page examples.
+
+mode(-1)
+clf() ;
+
+xset("color",2)
+
+wrect=[0.2 0.1 0.6 0.6] ;
+frect=[0 -1 10 1] ;// coordonnees utilsateurs
+dx=frect(3)-frect(1) ;ex=0.07*dx
+dy=frect(4)-frect(2) ;ey=0.07*dy
+f=1/7 ;arect=ones(1,4)*f
+
+xsetech(wrect=wrect,frect=frect,arect=arect)
+xset("thickness",3)
+L=dx/(1-2*f)
+H=dy/(1-2*f)
+Lt=L/wrect(3)
+Ht=H/wrect(4)
+//Full window rectangle
+//=====================
+xrect(frect(1)-f*L-wrect(1)*Lt+0.03,frect(4)+f*H+wrect(2)*Ht-0.01,Lt-0.06,Ht-0.04)
+xstring(frect(1)-f*L-wrect(1)*Lt+ex/2,frect(4)+f*H+wrect(2)*Ht-Ht+ey,"(0,0)")
+xstring(frect(1)-f*L-wrect(1)*Lt+ex/2,frect(4)+f*H+wrect(2)*Ht-2*ey,"(0,1)")
+xstring(frect(1)-f*L-wrect(1)*Lt+Lt-2*ex,frect(4)+f*H+wrect(2)*Ht-Ht+ey,"(1,0)")
+//Draw wrect relatives
+//===================
+
+xset("thickness",1) ;xset("color",2)
+//origin
+xsegs([frect(1)-f*L-wrect(1)*Lt ;frect(1)-f*L],..
+[frect(2)-f*H ;frect(2)-f*H]) ;
+xstring(frect(1)-f*L-wrect(1)*Lt+ex,frect(2)-f*H,"xleft")
+
+xsegs([frect(1)-f*L;frect(1)-f*L],..
+[frect(2)-f*H+H ;frect(4)+f*H+wrect(2)*Ht]) ;
+xstring(frect(1)-f*L+ex/2,(frect(2)-f*H+H+frect(4)+f*H+wrect(2)*Ht)/2,"yup")
+
+//width and height
+
+;xset("font",4,2)
+xsegs((frect(1)-f*L-ex)*ones(2,2),[frect(4)+f*H ,frect(4)+f*H-H/2-ey ;
+frect(4)+f*H-H/2+ey,frect(4)+f*H-H])
+xstring(frect(1)-f*L-ex,frect(4)+f*H-H/2-ey/2,"h")
+
+xsegs([frect(1)-f*L,frect(1)-f*L+L/2+ex
+frect(1)-f*L+L/2-ex,frect(1)-f*L+L],(frect(4)+f*H+ey)*ones(2,2))
+
+xstring(frect(1)-f*L+L/2,frect(4)+f*H+ey/2,"w")
+xset("font",2,1)
+
+
+// wrect rectangle
+xset("color",5)
+xset("thickness",2)
+xrect(frect(1)-f*L,frect(4)+f*H,L,H)
+xset("thickness",1)
+// width and height
+xset("font",4,2) ;
+
+
+xset("foreground",5)
+drawaxis(x=frect(1)-f*L,y=frect(4)+f*H-H+[0,H],val=["0","1"],seg=0,sub_int=3)
+drawaxis(x=frect(1)-f*L+[0,L],y=frect(4)+f*H-H,val=["0","1"],dir="d",seg=0,sub_int=3)
+//xset('font',2,1)
+//user coordinate rectangle
+//=========================
+xset("color",5) ;xset("thickness",1)
+xsegs([4 ;4],[1 ;1+f*H]) ;xstring(4+ex/2,1+f*H/2-ey/2,"y_up")
+xsegs([4 ;4],[-1 ;-1-f*H]);xstring(4+ex,-1-f*H/2,"y_down")
+xsegs([10 ;10+f*L],[0 ;0]);xstring(10+ex/2,0,"x_right")
+xsegs([0 ;0-f*L],[0 ;0]);xstring(ex/2-f*L,0,"x_left")
+xset("color",0),xset("thickness",3)
+
+//draw a curve inside user coordinate rectangle
+//=============================================
+xset("color",14) ;xset("foreground",14)
+
+xrect(0,1,10,2)
+
+xset("color",16)
+r=xstringl(0,0,"yminx")
+xstring(0-r(3),-1-r(2)/2,"ymin")
+xstring(0-r(3),1-r(2)/2,"ymax")
+r=xstringl(0,0,"xminx")
+xstring(0-r(3)/2,-1-r(2)*1.5,"xmin")
+xstring(10-r(3)/2,-1-r(2)*1.5,"xmax")
+t=0 :0.1 :10 ;
+plot2d(t,sin(t),style=16,axesflag=2)
+xset("foreground",0) ;xset("color",0)
+
+//Draw legend
+txt=["wrect=[xleft,yup,w,h]"
+"arect=[x_left, x_right,y_up,y_down]"
+"frect=[xmin,ymin,xmax,ymax] //user co-ordinates"
+" "
+"xsetech(wrect=wrect,frect=frect,arect=arect)"]
+
+xset("font",2,3)
+r=xstringl(0,0,txt)
+y=frect(4)+f*H+wrect(2)*Ht-Ht+ey
+x=frect(1)-f*L-wrect(1)*Lt+(Lt-r(3))/2
+
+
+xstring(x,y,txt(5)) //xsetech
+y=y+r(4)/5
+xstring(x,y,txt(4)) //
+
+y=y+r(4)/5
+xset("color",16)
+xstring(x,y,txt(3))//frect
+
+y=y+r(4)/5
+xset("color",14) //arect
+k=strindex(txt(2),"=")
+xstring(x,y,part(txt(2),1:k))
+r1=xstringl(0,0,part(txt(2),1:k))
+xset("color",5)
+xstring(x+r1(3),y,part(txt(2),k+1:length(txt(2))))
+
+
+y=y+r(4)/5
+
+k=strindex(txt(1),"=") //wrect
+xset("color",5)
+xstring(x,y,part(txt(1),1:k))
+xset("color",2)
+r1=xstringl(0,0,part(txt(1),1:k))
+xstring(x+r1(3),y,part(txt(1),k+1:length(txt(1))))
+
+
+xset("color",0)