Boolean operations for subdivision surfaces
AssigneeSilicon Graphics, Inc.
InventorEugene T. Y. Lee
Life of this patent
Estimating the term…
Abstract
A method for creating a new subdivision surface from one or more prior subdivision surfaces using a computer, the computer having a processor and a memory, includes establishing in the memory a data structure storing data representing the structures of the prior subdivision surfaces, performing Boolean operations upon prior meshes defining the one or more prior subdivision surfaces to form a resulting mesh defining the new subdivision surface, and storing the resulting mesh in the memory.
Claims16
A method for performing Boolean operations upon two base meshes using a computer, where each base mesh comprises a plurality of faces, the computer having a processor and a memory, the method comprising:
- establishing in the memory a data structure storing data representing the structures of the two base meshes;
- determining intersections of the two base meshes, the intersections defining an intersection curve;
- tessellating faces incident to the intersection curve;
- selecting surviving portions of the intersecting faces;
- deleting faces of the two base meshes according to the selected surviving portions;
- and
- combining remaining faces of the two base meshes into a resultant base mesh.
A computer program, residing on a computer-readable medium, comprising instructions for performing Boolean operations upon two base meshes by causing a computer to:
- establish in the memory a data structure storing data representing the structures of the two base meshes;
- determine intersections of the two base meshes, the intersections defining an intersection curve;
- tessellate faces incident to the intersection curve;
- select surviving portions of the intersecting faces;
- delete faces of the two base meshes according to the selected surviving portions;
- and
- combine remaining faces of the two base meshes into a resultant base mesh.
Dependencies are inferred from the claim text.