IP Library Granted Patent US 6,989,830
Granted Patent B2
US 6,989,830 · App. 10/185,748 · Granted Jan 24, 2006

Accurate boolean operations for subdivision surfaces and relaxed fitting

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 6,989,830
App. No.
10/185,748
Granted
Jan 24, 2006
Kind
B2
Abstract

An apparatus, method, and computer readable storage medium for accurately performing Boolean operations on subdivision surfaces. The present invention produces a base mesh which subdivides into a surface which represents the Boolean operation of two subdivision surfaces. The method includes (a) chopping pieces of two Catmull-Clark bases meshes which correspond to pieces of a Boolean surface computed from limit surfaces of the two base meshes; (b) creating new edges on the chopped pieces to create quadrilaterals and triangles; and (c) merging the chopped pieces with the new edges into a Boolean base mesh which approximates the Boolean surface.

Claims (44)

1. A method, comprising:

chopping pieces of two Catmull-Clark bases meshes which correspond to pieces of a Boolean surface computed from limit surfaces of the two base meshes;

creating new edges on the chopped pieces to create quadrilaterals and triangles: merging the chopped pieces with the new edges into a Boolean base mesh which approximates the Boolean surface;

refitting vertices on the Boolean base mesh which subdivides into a limit surface which better fits the Boolean surface; and

calculating an additional vertex to refit by flattening influencing vertices of a chosen vertex and mapping a relaxed vertex to the Boolean base mesh, the relaxed vertex calculated by applying subdivision rules to the flattened influencing vertices.

2. A method as recited in claim 1 , further comprising refitting the Boolean base mesh using the relaxed vertex.

3. A method, comprising: identifying selected faces calculated from intersection curves formed by intersecting two Catmull-Clark subdivision surfaces created from two base meshes, the selecting based on a selected Boolean operation;

chopping the two base meshes directly to create base mesh pieces which form the selected faces;

creating edges on the base mesh pieces to create quadrangular faces;

merging the base meshes into a single Boolean base mesh,

refitting the Boolean base mesh to better fit the Boolean base mesh's limit surface with the selected faces; and

wherein the refitting calculates a relaxed vertex by flattening part of the Boolean base mesh and applying subdivision rules to the flattened part.

4. A method as recited in claim 3 , wherein the relaxed vertex is mapped from the flattened part to the Boolean base mesh.

5. A method, comprising:

identifying selected faces calculated from intersection curves formed by intersecting two Catmull-Clark subdivision surfaces created from two base meshes, the selecting based on a selected Boolean operation;

chopping the two base meshes directly to create base mesh pieces which form the selected faces;

creating edges on the base mesh pieces to create guadrangular faces; and

merging the base meshes into a single Boolean base mesh, and

wherein the identifying computes faces at intersections of the two subdivision surfaces, and

wherein the chopping chops the base mesh pieces at endpoints which have limit points at the intersections.

6. A method comprising:

traversing a higher level vertex on a Boolean base mesh;

identifying and flattening influencing vertices influencing the traversed vertex; and

mapping a new vertex, computed by applying subdivision weights to the flattened influencing vertices, to the Boolean base mesh.

7. A method as recited in claim 6 , further comprising:

refitting the Boolean base mesh using the new vertex.

8. A method as recited in claim 6 , further comprising repeating the traversing, identifying, and mapping for a plurality higher level vertices for the Boolean base mesh identified according to subdivision rules.

9. A method as recited in claim 8 , further comprising refitting the Boolean base mesh using a plurality of mapped new vertices.

10. A method, comprising:

chopping pieces of two Catmull-Clark bases meshes which correspond to pieces of a Boolean surface computed from limit surfaces of the two base meshes;

creating new edges on the chopped pieces to create quadrilaterals and triangles; and

merging the chopped pieces with the new edges into a Boolean base mesh which approximates the Boolean surface;

traversing a higher level vertex on a Boolean base mesh;

identifying and flattening influencing vertices influencing the traversed vertex;

mapping a new vertex, computed by applying subdivision weights to the flattened influencing vertices, to the Boolean base mesh;

repeating the traversing, identifying, and mapping for a plurality higher level vertices for the Boolean base mesh identified according to subdivision rules;

refitting the Boolean base mesh using a plurality of mapped new vertices,

wherein a Boolean operation used to create the Boolean surface is one of scoring, intersection, difference, union,

wherein the chopping the pieces is performed directly onto the original base meshes,

wherein the faces are calculated by generating cubic Bezier surfaces,

wherein the merging merges pieces of the base mesh at intersection points of the limit surfaces,

wherein the base meshes comprise quadrilaterals,

wherein during the creating, quadrilaterals are preferred over triangles,

wherein the quadrilaterals created are convex quadrilaterals.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2006
From: ALIAS SYSTEMS CORPORATION
To: AUTODESK, INC.
Reel/Frame 018375/0466 →
CERTIFICATE OF AMENDMENT Recorded Nov 18, 2004
From: ALIAS SYSTEMS CORP., A NOVA SCOTIA UNLIMITED LIABILITY COMPANY
To: ALIAS SYSTEMS INC., A NOVA SCOTIA LIMITED LIABILITY COMPANY
Reel/Frame 015370/0578 →
CERTIFICATE OF CONTINUANCE AND CHANGE OF NAME Recorded Nov 18, 2004
From: ALIAS SYSTEMS INC., A NOVA SCOTIA LIMITED LIABILITY COMPANY
To: ALIAS SYSTEMS CORP., A CANADIAN CORPORATION
Reel/Frame 015370/0588 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2004
From: SILICON GRAPHICS, INC.; SILICON GRAPHICS LIMITED; SILICON GRAPHICS WORLD TRADE BV
To: ALIAS SYSTEMS CORP.
Reel/Frame 014934/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2002
From: STOLLNITZ, ERIC JOEL; LIEPA, PETER
To: SILICON GRAPHICS, INC.
Reel/Frame 013346/0222 →