diff options
Diffstat (limited to 'modules/graphics/demos')
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 Binary files differnew file mode 100755 index 000000000..d140d247e --- /dev/null +++ b/modules/graphics/demos/cmplxfunc/warning.png 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 Binary files differnew file mode 100755 index 000000000..cf2e6716c --- /dev/null +++ b/modules/graphics/demos/matplot/puffin.png 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>θ</mi><mo lspace=""0.278em"" rspace=""0.278em"">=</m"+... +"o><mi>sin</mi><mspace width=""0.167em""/><mi>α</mi><mo"+... +" lspace=""0.222em"" rspace=""0.222em"">×</mo><mi>cos</mi><mspace width=""0.167em""/><mi>β</mi></mrow>"; + +a="<mi>α</mi>"; +b="<mi>β</mi>"; +t="<mi>θ</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) |