IP Library Granted Patent US 11,468,623
Granted Patent B2
US 11,468,623 · App. 17/162,577 · Granted Oct 11, 2022

Visualizing and evaluating 3D cross-sections

Inventors: Michael McCarty (Ames, IA); Gerrick Bivins (Ames, IA); Alexander Prinsen (Ames, IA); Daniel Schultz (Ankeny, IA); Daniel Murray (Ames, IA)
Assignee: Vertex Software, Inc.
G06T15/06G06T7/75G06T15/20G06T19/00G06T2207/20212G06T2211/432G06T2219/008
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 11,468,623
App. No.
17/162,577
Granted
Oct 11, 2022
Kind
B2
Abstract

Methods, systems, and computer-readable media for generating a cross-section of a 3D model are disclosed. An example method includes determining a cross-section plane intersecting the 3D model, performing ray-tracing by passing each of a plurality of rays through a corresponding pixel of a viewing plane such that each ray intersects the cross-section plane, determining one or more rays that are within a threshold distance of the 3D model at their respective points of intersection with the cross section plane, and highlighting pixels corresponding to the determined rays.

Claims (74)

1. A method of generating a cross-section of a 3D model comprising:

determining a cross-section plane intersecting the 3D model;

performing ray-tracing by passing each of a plurality of rays through a corresponding pixel of a viewing plane such that each ray intersects the cross-section plane;

determining one or more rays that are within a threshold distance of the 3D model at their respective points of intersection with the cross section plane, wherein for each ray, the threshold distance: (i) comprises a distance in two dimensions extending, within the cross-section plane, from the point of intersection between the ray and the cross-section plane, and (ii) is based on a viewing distance comprising a distance between the pixel of the viewing plane corresponding to the ray and the ray's intersection with the cross-section plane; and

highlighting pixels corresponding to the determined rays.

2. The method of claim 1 , wherein the cross-section plane defines a front side and a back side of the 3D model, and wherein performing ray-tracing further comprises:

determining a first intersection between each of the plurality of rays and the 3D model from the perspective of the viewing plane; and

truncating each of the plurality of rays such that the first intersection between each of the plurality of rays and the 3D model occurs either at the cross-section plane or on the back side.

3. The method of claim 2 , further comprising:

determining, for each of the plurality of rays, a corresponding pixel color based on the intersection of each of the plurality of rays with the 3D model;

rendering pixels based on the corresponding pixel color; and,

highlighting pixels corresponding to the determined rays the same color.

4. The method of claim 1 , wherein the threshold distance and the viewing distance have a direct relationship such that the threshold distance increases as the viewing distance increases.

5. The method of claim 1 , further comprising:

selecting a geometric surface of the 3D model, wherein selecting the geometric surface comprises:

selecting a pixel of the viewing plane;

determining a closest highlighted pixel corresponding to the selected pixel of the viewing plane; and

selecting the geometric surface of the 3D model corresponding to the closest highlighted pixel.

6. The method of claim 5 , further comprising:

determining a distance between a first geometric surface and a second geometric surface of the 3D model, where determining the distance comprises:

selecting a first pixel of the viewing plane;

determining a first closest highlighted pixel corresponding to the first selected pixel of the viewing plane;

selecting the first geometric surface of the 3D model corresponding to the first closest highlighted pixel;

selecting a second pixel of the viewing plane;

determining a second closest highlighted pixel corresponding to the second selected pixel of the viewing plane;

selecting the second geometric surface of the 3D model corresponding to the second closest highlighted pixel; and

measuring the distance between the selected first geometric surface and the selected second geometric surface.

7. The method of claim 1 , further comprising:

separating the 3D model into a plurality of component parts;

separately, for two or more of the component parts:

determining the cross-section plane intersecting the component part of the 3D model;

performing ray-tracing by passing each of the plurality of rays through the corresponding pixel of the viewing plane such that each ray intersects the cross-section plane;

determining one or more rays that are within the threshold distance of the component part of the 3D model at their respective points of intersection with the cross section plane; and

highlighting pixels corresponding to the determined rays the same color, and combining the highlighted pixels from each of the two or more component parts into a single image.

8. A non-transitory, computer-readable medium, having instructions stored thereon that, when, executed by a processor, cause the performance of a set of acts for generating a cross-section of a 3D model, the set of acts comprising:

determining a cross-section plane intersecting the 3D model;

performing ray-tracing by passing each of a plurality of rays through a corresponding pixel of a viewing plane such that each ray intersects the cross-section plane;

determining one or more rays that are within a threshold distance of the 3D model at their respective points of intersection with the cross section plane, wherein, for each ray, the threshold distance: (i) comprises a distance in two dimensions extending, within the cross-section plane, from the point of intersection between the ray and the cross-section plane, and (ii) is based on a viewing distance comprising a distance between the pixel of the viewing plane corresponding to the ray and the ray's intersection with the cross-section plane; and

highlighting pixels corresponding to the determined rays.

9. The non-transitory, computer-readable medium of claim 8 , wherein the cross-section plane defines a front side and a back side of the 3D model, and wherein performing ray-tracing further comprises:

determining a first intersection between each of the plurality of rays and the 3D model from the perspective of the viewing plane; and

truncating each of the plurality of rays such that the first intersection between each of the plurality of rays and the 3D model occurs either at the cross-section plane or on the back side.

10. The non-transitory, computer-readable medium of claim 9 , the set of acts further comprising:

determining, for each of the plurality of rays, a corresponding pixel color based on the intersection of each of the plurality of rays with the 3D model;

rendering pixels based on the corresponding pixel color; and,

highlighting pixels corresponding to the determined rays the same color.

11. The non-transitory, computer-readable medium of claim 8 , wherein the threshold distance and the viewing distance have a direct relationship such that the threshold distance increases as the viewing distance increases.

12. The non-transitory, computer-readable medium of claim 8 , the set of acts further comprising:

selecting a geometric surface of the 3D model, wherein selecting the geometric surface comprises:

selecting a pixel of the viewing plane;

determining a closest highlighted pixel corresponding to the selected pixel of the viewing plane; and

selecting the geometric surface of the 3D model corresponding to the closest highlighted pixel.

13. The non-transitory, computer-readable medium of claim 12 , the set of acts further comprising:

determining a distance between a first geometric surface and a second geometric surface of the 3D model, where determining the distance comprises:

selecting a first pixel of the viewing plane;

determining a first closest highlighted pixel corresponding to the first selected pixel of the viewing plane;

selecting the first geometric surface of the 3D model corresponding to the first closest highlighted pixel;

selecting a second pixel of the viewing plane;

determining a second closest highlighted pixel corresponding to the second selected pixel of the viewing plane;

selecting the second geometric surface of the 3D model corresponding to the second closest highlighted pixel; and

measuring the distance between the selected first geometric surface and the selected second geometric surface.

14. The non-transitory, computer-readable medium of claim 8 , the set of acts further comprising:

separating the 3D model into a plurality of component parts;

separately, using two or more processors for two or more of the component parts: determining the cross-section plane intersecting the component part of the 3D model;

performing ray-tracing by passing each of the plurality of rays through the corresponding pixel of the viewing plane such that each ray intersects the cross-section plane;

determining one or more rays that are within the threshold distance of the component part of the 3D model at their respective points of intersection with the cross section plane; and

highlighting pixels corresponding to the determined rays the same color, and combining the highlighted pixels from each of the two or more component parts into a single image.

15. A system for generating a cross-section of a 3D model, the system comprising:

a memory configured to store data corresponding to the 3D model; and

a processor configured to:

determine a cross-section plane intersecting the 3D model;

perform ray-tracing by passing each of a plurality of rays through a corresponding pixel of a viewing plane such that each ray intersects the cross-section plane;

determine one or more rays that are within a threshold distance of the 3D model at their respective points of intersection with the cross-section plane, wherein for each ray, the threshold distance: (i) comprises a distance in two dimensions extending, within the cross-section plane, from the point of intersection between the ray and the cross-section plane, and (ii) is based on a viewing distance comprising a distance between the pixel of the viewing plane corresponding to the ray and the ray's intersection with the cross-section plane; and

highlight pixels corresponding to the determined rays.

Assignments (3)
CHANGE OF NAME Recorded Aug 12, 2022
From: VERTEX SOFTWARE, LLC
To: VERTEX SOFTWARE, INC.
Reel/Frame 061162/0971 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2022
From: MCCARTY, MICHAEL; BIVINS, GERRICK; PRINSEN, ALEXANDER; SCHULTZ, DANIEL
To: VERTEX SOFTWARE LLC
Reel/Frame 060658/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2022
From: MURRAY, DANIEL
To: VERTEX SOFTWARE, LLC
Reel/Frame 060658/0747 →
Continuity (2)
Provisional Application 62967490 · Jan 29, 2020
Related Publication 20210256758A1 · Aug 19, 2021