Handling Visual Complexity
August 18, 2011 §
The scaling problem is ubiquitous in computer science, including visualisation. We must consider both a visualisation’s Efficiency (computational complexity), as well as it’s Effectiveness (visual complexity).
There are three approaches to handling visual complexity;
- 3 dimensions. (though this doesn’t necessarily help that much due to occlusion and unnatural navigation issues)
- Interaction. (allowing for the spread of data over another dimension such as time)
- Clustering. (viewing abstractions of the data)
Interaction Flow is important, and it is essential that the cognitive complexity of the navigating visualisation, is minimised with a simplistic mental map. In order to preserve the mental map, the cognitive difference between Keyframes should be small. These guidelines suggest how this cognitive difference can be minimised, by preserving:
(One simple algorithm that follows these guidelines is connecting the keyframes with springs).
(Another simple, but inelegant method of animating in-between frames is using linear interpolation, though this doesn’t work well with abstract data. This is where Affine Transformations come in (rotation, translation, stretch), a few of these can be followed easily by humans simultaneously. This can be implemented through least squares approximation. Multiple affines can also be computed through clustering like k-means.
Clustering abstracts the data up a level or two.
Clustered Graph = (G,T), where G = Classical Graph, T = Tree.
‘Precis’ (summaries) are required, groups of nodes under a set level, an anti-chain.
Basic human interaction to be implemented includes manual ‘drilling down’, followed by automatic ‘drilling up’ (which can be the ‘least recently used’ or ‘lowest degree of interest’ item).
- How do you do this geometrically? This is a tough and interesting area, expanding the layout (and compacting areas) whilst maintaining a mental map.