# US 12,450,835 B2 · Character articulation through profile curves

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

- Number: US 12,450,835 B2
- Document ID: US12450835B2
- Status: Granted
- Kind: B2
- Application number: 18/067,380
- Filed: 2022-12-16
- Published: 2024-06-20
- Granted: 2025-10-21
- Earliest claimed: 2022-12-16
- Assignees: Pixar
- Applicants: Pixar
- Inventors: Fernando Ferrari De Goes; Kurt W. Fleischer; William F. Sheffler
- Web page: https://patentgrep.com/patent/US12450835B2

## CPC

- G06T 17/205: {Re-meshing}
- G06T 13/40: of characters, e.g. humans, animals or virtual beings
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2219/2016: Rotation, translation, scaling
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques for computer animation are disclosed. These techniques include receiving a plurality of curvenet segments relating to a computer animation model comprising a surface mesh, and generating a cut-mesh that cuts the surface mesh using the curvenet segments. The techniques further include computing a deformation of the plurality of curvenet segments to the surface mesh using the cut-mesh, and displaying the computer animation model in a pose based on the deformation.

## Claims

### Claim 1

A method, comprising:
receiving a plurality of curvenet segments relating to a computer animation model comprising a surface mesh, wherein the plurality of curvenet segments are detached from the surface mesh and agnostic to connectivity and topology of the surface mesh, and wherein receiving the plurality of curvenet segments comprises:
identifying a set of control points located on a surface of the surface mesh; and
receiving splines connecting the set of control points and generated based, in part, on profiles of the surface mesh;
generating a cut-mesh that splits one or more polygons of the surface mesh that are crossed by at least one of the plurality of curvenet segments into a set of sub-polygons of the surface mesh;
computing a deformation of the plurality of curvenet segments to the surface mesh using the cut-mesh; and
displaying the computer animation model in a pose based on the deformation.

### Claim 2 (depends on 1)

The method of claim 1, wherein computing the deformation of the plurality of curvenet segments to the surface mesh further comprises:
estimating a respective deformation gradient matrix for each side of each of the plurality of curvenet segments.

### Claim 3 (depends on 2)

The method of claim 2, wherein each respective deformation gradient matrix quantifies an amount of at least one of: (i) rotation or (ii) stretching relating to deforming a rest segment for the computer animation model to a corresponding posed segment in the pose.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the cut-mesh comprises:
projecting a plurality of samples, relating to the plurality of curvenet segments, to the surface mesh;
incorporating the plurality of curvenet segments into the cut-mesh; and
updating the cut-mesh connectivity.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
discretizing the generated cut mesh using a plurality of matrices.

### Claim 6 (depends on 5)

The method of claim 5, wherein the plurality of matrices comprise a Laplacian matrix, the method further comprising:
factorizing the Laplacian matrix.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
rearranging one or more deformation gradients into a constraint matrix;
solving for deformation gradients at vertices relating to the surface mesh;
computing a first matrix relating to deformed cut-face polygons and a second matrix relating to displaced curvenet samples; and
solving for deformed vertex positions.

### Claim 8 (depends on 1)

The method of claim 1, wherein displaying the computer animation model in the pose is based on a hybrid rigging approach that includes both the plurality of curvenet segments and additional surface deformations.

### Claim 9 (depends on 1)

The method of claim 1, wherein the displaying the computer animation model in the pose is further based on a plurality of blend shapes.

### Claim 10 (depends on 1)

The method of claim 1,
wherein the plurality of curvenet segments relate to a plurality of Bézier splines created by a user,
wherein the cut-mesh is pre-computed, prior to a runtime, and stored in an electronic repository, and
wherein computing the deformation occurs during the runtime and comprises retrieving the cut-mesh from the electronic repository.

### Claim 11

A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs operations comprising:
receiving a plurality of curvenet segments relating to a computer animation model comprising a surface mesh, wherein the plurality of curvenet segments are detached from the surface mesh and agnostic to connectivity and topology of the surface mesh, and wherein receiving the plurality of curvenet segments comprises:
identifying a set of control points located on a surface of the surface mesh; and
receiving splines connecting the set of control points and generated based, in part, on profiles of the surface mesh;
generating a cut-mesh that splits one or more polygons of the surface mesh that are crossed by at least one of the plurality of curvenet segments into a set of sub-polygons of the surface mesh;
computing a deformation of the plurality of curvenet segments to the surface mesh using the cut-mesh; and
displaying the computer animation model in a pose based on the deformation.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein computing the deformation of the plurality of curvenet segments to the surface mesh further comprises:
estimating a respective deformation gradient matrix for each side of each of the plurality of curvenet segments.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein each respective deformation gradient matrix quantifies an amount of at least one of: (i) rotation or (ii) stretching relating to deforming a rest segment for the computer animation model to a corresponding posed segment in the pose.

### Claim 14 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein generating the cut-mesh comprises:
projecting a plurality of samples, relating to the plurality of curvenet segments, to the surface mesh;
incorporating the plurality of curvenet segments into the cut-mesh; and
updating the cut-mesh connectivity.

### Claim 15 (depends on 11)

The non-transitory computer-readable medium of claim 11, the operations further comprising:
discretizing the generated cut mesh using a plurality of matrices, the plurality of matrices comprising a Laplacian matrix; and
factorizing the Laplacian matrix.

### Claim 16

A system, comprising:
a processor; and
a memory having instructions stored thereon which, when executed on the processor, performs operations comprising:
receiving a plurality of curvenet segments relating to a computer animation model comprising a surface mesh, wherein the plurality of curvenet segments are detached from the surface mesh and agnostic to connectivity and topology of the surface mesh, and wherein receiving the plurality of curvenet segments comprises:
identifying a set of control points located on a surface of the surface mesh; and
receiving splines connecting the set of control points and generated based, in part, on profiles of the surface mesh;
generating a cut-mesh that splits one or more polygons of the surface mesh that are crossed by at least one of the plurality of curvenet segments into a set of sub-polygons of the surface mesh;
computing a deformation of the plurality of curvenet segments to the surface mesh using the cut-mesh; and
displaying the computer animation model in a pose based on the deformation.

### Claim 17 (depends on 16)

The system of claim 16, wherein computing the deformation of the plurality of curvenet segments to the surface mesh further comprises:
estimating a respective deformation gradient matrix for each side of each of the plurality of curvenet segments.

### Claim 18 (depends on 17)

The system of claim 17, wherein each respective deformation gradient matrix quantifies an amount of at least one of: (i) rotation or (ii) stretching relating to deforming a rest segment for the computer animation model to a corresponding posed segment in the pose.

### Claim 19 (depends on 16)

The system of claim 16, wherein generating the cut-mesh comprises:
projecting a plurality of samples, relating to the plurality of curvenet segments, to the surface mesh;
incorporating the plurality of curvenet segments into the cut-mesh; and
updating the cut-mesh connectivity.

### Claim 20 (depends on 16)

The system of claim 16, the operations further comprising:
discretizing the generated cut mesh using a plurality of matrices, the plurality of matrices comprising a Laplacian matrix; and
factorizing the Laplacian matrix.
