Commit Graph

85 Commits

Author SHA1 Message Date
5120a44d0f
Remove almost all 'type' usage to make types more transparent 2015-01-14 18:17:35 +01:00
1c131825ab
ALGO: rm unused testArr 2015-01-14 17:50:20 +01:00
eb1142b52f
ALGO: rm non-triangles and duplicates 2015-01-13 01:05:02 +01:00
534284bbe0
ALGO: fix comment 2015-01-12 22:44:23 +01:00
dde5614ae3
ALGO: rm confusing comment 2015-01-12 22:44:04 +01:00
41bc7e7744
ALGO: simplify 2015-01-12 22:40:39 +01:00
c8541f59b4
ALGO: use 'Segment' instead of '(PT, PT)' 2015-01-12 22:38:10 +01:00
8a248adc41
ALGO: add type signatures 2015-01-12 22:37:10 +01:00
ba3cfb879e
ALGO: simplify monotoneDiagonals 2015-01-12 22:27:43 +01:00
f383cc65b2
ALGO: rewrite monotonePartitioning to avoid polygon duplicates 2015-01-12 22:27:17 +01:00
3a1361b463
ALGO: fix documentation 2015-01-09 04:08:19 +01:00
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