I’ve started yet another background project studying ways that Papervision 3D can be used for 3D data visualization. One of the earliest techniques in this area (for hierarchical data) was Cone Trees. The example below illustrates a very simple Papervision cone tree. Actual cones are used as the representation of the root node for a few reasons. First, I plan on having both free and target cameras available for tree/node visualization and fly-through. Cones are easily seen from any camera angle. Cones are already colored based on whether or not the node has children. The size of a cone may indicate the relative number of children (tall/thin -> few children, short/fat -> many children). This is helpful as I plan to add the ability to expand/contract nodes in the future.
Although visually unimpressive, the BaseCone class upon which the above image was created supports on-the-fly addition of children, with automatic repositioning of child nodes throughout the hierarchy. This makes it useful for on-the-fly parsing of XML data, for example.
Still a lot of work to do in automatically adjusting each level to avoid overlaps as children are added and all the camera support needs to be added.
I’ll keep plugging along. In the mean time, thanks to Ralph Hauwert for his explanation of some of the PV3D internals. I can’t figure out how these PV3D guys have time to make a living, raise families, and work on Papervision. They must really be from the planet Krypton 🙂
7 thoughts on “Flex 3D Data Visualization with Papervision”
where’s the demo link?
Felix – demo will follow once the base code is a bit more mature. I’d like to be in a position to distribute the source code along with a demo. The code may also make its way into an open source Flex visualization project, so demos might actually stem from that source.
Have you thought about using spheres instead of cones? Also, how did you draw those lines in Papervision?
Thanks, JT. This is why I like getting feedback at early stages of development. Others have suggested no geometry at the root and using line thickness and color. Your suggestion has merit considering there was a bug in the PV3D Cone class that required alteration of that source code.
The lines were drawn using the Lines3D and Line3D Classes in the Phunky branch of Papervision. If there is sufficient interest, I might deconstruct the line drawing code in a future post.
I am on a project for visualizations of parent-children (family) hierachies. Your classes could really help me out. any plan of releasing them soon?
this looks very useful – I’d also like to know when this could be available for download?
Comments are closed.