Computeranimation

Computer animation refers to the computer-assisted generation of animations. It uses the medium of computer graphics and adds additional techniques.

Sometimes a distinction is made between computer and computer generated animation. While the former is based on digitized drawings, between which interpolates the animation software to get smooth motion, the latter works with a three-dimensional scene, directly from the images are formed by the means of image synthesis.

Keyframes and interpolation

The technique of keyframe animation ( keyframing ) originates from the production of animated films. In this case, not all frames are hand drawn, but only called keyframes, which roughly determine the sequence of movements. The frames between the key frames are automatically calculated by interpolation, this is also called tweening.

In computer-generated animations of the term " keyframe " is misleading in that the interpolation does not occur out of the full images. Instead, various parameters of the scene to be set, such as the positions of the object's center points, their colors and scaling, the camera position and viewing direction or the intensity of the light sources. For different parameters, different key frames can be selected.

Interpolation

In order to avoid abrupt speed changes, the interpolation of the key values ​​is usually chosen so that its derivative is continuous. A higher continuous differentiability is usually not necessary, since the second derivative (acceleration ) changes often abrupt in nature. These properties make Catmull-Rom splines to a good choice for animation curves. Many animation systems allow the animator to fine tune through targeted adaptation of the tangents to the key values ​​of the animation curve. This is often done by controlling Tension, Continuity and Bias (TCB ). For this, the Catmull-Rom to Kochanek - Bartels splines be expanded with which these three parameters can be set for each key value.

If a motion path was obtained by digitization, it must be smoothed before being used only to remove jumps and noise.

Kurvenparametrisierung

The mere description of the animation curve is not generally sufficient, if not only the position but also the velocity of an object along a path to be controlled. The reason is that nothing is said about the speed between these points by fitting a curve at several points. The parametrization of the curve types usually used for animation does not match the actual distance along a curve.

One way to control the speed of an object, is to allow the animator to determine an additional distance -time function, which indicates how far an object is at a given time have moved along the curve. Also possible are velocity-time or even acceleration - time functions. In any case, the entertainment, the curve length along an animation curve in the parametric representation must internally convert. For most spline types there is to it no analytical formula, so approximate methods such as the Newton method must be applied.

The most common velocity profile in animation is Ease-in/Ease-out. This accelerates an object from the starting point, reaches a maximum, and finally slows down to the end point again. This behavior can be modeled by a segment of the sine function.

Rotations

The rotation is in addition to the displacement, the single transformation that maintains the shape of an object; therefore it plays in the animation of rigid bodies a major role. For the interpolation of three-dimensional rotations, special methods are used. A simple way to specify the rotation of an object is, by euler shear angle. If these angles are animated, the gimbal lock problem may occur. This effect occurs if one of the three axes of rotation coinciding with another, thereby a degree of freedom is lost.

To work around this problem, quaternions are used for the formulation of rotations in computer animation. Quaternions form a four-dimensional space, defined for the operations such as addition and multiplication. To rotate about a point, it is first shown as a quaternion rotation applied in the quaternion space, and then converted into the usual Cartesian coordinates. Successive rotations in quaternion space correspond to products of quaternions. Rotations are mostly expressed by Einheitsquaternionen, which can be thought of as points on a four-dimensional unit sphere. The interpolation on the four-dimensional unit sphere is also called Slerp. Since it is mathematically very complex, often interpolated only linearly between quaternions. The intermediate steps are then normalized in order to project again to the four-dimensional unit sphere. More consistent results can be achieved by the de Casteljau algorithm is applied so that multiple linear interpolations are performed.

If an object follow a motion path, it is often expected that it will not only shifted, but also that its orientation follows the path. The relationship between the orientation of an object, and the curve characteristics can be expressed by the formulas Frenet. In this case, some special cases have to be considered, in which the formulas can not be applied, such as in curve sections without curvature. If the camera is to be moved, it is often a center of interest, and aims always located in the center of the image. The animation program then changes the orientation of the camera accordingly.

Hierarchical objects

Objects are often modeled hierarchically, so that the constraints on bond or relative placement in a tree-like structure are organized. An example of a hierarchical model is a planetary system in which moons revolve around planets and this in turn around the sun. Machine parts or figures composed of contiguous objects are interconnected with various types of joints, such as sliding or rotating joints. Such objects are sometimes called hierarchical Articulated Structures. In computer animation of such models will make use of the kinematic part of robotics techniques. For character animation, however, these techniques are not sufficient, since characters move to freer, more complex and more subtle way than robots. Another reason is that the joints of animals themselves are deformable and therefore can not be modeled with the standard methods.

A direct, relatively tedious method for the animation of kinematic chains or related structures uses the direct kinematics. To define a specific movement, the animator starts at the root of the hierarchy and proceeds to the lower node, it changes the animation script each time. Thus, in the animation of a leg, the temporal change of the rotation is initially set at the hip joint, resulting in a clumsy step. Subsequently, the knee and the ankle is finally animated. Even this simple example, is fraught with problems, such as the vertical displacement of the hips during the movement is not considered.

The inverse kinematics operates at a higher level. In this case, only the movement of the end points of a structure is defined manually. The animation software then automatically calculates the behavior of the other joints, to perform this movement. The more complicated the structure, the more difficult these calculations. Another problem of inverse kinematics is that it leaves little room for maneuver the animator.

For the animation of the dinosaurs in the film Jurassic Park (1993 ) direct kinematics have been used, but the movements were determined in stop-motion style of real models with sensors. A further possibility is motion capture, in which the movements of an actor to be detected by means of sensors or markers on the body. There are also synthetically calculated models which generate realistic movements with virtual bones and muscles.

Collision detection

Collision detection is an essential tool when more than one object to be animated. The objects are in a first step, which collide with each other, and charged in a second step, the exact collision points. In its native form, the collision detection function of the number of objects considered quadratic term. The process can be greatly accelerated by objects are packed into bounding volumes, between which a faster test for overlap is possible. If the bounding volumes do not overlap each other, so do not do this, the objects it contains. If so, the objects need to be tested directly against each other. The body that surround the objects may also be a hierarchical structure.

Another way to speed based on the recognition that the collision detection is wasteful in the same time intervals. Instead, it should be carried out at times, the frequency distribution is proportional to the likelihood of collisions. Another problem is that the collision detection can be used at a time in which especially fast moving objects a piece of already penetrated into each other. This effect has to be corrected later, for example by the way the objects is calculated back along the motion path.

The collision detection may serve various applications, for example in order to calculate the path of an object while avoiding collisions. Physically can describe and calculate the further movement of the objects according to a collision as elastic or plastic impact.

Group simulation

To determine the behavior of several objects by the means of group simulation, the animator can use techniques of artificial intelligence. Thus each of the objects is planning the movements that match a specified plan, and executes it. Many computer games use such autonomous objects to create intelligent opponents or allies of the player. It turns out that a single piece all the more intelligence must have less the larger the group is. Here often called Boids - - is affected easily by only a few neighbors in hundreds of figures, a swarm behavior, in which the movement of each figure emerge. Collision avoidance is one of the results of such behavior.

A much simpler, yet useful technique for control of object groups are particle systems. The number of particles used, often very little is usually significantly larger than in swarm animations and can reach many thousands. The exact number of particles can also vary during the animation, since with each step, new particles are formed and old can be deleted. The movement of individual particles often follows the laws of mechanics. Applications of particle systems include the animation of explosions, splashing liquids, smoke, fire or symptoms with no fixed limit. To ensure a more plausible appearance, movement and other parameters of the particles can be randomly changed. The behavior of a particle system is usually determined by forces are fixed in space. For example, a particle can be " blown " in a new direction as soon as it reaches a specific place, or be attracted to a "center of gravity ".

With physically based simulations usually have much more realistic animations than with particle systems generate. Examples are the animation of fluids, fire, smoke or flexible cloths. To that effect the differential equations that describe these phenomena, be achieved by the means of numerical mathematics.

199463
de