Method for loading and displaying gridded data by determining the usefulness of a particular vertex
OwnerJason A. Moore, Aaron W. McVayinventors
Life of this patent
Estimating the term…
Abstract
Method, computer executable program and apparatus for displaying massive amounts of potentially non-uniform gridded data through the use of view dependant refinement. An initial minimal representation is created. A view dependant refinement criterion is then used to ascertain the perceived quality. If necessary, refinements and decimations to the current representation are performed. The representation is then provided to graphics hardware for display.
Claims3
Method for displaying gridded datasets, comprising the steps of:
- creating at least one level tree node by a computer;
- IF more than one tree node is created, THEN
- linking neighboring said tree nodes;
- OTHERWISE
- measuring the defined quality of said at least one tree node;
- IF said defined quality is less than a predetermined goal, THEN
- refining a particular view, further comprising the steps of
- determining the usefulness of a particular vertex of gridded data;
- retrieving additional data so as to satisfy a view refinement criteria;
- and
- performing a redraw;
- OTHERWISE
- IF said defined quality exceeds a predetermined goal, THEN
- decimating a particular view;
- OTHERWISE
- generating triangle fans from said at least one tree node so as to facilitate their rendering as an input to a graphical display;
- wherein said step of generating triangle fans further comprises the steps of:
- for each said at least one tree node, a first step of transforming the current vertex position of its originating center index node into a coordinate system of interest;
- a first step of adding said transformed current vertex position to an initially empty draw list;
- a first step of following said transformed current vertex's upward link to a first index node;
- a second step of transforming the current vertex position of said first index node into said coordinate system of interest;
- a second step of adding said transformed current vertex position of said first index node to the end of said draw list;
- determining whether said current vertex has a bottom link;
- IF said current vertex does NOT have a bottom link, THEN
- returning to said first step of following;
- OTHERWISE
- a second step of following said transformed current vertex's downward link to a second index node;
- a third step of adding said transformed current vertex position of said second index node to the end of said draw list;
- determining whether said current vertex has a right link OR said right link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a right link OR said right link points to said vertex position of said originating center index node, THEN
- returning to said second step of following;
- OTHERWISE
- a third step of following said transformed current vertex's rightward link to a third index node;
- a fourth step of adding said transformed current vertex position of said third index node to the end of said draw list;
- determining whether said current vertex has a top link OR said top link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a top link OR said top link points to said vertex position of said originating center index node, THEN
- returning to said third step of following;
- OTHERWISE
- a fourth step of following said transformed current vertex's upward link to a fourth index node;
- and
- a fifth step of adding said transformed current vertex position of said fourth index node to the end of said draw list;
- determining whether said current vertex has a left link OR said left link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a left link OR said left link points to said vertex position of said originating center index node, THEN
- returning to said fourth step of following;
- OTHERWISE
- a fifth step of following said transformed current vertex's leftward link to a fifth index node;
- a sixth step of adding said transformed current vertex position of said fifth index node to the end of said draw list;
- determining whether said current vertex has a bottom link;
- IF said current vertex does NOT have a bottom link, THEN
- returning to said fifth step of following;
- OTHERWISE
- outputting said triangle fan to the input of a graphical display process.
A non-transitory tangible computer readable medium containing a computer executable program for displaying gridded datasets, wherein said computer executable program, when read, will cause a computer to perform the steps of:
- creating at least one level tree node;
- IF more than one tree node is created, THEN
- linking neighboring said tree nodes;
- OTHERWISE
- measuring the defined quality of said at least one tree node;
- IF said defined quality is less than a predetermined goal, THEN
- refining a particular view, further comprising the steps of
- determining the usefulness of a particular vertex of gridded data;
- retrieving additional data so as to satisfy a view refinement criteria;
- and
- performing a redraw;
- OTHERWISE
- IF said defined quality exceeds a predetermined goal, THEN
- decimating a particular view;
- OTHERWISE
- generating triangle fans from said at least one tree node so as to facilitate their rendering as an input to a graphical display;
- wherein within said step of generating triangle fans, said computer executable program further causes said computer to perform the steps of:
- for each said at least one tree node, a first step of transforming the current vertex position of its originating center index node into a coordinate system of interest;
- a first step of adding said transformed current vertex position to an initially empty draw list;
- a first step of following said transformed current vertex's upward link to a first index node;
- a second step of transforming the current vertex position of said first index node into said coordinate system of interest;
- a second step of adding said transformed current vertex position of said first index node to the end of said draw list;
- determining whether said current vertex has a bottom link;
- IF said current vertex does NOT have a bottom link, THEN
- returning to said first step of following;
- OTHERWISE
- a second step of following said transformed current vertex's downward link to a second index node;
- a third step of adding said transformed current vertex position of said second index node to the end of said draw list;
- determining whether said current vertex has a right link OR said right link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a right link OR said right link points to said vertex position of said originating center index node, THEN
- returning to said second step of following;
- OTHERWISE
- a third step of following said transformed current vertex's rightward link to a third index node;
- a fourth step of adding said transformed current vertex position of said third index node to the end of said draw list;
- determining whether said current vertex has a top link OR said top link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a top link OR said top link points to said vertex position of said originating center index node, THEN
- returning to said third step of following;
- OTHERWISE
- a fourth step of following said transformed current vertex's upward link to a fourth index node;
- and
- a fifth step of adding said transformed current vertex position of said fourth index node to the end of said draw list;
- determining whether said current vertex has a left link OR said left link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a left link OR said left link points to said vertex position of said originating center index node, THEN
- returning to said fourth step of following;
- OTHERWISE
- a fifth step of following said transformed current vertex's leftward link to a fifth index node;
- a sixth step of adding said transformed current vertex position of said fifth index node to the end of said draw list;
- determining whether said current vertex has a bottom link;
- IF said current vertex does NOT have a bottom link, THEN
- returning to said fifth step of following;
- OTHERWISE
- outputting said triangle fan to the input of a graphical display process.
Apparatus for displaying gridded datasets, comprising:
- means for creating at least one level tree node;
- IF more than one tree node is created, THEN
- means for linking neighboring said tree nodes;
- OTHERWISE
- means for measuring the defined quality of said at least one tree node;
- IF said defined quality is less than a predetermined goal, THEN
- means for refining a particular view, further comprising means for
- determining the usefulness of a particular vertex of gridded data;
- retrieving additional data so as to satisfy a view refinement criteria;
- and
- means for performing a redraw;
- OTHERWISE
- IF said defined quality exceeds a predetermined goal, THEN
- means for decimating a particular view;
- OTHERWISE
- means for generating triangle fans from said at least one tree node so as to facilitate their rendering as an input to a graphical display;
- wherein said means for generating triangle fans further comprises means for:
- for each said at least one tree node, a first means for transforming the current vertex position of its originating center index node into a coordinate system of interest;
- a first means for adding said transformed current vertex position to an initially empty draw list;
- a first means for following said transformed current vertex's upward link to a first index node;
- a second means for transforming the current vertex position of said first index node into said coordinate system of interest;
- a second means for adding said transformed current vertex position of said first index node to the end of said draw list;
- means for determining whether said current vertex has a bottom link;
- IF said current vertex does NOT have a bottom link, THEN
- means for returning to said first step of following;
- OTHERWISE
- a second means for following said transformed current vertex's downward link to a second index node;
- a third means for adding said transformed current vertex position of said second index node to the end of said draw list;
- means for determining whether said current vertex has a right link OR said right link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a right link OR said right link points to said vertex position of said originating center index node, THEN
- means for returning to said second step of following;
- OTHERWISE
- a third means for following said transformed current vertex's rightward link to a third index node;
- a fourth means for adding said transformed current vertex position of said third index node to the end of said draw list;
- means for determining whether said current vertex has a top link OR said top link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a top link OR said top link points to said vertex position of said originating center index node, THEN
- means for returning to said third step of following;
- OTHERWISE
- a fourth means for following said transformed current vertex's upward link to a fourth index node;
- and
- a fifth means for adding said transformed current vertex position of said fourth index node to the end of said draw list;
- means for determining whether said current vertex has a left link OR said left link points to said vertex position of said originating center index node;
- IF said current vertex does NOT have a left link OR said left link points to said vertex position of said originating center index node, THEN
- means for returning to said fourth step of following;
- OTHERWISE
- a fifth means for following said transformed current vertex's leftward link to a fifth index node;
- a sixth means for adding said transformed current vertex position of said fifth index node to the end of said draw list;
- means for determining whether said current vertex has a bottom link;
- IF said current vertex does NOT have a bottom link, THEN
- means for returning to said fifth step of following;
- OTHERWISE
- means for outputting said triangle fan to the input of a graphical display process.
Dependencies are inferred from the claim text.