IP Library › Granted Patent US 9,978,173
Granted Patent B2
US 9,978,173 · App. 15/221,099 · Granted May 22, 2018

Generating views of three-dimensional models illustrating defects

Inventors: Naveen Goel (Noida, IN); Mayur Hemani (New Delhi, IN); Harsh Vardhan Chopra (New Delhi, IN); Amit Mittal (Noida, IN)
Assignee: ADOBE SYSTEMS INCORPORATED
G06T17/00G06K9/6218G06T7/0002G06T15/04G06T15/06G06T15/205G06T2200/04G06T2200/08
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 9,978,173
App. No.
15/221,099
Granted
May 22, 2018
Kind
B2
Abstract

Systems and methods are disclosed for generating viewpoints and/or digital images of defects in a three-dimensional model. In particular, in one or more embodiments, the disclosed systems and methods generate exterior viewpoints by clustering intersection points between a bounding sphere and rays originating from exterior vertices corresponding to one or more defects. In addition, in one or more embodiments, the disclosed systems and methods generate interior viewpoints by clustering intersection points between one or more medial spheres and rays originating from vertices corresponding to interior vertices corresponding to one or more defects. Furthermore, the disclosed systems and methods can apply colors to vertices corresponding to defects in the three-dimensional model such that adjacent vertices in the three-dimensional model have different colors and are more readily discernable.

Claims (65)

1. In a digital medium environment for designing and printing three-dimensional objects, a computer implemented method of generating digital images displaying defects in three-dimensional models to aid in identifying and correcting the defects, the computer implemented method comprising:

generating a bounding sphere about a three-dimensional model;

identifying a set of affected vertices of the three-dimensional model, wherein each vertex of the set of affected vertices is associated with one or more defects;

generating a plurality of rays originating from each vertex of the set of affected vertices toward the bounding sphere;

identifying a plurality of intersection points between the bounding sphere and the plurality of rays originating from each vertex of the set of affected vertices;

generating viewpoints by clustering the plurality of intersection points between the plurality of rays and the bounding sphere; and

generating a digital image of the three-dimensional model from each viewpoint, each digital image capturing one or more vertices of the set of affected vertices of the three-dimensional model.

2. The method of claim 1 , wherein generating the bounding sphere further comprises selecting a radius of the bounding sphere based on a size of the three-dimensional model.

3. The method of claim 1 , wherein generating the viewpoints comprises:

applying a clustering algorithm to generate a first cluster of intersection points; and

generating a viewpoint based on the first cluster of intersection points.

4. The method of claim 3 , wherein generating the plurality of rays originating from each vertex of the set of affected vertices toward the bounding sphere comprises:

identifying a normal for a vertex of the set of affected vertices;

identifying a hemisphere centered on the vertex and oriented to the normal of the bounding sphere; and

casting the plurality of rays from the vertex toward the identified hemisphere.

5. The method of claim 3 , further comprising:

applying the clustering algorithm to identify a second cluster of intersection points;

generating a second viewpoint based on the second cluster of intersection points; and

providing for display a second digital image of the three-dimensional model and one or more vertices of the set of affected vertices from a perspective of the second viewpoint.

6. The method of claim 3 , wherein generating a digital image of the three-dimensional model from each viewpoint comprises:

generating a smallest number of digital images, that, between the digital images, include each vertex of the set of affected vertices of the three-dimensional model.

7. The method of claim 1 , wherein generating a digital image of the three-dimensional model from each viewpoint further comprises: applying a plurality of colors to the set of affected vertices such that all adjacent connected vertices of the set of affected vertices are different colors.

8. A system for generating digital images displaying defects in three-dimensional models to aid in identifying and correcting the defects, the system comprising:

at least one server; and

at least one non-transitory computer readable storage medium storing instructions that, when executed by the at least one server, cause the system to:

generate a bounding sphere about a three-dimensional model;

identify a set of affected vertices of the three-dimensional model, wherein each vertex of the set of affected vertices is associated with one or more defects;

generate a plurality of rays originating from each vertex of the set of affected vertices toward the bounding sphere;

identify a plurality of intersection points between the bounding sphere and the plurality of rays originating from each vertex of the set of affected vertices;

generate viewpoints by clustering the plurality of intersection points between the plurality of rays and the bounding sphere; and

generate a digital image of the three-dimensional model from each viewpoint, each digital image capturing one or more vertices of the set of affected vertices of the three-dimensional model.

9. The system of claim 8 , wherein the instructions, when executed by the at least one server, cause the system to generate the bounding sphere by selecting a radius of the bounding sphere based on a size of the three-dimensional model.

10. The system of claim 8 , wherein the instructions, when executed by the at least one server, cause the system to generate the viewpoints by:

applying a clustering algorithm to generate a first cluster of intersection points; and

generating a viewpoint based on the first cluster of intersection points.

11. The system of claim 10 , wherein the instructions, when executed by the at least one server, cause the system to generate the plurality of rays originating from each vertex of the set of affected vertices toward the bounding sphere by:

identifying a normal for a vertex of the set of affected vertices;

identifying a hemisphere centered on the vertex and oriented to the normal of the bounding sphere; and

casting the plurality of rays from the vertex toward the identified hemisphere.

12. The system of claim 10 , further comprising instructions that, when executed by the at least one server, cause the system to:

apply the clustering algorithm to identify a second cluster of intersection points;

generate second viewpoint based on the second cluster of intersection points; and

provide for display a second digital image of the three-dimensional model and one or more vertices of the set of affected vertices from a perspective of the second viewpoint.

13. The system of claim 10 , wherein the instructions, when executed by the at least one server, cause the system to generate the digital image of the three-dimensional model from each viewpoint by: generating a smallest number of digital images, that, between the digital images, include each vertex of the set of affected vertices of the three-dimensional model.

14. The system of claim 8 , wherein the instructions, when executed by the at least one server, cause the system to generate the digital image of the three-dimensional model from each viewpoint by: applying a plurality of colors to the set of affected vertices such that all adjacent connected vertices of the set of affected vertices are different colors.

15. A non-transitory computer readable medium storing computer instructions that, when executed by at least one processor, cause a computing device to:

generate a bounding sphere about a three-dimensional model;

identify a set of affected vertices of the three-dimensional model, wherein each vertex of the set of affected vertices is associated with one or more defects;

generate a plurality of rays originating from each vertex of the set of affected vertices toward the bounding sphere;

identify a plurality of intersection points between the bounding sphere and the plurality of rays originating from each vertex of the set of affected vertices;

generate viewpoints by clustering the plurality of intersection points between the plurality of rays and the bounding sphere; and

generate a digital image of the three-dimensional model from each viewpoint, each digital image capturing one or more vertices of the set of affected vertices of the three- dimensional model.

16. The non-transitory computer readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the computing device to generate the bounding sphere by selecting a radius of the bounding sphere based on a size of the three- dimensional model.

17. The non-transitory computer readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the computing device to generate the viewpoints by:

applying a clustering algorithm to generate a first cluster of intersection points; and

generating a viewpoint based on the first cluster of intersection points.

18. The non-transitory computer readable medium of claim 17 , wherein the instructions, when executed by the at least one processor, cause the computing device to generate the plurality of rays originating from each vertex of the set of affected vertices toward the bounding sphere by:

identifying a normal for a vertex of the set of affected vertices;

identifying a hemisphere centered on the vertex and oriented to the normal of the bounding sphere; and

casting the plurality of rays from the vertex toward the identified hemisphere.

19. The non-transitory computer readable medium of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:

apply the clustering algorithm to identify a second cluster of intersection points;

generate second viewpoint based on the second cluster of intersection points; and

provide for display a second digital image of the three-dimensional model and one or more vertices of the set of affected vertices from a perspective of the second viewpoint.

20. The non-transitory computer readable medium of claim 17 , wherein the instructions, when executed by the at least one processor, cause the computing device to generate the digital image of the three-dimensional model from each viewpoint by: generating a smallest number of digital images, that, between the digital images, include each vertex of the set of affected vertices of the three-dimensional model.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2016
From: GOEL, NAVEEN; HEMANI, MAYUR; CHOPRA, HARSH VARDHAN; MITTAL, AMIT
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 039274/0005 →
Continuity (1)
Related Publication 20180033194A1 · Feb 1, 2018