IP Library Granted Patent US 9,305,391
Granted Patent B2
US 9,305,391 · App. 14/212,450 · Granted Apr 5, 2016

Apparatus and methods for detailing subdivision surfaces

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,305,391
App. No.
14/212,450
Granted
Apr 5, 2016
Kind
B2
Abstract

The present disclosure provides a system and method for the development and manipulation of three-dimensional voxel-based models. The method includes accessing, by a processor of a computing device, a subdivision surfacing geometry (SubD) model and converting a portion of features of the SubD model to a voxel model. The method includes accessing a texture for application to the voxel model and combining the texture and the voxel model to create a textured voxel model. The method includes determining displacement maps determined based in part on a difference between a surface portion of the voxel model and a surface portion of the SubD model and applying the displacement maps to the surface portion of the SubD model to determine a second SubD model where the second SubD model is configured for manipulation while preserving a visual aesthetic and a geometric placement of the added texture.

Claims (54)

1. A method comprising:

accessing, by a processor of a computing device, a subdivision surfacing geometry (SubD) model;

converting, by the processor, at least a portion of a plurality of features of the SubD model to a voxel model;

accessing, by the processor, a texture for application to the voxel model;

combining, by the processor, the texture and the voxel model to create a textured voxel model;

determining, by the processor, one or more displacement maps, wherein the one or more displacement maps are determined based at least in part on a difference between a surface portion of the textured voxel model and a surface portion of the SubD model; and

applying, by the processor, the one or more displacement maps to the surface portion of the SubD model to determine a second SubD model, wherein the second SubD model is configured for manipulation while preserving an appearance or geometric placement of the added texture.

2. The method of claim 1 , comprising:

determining, by the processor, prior to converting the SubD model to a voxel model, a polygonal mesh, wherein the polygonal mesh forms a cage surrounding the surface portion of the SubD model.

3. The method of claim 2 , wherein converting at least a portion of a plurality of features of the SubD model to the voxel model comprises:

determining, by the processor, one or more vertex locations from one or more faces of the polygonal mesh;

determining, by the processor, based at least in part on the one or more vertex locations, a mesh surface; and

converting, by the processor, the mesh surface into a plurality of voxels.

4. The method of claim 3 , wherein determining the mesh surface comprises meshing the one or more vertex locations as quadrilaterals.

5. The method of claim 2 , comprising:

refining, by the processor, the polygonal mesh, wherein refining comprises subdividing one or more features of the polygonal mesh to determine a refined polygonal mesh.

6. The method of claim 5 , wherein the one or more features of the polygonal mesh includes at least one member selected from a group consisting of edges, faces, and vertices.

7. A system for texture manipulation on the surface a three-dimensional representation of a non-homogenous object comprising:

a processor; and

a memory having stored thereon:

a voxel-based representation of the non-homogenous object,

a sub subdivision surfacing geometry (SubD) representation of the non-homogenous object, and

a set of instructions, wherein the instructions, when executed by the processor, cause the processor to:

apply, to the voxel-based representation of the non-homogenous model, a voxel-based representation of a texture,

merge the voxel-based representation of the non-homogenous model with the voxel-based representation of the texture,

capture a surface model of the merged voxel-based representation, and

apply the texture, via the surface model, to the SubD representation.

8. The system of claim 7 , wherein the instructions, when executed by the processor, further cause the processor to:

determine a polygonal mesh that forms a cage surrounding the surface portion of the SubD model.

9. The system of claim 8 , wherein the instructions, when executed by the processor, further cause the processor to convert, prior to the memory having stored thereon the voxel-based representation, at least a portion of a plurality of features of the SubD representation to the voxel-based representation, including the processor being caused to:

determine one or more vertex locations from one or more faces of the polygonal mesh;

determine a mesh surface based at least in part on the one or more vertex locations; and

convert the mesh surface into a plurality of voxels.

10. The system of claim 9 , wherein the processor being caused to determine the mesh surface includes being caused to mesh the one or more vertex locations as quadrilaterals.

11. The system of claim 8 , wherein the instructions, when executed by the processor, further cause the processor to:

refine the polygonal mesh, including the processor being caused to subdivide one or more features of the polygonal mesh to determine a refined polygonal mesh.

12. The system of claim 11 , wherein the one or more features of the polygonal mesh includes at least one member selected from a group consisting of edges, faces, and vertices.

13. A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause the processor to:

access a subdivision surfacing geometry (SubD) model;

convert at least a portion of a plurality of features of the SubD model to a voxel model;

access a texture for application to the voxel model;

combine the texture and the voxel model to create a textured voxel model;

determine one or more displacement maps, wherein the one or more displacement maps are determined based at least in part on a difference between a surface portion of the textured voxel model and a surface portion of the SubD model; and

apply the one or more displacement maps to the surface portion of the SubD model to determine a second SubD model, wherein the second SubD model is configured for manipulation while preserving an appearance or geometric placement of the added texture.

14. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the processor, further cause the processor to:

determine, prior to conversion of the SubD model to a voxel model, a polygonal mesh, wherein the polygonal mesh forms a cage surrounding the surface portion of the SubD model.

15. The non-transitory computer readable medium of claim 14 , wherein the processor being caused to convert at least a portion of a plurality of features of the SubD model to the voxel model includes the processor being caused to:

determine one or more vertex locations from one or more faces of the polygonal mesh;

determine a mesh surface based at least in part on the one or more vertex locations; and

convert the mesh surface into a plurality of voxels.

16. The non-transitory computer readable medium of claim 15 , wherein the processor being caused to determine the mesh surface includes being caused to mesh the one or more vertex locations as quadrilaterals.

17. The non-transitory computer readable medium of claim 14 , wherein the instructions, when executed by the processor, further cause the processor to:

refine the polygonal mesh, including the processor being caused to subdivide one or more features of the polygonal mesh to determine a refined polygonal mesh.

18. The non-transitory computer readable medium of claim 17 , wherein the one or more features of the polygonal mesh includes at least one member selected from a group consisting of edges, faces, and vertices.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2025
From: 3D SYSTEMS CORPORATION; 3D SYSTEMS, INC.
To: HEXAGON MANUFACTURING INTELLIGENCE, INC.
Reel/Frame 072448/0979 →
RELEASE OF SECURITY INTEREST Recorded Aug 26, 2021
From: HSBC BANK USA, NATIONAL ASSOCIATION
To: 3D SYSTEMS, INC.
Reel/Frame 057651/0374 →
SECURITY INTEREST Recorded Feb 27, 2019
From: 3D SYSTEMS, INC.
To: HSBC BANK USA, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 048456/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2014
From: TIPTON, ROBERT
To: 3D SYSTEMS, INC.
Reel/Frame 033602/0036 →