6 posts / 0 new
Last post
ForumImport
Offline
Last seen: 8 years 10 months ago
Joined: 09/22/2009 - 18:47
K-3D + VTK/Titan

Continuing the exploration of possibilities for K-3D to be used as platform for invfovis modeling and story telling, I was wondering if there would be any insights about the possibility of building a bridge between K-3d and VTK/Titan. Basically, we are focusing our project in two parts:
1.) Data to Model (preparing data to be seen)
2.) Model to Render (viewing data with visual properties)
Clearly the K-3D sdk is a perfect fit for the model-to-render aspect. For the data-to-model focus we are considering the VTK/Titan api. In this case the idea would be to "bridge" the apis through the pipeline and interface.
Any brainstorming thoughts on the subject? Much appreciated!
JB

ForumImport
Offline
Last seen: 8 years 10 months ago
Joined: 09/22/2009 - 18:47
K-3D + VTK/Titan

JB:
Well, K-3D is a pipeline architecture targeted at artists, VTK is a pipeline architecture targeted at scientific visualization, and Titan is an extension to VTK targeted at Infovis. This is why I asked about your problem domain, earlier. If you feel that Titan is the best fit for data ingestion and modeling, I'd be curious why you wouldn't consider it for your visualization?
Cheers,
Tim

ForumImport
Offline
Last seen: 8 years 10 months ago
Joined: 09/22/2009 - 18:47
K-3D + VTK/Titan

Hi Tim,
One of the "value propositions" of our work is to put two concepts of working approaches together - art and science. When you look at most info visualization approaches, they are "pattern" based, meaning data in and a very specific output out - e.g. map or scatter plot. In contrast, an artist usually looks at primitive objects and puts them together for meaning - a far more freeform process. We see the infovis design domain needing a more atomic approach. We like the idea that there are certain logics and primitives, and they can be mixed for different results. If an architecture supports atomic evolution, it can easily grow with new approaches.
Let's look at an example: Consider a cube and polygon. You can use a cube for a bar chart; you can use a polygon for a map (country border). You can use a cube and polygon to create a symbolized map. You can color the polygon and size the cube. Or you can size the polygon (cartogram) and color the cube. But perhaps the map coordinate does not work. You can change the poly nodes to a graph, and size the nodes based on centrality; or forget the polygon, keep the cube and order it as a treemap. Add a fourth variable, no problem - extrude the cube and create a 4d treemap. Still need the map? Fine, project it on a new plane in the scene. Overall, you are not intent to build a chart or map or graph - you are trying to understand data and gain insight. Our project intends to demonstrate that taking an atomic view of info design enables more possibilities for fluid analysis.
We also look to the 3d modeling world for its expressive nature. Simply, analysis should produce a story of insight and clearly 3d modeling has proven itself as an excellent platform for complex storytelling. In other words, sure we could use VTK for a treemap or graph representation, but what about creating a flythrough movie of how climate change is affecting the world food supply? What if Minard tried to make his famous Napoleon March graphic with software today - he'd fail...it was done by hand :-)
We find the possibility to bring these areas together as a possible opportunity for synergy - science continues to produce great methods of logic, and art continues to find new expressions. From a technology perspective, there's an interesting connection. From an analyst perspective, I'm looking forward to a potential where the tool is not a limitation, but a "freedom" of expressing data...
Make sense?
JB

ForumImport
Offline
Last seen: 8 years 10 months ago
Joined: 09/22/2009 - 18:47
K-3D + VTK/Titan

JB:
Can't argue with you here - breaking beyond "canned" visualizations is something that I'm extremely interested in too, and your passion for the topic shines through. Having said that, if it were me, I would stick with one toolkit or another, if only to reduce the learning curve. K-3D and Titan are both large, complex projects, and my opinion is that you'd be better off becoming experts in one than half-experts in both. Regardless, I'm a regular contributor to both K-3D and Titan, so I'm happy to lend a hand no matter the approach you decide on.
Cheers,
Tim

ForumImport
Offline
Last seen: 8 years 10 months ago
Joined: 09/22/2009 - 18:47
K-3D + VTK/Titan

Hi Tim,
Thanks for the inputs - very useful for our assessment and research. Indeed, there is a lot involved in become fully versed in both Titan and K-3d. We noticed that there as been limited development in looking at data and creativity pipeline approaches as one. The closest I've see so far is found here:
http://archive.ncsa.illinois.edu/prajlich/vtkActorToPF/
This leads us to wonder if there is merit in a concept of vtkActorToK3D :-)
Cheers,
JB

ForumImport
Offline
Last seen: 8 years 10 months ago
Joined: 09/22/2009 - 18:47
K-3D + VTK/Titan

JB:
A vtkActor terminates a VTK pipeline to render data into a 3D scene by combining data (what to render), a matrix transformation (where to render), and a vtkMapper (how to render it). Although the terminology differs, K-3D provides virtually identical concepts: a MeshInstance combines geometric data from a K-3D pipeline with a transformation and painter(s) that do the actual rendering. So bridging the two tools at the actor doesn't make much sense - if you were to go down that path, I would imagine that you would do something along the lines of
VTK Data Ingestion -> VTK Data Transformation -> VTK Modeling -> Conversion to K-3D -> K-3D MeshInstance -> K-3D Painter(s).
Note that you are creating a single pipeline, spread across two toolkits, which is why it isn't my recommendation. Regardless, the work here is to:

Identify the VTK data structures to be used for ingestion, transformation, and modeling.
Implement VTK pipeline components to generate the desired model.
Create the component that "bridges" from a VTK pipeline to a K-3D pipeline.
Map VTK data structures to their corresponding K-3D data structures.
Implement K-3D pipeline components and painters to render the model.

Cheers,
Tim

Log in or register to post comments