[interpolation] mesh2d gateway introduced
[scilab.git] / scilab / modules / interpolation / tests / unit_tests / mesh2d.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2018 - St├ęphane MOTTELET
4 //
5 //, This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 // <-- NO CHECK REF -->
10
11 [x,y] = meshgrid(1:4,1:3);
12
13 // Test returned boundary
14 tri1_1 = [1, 5, 8, 7, 3, 8, 10, 6, 9, 10, 11, 12
15 4, 2, 5, 5, 2, 6, 11, 3, 6, 8, 9, 9 
16 2, 4, 7, 4, 5, 5, 8, 5, 8, 7, 8, 11];
17 [tri1_2, cv_hull_1] = mesh2d(x(:), y(:));
18 assert_checkequal(cv_hull_1, [1, 4, 7, 10, 11, 12, 9, 6, 3, 2, 1]');
19 assert_checkequal(tri1_1, tri1_2);
20
21 // Test with non-convex boundary
22 tri2_1 = [1, 5, 3, 8, 10, 6, 9, 10, 11, 12.
23 4, 2, 2, 6, 11, 3, 6, 8, 9, 9. 
24 2, 4, 5, 5, 8, 5, 8, 7, 8, 11];
25 tri2_2 = mesh2d(x(:),y(:), [1, 4, 5, 8, 7, 10, 11, 12, 9, 6, 3, 2, 1]);
26 assert_checkequal(tri2_1, tri2_2);
27
28 // Test with hole
29 [x,y]=meshgrid(1:4,1:4);
30 [tri3_1, cv_hull_3] = mesh2d(x(:), y(:));
31 tri3_2 = mesh2d(x(:), y(:), [cv_hull_3; 6; 10; 11; 7; 6]);
32 tri3_3 = [1, 6, 10, 9, 3, 13, 7, 8, 15, 13, 4, 14, 8, 15, 12, 16
33 5, 2, 6, 6, 2, 14, 3, 7,  12, 10, 3, 11, 4, 11, 8,  12
34 2, 5, 9, 5, 6, 10, 6, 11, 11, 9, 7, 10, 7, 14, 11, 15];
35 assert_checkequal(tri3_2, tri3_3);