Galaster

Force-directed graph visualizer, an open-source alternative of UbiGraph

MIT License

Stars
0
Committers
3
  • Galaster - A 3D Dynamic Graph Visualizer

** Overview

Galaster is a system for visualizing dynamic graphs, the goal of this project is to create an opensource version of ubigraph. Currently it could work as a static C++ library, RPC APIs for other programming languages will be implemented soon.

** Galaster In Action

[[https://vimeo.com/131449418][Graph Visualization via Galaster - Web Crawlers in Action]]

[[https://s-media-cache-ak0.pinimg.com/originals/ed/70/34/ed703417bdb6156c2d73bc732377f2f9.png]]

** How To Build

You need GLFW, FreeType and CMake to build this project. The following command builds the static C++ library =libgalaster.a= as well as all examples included in this project.

#+BEGIN_SRC shell mkdir build cd build cmake .. make #+END_SRC

Once you successfully built this project, you can launch an example to see if it works fine. Type =./examples/cube= to launch the cube example, which layout 1000 nodes as a 10x10x10 cube. You will get a very primitive window for interactively viewing the graph.

[[https://s-media-cache-ak0.pinimg.com/originals/f4/87/14/f48714768d7b070b29f7b5c8344e81f8.png]]

Though rotating the graph through mouse dragging is currently unsupported, a number of keystrokes are recognized:

|Key |Function | |, |x-axis rotation | |, |z-axis rotation | |w, s |zoom in/out | |f, b |zoom way in/out | |r |reset vertices to random positions | |m |toggle solid/particle mode | |a, n, ... |useful in particular examples (binary_tre, membrane, etc.)|

** Future Works

  • RPC based API and bindings for various programming languages
  • +Spline edges and arrows+
  • +Fast repulsion force calculation algorithm+
  • +Rendering text labels+
  • +Smarter auto camera+
  • +Proper rendering options to make edges look consistent in various view angles+