Procedurally generating and rendering a graph

   2506   2   1
User Avatar
Member
2 posts
Joined: Nov. 2010
Offline
Hi,

I'm new to houdini but very impressed so far. I'm working on a info visualization demo that involves visualizing/rendering various 2D network graphs as inter connected layers in a 3d space (so essentially a lattice). I've been looking at various libraries/platforms for doing this such as ubigraph (http://ubietylab.net/ubigraph/) [ubietylab.net] and had settled on using processing but ran into too many performance difficulities which resulted in many dropped frames when trying to render to a file. For an example of what i'm trying to achieve the force directed graphs at http://www.shiffman.net/itp/classes/nature/toxiclibs_2010/forcedirectedgraph/ [shiffman.net] are what i'm looking for except I need several ‘layers’ or planes in a 3D volume each with a different graph (eventually will animate connections between these layers as additional edges).

Houdini seems ideal as it would allow me to use both the scripting power of python (and the NetworkX library) to generate/manipulate the graph layers while composting other graphics/animations on top of the basic graph visualization. I've successfully gotten the NetworkX library loaded in the python shell within houdini, but I'm unsure what the best why to go about drawing the nodes (spheres) and edges (tubes) to handle a large number of such identical objects (e.g. instancing or copy) and even how to go about creating each network graph as an object with addressable components, so that I can animate, color and otherwise decorate them all while maintaining some reasonable render times.

My problem right now is that I'm under a fairly tight deadline for a proof of concept, and from what I've found so far, not sure what the best node/edge (sphere/tube) structure would be for this in houdini. All the documentation I've found talks about modifying the node/graph structure of the houdini editor, and all I need is a basic loop to draw spheres with connected tubes to a plane in the viewport/renderer rather than the underlying model. Any pointers or suggestions would be greatly appreciated.

Thanks in advance,
IB
User Avatar
Member
401 posts
Joined:
Offline
addSOP, copySOP and foreachSOP are your friends.
There are many postings on odforce and here at SESI.
This might give you a start:
http://rdg.preset.de/2010/1107/0003_0003/ [rdg.preset.de]

Still you might find that Houdini targets at the VFX market and it's requirements.
this is not a science fair.
User Avatar
Member
2 posts
Joined: Nov. 2010
Offline
Much obliged, this is just the tip I needed. While I reaize Houdini is focused on the vFX community, that is precisely what drew me to it. That and a conceptual approach that is very appealing. Thanks again, I'll post an update if I get anywhere.

IB
  • Quick Links