US 7,587,409 B2
Computer-implemented system and method for handling node-link representations
Jyoti Yakowenko, Raleigh, N.C. (US); and Sanjay N. Matange, Cary, N.C. (US)
Assigned to SAS Institute Inc., Cary, N.C. (US)
Filed on Sep. 24, 2004, as Appl. No. 10/949,166.
Prior Publication US 2006/0074926 A1, Apr. 06, 2006
Int. Cl. G06F 7/00 (2006.01); G06F 17/00 (2006.01); G06F 3/00 (2006.01)
U.S. Cl. 707—102  [715/713] 33 Claims
OG exemplary drawing
 
1. A computer-implemented method for displaying nodes on a display device, wherein the nodes have a hierarchical context, said method comprising:
receiving positional information associated with a plurality of nodes;
using the positional information to generate a display for the nodes in response to a change in focal position;
wherein the using of the positional information includes performing an angular transformation upon the plurality of nodes' node positional information in order to angularly displace each of the plurality of nodes;
wherein a conal transformation is performed upon the angularly transformed node positional information in order to generate a three-dimensional conal layout of the nodes;
wherein generating the display for the nodes in response to a change in focal position includes displaying the generated conal layout of the nodes;
wherein the generated display includes displaying each of the plurality of nodes whose positional information was used in performing the angular transformation;
wherein the generated conal layout of the nodes maintains hierarchical contextual information about the nodes;
wherein the angular transformation and the conal transformation were performed upon the nodes when generating the display for the nodes in response to the change in focal position;
wherein said performing an angular transformation upon the plurality of nodes' node positional information comprises:
determining a focus theta angle that defines direction from a focus node to a root node;
determining nodal offsets with respect to center of the display;
determining geometric distances from the center;
for the geometric distances that are not zero, determining theta angles that are equal to a trigonometric transformation of the determined geometric distances;
comparing the determined theta angles with the determined focus theta angle in order to determine relative theta angles for the nodes;
wherein the relative theta angles are determined differently based upon whether: a theta angle for a node is less than the focus theta angle, a theta angle for a node is equal to the focus theta angle, or a theta angle for a node is greater than the focus theta angle;
if a determined relative theta angle has a positive value, then determining a second theta angle for a node based upon a first equation;
wherein the first equation determines a second theta angle for a node that is equal to:
−(1+dt)*(FocusTheta−minAng)/(dt+1/relTheta)+FocusTheta;
 wherein the dt for a node in the first equation is indicative of an angular distortion strength factor;
 wherein the FocusTheta for a node in the first equation is indicative of the focus theta angle determined for the node;
 wherein the relTheta for a node in the first equation is indicative of the relative theta angle determined for the node;
if a determined relative theta angle has a zero value, then determining a second theta angle for a node based upon a second equation;
wherein the second equation determines a second theta angle that is equal to a focus theta angle for a node;
if a determined relative theta angle has a negative value, then determining a second theta angle for a node based upon a third equation;
wherein the third equation determines for a node a second theta angle that is equal to:
(1+dt)*(maxAng−FocusTheta)/(dt+1/relTheta)+FocusTheta;
 wherein the dt for a node in the third equation is indicative of an angular distortion strength factor;
 wherein the FocusTheta for a node in the third equation is indicative of the focus theta angle determined for the node;
 wherein the relTheta for a node in the third equation is indicative of the relative theta angle determined for the node;
 wherein the maxAng and the minAng for a node define angle of the conal layout;
wherein the three-dimensional conal layout of the nodes is generated using the determined second theta angles for the nodes.