Commit Graph

146 Commits

Author SHA1 Message Date
Sébastien Loriot 1c133be811 license headers 2020-07-21 08:32:32 +02:00
Jackson Campolattaro f27fba979e Add timing data to kd_tree/octree comparison test 2020-07-20 12:12:28 -04:00
Jackson Campolattaro b1a55ed20a Add epsilon as optional argument 2020-07-19 23:22:06 -04:00
Jackson Campolattaro 3be77cd0d6 Remove underscore marking new nearest neighbor implementation 2020-07-19 23:14:46 -04:00
Jackson Campolattaro 908f6b8ea3 Add nearest_k_neighbours_in_radius, implement nearest_k_neighbours in terms of this function 2020-07-19 22:28:20 -04:00
Jackson Campolattaro 3330d8d7a5 Remove old nearest neighbour solution 2020-07-19 22:19:02 -04:00
Jackson Campolattaro adbd84bf1c Implement streamlined nearest neighbour as drop in replacement for old version 2020-07-19 22:18:10 -04:00
Jackson Campolattaro 29d93de185 Outline recursive case 2020-07-19 20:16:09 -04:00
Jackson Campolattaro 5385c84eb4 Implement base case of streamlined algorithm 2020-07-19 19:57:04 -04:00
Jackson Campolattaro 707b256386 Begin outlining streamlined nearest neighbour implementation 2020-07-19 17:04:37 -04:00
Jackson Campolattaro 15482a52d2 Add search benchmarking 2020-07-17 15:52:10 -04:00
Jackson Campolattaro c353b6dee5 Add is_empty method to Node 2020-07-17 12:36:39 -04:00
Jackson Campolattaro 918bae51fa Rename value accessors to points 2020-07-17 12:33:18 -04:00
Jackson Campolattaro de1973c75b Nodes now expect to contain iterator ranges 2020-07-17 11:59:41 -04:00
Jackson Campolattaro 4c00bf0a92 Add inequality operators 2020-07-16 17:08:18 -04:00
Jackson Campolattaro 919da2662c Simplify names of split criterion 2020-07-16 15:29:40 -04:00
Jackson Campolattaro 6aba4c443e Add Split_criterion namespace 2020-07-16 15:28:21 -04:00
Jackson Campolattaro 608f654be4 Pass k explicitly, simplifying the logic necessary to add a new point to the output list 2020-07-16 14:20:44 -04:00
Jackson Campolattaro b494e0cca9 Test show an improvement in octree performance 2020-07-16 14:03:36 -04:00
Jackson Campolattaro b5a26c9f91 Find mistake: only update search radius after K points are found 2020-07-16 13:58:04 -04:00
Jackson Campolattaro ecbf15c274 Add more useful printout to the kd_tree comparison test 2020-07-16 13:33:08 -04:00
Jackson Campolattaro 77775f7592 Add node ranking for increased nearest neighbour performance, currently failing tests for k > 1 2020-07-16 13:22:55 -04:00
Jackson Campolattaro 71d56294d8 Octree equality operator is now const 2020-07-16 10:50:16 -04:00
Jackson Campolattaro 4a2bbff45a Add param documentation to all public member functions 2020-07-16 10:49:27 -04:00
Jackson Campolattaro f0c4b6016d Add brief documentation for bbox and nearest_k_neighbours 2020-07-16 10:40:10 -04:00
Jackson Campolattaro 498ac2fd21 Octree now outperforms naive for over 1000 points 2020-07-15 21:49:24 -04:00
Jackson Campolattaro d6b41c8875 Add bbox function for getting the bounding box of a node 2020-07-15 12:13:50 -04:00
Jackson Campolattaro 7d0ef74b71 Use pairs to map each point to its distance from the search point, reducing recalculation 2020-07-15 11:26:16 -04:00
Jackson Campolattaro b866d5a0c3 Nearest neighbour algorithm now skips nodes, but not yet enough to be faster than the naive algorithm 2020-07-15 11:02:32 -04:00
Jackson Campolattaro c48ca1d97f Add Bbox construction from node 2020-07-15 10:49:09 -04:00
Jackson Campolattaro e8ad665b0c Add do_intersect invocation 2020-07-15 10:31:48 -04:00
Jackson Campolattaro 244bf6e30a Add Sphere typedef 2020-07-15 10:26:27 -04:00
Jackson Campolattaro d5c1770024 Outline intersection method between nodes and spheres 2020-07-15 10:13:56 -04:00
Jackson Campolattaro 76a59e5996 Remove un-simplified algorithm, rename simple version 2020-07-14 21:44:13 -04:00
Jackson Campolattaro e9b9c1df3d Make the simplified algorithm functional, but slower than the brute force solution 2020-07-14 21:42:42 -04:00
Jackson Campolattaro 1ee73d70a9 Flesh out the algorithm's outline 2020-07-14 18:34:24 -04:00
Jackson Campolattaro 0d4923bbd0 Flesh out the algorithm's outline 2020-07-14 18:32:55 -04:00
Jackson Campolattaro 5da23c2698 Fix iteration over node children 2020-07-14 17:27:09 -04:00
Jackson Campolattaro 4b0cd66a10 Add largest_distance arg to simplified recursive algorithm 2020-07-14 16:15:59 -04:00
Jackson Campolattaro b93bff7107 Add Node argument to simple recursive algorithm 2020-07-14 16:13:35 -04:00
Jackson Campolattaro 704ff6f381 Implement nearest neighbours recursive caller method 2020-07-14 15:14:47 -04:00
Jackson Campolattaro 7a1f10f7d0 Begin defining a simplified nearest neighbours algorithm 2020-07-14 15:01:57 -04:00
Jackson Campolattaro 5c7316c5a5 Recursive nearest neighbours now sorts its node queue 2020-07-14 11:30:56 -04:00
Jackson Campolattaro 05f26aff6b Add recursive invocation 2020-07-13 16:01:52 -04:00
Jackson Campolattaro fcf9ed91ee Begin outlining recursive nearest neighbour search 2020-07-13 15:30:59 -04:00
Jackson Campolattaro 1c23d1572e Determine function signature for recursive neighbours method 2020-07-13 14:23:43 -04:00
Jackson Campolattaro ab6ecb6bbb Add nearest_k_neighbours_recursive private method stub 2020-07-13 14:02:27 -04:00
Jackson Campolattaro c3c299d588 Nearest_k_neighbours is now const 2020-07-13 13:00:10 -04:00
Jackson Campolattaro 736bcb04fb Add placeholder nearest_k_neighbours with testing 2020-07-13 10:55:32 -04:00
Jackson Campolattaro 86c627b1da Add a short description of the locate method 2020-07-10 12:25:28 -04:00