# US 12,602,870 B2 · Computer-aided techniques for designing 3D surfaces based on gradient specifications

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

- Number: US 12,602,870 B2
- Document ID: US12602870B2
- Status: Granted
- Kind: B2
- Application number: 18/419,443
- Filed: 2024-01-22
- Published: 2024-07-18
- Granted: 2026-04-14
- Earliest claimed: 2022-05-17
- Assignees: Autodesk, Inc.
- Applicants: Autodesk, Inc.
- Inventors: Andriy Banadyha; Mark Thomas Davis
- Web page: https://patentgrep.com/patent/US12602870B2

## CPC

- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06F 30/12: characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2210/12: Bounding box
- G06T 2210/56: Particle system, point based geometry or rendering
- G06T 2219/2021: Shape modification
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In various embodiments, a gradient modeling application automatically generates designs of three-dimensional (3D) objects. The gradient modeling application generates a set of points based on a resolution and a perimeter. The gradient modeling application computes a set of displacement values based on the set of points, a first two-dimensional (2D) border, and a first displacement parameter that is associated with the first 2D border. Based on the set of displacement values, the gradient modeling application generates a 3D object design.

## Claims

### Claim 1

A computer-implemented method for automatically generating designs of three-dimensional (3D) objects, the method comprising:
generating a plurality of points based on a grid resolution for an overall grid of 2D points associated with a base surface;
computing a plurality of displacement values based on the plurality of points; and
generating a first 3D object design based on the plurality of displacement values.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the plurality of displacement values is further computed based on at least one of a first two-dimensional (2D) border or a first value for a first displacement parameter that is associated with the first 2D border.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the first 2D border comprises at least one of a 2D curve or a 2D point.

### Claim 4 (depends on 2)

The computer-implemented method of claim 2, wherein computing the plurality of displacement values comprises computing a first distance between the first 2D border and a first point included in the plurality of points, and computing a first displacement value based on the first distance and the first value for the first displacement parameter.

### Claim 5 (depends on 2)

The computer-implemented method of claim 2, wherein computing the plurality of displacement values comprises determining that a first point included in the plurality of points is influenced by the first 2D border based on a first 2D position associated with the first point, and computing a first displacement value based on the first value for the first displacement parameter.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the plurality of displacement values is further computed based on a first two-dimensional (2D) border.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the plurality of displacement values is further computed based on a first value for a first displacement parameter that is associated with the first 2D border.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the first value for the first displacement parameter specifies a distribution defining a degree of influence that the first 2D border exerts on a 2D point based on a distance between the first 2D border and the 2D point.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein computing the plurality of displacement values comprises:
computing a degree of influence that a set of 2D borders that includes a first 2D border has on a first point included in the plurality of points based on a first 2D position associated with the first point and a first value for a first displacement parameter; and
computing a first displacement value based on the degree of influence and a displacement limit associated with the set of 2D borders.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, via a graphical user interface (GUI), a user event corresponding to an interaction between a user and an interactive GUI element; and
determining a first 2D border or a first value for a first displacement parameter based on the user event.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein generating the first 3D object design comprises modifying a displacement field associated with an overall surface based on the plurality of displacement values and at least one of a blending mode or a position of a perimeter within the overall surface.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, further comprising generating a displacement field based on the plurality of displacement values, a 2D border, and a first value for a first displacement parameter.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, further comprising:
converting the plurality of displacement values into a bitmap; and
modifying a target portion of a target 3D object design based on the bitmap to generate a second 3D object design.

### Claim 14

One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to automatically generate designs of three-dimensional (3D) objects by performing the steps of:
generating a plurality of points based on a grid resolution for an overall grid of 2D points associated with a base surface;
computing a plurality of displacement values based on the plurality of points; and
generating a first 3D object design based on the plurality of displacement values.

### Claim 15 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the plurality of displacement values is further computed based on at least one of a first two-dimensional (2D) border or a first value for a first displacement parameter that is associated with the first 2D border.

### Claim 16 (depends on 15)

The one or more non-transitory computer readable media of claim 15, wherein the first 2D border comprises at least one of a 2D curve or a 2D point.

### Claim 17 (depends on 14)

The one or more non-transitory computer readable media of claim 14, wherein the plurality of displacement values is further computed based on a first two-dimensional (2D) border.

### Claim 18 (depends on 17)

The one or more non-transitory computer readable media of claim 17, wherein the plurality of displacement values is further computed based on a first value for a first displacement parameter that is associated with the first 2D border.

### Claim 19 (depends on 18)

The one or more non-transitory computer readable media of claim 18, wherein the first value for the first displacement parameter specifies a distribution defining a degree of influence that the first 2D border exerts on a 2D point based on a distance between the first 2D border and the 2D point.

### Claim 20

A system comprising:
one or more memories storing instructions; and
one or more processors coupled to the one or more memories that, when executing the instructions, perform the steps of:
generating a plurality of points based on a grid resolution for an overall grid of 2D points associated with a base surface;
computing a plurality of displacement values based on the plurality of points; and
generating a first 3D object design based on the plurality of displacement values.
