IP Library Granted Patent US 7,274,364
Granted Patent B2
US 7,274,364 · App. 10/811,057 · Granted Sep 25, 2007

System and method for defining T-spline and T-NURCC surfaces using local refinements

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 7,274,364
App. No.
10/811,057
Granted
Sep 25, 2007
Kind
B2
Abstract

A system and method is provided for defining a bi-cubic spline surface in a computing environment. One operation in the method is creating a control mesh with a substantially rectangular structure. A further operation is inferring from the control mesh the tensor product B-spline basis functions for each control point. The surface can then be computed based on the basis functions and the control mesh.

Claims (45)

1. A method for defining a bi-cubic spline surface in a computing environment, comprising the steps of:

creating a control mesh with a substantially rectangular structure and containing T-junctions in both parameter directions and in any proximity in the control mesh;

inferring from the control mesh the tensor product B-spline basis functions for each control point including T-junctions in both parameter directions; and

computing the surface suitable for use in rendering an image viewable by an end user based on the inferred basis functions and the control mesh.

2. A method as in claim 1 , further comprising the step of determining the basis function for each control point using one non-hierarchical set of rules.

3. A method as in claim 1 , wherein the bi-cubic spline surface is a locally refinable tensor product spline surface of any degree in a computing environment.

4. A method for locally refining a control mesh of a bi-cubic spline surface in a computing environment, comprising the steps of:

inserting a control point into the control mesh to form a T-junction in any proximity to other T-junctions existing in both parameter directions in the control mesh;

computing the Cartesian coordinates of the control point and of the neighboring control points using inferred basis functions such that the bi-cubic spline surface is not geometrically altered and suitable for use in rendering an image viewable by an end user.

5. A method as in claim 4 , wherein the step of computing the Cartesian coordinates of the control points further comprises the steps of:

splitting basis functions which have fewer knots than are called for by the control mesh; and

adding control points to the control mesh in locations where basis functions have more knots than are called for by the control mesh.

6. A method as in claim 4 , further comprising the step of creating a sharpness feature in the surface by inserting one or more adjacent partial rows of control points with zero knot intervals thereby creating a sharp crease.

7. A method as in claim 4 , further comprising the step of creating a sharpness feature in the surface by inserting one or more adjacent partial rows of control points with small knot intervals thereby creating a less sharp crease.

8. A method as in claim 4 further comprising the step of

providing two surfaces having control meshes that are allowed to contain T-junction in at least one parameter direction, that are desired to be merged into a single surface;

positioning the two surfaces with common edges that are in close proximity;

performing local refinement on the control meshes of the two surfaces using the T-junction and adjustment of knot intervals such that a sequence of knot intervals agree along a common boundary edge of the two surfaces; and

joining the control points of the two surfaces along the common boundary.

9. A method for defining bicubic spline surfaces that provides local refinement to control meshes using T-junction in both parameter direction and in any proximity with respect to the other T-junctions, in a computing environment, comprising the steps of:

specifying knot intervals associated with the control mesh containing T-junction in both parameter directions simultaneously;

imposing a local knot coordinate system based on the knot intervals;

inferring local knot vectors for control points in order to produce basis functions for the control points; and

inserting a single control point into the control mesh to form a T-junction at any distance and configuration with respect to other T-junctions without altering the bicubic spline surface, the bicubic spline surface being suitable for use in rendering an image viewable by an end user.

10. A method as in claim 9 , wherein the step of imposing a local knot coordinate system further comprises the step of assigning local knot coordinates (s i ,t i ) to the pre-image of each control point P i .

11. A method for subdividing a bi-cubic spline control mesh in order to provide local refinements to control meshes of arbitrary topology in a computing system, comprising the steps of:

imposing local knot coordinate systems on the bi-cubic spline mesh of arbitrary topology;

specifying knot intervals for edges of the bi-cubic spline control mesh;

inserting a T-junction into the bi-cubic spline control mesh to form the T-junction in any proximity to other T-junctions existing in both parameter direction in the control mesh;

inferring knot vectors for the T-junction; and

defining basis functions for the T-junction using the knot vectors, the bi-cubic spline mesh being suitable for use in rendering an image viewable by an end user.

12. A method as in claim 11 , wherein the step of inserting a T-junction further comprises the step of requiring a sum of knot intervals on opposing edges of a face in the cubic spline mesh to be equal.

13. A method as in claim 11 , wherein the step of inserting a T-junction further comprises the step of requiring a T-junction on one edge of a face to be connected to a T-junction on an opposing edge of the face when the sum of the knot intervals on opposing edges of a face in the cubic spline mesh are equal.

14. A method as in claim 11 , further comprising the step of creating a sharpness feature in the spline mesh by inserting a plurality of adjacent rows of control points with zero knot intervals.

15. A method as in claim 14 , further comprising the step of controlling the sharpness feature by placement of the inserted control points and adjusting the knot intervals.

16. A method for merging at least two B-spline surfaces with unaligned knot vectors into a single T-spline, comprising the steps of:

identifying a first B-spline control mesh and second B-spline control mesh;

identifying locations in the first B-spline control mesh for additional control points on an edge configured to align with a knot vector in the second B-spline control mesh which will intersect the edge;

inserting offset T-junction control points at each identified location in the first control mesh to form T-junction control points in any proximity to other T-junctions existing in both parameter directions with respect to the other T-junctions in the control mesh; and

joining the control points of the first B-spline control mesh with the corresponding knot vectors from the second mesh in order to join the two B-splines and create a T-spline suitable for use in rendering an image viewable by an end user.

17. A method as in claim 16 , further comprising the steps of

identifying locations in the second B-spline control mesh for additional controls points on an edge configured to align with a knot vector in the first B-spline control mesh which will intersect the edge;

inserting offset control points at each identified location in the second B-spline control mesh;

joining the control points of the second B-spline control mesh with the corresponding knot vectors from the first mesh in order to join the two B-splines and create a T-spline.

18. A method as in claim 16 , wherein the step of inserting offset control points at each identified location, further comprises the step of inserting triple knot intervals along the shared boundary in order to provide a C 2 merge.

Assignments (5)
CHANGE OF ADDRESS FOR ASSIGNEE Recorded Aug 19, 2022
From: AUTODESK, INC.
To: AUTODESK, INC.
Reel/Frame 061572/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2014
From: T-SPLINES, INC.
To: AUTODESK, INC.
Reel/Frame 033486/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2010
From: BRIGHAM YOUNG UNIVERSITY
To: T-SPLINES, INC.
Reel/Frame 024213/0243 →
CONFIRMATORY LICENSE Recorded Jul 31, 2009
From: BRIGHAM YOUNG UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 023032/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2004
From: SEDERBERG, THOMAS W.
To: BRIGHAM YOUNG UNIVERSITY
Reel/Frame 015158/0388 →