- Notifications
You must be signed in to change notification settings - Fork0
oppenheimj/unraveler
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
4096 nodes, 8 threads, \theta=0.95 (Intel Core i7 7700K @ 5.0 GHz)
This project demonstrates a basicforce-directed graph drawing technique used on graphs generated using apreferential attachment process. ABarnes-Hut quadtree is used to reduce the complexity of every step from O(n^2) to O(n*log(n)) and multithreading speeds everything up.
A basic UI allows the user to define
n
the number of nodeska
,kr
, andkn
attraction, repulsion, and general constantsmaxIters
andminError
halting conditionsupdateEvery
to control how often the UI updatestheta
in the range [0, 1) indicates the tradeoff between accuracy (0) and speed (1)numThreads
the number of threads
This is nowhere near as good as state-of-the-art, but it is still fun to see how changing the number of nodes, threads, and value of theta affects performance.
$ cd server$ go run main.go
install dependencies
$ cd ui$ npm install
launch ui
$ npm run start