Display of hierarchical three-dimensional structures with rotating substructures - Robertson, George G.; Mackinlay, Jock; Card, Stuart K. (1994)
A processor presents a sequence of images of a hierarchical structure that is perceived as three-dimensional. The hierarchical structure includes conic substructures that can have vertical or horizontal axes. Each cone has a parent node at its vertex and children nodes along its base, each with a link to the parent node. Each child can in turn be at the vertex of another cone. The cones can be rotated in steps that produce the perception of object constancy for each node. For example, if the user requests that an indicated node be moved to a primary viewing position, each of the cones along the path from the indicated node to the root node is rotated in the direction that most directly moves the indicated node to the primary viewing position. Each node can include a selectable unit for indicating it, and a node can also include a grow tab that can be selected to request presentation of its children nodes and links to them. The user can request that the children nodes of a node be replaced by a grow tab. To reduce the computation necessary for each step of rotation, the position relative to a cone's axis for each of 80 points on the base of a cone is computed for a level of the hierarchy and is then stored in an array for subsequent use in positioning nodes on that level. The base point of each node on a rotating cone can then be changed in a linked node data structure, and its new position can then be obtained by simple arithmetic operations using the axis coordinates and the appropriate data from the array. The base of each array can be a polygon whose vertices are nodes, and the base shape can be presented as a shadow to provide additional information and strengthen the perception of three dimensions. Or, the profiles of the cones can be presented as a shadow.