IP Library Granted Patent US 12,374,025
Granted Patent B2
US 12,374,025 · App. 18/500,051 · Granted Jul 29, 2025

Visualizing and evaluating 3D cross-sections

Inventors: Gerrick Bivins (Ames, IA); Alexander Prinsen (Ames, IA); Daniel Murray (Ames, IA); Daniel Schultz (Ankeny, IA); Michael McCarty (Ames, IA)
Assignee: Vertex Software, Inc.
G06T15/06G06T7/75G06T15/20G06T17/20G06T19/00G06T2207/20212G06T2210/21G06T2211/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 12,374,025
App. No.
18/500,051
Granted
Jul 29, 2025
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 (102)

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 the threshold distance and a viewing distance have a direct relationship such that the threshold distance increases as the viewing distance increases; 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, for each ray, the threshold distance comprises a distance in 2 dimensions extending, within the cross-section plane, from the point of intersection between the ray and the cross-section plane.

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 the threshold distance and a viewing distance have a direct relationship such that the threshold distance increases as the viewing distance increases; 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 9 , wherein, for each ray, the threshold distance comprises a distance in 2 dimensions extending, within the cross-section plane, from the point of intersection between the ray and the cross-section plane.

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 comprising:

a processor, and a memory device that stores a plurality of instructions that, when executed by the processor, cause the processor to:

determine a cross-section plane intersecting a 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 the threshold distance and a viewing distance have a direct relationship such that the threshold distance increases as the viewing distance increases; and

highlight pixels corresponding to the determined rays.

16. The system of claim 15 , wherein the cross-section plane defines a front side and a back side of the 3D model, and the memory device stores a plurality of further instructions that, when executed by the processor performing ray-tracing, cause the processor to:

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

truncate 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.

17. The system of claim 16 , wherein the memory device stores a plurality of further instructions that, when executed by the processor, cause the processor to:

determine, 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;

render pixels based on the corresponding pixel color; and,

highlight pixels corresponding to the determined rays the same color.

18. The system of claim 15 , wherein the memory device stores a plurality of further instructions that, when executed by the processor, cause the processor to:

select a geometric surface of the 3D model by:

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.

19. The system of claim 18 , wherein the memory device stores a plurality of further instructions that, when executed by the processor, cause the processor to:

determine a distance between a first geometric surface and a second geometric surface of the 3D model by:

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.

20. The system of claim 15 , wherein the memory device stores a plurality of further instructions that, when executed by the processor, cause the processor to:

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

separately, using two or more processors for two or more of the component parts:

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

perform 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;

determine 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

highlight 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.

Assignments (1)
CHANGE OF NAME Recorded Sep 9, 2024
From: VERTEX SOFTWARE, LLC
To: VERTEX SOFTWARE, INC.
Reel/Frame 068897/0862 →
Continuity (4)
Continuation 17939453 · Sep 7, 2022
Continuation 17162577 · Jan 29, 2021
Provisional Application 62967490 · Jan 29, 2020
Related Publication 20240331267A1 · Oct 3, 2024
References Cited (21)
US 5782762A · Vining · 1998 [cited by applicant]
US 10475227B1 · Pajerski · 2019 [cited by examiner]
US 10529119B2 · Cohen et al. · 2020 [cited by applicant]
US 20010050686A1 · Allen · 2001 [cited by applicant]
US 20050017074A1 · Tsikos et al. · 2005 [cited by applicant]
US 20060044308A1 · Akutsu · 2006 [cited by examiner]
US 20070291032A1 · Hashima · 2007 [cited by examiner]
US 20120223937A1 · Bendall · 2012 [cited by applicant]
US 20180025548A1 · Endo · 2018 [cited by examiner]
US 20180182159A1 · Cohen · 2018 [cited by examiner]
US 20200054398A1 · Kovtun · 2020 [cited by examiner]
US 20200151874A1 · Peterson · 2020 [cited by examiner]
JP 2018106712A · 2018 [cited by applicant]
WO 2007136627A2 · 2007 [cited by applicant]
WO 2021155238A1 · 2021 [cited by applicant]
“International Search Report and Written Opinion” dated Apr. 8, 2021 for PCT Application No. PCT/US21/15833 (10 pages). [cited by applicant]
“Notification Concerning Transmittal of International Preliminary Report on International Report on Patentability” for PCT Application No. PCT/US2021/015833 (6 pages). [cited by applicant]
“Office Action” for Corresponding Japanese Patent Application No. 2022-546104 dated Oct. 1, 2024 (10 pages). [cited by applicant]
“Supplementary European Search Report” for European Patent Application No. 21747797 dated Apr. 24, 2024 (8 pages). [cited by applicant]
Diaz, et al., “Adaptive Cross-Sections of Anatomical Models”, Computer Graphics Forum: Journal of the European Association for Computer Graphics, Wiley-Blackwell, Oxford, vol. 31, No. 7, Oct. 21, 2013, pp. 2155-2164. Th… [cited by applicant]
Stefan, et al., “Exploded Views for Volume Data”, IEEE Transactions on Visualization and Computer Graphics, IEEE, USA, vol. 12, No. 5, Sep. 1, 2006 (Sep. 1, 2006), pp. 1077-1084, XP011143848, ISSN: 1077-2626. [cited by applicant]