# US 11,907,617 B2 · Surface patch techniques for computational geometry

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,617 B2
- Document ID: US11907617B2
- Status: Granted
- Kind: B2
- Application number: 17/816,718
- Filed: 2022-08-01
- Published: 2023-04-27
- Granted: 2024-02-20
- Earliest claimed: 2008-07-18
- Assignees: CAD-Sense LLC
- Applicants: CAD-Sense LLC
- Inventors: Alyn P. Rockwood
- Web page: https://patentgrep.com/patent/US11907617B2

## CPC

- G06F 30/00: Computer-aided design [CAD]
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06F 17/10: Complex mathematical operations {(function generation by table look-up G06F1/03; evaluation of elementary functions by calculation G06F7/544)}
- G06F 17/11: for solving equations {, e.g. nonlinear equations, general mathematical optimization problems (optimization specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06T 15/10: Geometric effects
- G06T 17/10: Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
- G06T 17/30: Polynomial surface description
- G06T 2219/2021: Shape modification
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method and system for computer aided design (CAD) is disclosed for designing geometric objects, wherein interpolation and/or blending between such objects is performed while deformation data is being input. Thus, a designer obtains immediate feedback to input modifications without separately entering a command(s) for performing such deformations. A novel N-sided surface generation technique is also disclosed herein to efficiently and accurately convert surfaces of high polynomial degree into a collection of lower degree surfaces. E.g., the N-sided surface generation technique disclosed herein subdivides parameter space objects (e.g., polygons) of seven or more sides into a collection of subpolygons, wherein each subpolygon has a reduced number of sides. More particularly, each subpolygon has 3 or 4 sides. The present disclosure is particularly useful for designing the shape of surfaces. Thus, the present disclosure is applicable to various design domains such as the design of, e.g., bottles, vehicles, and watercraft. Additionally, the present disclosure provides for efficient animation via repeatedly modifying surfaces of an animated object such as a representation of a face.

## Claims

### Claim 1

A method for creating an optically smooth geometric model, comprising:
forming a loop from a plurality of parametrically defined curves;
creating a plurality of ribbons along each of the plurality of parametrically defined curves of the loop, each ribbon between a preceding parametrically defined curve of the loop and a subsequent parametrically defined curve of the loop; and
blending the ribbons to form a multi-sided surface patch between the parametrically defined curves, wherein a portion of each ribbon is Gkgeometric continuous with a portion of another ribbon of the plurality of ribbons, wherein k is dependent upon one or more criteria for optical smoothness of the geometric model.

### Claim 2 (depends on 1)

The method of claim 1, wherein the forming the loop from the plurality of parametrically defined curves further comprises forming from a polyhedral mesh of the geometric model.

### Claim 3 (depends on 2)

The method of claim 2, wherein the forming the loop from the plurality of parametrically defined curves further comprises constructing each of the plurality of parametrically defined curves between polygons of the polyhedral mesh having a common edge.

### Claim 4 (depends on 3)

The method of claim 3, wherein the forming the loop from the plurality of parametrically defined curves further comprises forming the loop from a number of curves equal to a count of center points of the polyhedral mesh.

### Claim 5 (depends on 1)

The method of claim 1, wherein the creating the ribbon comprises, along each parametrically defined curve, interpolating between the preceding parametrically defined curve of the loop and the subsequent parametrically defined curve of the loop.

### Claim 6

The method of 1, wherein the creating the ribbon comprises, creating by forming a ribbon fiber between each parametrically defined curve, a parametrically defined mid-curve and a parametrically defined opposite curve.

### Claim 7 (depends on 1)

The method of claim 1, wherein the blending the ribbons comprises computing a weighted sum of the ribbons.

### Claim 8 (depends on 7)

The method of claim 7, wherein the computing the weighted sum of the ribbons comprises weighting parameter points of the ribbons according to distances of the parameter points from each of the plurality of parametrically defined curves.

### Claim 9 (depends on 8)

The method of claim 8, further comprising defining the distances of the parameter points relative to distances measured between points in a fundamental polygon and sides of the fundamental polygon.

### Claim 10

A method for creating an optically smooth geometric model, comprising:
forming a loop from a plurality of parametrically defined curves;
creating a plurality of ribbons along each of the plurality of parametrically defined curves of the loop, each ribbon between a preceding parametrically defined curve of the loop and a subsequent parametrically defined curve of the loop; and
blending the ribbons to form a multi-sided surface patch between the parametrically defined curves, wherein a portion of each ribbon is G2 geometric continuous and not G3 geometric continuous with a portion of another ribbon of the plurality of ribbons.

### Claim 11 (depends on 1)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 1.

### Claim 12 (depends on 2)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 2.

### Claim 13 (depends on 3)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 3.

### Claim 14 (depends on 4)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 4.

### Claim 15 (depends on 5)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 5.

### Claim 16 (depends on 6)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 6.

### Claim 17 (depends on 7)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 7.

### Claim 18 (depends on 8)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 8.

### Claim 19 (depends on 9)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 9.

### Claim 20 (depends on 10)

A non-transitory computer-readable medium comprising computer executable code for performing the method of claim 10.
