Commit Graph

86 Commits

Author SHA1 Message Date
hasufell 984ed40c63
Port to diagrams >1.3
# Conflicts:
#	Algebra/Vector.hs
#	CG2.cabal
#	Graphics/Diagram/Core.hs
#	Graphics/Diagram/Gif.hs
#	Graphics/Diagram/Gtk.hs
#	Test/Vector.hs
2015-05-21 02:14:15 +02:00
hasufell 5120a44d0f
Remove almost all 'type' usage to make types more transparent 2015-01-14 18:17:35 +01:00
hasufell 1c131825ab
ALGO: rm unused testArr 2015-01-14 17:50:20 +01:00
hasufell eb1142b52f
ALGO: rm non-triangles and duplicates 2015-01-13 01:05:02 +01:00
hasufell 534284bbe0
ALGO: fix comment 2015-01-12 22:44:23 +01:00
hasufell dde5614ae3
ALGO: rm confusing comment 2015-01-12 22:44:04 +01:00
hasufell 41bc7e7744
ALGO: simplify 2015-01-12 22:40:39 +01:00
hasufell c8541f59b4
ALGO: use 'Segment' instead of '(PT, PT)' 2015-01-12 22:38:10 +01:00
hasufell 8a248adc41
ALGO: add type signatures 2015-01-12 22:37:10 +01:00
hasufell ba3cfb879e
ALGO: simplify monotoneDiagonals 2015-01-12 22:27:43 +01:00
hasufell f383cc65b2
ALGO: rewrite monotonePartitioning to avoid polygon duplicates 2015-01-12 22:27:17 +01:00
hasufell 3a1361b463
ALGO: fix documentation 2015-01-09 04:08:19 +01:00
hasufell 903ba85f9f
ALGO: improve documentation 2015-01-09 03:58:24 +01:00
hasufell 54284193cd
ALGO: improve naming of functions 2015-01-09 03:58:05 +01:00
hasufell 825dd9baa9
ALGO: rm redundant brackets 2015-01-09 03:24:44 +01:00
hasufell 521f799c49
Cleanup imports and language pragmas 2015-01-09 03:24:31 +01:00
hasufell f53207b48c
ALGO: add partitioning of polygons for triangulation 2015-01-09 03:24:09 +01:00
hasufell c96474e6fd
ALGO: use isInsidePoly 2015-01-09 03:20:13 +01:00
hasufell 6b873e9e5c
ALGO: try to implement y-monotonization 2015-01-08 01:44:47 +01:00
hasufell 550957da13
ALGO: rm junk 2015-01-08 01:37:49 +01:00
hasufell 211731af0c
ALGO: add isYmonotone function 2015-01-07 19:16:12 +01:00
hasufell 2bc3aec80a
ALGO: fix spelling 2015-01-07 19:15:51 +01:00
hasufell 013dfd054b
Implement vertex categorisation for Polygon Triangulation 2015-01-07 18:55:16 +01:00
hasufell 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
hasufell f16fe7738a
ALGO: rm empty 'where' in KDTree 2014-12-07 04:47:19 +01:00
hasufell 3c1a34e4af
Merge VectorTypes.hs into Vector.hs 2014-12-03 21:41:00 +01:00
hasufell 9d6af63b46
Move test objs into test_objs subdir 2014-12-03 21:30:21 +01:00
hasufell 73e1673c63
Restructure Algorithms subdir and module names
No subdirs in Algorithms, just the module files
2014-12-03 21:26:35 +01:00
hasufell 9fca3ccaa9
Add HACK notes 2014-12-03 21:20:34 +01:00
hasufell 0f0362322e
ALGO: rename QuadTree Zipper and rm Breadcrumbs type 2014-12-03 21:18:15 +01:00
hasufell 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
hasufell 78a3dd8b95
ALGO: avoid printing KTNil for both childs 2014-11-30 20:04:02 +01:00
hasufell 8cf9d93580
ALGO: don't export all functions in KDTree 2014-11-29 23:51:41 +01:00
hasufell 9867d25c4a
ALGO: add haddock ignore-exports in KDTree 2014-11-29 23:51:23 +01:00
hasufell 26221f3046
ALGO: add goLeft/goRight in KDTree 2014-11-29 23:49:39 +01:00
hasufell 543b08df2c
GUI/DIAG: allow visualizing the rangeSearch and the tree 2014-11-29 23:45:53 +01:00
hasufell d195d3f11d
ALGO: save direction in KDTree and refactor 2014-11-29 18:06:07 +01:00
hasufell 7dbd3a1352
ALGO: initial implementation of KDTree
No visualization yet.
2014-11-29 05:11:15 +01:00
hasufell b5a56ea7b0
ALGO: fix spelling in QuadTree 2014-11-29 05:09:13 +01:00
hasufell 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
hasufell ea88ef84ea
Improve code prettiness 2014-11-16 16:45:51 +01:00
hasufell 8c1d54d97a
ALGO: add TODO note in PolygonIntersection about Zippers 2014-11-16 04:49:34 +01:00
hasufell 62583d82a5
Improve prettiness further 2014-11-16 04:49:13 +01:00
hasufell 26337d437e
ALGO: expose lookupByNeighbors in QuadTree 2014-11-15 16:04:31 +01:00
hasufell 60d7dca2c8
DIAG: make the current node in the tree red 2014-11-15 15:26:43 +01:00
hasufell 50fc0c3d01
ALGO: add test obj to quadtree 2014-11-15 14:24:46 +01:00
hasufell 0b3c7d2100
ALGO: rename wrongly named RangeSearch to QuadTree 2014-11-15 14:24:24 +01:00
hasufell 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
hasufell 5fa5afc073
ALGO: rm obsolete test array 2014-11-15 03:55:52 +01:00
hasufell 75c45149d9
Rename Algorithms.RangeSearch.Core to Algorithms.RangeSearch.QuadTree 2014-11-15 00:49:44 +01:00