# US 10,311,623 B2 · Real-time animation method for hair-object collisions

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

- Number: US 10,311,623 B2
- Document ID: US10311623B2
- Status: Granted
- Kind: B2
- Application number: 15/533,297
- Filed: 2015-02-15
- Published: 2018-09-20
- Granted: 2019-06-04
- Earliest claimed: 2015-02-15
- Assignees: Zhejiang University
- Applicants: Zhejiang University
- Inventors: Kun Zhou; Menglei Chai; Changxi Zheng
- Web page: https://patentgrep.com/patent/US10311623B2

## CPC

- G06T 13/40: of characters, e.g. humans, animals or virtual beings
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06T 2210/21: Collision detection, intersection
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed is a real-time motion simulation method for hair and object collisions, which is based on a small amount of pre-computation training data and generates a self-adaptive simplified model for virtual hair style for real-time selection and interpolation and collision correction, thereby realizing real-time high-quality motion simulation for hair-object collisions. The method comprises the following steps: 1) reduced model pre-computation: based on pre-computation simulation data, selecting representative hairs and generating a reduced model; 2) real-time animation and interpolation: clustering the representative hairs simulated in real time; selecting the reduced model and interpolating; and 3) collision correction: detecting collision and applying a correction force on the representative hairs to correct the collisions. The present invention proposed a real-time simulation method for hair-object collision, which achieves similar effect as off-line simulation and reduces the computation time cost.

## Claims

### Claim 1

A real-time animation method for hair-object collisions, comprising steps of:
(1) constructing a reduced model upon pre-computation: selecting representative hairs from an target hair model based on offline animation data; computing all the reduced models based on a representative hairs skinning interpolation;
wherein the step (1) comprises the following sub-steps of:
(1.1) recording a training head motion sequence Tf according to the target hair model; simulating motions on the target hair model by adopting a general hair animation technology based on the recorded training head motion sequence Tf and aligning to get a training animation data Hf of the target hair model;
(1.2) getting a set of optimized sparse bases M and a linear combination scalar α by a sparse coding method to reconstruct the training animation data Hf gotten through the step (1.1) approximately and sparsely through a linear combination by the set of sparse base; selecting the same number of the representative hairs G from the target hair model to fit the set of sparse bases; selecting affecting representative hairs Gs of every one of the hairs s on the target hair model from the representative hairs G; and
(1.3) constructing reduced model m of every one of the hairs son the target hair model by various combinations of Gs using the training animation data Hf gotten from the step (1.1), the representative hairs G and the affecting representative hairs Gs of every one of the hairs on the target hair model gotten from the step (1.2); reconstructing the hairs though a skinning interpolation of partial representative hairs Gsm in Gs by every reduced model; computing a skinning interpolation weight wg→s of every reduced model by using skinning weight optimal method to most fit the hairs reconstructed by using wg→s with the training animation data Hf of the target hair model;
(2) simulating real-time motions and interpolating: real-time simulating a motion of the representative hairs as in the step (1); selecting the reduced model matching scene objects collisions in the step (1); interpolating all hairs and getting the target hair model; and
(3) correcting collisions: checking collisions of all the hairs on the target hair model as in the step (2); applying collision correction on the representative hairs in the step (1) by two-way correction to correct the target hair model; getting all the hairs of the corrected target hair model.

### Claim 2 (depends on 1)

The real-time animation method for the hair-object collisions, as recited in claim 1, wherein the step (2) comprises the following sub-steps of:
(2.1) simulating motions of the representative hairs G in the step (1.2) of the target hair model in real-time by using a mass spring model; getting representative hair animation results Gt with consideration of external forces, collisions with the scene objects and interactions between the hairs;
(2.2) calculating a motion similarity d(i,j) which comprises positions and velocities of any pair of representative hairs (i,j) based on the representative hairs animation results Gt of the target hair model in step (2.1); checking collisions with the scene objects on a connecting path between the pair of representative hairs; getting a motion matching between the representative hairs based on the motion similarity and the collisions; clustering the representative hairs according to the motion matching to fit the representative hairs within a cluster to the motion matching;
(2.3) selecting a current reduced model mt from all the reduced models in the step (1.3) of every one of the hairs on the target hair model, which fit the cluster of the representative hairs and most approaching to a current reduced model based on the cluster of the representative hairs in the step (2.2); and
(2.4) getting a current position of every one of the hairs to get a current state Ht of the target hair model by interpolating the representative hairs animation results in the step (2.1) according to the partial representative hair Gsm and the interpolation skinning weight wg→s in the step (1.3) based on the selected reduced model mt of every one of the hairs on the target hair model in the step (2.3).

### Claim 3 (depends on 2)

The real-time animation method for the hair-object collisions, as recited in claim 2, wherein the step (3) comprises the following sub-steps of:
(3.1) detecting collision between current positions of every one of the hairs and the scene objects and calculating a correction force Is(i) which comprises a magnitude and a direction based on the current state Ht of the target hair model in the step (2.4);
(3.2) projecting the correction force Ii(i) of every hair particle of the target hair model in the step (3.1) to the representative hair G of the target hair model in the step (1.2) according to the skinning interpolation weight wg→s in the current reduced model mt of the hair in the step (2.3); getting an optimal collision correction force I*g(i) of every one of the representative hairs, which is similar to the collision correction force Is(i) through an interpolation result of the current reduced model; and
(3.3) applying the optimal collision correction force I*g(i) projected on the representative hairs G of the target hair model in the step (3.2) on a process of animation to relieve collisions between a new target hair model H*t and the scene object after interpolating the selected current reduced model of corrected representative hairs according to the step (2.3).
