3D Data Visualization

This idea came from one specific application, but it would be useful to generalize it as well.

Sometimes you have some data you want to graph that is three dimensional. There are a lot of good 2D graphing apps out there, like RRDTool and SWF Charts. In fact, SWF Charts can do almost what I'm looking for, see the 3D Area Chart.

I want to graph the activity in an IRC channel over time, grouped by day of the week.

X-axis: Week number

Y-axis: Day of the week

Z-axis: Number of messages

This kind of grouping applies in many circumstances. It would show changes and trends over time very well. It could also be used to group by hour of the day. Or for more historical data, Y axis is the month, and X axis is the year.

It would be neat to be able to "fly" around the graph, zooming in and out and rotating the graph.

Flash and Java both seem like good tools, and each has its advantages and disadvantages. Flash is good because it is more prominent and would load quicker. But there is no native 3D support in Flash, so all the transformations would be done with vector math. Java has built-in 3D support and would do all that for you, but it takes longer to load up a Java app.

Once this is developed, there are a few data sets I would like to plug in:

IRC Channel activity, grouped by day of week and by hour of day

Average distance from home from GPS Data, grouped by day of week and by hour of day