## variation law

May appear as an option in all commands involving a variation.
## law

### law(x1,y1,0, x2,y2,0, ......, xn,yn,0)

In certains commands
**(xi,yi)** stantardized between 0.0 and 1.0, allows varying a parameter y=law(x,L).

See for example:

traj law.
### law("ccc")

**ccc=acc**: accelerated (equivalent to acc).

**ccc=dec**: delerated (equivalent to dec).

**ccc=pend**: pundulum (equivalent to pend).
### law(x,w)

Returns **y=f(x)**, with **f** = polynomial function described by the 3D polygonal line
**w** = (x1,y1,0,x2,y2,0,...)
### law(x,id)

Returns **y=f(x)**, with **f** = polynomial function described by
the points **(x1,y1,0,x2,y2,0,...)** of object **law** identifier **id**.

**Options:**

**ext(e,c)**: the line **w** is extended by extension **(e,c)**.
## Objet law

### law(id)poi(x1,y1,z1,...)

Build object **law** identifier **id** defined by the 3D polygonal line
**(x1,y1,z1,...)**.
### law(id)

Returns the 3D polygonal line defining the law.

If **id="nnn"** and if the corresponding object is not found, file is seeked on the disk.
## law axis

### law axis rota vol(id)

Returns the list of boundaries **(a1, a2)** of learning.
### law axis rota vol(id)=a1,a2,...

Changes these boundaries.

Voir network vol.
## law fog

### law fog(id)

Returns the law of fog **id**
### law fog num=expr

Changes this law.
## law CG

### law CG(np)vol(id)

Builds the FIFO stack of CG of volume **id**.
### law CG vol(id)

Returns this stack.
Computes the
power 1/3 law of the stack.
Returns the power 1/3 law evaluation of the stack.

**Notes:**

bloc **dist radius** is autmatically generated containing **(di,ri,ci)** where:

**di** = curve speed

**ri** = radius

**ci** = di / (ri ^ 1/3)

Usefull in genetic algorithme generating natural motions.
see the file genetic_emergence.func.
## law field

### law field(id)

Returns the law associated to field **id**.
### law field(id)=v

Changes this law.

**Note:**

**id** field force is inversely proportional to the distance from the center of the field if it is
centrall, or from its axis if of axial type..
## law line

### law line(L)

Returns the variation law of the 3D line **L**.

**Options:**

**center**: returns the curvature center.

**dist**: returns the curve abscisses.

**radius**: returns the curvature radius.

**Examples:**

`L=adjust(3)line(0,0,0, 100,0,0);$law line(L)dist;`

prints **0.0 50.0 100.0**

`L=adjust(3)line(0,0,0, 100,0,0);$law line(L)dist;`

prints **0.0 50.0 100.0**

`L=adjust(6)line(0,0,0, 100,0,0)ext(3,1,0);$law line(L)dist;`

prints **0.0 20.0, 40.0 60.0 80.0 100.0**
## law network

### law(n) network(id)

Returns the output **n** of neural network **id**.
### law(n) network(id)=values

Changes this output.
### law(0) network(id)=values

Add an output.

See also: network and
motif network.

**Notes:**

All laws must have the same dimension.

There must be as many laws as motifs.

## law speed

### law speed rota vol(id)

Returns the property **law speed rota vol** of volume**id**.
### law speed rota vol(id)=c,cc

Changes this property.

**Note:**

if the volume **id** is the leader of an anchorage
structure then **c** is the coefficient of the
law of phase opposition, the rotational speeds of all volumes of this structure are automatically
modified according to this law.

**Notes:**

**cc** is the multiplier of **c** from one volume to the next.

if yes lead is active (default) law spreads from one volume to its
leader.

if yes follow is active law spreads from one volume to its
followers.

## law property

### law(num)propr1 propr2 ... vol(id)

Returns the law number **num** of neuronal network associated
with the **propr1 propr2 ...** property of volume **id**.
## law(num)propr1 propr2 ... vol(id)=expr

Changes this law, if **num=0**: adds a law.
## law transp vol

### law transp vol(id)

Returns the transparency law of volume **id**.
### law transp vol(id)=x1,y1,z1,x2,y2,z2,...

Changes this law.

**Notes:**

1) If the volume**id** is provided with a transparency (see illum vol),
it will be modulated by the law **(x1, y1, z1, x2, y2, z2, ...)**.

2) The x varies between 0 and 1, y varie between 0, z are zero.
y represents the multiplier of transparency with respect to x which is the cosine of the angle
between the normal vector and the vector joining the point to the eye

**Examples:**

`law transp vol(1)=0,0,0,1,1,0;`

`x=arc(1,PI,-PI/2,20);tran var("x")poi(1,0,0);law transp vol(1)=x;`

## law vol

### law vol(id)

Returns the **law** property of volume **id**.
### law vol(id)=v

Changes this property.

**Note:**

**v=1**: activates the speed calculus for adjust vol law.

**v=0**: inhibits these calculus.
## See also: