Submission for the CS421 project "Approximation algorithms for geometric problems".
We first compute a Well-Separated-Pair-Decomposition from an octree, and then apply this representation to efficiently compute various algorithms from Closest Pair to Force directed graph layout. You can find more information in our project report in the /report dir, giving the theoretical framework and the empirical performance of our implementation and optimisations.
You can compile and run classes in the src directory, by giving as an input to PointCloudViewer a set of point in .off format (like in /data/pointClouds) for closest and farthest pairs computation, and by giving as an input to NetworkLayout a graph in .mtx format (like in /data/networks) for Fruchterman-Reingold computation.
You can also directly run the .jar in the bin directory by giving the same format of input as for the src.