×

Bounding box and projections detection of hidden polygons in three-dimensional spatial databases

  • US 5,574,835 A
  • Filed: 11/02/1995
  • Issued: 11/12/1996
  • Est. Priority Date: 04/06/1993
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for generating an image from a database including a plurality of three-dimensional objects, each said three-dimensional object comprising at least one polygon having at least one edge and allowing for each said object to have an unlimited number of said polygons and edges, and for successively determining whether a particular selected one of said at least one polygon designated a current test polygon is not visible to an observer located at a predetermined eyepoint coordinate location by virtue of being hidden by previously selected ones of said three-dimensional objects in said database designated as test objects and therefore said test polygon does not need to be rendered by a renderer;

  • said method comprising the steps of;

    (A) selecting a particular one of said plurality of three-dimensional object as a current test object from among said plurality of three-dimensional objects in said database, said selecting being performed on said plurality of three-dimensional objects in arbitrary order without pre-sorting said three-dimensional geometry of objects according to a z coordinate distance from said predetermined eyepoint coordinate location prior to said selection;

    (B) selecting, for each said selected particular three-dimensional current test object, each one of said polygons within said selected three-dimensional test object as said current test polygon;

    (C) for each said selected current test polygon, determining whether said current test polygon is not visible to an observer located at a predetermined eyepoint coordinate location by virtue of being hidden by ones of said test objects that have been previously selected;

    said step of determining whether said current test polygon is not visible to an observer including the steps of;

    (1) determining the exterior region of said current test object as the union of bounding boxes of exterior polygons, where said exterior polygons are identified by successively comparing each edge in each polygon of said current test object with the edges in all other polygons of said same current test object and said comparisons identify either an edge shared with a back facing polygon or an edge that is not shared by any another polygon, wherein a polygon is a back facing polygon of said test object when said test object is topologically closed and when said polygon is located on a far side of said test object relative to said predetermined observer eyepoint coordinate location;

    (2) determining the interior region of said test object as the union of bounding boxes of interior polygons, where a said interior polygon is identified bybeing neither a said exterior polygon nor as a polygon having its projected bounding box overlap with a projected bounding box of a said exterior polygon, said overlap being the sharing of a common region between each of two projected bounding boxes, said common region including a one-dimensional edge and a two-dimensional area;

    (3) testing for said overlap between the projected bounding box of said test polygon and the projected bounding boxes of said exterior polygons and the projected bounding boxes of said interior polygons;

    (4) determining that said test polygon is not visible if;

    (a) any of said overlaps occur between said projected bounding box of said test polygon and said bounding boxes of said interior polygons, and(b) said overlaps do not occur between said projected bounding box of said test polygon and said bounding boxes of said exterior polygons, and(c) for all said occurring overlaps between said projected bounding box of said test polygon and a said bounding box of a said interior polygon, the Z coordinate values of said bounding box of said test polygon are all farther from said predetermined eyepoint coordinate location of said observer than the Z coordinate values of the said bounding box of said interior polygon;

    (5) discarding any of said test polygons that are determined to be not visible from said predetermined eyepoint location and rendering any of said test polygons that are not determined to be hidden by said test objects and may be visible and not hidden by said test objects; and

    (6) retaining each said test polygon that may be visible and has not been discarded, and using each said retained polygon as a polygon of its corresponding three-dimensional object when said object is processed as a previously selected test object; and

    (D) repeating steps (A) through (C) with each said three-dimensional object in said database as said current test object; and

    (E) directing a display process to perform or omit displaying each said test polygon on a display device depending on whether each said test polygon is determined to be visible or hidden.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×