force
force add
force add vol(id)
Returns the additional force of the volume id.
force add vol(id)=x,y,z,v
Changes this force.
Note:
May be used in a F5 function to modify an automatically managed force
(for example by field, trajectories, ...).
force add vertex(v)vol(id)
Returns the additional force of vertex v of volume id.
force vertex(v)add vol(id)=x,y,z,v
Changes this force.
Note:
May be used in a F5 function to modify an automatically managed forces on vertices
(for example by field, trajectories, ...).
force add move
force(f,v)move vol(id)vol(t)rand(r)
If vol id has property mv=meta move built by
interaction move vol,
with mv=f0,f1,..., fi=flag of volume t+i (1: attached to volume id, 0: free) then
if(mv[i])==1 (volume t+i becomes free with probability r, mass vol(t+i)=m (1 by default)
else (volume t+i is free) then
force add vol(t+i)=force1=f*u,v with u=unit(g1-g0), g0=CG matrix vol(id), g1=CG matrix vol(t+i).
Note:
this feture allows manage volumes t+[0,np-1] initialy attached at volume id to
become free according to a force f,v (used by example in the installation breath 2018),
usually in a F2 func.
Options:
force(fx,fy,fz): adds force (fx,fy,fz).
mass(m): mass of volume t+i (1 by default).
force field
force field(id)
Returns the force of the uniforme field id.
force field(id)=x,y,z,v
Changes this force.
force rota vol
force rota vol(id)
Returns the torque exerced on the volume id.
force rota vol(id)=f,v
Changes this torque.
Note:
In dynamic animation, volume id undergoes torque amplitude f and viscosity v (-1 to 0) about its
axis matrix vol(id).
f=1 et v=-.01 are god values.
force rota add vol(id)
Returns the additional torque exerced on the volume id.
force rota vol(id)=f,v
Adds f to this torque.
Note:
In dynamic animation, volume id undergoes torque amplitude f0+f
about its axis matrix vol(id)
(where f0 = force rota vol(id)): used by the
collision detection process, may be used also in F5 function.
force secy vol
force secy(v) CG vol(id)=k
Computes:
force vertex(secy(v))vol(id)=k*unit(p-g);
with: p=poi(s)vol(id);g=CG secy(v)vol(id);
Default all sections.
Options:
alea(c1,c2): reproductible random multiplier in interval [c1,c2].
randoim(c1,c2): no reproductible random multiplier in interval [c1,c2].
force vertex
force vertex(v) vol(id)
 
Returns the force applied at vertex numbered v of volume id.
force vertex(s)vol(id)=x,y,z
Does force vertex(v)vol(id)+=x,y,z (all vertices default).
force vertex(v)CG vol(id)=k
Computes:
force vertex(v)vol(id)+=k*unit(p-g);
with: p=poi(s)vol(id);g=CG vol(id);
Default all vertices.
Options:
alea(c1,c2): reproductible random multiplier in interval [c1,c2].
random(c1,c2): no reproductible random multiplier in interval [c1,c2].
force vertex(s)normal vol(id)=x,y,z
Does force vertex(v)vol(id)+=scalar product(nor,x,y,z) where
nor=normal at vertex v of volume(id) (all vertices default).
force vertex(s)normal speed vol(id)=c
Does force vertex(v)vol(id)+=c*(scalar product(nor,spe))*nor where
nor=normal at vertex v of volume(id) and spe=speed of vertex v (all vertices default).
Note: To automatically manage dynamic animation must:
1) Have assigned masses to the vertices s.
2) Turn on yes dynamic
3) You can also give initial speed at vertices.
force vol
force vol(id)
Return force (fx,fy,fz,v) assigned to the volume id.
force vol(id)=fx,fy,fz,v
Assignes (fx,fy,fz,v) to volume id.
Notes:
1) (fx,fy,fz) is the force vector, v is the viscosity.
2) The forces can be limited by limit force vol(id).
Notes
A force is active on an object as long as it is applied to it either procedurally with
call backs, either with
trajectories, or automatically with
springs,
dynamic limits, etc.
Otherwise it is zero if yes force is active.
Voir aussi