IP Library Granted Patent US 7,940,262
Granted Patent B2
US 7,940,262 · App. 11/763,585 · Granted May 10, 2011

Unification and part hiding in three dimensional geometric data

Assignee: Right Hemisphere Limited
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,940,262
App. No.
11/763,585
Granted
May 10, 2011
Kind
B2
Abstract

Technology is disclosed for improving the rendering of a three-dimensional (3D) object. In one aspect, the technology applies multi-scale visibility patches and adjacency heuristics to restore proper face and normals orientation at a per-object and per-polygon level; and target where best to apply ray-casting metrics to refine visibility determination.

Claims (44)

1. A computer implemented method for improving a rendering of a view in a three dimensional scene of a Computer Aided Design (CAD) object, the view comprising a plurality of polygons visible from a variety of viewing angles, comprising:

receiving the CAD object from a first processing device;

outputting healed visualization data based on the CAD object by:

removing internal parts of the object defined in the scene, the internal parts being hidden in the plurality of viewing angles; and

unifying portions of the scene on a per object and per polygon level by applying, for a first set of triangles, a heuristic to determine proper normal orientation for a triangle face and for a second set of triangles, selectively applying a ray-casting technique to determine proper normal orientation.

2. The computer implemented method of claim 1 wherein the step of removing internal parts comprises:

spatially classifying a tessellated mesh comprising a plurality of triangles representing at least one polygon;

directing rays from a subset of the plurality of viewing angles through the mesh;

determining which parts are intercepted; and

calculating a ratio of positive to negative hits and if the ratio is zero, removing a part from the object rendering.

3. The computer implemented method of claim 2 wherein the step of spatially classifying the tessellated mesh includes classifying the mesh into a grid-volume approximation and the step of determining comprises performing a ray-intersection test on each ray and at least one triangle.

4. The computer implemented method of claim 3 further including determining orientation direction of each intersecting triangle based on a sign of a dot-product determination of the ray-intersection test.

5. The computer implemented method of claim 4 wherein the step of unifying includes the steps of determining patches within the polygon based on connectivity between the triangles.

6. The computer implemented method of claim 5 further including the step of mapping connectivity information for each triangle into a data structure.

7. The computer implemented method of claim 6 further including determining for each triangle in each polygon a first possible growth path direction for a patch, testing the growth path, and setting a boundary or growing a patched in said direction based on said testing, thereby providing at least one patch.

8. The computer implemented method of claim 7 further including processing the patch to determine a correct direction of a normal for the patch.

9. The computer implemented method of claim 8 wherein the step of processing the patch includes:

finding a current patch and a neighbor patch, the neighbor patch having strongest evidence of inversion relative to other neighbor patches; and

determining whether the connectivity mapping information exceeds a threshold, and if so, marking the neighbor as inverted and if not, performing ray-casting on the neighbor.

10. The computer implemented method of claim 9 further including setting the neighbor patch as a current patch and repeating said steps of finding and determining.

11. A computer implemented process for creating three dimensional object view data, comprising:

receiving a CAD object from a first processing device;

outputting healed visualization data based on the CAD object by:

accessing three dimensional object data comprising a plurality of polygons having borders;

removing internal parts of the object in a scene, the internal parts being hidden when rendering the three dimensional object in a plurality of viewing angles; and

unifying portions of the object and applying evidence based heuristics to determine a normal direction for at least a subset of unified portions by applying, for a first set of triangles, a heuristic to determine proper normal orientation for a face and for a second set of triangles, applying a ray-casting technique to determine proper normal orientation.

12. The process of claim 11 wherein said step of applying ray-casting is performed for each unified portion having a normal direction not determined by applying evidence based heuristics.

13. The process of claim 11 wherein the step of unifying includes the steps of determining patches within the polygon based on connectivity between the triangles.

14. The process of claim 13 further including the step of mapping connectivity information for each triangle into a data structure.

15. The process of claim 14 further including determining for each triangle in each polygon a first possible growth path direction for a patch, testing the growth path, and setting a boundary or growing a patched in said direction based on said testing, thereby providing at least one patch.

16. The process of claim 15 further including processing the patch to determine a correct direction of a normal for the patch, said processing comprising:

finding a current patch and a neighbor patch with strongest evidence of inversion relative to other neighbor patches; and

determining whether the connectivity mapping information exceeds a threshold, and if so, marking the neighbor as inverted and if not, performing ray-casting on the neighbor.

17. The process of claim 11 wherein the step of removing internal parts comprises:

spatially classifying a tessellated mesh comprising a plurality of triangles representing at least one polygon;

directing rays from a subset of the plurality of viewing angles through the mesh;

determining which parts are intercepted; and

calculating a ratio of positive to negative hits and if the ratio is zero, removing the part from the object rendering.

18. A non-transitory computer readable medium having instructions stored thereon, the instructions causing a processing device to execute a method comprising:

accessing a three dimensional CAD object data comprising a plurality of polygons having borders; and

outputting healed visualization data based on the CAD object by:

removing internal parts of the object in a scene, the internal parts being hidden when rendering the three dimensional object in a plurality of viewing angles;

unifying portions of the object and applying evidence based heuristics to determine a normal direction for at least a first set of triangles to determine proper normal orientation for a triangle face and for a second set of triangles, selectively applying ray-casting to determine a normal direction a second subset of the triangles; and

rendering the three dimensional object using the healed visualization data.

Assignments (6)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
MERGER Recorded Jun 18, 2012
From: RIGHT HEMISPHERE LIMITED
To: SAP AMERICA, INC
Reel/Frame 028416/0227 →
LIEN RELEASE Recorded Feb 8, 2012
From: BRIDGE BANK, NATIONAL ASSOCIATION
To: RIGHT HEMISPHERE LIMITED
Reel/Frame 027690/0270 →
SECURITY AGREEMENT Recorded Jul 24, 2008
From: RIGHT HEMISPHERE LIMITED
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 021281/0791 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 019761 FRAME 0441. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION OF ASSIGNEE FROM RIGHT HEMISHPERE LIMITED TO -- RIGHT HEMISPHERE LIMITED. Recorded Sep 4, 2007
From: KONEV, MAX; SHAFER, MARK; FISHER, JED
To: RIGHT HEMISPHERE LIMITED
Reel/Frame 019779/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2007
From: KONEV, MAX; SHAFER, MARK; FISHER, JED
To: RIGHT HEMISHPERE LIMITED
Reel/Frame 019761/0441 →
Continuity (2)
Provisional Application 60804917 · Jun 15, 2006
Related Publication 20070291029A1 · Dec 20, 2007