Flow Motion

the field construct menu

____________________________________________________________________________________

Section contents

____________________________________________________________________________________

Introduction

In this menu fields can be constructed. The field-solid and field-type of a field can be changed and the parameters of a field can be adjusted to the users' specific needs.

Fields can be saved in this menu but can also be saved like any other solid with save active, save solid, save still or save ani.

show fields

To display the field-solids of the fields in wire frame (or flat shading). When show fields is deactivated, the fields are assigned a display level above the maximum display level, which causes them to be invisible as wire-frames (or flat shaded).

Usage
Click the show field toggle button to activate or de-activate it.

Comment
show field has no effect on visibility during ray tracing, this is controlled by the invisible input box.

get field

Retrieves a field from temporary memory if the file toggle button is deactivated. Retrieves a field from the hard disk (permanent storage) if the file button is activated.

Usage
Click the get field button to activate it, the selection submenu will then be displayed from where you can make your selection.

See also
file (GIG Reference Manual), save field

save field

To copy the currently active field to the temporary memory (file deactivated) or to the hard disk (file activated).

Usage
Click the save field button to activate it, the selection submenu will then be displayed where you can make your selection.

Comment
See the section on the selection submenu in the general menu section of the GIG Reference manual on how to use it.

The currently active field can also be saved like any other solid with save active, save solid, save still or save ani.

See also
file (GIG Reference Manual), get field

previous

To select the field created before the currently active field.

Usage
Click the previous button to activate it.

Comments
If no field has been created before the current one, the current field will remain active and visible in the field data input box. If a previous field exists, the details of the previous field will replace the details of the current field.

The second value on the line "field 000x of 000y" at the top of the field data input box, indicates the number of existing fields.

Only the active field can be modified.

See also
field data input box, next

next

To select the field created after the currently active field.

Usage
Click the next button to activate the next field.

Comment
If no field has been created after the current one, the current field will remain active and visible in the field data input box.

See also
field data input box, previous

field primitives

To add a new field by selecting the type of solid.

Usage
Click on the button for the required primitive, the following prompt will then appear:

Please enter a name for this field: _
In response to this prompt, type the tag name you wish to assign to the new field. Press <enter> or the left mouse button to confirm.
A new field will be added and will be displayed in the field data input box.
The field type input box will display "vortex" as type of field.
The field primitive input box will display the type of primitive selected.
Comments
The primitive defines the space for the currently active field.

The primitive can be transformed and animated in the transform menu by selecting the corresponding tag name.

See field primitive input box on how to change the type of primitive.

See field types on how to change the type of field.

See also
transform menu (GIG Reference Manual)

delete field

To delete the field that is currently active.

Usage
Click the delete field button to activate it, the following prompt will then appear:
are you sure? (y/n) _
In response to this prompt, type y(es) if you want to delete the currently active field, type n(o) if you do not want to do this. Press <enter> to confirm.

field types

To select the field type for the currently active field.

Usage
The field types to choose from can be found in the scroll list.

Scrolling the list
The active field type in the list is highlighted. Scrolling the list up occurs by clicking on one of the buttons above the active field type. Clicking the button one position above the active field type scrolls the list one position up.
Selecting the button three positions above the active one will scroll the list three positions up etc. Scrolling down will work in the opposite way.
The list can also be scrolled with the mouse by clicking with the left mouse button on the highlighted box, then keep the middle mouse button pressed while moving the mouse up or down. To stop scrolling, press the left mouse, pressing the right mouse button will bring the list back to the original position.

Searching in the list
Click on the name of the scroll list, above the list: "field types".
The following prompt will appear:
Please enter a (part of the) name to be searched: _
In response to this prompt, type in the name or a part of the name to be searched for. Press <enter> to confirm. If the name that was typed in exists (or a name that begins with the name that was typed in exists), that name becomes the active selection.

Assigning a field type from the list
The last selected name will be activated (highlighted) and assigned. The type input box will display the new field type.
Comments
The field type defines the motion of objects that are influenced by the field.
The field types to choose from are:
chaos
A totally random motion which is unpredictable and different every time a simulation is done, useful for creating chaotic motion.

collapse
A field which collapses according to the shape of the field primitive. It can be used for creating shrinking or expanding (negative power) motion.

empty
A field with no motion at all. Objects in this field are moved only when the user has defined an extra vector for this field. Useful for creating uniform (one direction) fields.

fractal
A field which defines motion along its local z-axis only, calculated from a fractal. The fractal field can be used to create a fractal-like landscape from a patch object containing a lot of control points.

linesink
Objects in this field will be drawn towards the local z-axis of the field. Useful for creating cylinder-like obstacles (with power -1) in an existing motion.

noisy
A field with an unpredictable motion but not as chaotic as the chaos field type. The result is the same every time a simulation is done. This field is useful for changing dull motion into more interesting (natural) motion. This is done by adding a noise field (with not too much power) to existing fields. The total motion will now be less static because all objects will move a little bit differently.

sink
A field which pulls objects to its centre. Useful for the simulation of a sink or a black hole, or when used with a negative power, for the simulation of a source or explosion.

turbulence
A field type like the noisy field type but more turbulent. Useful for creating more natural motion.

vortex
A left rotating field. Objects in this field rotate around the local z-axis of the field. Useful for vortex motion, and (when combined with motion along the local z-axis) spiral and tornado-like motion.

waves
A field with a wave-like motion along its local z-axis only. This is a cyclic field, which means that objects will be (approximately) in their starting position after each cycle. The length of a cycle is expressed in frames and can be adjusted with 'wave field cycle' in the simulation menu. Useful for creating waves or flags which move in the wind.
See also
field type input box, extra

field data input box

field primitive

To display or change the type of solid for the currently active field.

Usage

Click on the field primitive input box to change from ball to cone, cylinder, cube or torus (5-toggle button).

See also
field primitives

tag

To display or change the tag name of the currently active field.

Usage
Click the tag input box to activate it (red outline), and the following prompt will then appear:
_
In response to this prompt, type the new tag name for the active field. Press <enter> to confirm.

Comment
A tag name can have a maximum of eight characters. Field tag names can be selected in the transform menu in order to transform the solids of the fields.

frame

To display the frame of an animation.

Usage
Click the frame input box to activate it (red outline), the following prompt will then appear in the input box: _

In response to this prompt type the frame number you want to see. Press <enter> to confirm. The active windows will be updated with new information where applicable.

Comment
The frame input box is for display (reference) only, no frames are fixed by using this input box. If the environment contains no animated elements, this box will not respond.

field type

To display the field type for the currently active field.

Comment
The field type can be selected from the field types scroll list.

See also
field types

invisible

To make the field primitive visible or invisible during raytracing.

Usage
Click the box to change from invisible to visible.

Comment
With the input box on visible, the solid of the active field is rendered during raytracing. Like any other solid the field primitive can have attributes.

power

To display or change the power for the currently active field.

Usage
Click the power input box to activate it (red outline), the following prompt will then appear in the input box: _

In response to this prompt type the required value for power and press <enter> to confirm. If you type a ? followed by <enter>, the selection submenu will be displayed where you can make your selection from the available value maps.

Comments
power influences the amount of motion of the active field, the higher the factor for power, the larger the amount of motion in the field, the faster the objects move under influence from this field.

The default setting for power is 1.

Any value map can be used to specify the power for each position in the field (images can be converted to value maps in the channels menu).

The following expressions can also be used for power:

mx() : a function which returns the local x-coordinate of the field primitive.
my() : a function which returns the local y-coordinate of the field primitive.
mz() : a function which returns the local z-coordinate of the field primitive.
frame: the frame number during the simulation.
t : the time t during the simulation. The relation between the frame number and t is: t = timestep * frame number
Examples
-1 		   a power which results in an opposite motion.
2*mz()	           a vortex with power mz() will gradually rotate faster as 
		   you move along the z-axis. The power is zero when z = 0, 
                   and increases with 2*z. 

1 + 0.1*t a power which increases in time. 0.5 - 0.01*frame a power which decreases in time.

Experiment with these expressions and use the visualization menu to understand their effect. For fields varying in time, the visualization shows the fields at the current frame number, so when using a power of 't' with the current frame number 0, the power is 0 and no vectors are seen.

gradation

To select the type of gradation, that is, the amount of motion related to the distance from the field-solids' centre.

Usage
Click the box to change from linear decreasing to quadratic decreasing, linear increasing, quadratic increasing, constant or user defined (6-toggle button).

Comments
The gradation model defines how the amount of motion changes with the distance from the centre to the edge of the field.

The linear model states that the power decreases/increases linearly with the distance from the centre to the edge of the field.

The quadratic model states that the power decreases/increases quadratically with the distance from the centre to the edge of the field.

The constant model states that the power does not depend on the distance from the centre of the field, it is constant in the field.

Upon selecting user defined, a function can be typed in using an expression of "r".

"r" is the distance from the centre to the edge of the field. At the centre (origin) r is 0, at the edge r is 1.

To see how the gradation works, create a default vortex field, place this field in a field group, go to the visualization menu and select 10 vectors along the x-axis, 1 vector along the y-axis, and 1 vector along the z-axis. Press solid vectors and notice that the default gradation of the vortex field is linear increasing from the centre to the edge, because vectors near the edge are longer (more motion) than vectors near the centre.

Now go to the field construct menu and select a constant gradation. Go to the visualization menu and click the solid vectors button. Now the vectors all have the same length which indicates a constant gradation.

Do the same for the other gradation types to learn about the effect of gradation.

Examples

1		same as constant
r		same as linear increasing
r^2		same as quadratic increasing
1-r		same as linear decreasing
(1-r)^2		same as quadratic decreasing

User defined examples:

sqrt(r)		increasing with the square root of r
r^3		increasing with r to the power of three
r/2+1		etc.

extra

To add an extra vector to the active field.

Usage
Click the extra input box to activate it, the following prompt will then appear:
_
In response to this prompt, type the required value for the extra vector and press <enter> to confirm.

Comments
Syntax for the extra vector to be entered:
vector(x, y, z)

For x, y and z, type the required value for the x, y and z direction of the vector. The extra vector will be added to all vectors in the active field resulting in an extra motion in the specified direction.

For example a motion along the local x-axis is specified by a vector with an x-component only:
vector(1, 0, 0)

A motion half as fast along the local y-axis is specified by a vector with a y-component of 0.5:
vector(0, 0.5, 0)

A motion along the opposite direction of the local z-axis is specified by a vector with a negative z-component only:
vector(0, 0,-1)

A motion both in the local x and y direction is possible by:
vector(1, 1, 0)

Experiment with the extra vector by selecting an empty field and entering different values for the extra vector, using the visualization menu to gain insight in to the effects of the extra vector.

Related topics