GIG reference manual

Flow Motion

____________________________________________________________________________________

Section contents

Introduction

GIG Flow Motion allows GIG users to produce animations of objects reacting within predefined and user defined vector 'flow' fields. With Flow Motion, it is possible to further automate the animation capabilities of GIG by interactively modelling and manipulating vector 'flow' fields using geometric primitives.

With this innovative tool, users will be able to simulate the behaviour of objects in wind or magnetic fields and incorporate these effects into unique animated sequences.

When working with Flow Motion, users are able to define and generate an unlimited number of vectorfields within a GIG environment. Objects can be assigned to specific vectorfields so they will react according to the defined direction (flow) and velocity (power) of that particular vectorfield. Flow Motion can also be used to transform individual points on free-form or nurbs models, causing the objects to metamorphose in space and time. It is possible to record these events as animations, which can then be edited and modified like regular GIG animation files. These unique capabilities, available only through Flow Motion, allow GIG users to produce spectacular effects within their animation productions.

An example of how Flow Motion could be used, would be to first model 'leaves' in GIG and then connect them to a vectorfield which defines the motion of the leaves. One could for instance define a vector field containing a 'turbulent' type of motion to simulate the movement of leaves blowing in the wind.

Some basics

Vectorfields
A vectorfield, or shortly: field, can be thought of as a certain motion defined over a subregion of 3d space. For example a wind blowing inside a cube.

In Flow Motion the subregion of space is called a 'fieldsolid' and can be defined by the GIG geometric primitives which are the ball, cone, cylinder, cube, or torus. These can be modelled and transformed like any other solid, the difference with normal solids is that they define a type of motion within themselves.

The 'type of motion' that is contained inside a field can be selected by the user by choosing between a number of pre-defined 'fieldtypes'. These pre-defined fieldtypes can thereafter be adjusted to the users specific needs.

The motion inside a field will cause objects to move if they are connected to the field and inside the fieldsolid.

Vectors
Vectors are used to visualize the motion contained inside a field. Vectors are arrows which represent the direction and the amount of motion. The direction of the motion is represented by the direction of the vector.

The amount of motion (the velocity) is represented by the length of a vector (the longer a vector the faster the movement).In Flow Motion we will use the term 'power' to refer to the amount of motion in a field. Thus the higher the power of a field, the faster the motion of objects in the field.

Examples of vectors:

a vector which represents a motion to the right.

a vector which represents the same motion, but 2 times faster.

A numerical representation of a vector in 3d space has 3 components, x, y, and z:
vector(x, y, z)
These represent the amount of motion along the fieldsolids' local axes.

Examples
vector(1, 0, 0)
a motion along the fieldsolids' local x-axis.
vector(0, 1, 0)
a motion along the fieldsolids' local y-axis.
vector(0, -1, 0)
a motion opposite to fieldsolids' local y-axis.
vector(0, 0, 0)
no motion at all.

Examples of simple vectorfields:

To give an idea of possible fields, 2 examples are shown below:

        Sink		              Vortex

Sink: A sink field type is a field with a motion towards the center of the sink. Every object in this field will be drawn towards the sink-centre (like a black-hole).

Vortex: A vortex field type is a field with a rotational motion around the centre of the field.

Adding vectorfields
When fields overlap, their motion is combined (added). For example a field with a motion to the west added to a field with a motion to the north will result in a motion to the north-west.

Using vectors to visualize this behaviour:

Another example is adding a uniform field upwards to a vortex: which will result in a spiral motion:

Field parameters
In Flow Motion there are 3 field parameters:

Object and field groups

After one or more vector fields have been created, objects can be connected to them. This can be done in the connect menu by connecting field groups to object groups. A field group consists of one or more fields. An object group consists of one or more objects.

Animation

With object groups have been connected to field groups, the animation of all objects can be calculated in the simulate submenu. Before calculating the animation, some variables can be set. The result will be animated objects and corresponding time-curves for each object influenced by the connected fields. The time-curves will be available in the animation menu and can be manipulated as normal time-curves.

Notes

Different vector fields can have the same position in 3d space. Objects connected to these fields will then be influenced by the sum of the different vector fields.

The primitives representing the space of a field can be animated in order to change the shape, position and orientation of that field in time.

Save still and save ani will also save the fields, field groups, object groups and the connections.

Some examples of animations created with Flow Motion can be found in project flowmotion_demo (use get ani in general menu).

the tools menu

Introduction
From the tools menu, Flow Motion can be activated. Upon activating Flow Motion, the GIG main menu will be updated with the following 17 buttons:

To return to the default GIG main menu, click on the GIG button in the main menu.

Flow Motion

To activate Flow Motion

Usage:
After selecting the tools button in the main menu, select Flow Motion from the selection list and select confirm. The main menu will now be updated in order to display the Flow Motion menus.

Comment
To return to the default GIG main menu, click on the GIG button from the main menu.

the transform menu

Introduction

With Flow Motion you will have one extra button with the name rotate track in the transform menu, with this function animated objects will rotate along the to track of the objects position during the animation. The track for the object must be created first before using rotate track.

rotate track

To rotate an object during animation so that the object is aligned to the track it follows.

Usage
First create a track for the object by using fix event or edit track (animation menu). To align the object to the track created , click on the rotate track button, the following prompt will then Align local y-axis to track? _
In response to this prompt type y(es) if you want to align the object to the track, type n(o) if you do not want to do this.

Rotation transformations will now be calculated for the object to align the object to the track.

Comments
rotate track will fix events for each existing event for the objects posx, posy or posz transformations. Existing events for rotx, roty and rotz will be overwritten.

If the rotation of the object along the track is not accurate enough, more events should be fixed for the position of the object before using rotate track.