CA2043902A1 - Method for developing computer animation - Google Patents

Method for developing computer animation

Info

Publication number
CA2043902A1
CA2043902A1 CA002043902A CA2043902A CA2043902A1 CA 2043902 A1 CA2043902 A1 CA 2043902A1 CA 002043902 A CA002043902 A CA 002043902A CA 2043902 A CA2043902 A CA 2043902A CA 2043902 A1 CA2043902 A1 CA 2043902A1
Authority
CA
Canada
Prior art keywords
motions
model
moving body
segment
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002043902A
Other languages
French (fr)
Inventor
Toshiyasu Kunii
Lining Sun
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHUKYOHOJIN KONGO ZEN SCHONZAN SHORINJI
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2043902A1 publication Critical patent/CA2043902A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

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.

Description

~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;

' - ' :. ': - .:

.. . : .
-.

~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 `

- -: -'' : - . ' 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 . .: . -.. . . : - : - . . :~
... .... ~ . ~ ..
.
- : . . . :
' . ., . , ., :. :

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.

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

Claims (2)

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 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 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.
CA002043902A 1990-12-25 1991-06-05 Method for developing computer animation Abandoned CA2043902A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2-418252 1990-12-25
JP41825290A JPH04270470A (en) 1990-12-25 1990-12-25 Animation preparing method

Publications (1)

Publication Number Publication Date
CA2043902A1 true CA2043902A1 (en) 1992-06-26

Family

ID=18526151

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002043902A Abandoned CA2043902A1 (en) 1990-12-25 1991-06-05 Method for developing computer animation

Country Status (2)

Country Link
JP (1) JPH04270470A (en)
CA (1) CA2043902A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024728A1 (en) * 2003-09-03 2005-03-17 Nec Corporation Form changing device, object action encoding device, and object action decoding device
US8508537B2 (en) * 2008-11-17 2013-08-13 Disney Enterprises, Inc. System and method for dependency graph evaluation for animation
JP5396434B2 (en) * 2011-06-07 2014-01-22 株式会社ソニー・コンピュータエンタテインメント Image generating apparatus, image generating method, program, and information storage medium

Also Published As

Publication number Publication date
JPH04270470A (en) 1992-09-25

Similar Documents

Publication Publication Date Title
US5625577A (en) Computer-implemented motion analysis method using dynamics
US5623428A (en) Method for developing computer animation
Badler et al. Simulating humans: computer graphics animation and control
Borst et al. Realistic virtual grasping
Zhao et al. Inverse kinematics positioning using nonlinear programming for highly articulated figures
Borst et al. A spring model for whole-hand virtual grasping
US5586224A (en) Robot or numerical control programming method
Verschoor et al. Soft hand simulation for smooth and robust natural interaction
EP0520099A1 (en) Applied motion analysis and design
Ko Kinematic and dynamic techniques for analyzing, predicting, and animating human locomotion
Kim et al. Adaptation of human motion capture data to humanoid robots for motion imitation using optimization
CA2043902A1 (en) Method for developing computer animation
Kunii et al. Dynamic analysis-based human animation
Ott et al. Two-handed haptic manipulation for CAD and VR applications
CA2043883C (en) Computer-implemented motion analysis method using dynamics
JPH08329272A (en) Animation generator method
Hilde et al. A fast implicit integration method for solving dynamic equations of movement
Pike Computer simulation of a forward, full twisting dive in layout position
Huang et al. Interactive human motion control using a closed-form of direct and inverse dynamics
Mendoza et al. Issues in deformable virtual objects simulation with force feedback
CA2043886A1 (en) Animal training method
Neff et al. Modeling relaxed hand shape for character animation
Memişoğlu Human motion control using inverse kinematics
Singh et al. Control and coordination of head, eyes, and facial expressions of virtual actors in virtual environments
Wang Dynamic motion planning for robot manipulators using B-splines

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued
FZDE Discontinued

Effective date: 19970605