figure; hold on; % face_colors = {'r','g','b','r','g','b'}; % density = 0.2; % % for face=1:3 % % points = [0;0;0]; % k = 1; % % for u=-1:density:1 % for v=-1:density:1 % % p = h3d_coords_cube_to_s2(face,u,v); % points(1:3,k) = p; k = k+1; % end % end % % plot3points(points, sprintf('%s.',face_colors{face})); % end fprintf('Checking h3d_coords_s2_to_cube() and h3d_coords_cube_to_s2() \n'); for face=1:6 for u=-1+density:0.1:1-density for v=-1+density:0.1:1-density p = h3d_coords_cube_to_s2(face,u,v); [face2, u2, v2] = h3d_coords_s2_to_cube(p); epsilon = 1e-3; str = sprintf(' [%d : %f %f] -> [%f %f %f] -> [%d : %f %f]', face,u,v,p(1),p(2),p(3),face2,u2,v2); assert(face2 == face, str); assert( abs(u2 - u) < epsilon , str); assert( abs(v2 - v) < epsilon, str); end end end fprintf('Checking h3d_coords_cube_to_cell() and h3d_coords_cell_to_avg_cube() \n'); buffer_width = 10; for face=1:6 for i=1:buffer_width for j=1:buffer_width [face, u, v] = h3d_coords_cell_to_avg_cube(face, i, j, buffer_width); [face2, i2, j2] = h3d_coords_cube_to_cell(face, u, v, buffer_width); str = sprintf(' [%d : %d %d] -> [%d : %f %f] -> [%d : %d %d]', face,i,j,face,u,v, face2,i2,j2); assert(face2 == face, str); assert( i == i2, str); assert( j == j2, str); end end end