Kontinuation / Galaster

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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.

mkdir build
cd build
cmake ..
make

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:

KeyFunction
↑, ↓x-axis rotation
←, →z-axis rotation
w, szoom in/out
f, bzoom way in/out
rreset vertices to random positions
mtoggle 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

About

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

License:MIT License


Languages

Language:C++ 98.8%Language:CMake 1.1%Language:Shell 0.1%