Language selection

Search

Patent 2043902 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2043902
(54) English Title: METHOD FOR DEVELOPING COMPUTER ANIMATION
(54) French Title: METHODE D'ANIMATION PAR ORDINATEUR
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06T 13/00 (2011.01)
(72) Inventors :
  • KUNII, TOSHIYASU (Japan)
  • SUN, LINING (Japan)
(73) Owners :
  • SHUKYOHOJIN, KONGO ZEN SCHONZAN SHORINJI (Japan)
(71) Applicants :
(74) Agent: OSLER, HOSKIN & HARCOURT LLP
(74) Associate agent:
(45) Issued:
(22) Filed Date: 1991-06-05
(41) Open to Public Inspection: 1992-06-26
Examination requested: 1995-06-05
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
2-418252 Japan 1990-12-25

Abstracts

English Abstract


ABSTRACT OF THE DISCLOSURE
A method for developing computer animation using dynamics
analysis comprises analyzing the basic motions of a moving
body such as a human or animal body and inputting the force or
torque exerted on each joint into a database, dividing each
body segment from other body segments and calculating the
movements of the segments by applying dynamic equations,
checking constraints including the articulation of the moving
body and the range of movements of the joint, calculating
motions and forces produced by the restraints by applying the
inverse dynamics, calculating the movements of individual
segments by applying dynamic equations to develop new motions,
checking restraints including the articulation of the moving
body and the range of movements of each joint, calculating the
motions and forces due to the restraints by inverse dynamics,
and displaying the motions and forces.


Claims

Note: Claims are shown in the official language in which they were submitted.



THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:

1. A method for developing a new computer animation
comprising:
dividing a moving body into a plurality of segments
connected by joints, each of the segments acting as a minimal
unit of motion, constructing a model of the moving body on the
basis of constraints including the inherent future of each
segment, the articulation of the body, and the range of the
movement of each joint, and inputting the model into a
database;
applying the actual motions of a moving body to the
model;
calculating the resulting motions of the model using
inverse dynamics and calculating the center of gravity of each
segment, the force and torque exerted on each joint, the
center of gravity of the whole body, and the force and torque
exerted on the center of gravity of the whole body;
choosing a plurality of basic motions from the database,
and modifying physical parameters of the basic motions;
calculating the motions of each segment when forces
corresponding to the basic motions are applied to the segments
using dynamics while neglecting constraints on the
articulation of the moving body and the range of movements of
the joints;
checking and modifying the physical constraints on the
articulation of the moving body and the range of movements of
the joints; and
displaying the resulting motions of the model on a

-13-

screen.
2. A method for developing computer animation
comprising:
dividing a moving body into a plurality of segments
connected by joints, each of the segments acting as a minimal
unit of motion, constructing a model of the moving body on the
basis of constraints including the inherent future of each
segment, the articulation of the body, and the range of the
movement of each joint, and inputting the model into a
database;
applying actual motions of a moving body to the model;
calculating the resulting motions of the model using
inverse dynamics and calculating the center of gravity of each
segment, the force and torque exerted on each joint, the
center of gravity of the whole body, and the force and torque
exerted on the center of gravity of the whole body;
choosing a plurality of basic motions from the database,
and modifying physical parameters of the basic motions;
calculating the motions of each segment when forces
corresponding to the basic motions are applied to the segments
using dynamics while neglecting constraints on the
articulation of the moving body and the range of movements of
the joints;
checking and modifying physical constraints on the
articulation of the moving body and the range of movements of
the joints;
calculating the relation between forces and the motions
caused by the modification of physical constraints using

-14-

inverse dynamics; and
displaying the result obtained by composing the motions
calculated by dynamics and the forces and centers of gravity
calculated by inverse dynamics.

-15-

Description

Note: Descriptions are shown in the official language in which they were submitted.


~3~
METHOD FOR DEVELOPING COMPUTER ANIMATION

BACKGROUND OF THE INVENTION
This invention relates to a method for developing
computer animation.
Increasingly realistic and aestheticall~ pleasing
computer animation has been achieved by taking into
consideration the physical properties of the moving objects
represented by the animation and the physical principles that
govern the movement of the objects.
One computer animation method which was recently proposed
employs kinematics, in which motions are described in terms of
posltion, velocities, and accelerations, and forces and
torques involved in the motions are ignored. However, in
animation utilizing kinematics, the animator must specify the
motions involved with precision, and the information necessary
to do so may not be readily available to the animator.
Another recently developed animation technique utilizes
dynamics, which provides the motions of an ob~ect based on the
relation between motions and forces. If this method is used
to create computer animation, it is possible to generate
complex behavior with minlmal control. Furthermore, an
animation method utilizing dynamics has the great advantage
that lt can avold the limitations of motion specification of
methods utilizing kinematlcs.
However, an animation method utilizing dynamics requires
data on dynamic parameters such as the moments of inertia, the
centers of mass, ~oint friction, and muscle/ligament
. --1




.
'..,, ;, ~. - . ' '
.
' . : ~ . .

- .: . . .: :-

2~3~02
elasticity of the moving body being represented by the
animation, and these parameters are difficult to measure.
Without such data, animation based on dynamics produces
unrealistic motions similar to animation based on kinematics.
Furthermore, dynamics requires the solving of extensive
equations. For an articulated human body with 200 degrees of
freedom, 600 simultaneous differential equations need to be
solved.
Thus, animation methods which have been proposed thus far
are not well suited for representing complex motions.
Therefore, there is no animation method capable of
representing all the motions of a human or animal.
There has been some research on the use of artificial
intelligence and expert systems to capture the knowledge and
skills of the animator. Other animation methods that have
been suggested include a constraint-based approach and a
rame-based approach.
In conventlonal animation methods, basic data on the
motlons of humans or animals, such as the dimensions of body
parts, moments of inertia, and constraints that define the
range of movement of individual joints is determined by the
animator relying on his intuition.
Conventlonal anlmation methods utllizing dynamics to
represent the movements of a human body, for example, involve
the following steps.
(1) Constructing a model of the human body;
(2) Applylng the actual motions of a human to the model;
(3) Analyzing the motions of the model;


--2--



' - ' :. ': - .:



.. . : .
-
.

~3~Q2
(4) Creating a new motion; and
(4) Displaying the new motion on a screen.
In the fourth step (creating a new motion), a methodwhich can exactly solve the dynamic equations using the Gibbs
formula is particularly suitable. However, for an actual
animation system, this method has not been used because of its
complexity, since when n is the number of segments
constituting the model and forming minimal units of motion,
the computational complexity O(f(n)) becomes a function O(n~)
of n', and thus is very large.
There has also been proposed an animation method which
reduces the computational complexity of o(n) by neglecting
rotations of joints about the principal axes. However, with
this method, only a line picture is possible, and a realistic
three-dimensional model of an articulated body cannot be
obtained.
As mentioned above, practical animation work requires a
method have real time response, but conventional animation
techniques require much trial and error and do not permit real
tlme response.



SUMMARY OF THE INVENTION
It is an ob~ect of this invention to provide an animation
developing method utilizing dynamics which enables an animator
to design motlons in an interactive manner based on the actual
motions of a human or animal body without requiring trial and
error or the intuition of an animator.
It is another ob~ect of the present invention to provide


--3--



`

- -: -
'' : - . '

h ~

an animation developing method which can generate a realistic
three-dimensional modeling picture.
It is yet another object of the present invention to
provide an animation developing method which can represent all
the motions of a human or animal body.
In an animation developing method according ~o the
present invention, the basic movements of a human or animal
body are analyzed to generate data on dynamic parameters
including the forces and torques exerted on joints of the
body. This data is stored in a database. In order to design
a new motion, an animator accesses the database and modifies
the data. A computer provides the animator with feedback on
constraints in terms of constrained motions and the result of
inverse dynamics in terms of forces so that the animator can
design new motions in an interactive manner by repeating the
above processes until satisfactory results are obtained.
The computational complexity of an animation developing
method according to the present invention is reduced to a
function O(n) wherein n is the number of segments, so the time
required for computations is greatly xeduced compared to
conventional methods. Furthermore, the present invention can
lllustrate the motions of human or animal bodies by smooth
three-dimensional modeling pictures without requiring trial
and error or the intuition of the animator.



BRIEF DESCRIPTION OF THE DRAWINGS
Flgure 1 is a flow chart of an animation developing
method according to the present invention.




.
~ ' ' ' . ', . , , ~


'

Figures 2(a) - 2(c) are control graphs for motion design
showing an example of the forces exerted on a joint.
Figures 3(a) - 3 (b) are schematic views of a display
obtained using dynamics.
Figures 4(a) - 4(b) are schematic view of a display
obtained using inverse dynamics.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Figure 1 is a flow chart of the animation developing
method of the present invention when used to develop animation
of a human body. It includes the following steps.
(1) Constructing a model of the human body;
(2) Applying the actual motions of a human to the model;
(3) Analyzing the resulting motions of the model;
(4) Developing new motions from basic motions;
(5) Applying dynamics to the model;
(6) Applying constraints to the model;
(7) Applying inverse dynamics to the model; and
(8) Displaylng the result.
In the first step (constructing a model), the human body
is divided into a plurality of segments connected by joints,
each of the segments acting as a minimal unit of motion. A
model is then constructed on the basis of constraints
including the nature of each segment, the articulation of the
body, and the range of movement of the joints connecting the
segments. Data defining the model is stored in a computer as
a database.
In the second step (applying actual motions), a film is

h7~3
taken of the actual motions of a human, and for each frame of
the film, the positions of the body parts of the human are
quantified and input to the computer. This data is applied to
the model, and the computer calculates the position, velocity,
and acceleration of each segment of the model. When the human
is simultaneously filmed from a plurality of directions, the
analysis in the next step can be executed more concretely.
In the third step (analyzing the motions of the model),
the motions of the segments determined in the second step are
analyzed using inverse dynamics to determine the center of
gravlty of each body segment, the force and torque exerted on
each joint, the position of the center of gravity of the whole
body, and the force and torque exerted on the center of
gravity of the whole body. When only the analysis of motions
is desired, the center of gravity of each body segment, the
force and torque exerted on each joint, the center of gravity
of the whole body, and the force and torque exerted on the
center of gravity of the whole body, which are obtained in the
third step, are displayed on a screen by arrows or other
symbols superimposed on a display of the human body model.
Next, a method for designing a new motion based on the
results of the above analysis will be explained.
In order to design a new motion, the data on the human
body obtained in the first step, the data on the actual
motions of the human body obtained in the second step, and the
data on the results of the analysis obtained in the third step
are previously input to the database.
In the fourth step (designing new motions), an animator




: . :

., . ~ - :

~3~0~
chooses a plurality of basic motions from the database. The
motions are represented quantitatively by control graphs each
showing the force acting on one of the joints of the model as
a func'ion of time. Figures 2(a) - 2(c) are control graphs of
the forces acting in the directions of x, y, and z orthogonal
axes on the left elbow of a person performing a movement in
Shorinji Kempo (a martial art) as a function of time. The two
forces exerted on any given joint are equal in magnitude and
opposite in direction. A complicated motion is represented by
a plurality of graphs. The control graphs for motions of
other body segments can be designed in the same manner as for
the illustrated control graphs for the left elbow.
Next, global modification and local modification of
forces are performed. Global modification involves producing
a uniform change in forces acting on all the body segments.
Local modification involves the modification of physical
parameters such as the force exerted on a specific segment of
the human body.
In the fifth step (application of dynamics), the motion
of each body segment is calculated on the basis of the forces
corresponding to the basic motions selected by the animator
and the dynamic equations governing movement of the segment.
In this calculation, although the articulation of the human
body ls essentially as shown in Figure 3(a), each body segment
is treated as being separate from the others to reduce the
amount of computation, and the constraints on the articulation
of the human body and the range of movement of joints are
neglected for the moment.




.
.


.

In order to calculate the motion of each segment,
Newton's equation of motion is used to determine the linear
acceleration of the center of gravity, and Euler's equations
are used to derive the angular acceleration of each segment
about its center of gravity. Once the linear and angular
accelerations are obtained, they are integrated a first time
to find velocities and integrated a second time to find
positions.
In the sixth step tapplication of constraints~, the
articulation of the human body and the range of the movements
of body joints are checked for each of the motions calculated
in $he fifth step. The process of applying constraints starts
at a segment referred to as a root segment, and the position
and the orlentation of each segment in a subclass of the root
segment are checked sequentially. Here, two types of checks
are performed. One ls a check whether a subclass segment ls
always connected to its superclass segment. The other is a
check whether the movement of each joint exceeds a specified
range~ If the subclass segment is not connected to its
superclass segment as shown in Figure 4(a), the subclass
segment is translated until it becomes connected to its
superclass segment. If the movement of each joint exceeds the
specified range, the movement of the joint is adjusted to be
wlthin the range by rotation of the corresponding segment,
thus modifying the positions of the segments to obtain a
posture as shown in Figure 4(b).
In the seventh step (application of inverse dynamics),
Lagrange equations which describe the relationship between




- : ~ ,
.: .- . . . - : :
-
- - .
. , ~ . . .. . -

fo~ces and movement are used to calculate the forces exerted
on each joint of the body.
If the desired results are not at first obtained, the 5th
- 7th steps can be repeated, and the new motions can be
developed in an interactive manner.
In the eighth step (displaying the result), the new
motions which have been partially or completely designed are
displayed on the screen. The position of the center of
gravity of the displayed human body and the direction of
forces exerted thereon can be superimposed on the human body.
In the present invention, since the sequence is executed
by a simple line feedback algorithm, the computational
complexity of the inverse dynamics becomes a function O(n) of
the number of segments n. By using inverse dynamics, a
reasonable and complete combination of forces can be obtained.
In contrast, without inverse dynamics, it is impossible for
the animator to find the complete design of forces. In the
present invention, if the orientation of a body segment is
such that the range of movement of either of its joints is
exceeded, the orientation of the segment is changed so that
the position of the body segment satisfies the physlcal
constraints of the human body. Since the motions of the human
body thus obtained are natural motions wherein a subclass
segment is always connected to its superclass segment and the
movement of each ~oint does not exceed the specified range,
such motions can be displayed realistically using a three-
dimensional modeling picture.
Furthermore, according to the present invention, it is




:. . , . - : .
.: .- . . . -. ~ -
- - ., . - ~
...... ~ : .. : : -
- . . .
- :-:. ~ ~ . . -. . ' :
.. . , - :

~ s~
possible to develop a new motion in an interactive manner
using a computer without requiring trial and error or the
intuition of the animator.
Animation of an animal body can be developed by the
method of the present invention in the same manner as
described above with respect to a human body.
As mentioned above, the animation developing method
according to the present invention comprises the steps of
analyzing the basic motions of an actual human body and
developing new motions. The analysis of the basic motions of
the human body is achieved in three steps: constructing a
model of the human body, applying the actual motions of a
human to the model, and analyzing the motions of the segments
of the model. The development of new motions is achieved in
three steps: application of dynamics, application of
constraints, and application of inverse dynamics. In the step
of applying dynamics, the human body is divided into a
plurality of lndependent body segments (50, for example)
connected by joints, and the motion of each body segment is
calculated independently of the other segments using Newton's
equatlon of motlon and Euler's equations. In the step of
applying constraints, the articulation of the body and the
range of movement of its joints are checked. In the step of
applying inverse dynamics, the force modified by the
constraints and generating new forces are calculated. Thus,
the whole computational complexity becomes O(n).
Accordingly, the method according to the present
invention can eliminate the computational complexity of


--10--



. .: . -
.. . . : - : - . . :~
... .... ~ . ~ ..
.
- : . . . :
'
. ., . , ., :. :

conventional methods, it permits dynamics to be applied to
actual animation development, and it permits feedback in real
time using dynamics.
Furthermore, in order to calculate the motions of each
segment of the human body, since the linear acceleration of
the center of gravity is calculated using Newton's equation of
motion and the angular acceleration of the center of gravity
is calculated using Euler's equations, it is possible to
determine and display not only the position of and the force
exerted on the center of gravity of each segment, but also the
position of and the force exerted on the center of gravity of
the whole human body.
It is possible according to the present invention to
realistically display the motions of a human body using smooth
three-dimensional modeling pictures rather than line drawings.
In addition, an animator can look at the human body model on
the screen from varlous directions, and can translate or
rotate various segments of the human body in an interactive
manner. Thus, the animator can ascertain the relationship
between the picture and the human body model correctly.
In conventional animation developing methods, basic data
on the motions of the human body and the constraints that
define the range of movements of individual joints is obtained
uslng the intuition of the animator. In contrast, in the
animation developing method according to the present
lnvention, actual dynamic parameters are obtained by analyzing
the actual motions of the human body. Accordingly, the
motions derived from these parameters are reliable and provide




,
, ' ' . : . ' .:
,
. . .
- .
. . , , : , . :

-:
. . . .

~39~2

realistic motions.
An object oriented paradigm has recently been used in a
number of areas. As a user interface, the object-oriented
philosophy leads to a direct manipulation paradigm. In this
direct manipulation paradigm, since the images displayed on a
screen correspond to objects, by using the animation
developing method according to the present invention, the
objects can be manipulated directly in the space of the
ob;ects.
The above-described processes for analyzing motions and
developing new motions according to the present invention can
be applied not only to the development of animation but to
programming of industrial equipment such as robot control
systems, to numerical control systems, to the study of motions
in sports or the performing arts, and to the training of
animals.




-12-



- .
'~ ' ' -'' '' ' - ' . '

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(22) Filed 1991-06-05
(41) Open to Public Inspection 1992-06-26
Examination Requested 1995-06-05
Dead Application 1997-06-05

Abandonment History

Abandonment Date Reason Reinstatement Date
1996-06-05 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1991-06-05
Registration of a document - section 124 $0.00 1993-01-08
Registration of a document - section 124 $0.00 1993-01-08
Reinstatement: Failure to Pay Application Maintenance Fees $200.00 1993-11-18
Maintenance Fee - Application - New Act 2 1993-06-07 $50.00 1993-11-18
Maintenance Fee - Application - New Act 3 1994-06-06 $50.00 1994-05-25
Maintenance Fee - Application - New Act 4 1995-06-05 $50.00 1995-06-05
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
SHUKYOHOJIN, KONGO ZEN SCHONZAN SHORINJI
Past Owners on Record
KUNII, TOSHIYASU
SUN, LINING
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Description 1992-06-26 12 460
Cover Page 1992-06-26 1 20
Abstract 1992-06-26 1 25
Claims 1992-06-26 3 79
Drawings 1992-06-26 3 44
Fees 1995-06-05 1 47
Fees 1994-05-25 1 51
Fees 1993-11-18 1 42