it’s generated using a really outdated software called Walrus - Graph Visualization Tool. i was wondering if there are ways to do something similar using THREE, i did start something with arrays and lines but was all on x and y axis no spherical spacial spreading like in the image
would be great to get peoples thoughts on an approach or just to discuss how it would be done, i find data visualization like this really inspiring
@looeee no sadly not, that’s just an example from their site, the specifications for compiling data sets for the software look very specific…
Only directed graphs are supported .
Only connected graphs with reachable nodes are supported.
A meaningful spanning tree is required.
Only LibSea graph files (a documented CAIDA-developed input format) are supported.
Walrus requires Java3D v1.2.1 (or later) and JDK 1.3.0 (or later). A hardware-accelerated graphics card with OpenGL support is required ( on Windows systems, you must use the OpenGL version of Java3D and not the DirectX version ).
As you can see it’s very old and cryptic, using opengl and java3d.
There was also a post on here a few months ago that showed a three js tree shaking visualisation and a three js folder / resources size graph, it was 2D but still very interesting to see a visual layout of folder hierarchy
ok, agreed, i’ll do some reading on this, i wasn’t familiar with the terms thank you @looeee
here’s where i started based on what i imagined to be an array based 2D graph using THREE lines, drawing each lines geometry end positions for each nested arrays length which are randomly generated numbers on loading the page…
the line geometry positions are derived from one point of data, the parent array length, drawn on only the x and y axis.
i guess figuring a way of feeding a “directed graph”, “connected graph”, “spanning tree” data set in, to generate line positions from attributes of that data within a localised world space is the direction to go?
You graph is already a connected graph (no unconnected/orphan points) and a spanning tree (every connected tree graph is a automatically a spanning tree). If you were to put arrows on the lines it would be a directed graph too.
You could try creating a simple JSON file with a tiny graph in it and loading that up. For bigger data sets I would search around and see if there are any standard approaches/formats for storing graph data.