Commit Graph

74 Commits

Author SHA1 Message Date
903ba85f9f ALGO: improve documentation 2015-01-09 03:58:24 +01:00
54284193cd ALGO: improve naming of functions 2015-01-09 03:58:05 +01:00
825dd9baa9 ALGO: rm redundant brackets 2015-01-09 03:24:44 +01:00
521f799c49 Cleanup imports and language pragmas 2015-01-09 03:24:31 +01:00
f53207b48c ALGO: add partitioning of polygons for triangulation 2015-01-09 03:24:09 +01:00
c96474e6fd ALGO: use isInsidePoly 2015-01-09 03:20:13 +01:00
6b873e9e5c ALGO: try to implement y-monotonization 2015-01-08 01:44:47 +01:00
550957da13 ALGO: rm junk 2015-01-08 01:37:49 +01:00
211731af0c ALGO: add isYmonotone function 2015-01-07 19:16:12 +01:00
2bc3aec80a ALGO: fix spelling 2015-01-07 19:15:51 +01:00
013dfd054b Implement vertex categorisation for Polygon Triangulation 2015-01-07 18:55:16 +01:00
2ccb52eb62 VEC: Fix the inRange function
It now takes a PROPER square, as in ((xmin, ymin), (xmax, ymax))
instead of ((xmin, xmax), (ymin, ymax)) and also works
with negative values.

Because the meaning of the arguments has changed, we also
had to fix all uses of it.
2014-12-17 03:35:33 +01:00
f16fe7738a ALGO: rm empty 'where' in KDTree 2014-12-07 04:47:19 +01:00
3c1a34e4af Merge VectorTypes.hs into Vector.hs 2014-12-03 21:41:00 +01:00
9d6af63b46 Move test objs into test_objs subdir 2014-12-03 21:30:21 +01:00
73e1673c63 Restructure Algorithms subdir and module names
No subdirs in Algorithms, just the module files
2014-12-03 21:26:35 +01:00
9fca3ccaa9 Add HACK notes 2014-12-03 21:20:34 +01:00
0f0362322e ALGO: rename QuadTree Zipper and rm Breadcrumbs type 2014-12-03 21:18:15 +01:00
899afc7287 ALGO: fix runtime complexity in KDTree
The old code in fact increased the complexity to O(n^2), because
we applied 'elem' which is O(n) to every element of xs.

Instead we compare (in case of partitioning against Y) the y-value
of every element of xs with the y-value of the pivot which tells us
if x lies within ys.
2014-12-02 19:01:04 +01:00
78a3dd8b95 ALGO: avoid printing KTNil for both childs 2014-11-30 20:04:02 +01:00
8cf9d93580 ALGO: don't export all functions in KDTree 2014-11-29 23:51:41 +01:00
9867d25c4a ALGO: add haddock ignore-exports in KDTree 2014-11-29 23:51:23 +01:00
26221f3046 ALGO: add goLeft/goRight in KDTree 2014-11-29 23:49:39 +01:00
543b08df2c GUI/DIAG: allow visualizing the rangeSearch and the tree 2014-11-29 23:45:53 +01:00
d195d3f11d ALGO: save direction in KDTree and refactor 2014-11-29 18:06:07 +01:00
7dbd3a1352 ALGO: initial implementation of KDTree
No visualization yet.
2014-11-29 05:11:15 +01:00
b5a56ea7b0 ALGO: fix spelling in QuadTree 2014-11-29 05:09:13 +01:00
7527e0bec3 ALGO: generalize the QuadTree folds
Now we traverse over all nodes (TNode, TLeaf, TNil),
not just TLeaf.
2014-11-18 00:56:24 +01:00
ea88ef84ea Improve code prettiness 2014-11-16 16:45:51 +01:00
8c1d54d97a ALGO: add TODO note in PolygonIntersection about Zippers 2014-11-16 04:49:34 +01:00
62583d82a5 Improve prettiness further 2014-11-16 04:49:13 +01:00
26337d437e ALGO: expose lookupByNeighbors in QuadTree 2014-11-15 16:04:31 +01:00
60d7dca2c8 DIAG: make the current node in the tree red 2014-11-15 15:26:43 +01:00
50fc0c3d01 ALGO: add test obj to quadtree 2014-11-15 14:24:46 +01:00
0b3c7d2100 ALGO: rename wrongly named RangeSearch to QuadTree 2014-11-15 14:24:24 +01:00
f3cabab280 Implement visualizing the quad tree in a separate window
This window creation still sucks a bit, we should realize it
without actually showing it.
2014-11-15 03:58:38 +01:00
5fa5afc073 ALGO: rm obsolete test array 2014-11-15 03:55:52 +01:00
75c45149d9 Rename Algorithms.RangeSearch.Core to Algorithms.RangeSearch.QuadTree 2014-11-15 00:49:44 +01:00
068ea04d56 ALGO: fix bug when a pointer is between multiple quads
We have to set a priority, otherwise a point might belong to
multiple quads (max 4 if it's in the very middle).
2014-11-14 22:45:12 +01:00
534f0f9609 Add getSquareByZipper function 2014-11-14 21:26:02 +01:00
76afaae38e ALGO: export constructors and Zipper in RangeSearch 2014-11-14 21:25:25 +01:00
af2e1b59cd ALGO: add missing Show instances to RangeSearch 2014-11-14 21:24:14 +01:00
62d7c9ffcd ALGO: implement the quad tree 2014-11-13 23:05:56 +01:00
c765c63125 POLYINT: run rmdups only once 2014-10-31 17:49:08 +01:00
61e0063d78 POLYINT: fix comparison for different-length polygons 2014-10-28 18:51:11 +01:00
d81b6b1cec POLYINT: improve haddock doc 2014-10-26 14:58:43 +01:00
c8914c8272 POLYINT: small refactor
Get predecessors and successors in the beginning instead of
figuring them out for every single point separetely.
This is still O(n), butt should be a lot quicker than the previous
approach.
2014-10-26 04:22:05 +01:00
fd931db7e0 Improve readability 2014-10-25 20:39:34 +02:00
c4c397e12f POLYINT: small refactor, abstract some stuff out 2014-10-25 20:23:34 +02:00
7965443aa6 Fix example mesh 2014-10-25 03:15:00 +02:00