volume
vol
vol(id)
Creates the empty volume identifier id.
vol(id)propr(p)
Creates the volume id with simple properties of type propr(p).
Example:
NF[1,6]
Creates the volume id with the facet (1,2,3,4,5,6).
NP(100000)
Creates the volume id with 100000 points (0,0,0).
poi(x1,y1,z1,x2,y2,z2,...)
Creates the volume id with the points (x1,y1,z1,x2,y2,z2,...).
col(r,g,b)
Creates the volume id with color (r,g,b).
illum(illum,ref,spe,bri,tran)
Creates the volume id with the illumination coefficients (illum,ref,spe,bri,tran).
fac(1,2,3)fac(4,5,6,7)
Creates the volume id with 2 facets (1,2,3) and (4,5,6,7).
Note:
The parameters number must be specify, for example col(2,1)
has unspecified effects on the blue component of the color.
To add points:
poi(0)vol(id)=p
.
To add facets:
fac(0)vol(id)=f
.
vol arc
vol(id)arc(r,an,dan,np)
Builds volume id star shaped center (0,0,0) and np vertices.
Options:
center(x,y,z): center (x,y,z) (0,0,0 by default).
close(1): close (default 0, 1 if dan==2*PI).
vol envelope
vol(id0)envelope secx(nx)
Builds volume id0 type envelope with nx x factes sections.
Options:
close(c): c = 0 (open), c = 1 (close).
envelope(id1,id2,...): the y sections are those of volumes idi,
such a volume is built during its first display. Allows set a continuity between
the itmes of an articulated structure.
meta(id2,s2): vertices of current x section of volume id0
are points s2 of volume id2.
vertex(num,v1,v2,...): the currents points of volume id0 are the
points v1,v2,... of volume number num.
Dynamic:
spring vol(id)=s,v: defines a spring between a point
of volume id and the corresponding point of his envelope.
Note:
envelope(0)adjust vol(id0)=a,a1,a2,...,an, b1,b2,...,bn:
allows correct the mapping of vertices b1,b2,...,bn on vertices a1,a2,...,an
of volume id.
vol lattice
vol(id)lattice
Builds volume id type lattice like envelope,
allows concatenate volumes with different secx, cant use
texture.
Options:
envelope(id1,id2,...,idn:
Li=idi, ai,1,ai,2,...,ai,n
vertices of secy of volumes idi are
vertices of volume id, facets are built according to.
vol light
vol light(id)
Returns the numbers of the volumes having a shadow from light id.
vol light(id)=s1,s2,...
Definies these volumes.
vol particle
vol(id)particle poi(p)
Builds a particles system of points p.
blocks force vertex and speed vertex are automatically generated and set to zero.
Options:
alea: reproductible random.
ang(an): opening angle an (2*PI default).
axis(ax,ay,az): direction (ax,ay,az) (0,-1,0 default).
center(xc,yc,zc): center (xc,yc,zc) (0,0,0 default), usefull for option time.
col(r,g,b): color;
force(f1,f2,v1,v2): set randomly the origin forces of point P between
f1 and f2, with viscosity between v1 and v2 and direction CP.
illum(col,ref,spe,bri,tran): illumination.
mass(m): mass.
normal(nor1,nor2,v1,v2): force direction is a normal to CP instead of CP,
random module between nor1 and nor2.
and random viscosity between v1 and v2.
particle(np): set np points (xc,yc,zc).
poi(x1,y1,z1,...): set np points (xi,yi,zi).
radius(d1,d2,c1,c2): size of particles depends of there distance (6,12,0,.05 are good values).
rand: not reproductible random.
secz(3): 3D (default), secz(2): 2D.
speed(s): set the origin module speeds of vertices to s.
speed(s1,s2): set randomly the origin speeds of vertices between s1 and s2.
tan: set the origin forces of each vertice in the tangent plan to the sphere.
time(t1,t2,0): t1 = birth date, t2 = life time, 0 is required.
Notes
Some of these options are stocked in blocs of type stock opt.
To add points:
poi(0)vol(id)=x1,y1,z1,...
To modify the forces:
force vertex(num)vol(id)=fx,fy,fz,v
To modify particles masses:
mass vertex(num)vol(id)=m
To modify particles speed:
speed vertex(num)vol(id)=sx,s,sz
To modify particles time:
time vertex(num)vol(id)=t1,t2,0
Notes:
1) in this case it will be necessary to generate force vertex vol(id) and
generate speed vertex vol(id)
2) it is necessary to yes particle and
yes dynamic to activate the particles.
3) The points of the volume id define the particles positions.
Illumination
light vol(id)=idl illuminates
the particles volume by light idl (default is an uniform
illumination).
In the case vol vol(id)=id2,
meta normal vol(i2)=id
is needed in order to compute the illuminantion of volume
id2 according to its position on vertices of volume
id.
DEVELOPING
2) alea speed vol et
alea speed vertex vol allow to manage the rebounds absorption.
3) field allows to create force fields.
4) coe speed vol and
coe speed vertex vol allow to manage the rebounds absorption.
5) collision vol allows to manage collisions with obstacles.
6) collision particle vol to manage collisions between particles.
7) force vol et
force vertex vol used to apply forces to particles.
8) mass vol et
mass vertex vol used to assign masses to the particles.
9) motif vol(>a> and
motif vertex vol to replace particles by objects.
10) time vol and
time vertex vol to manage births and lifetimes of particles (eternal default).
11) speed vol and
speed vertex vol can give initial velocities to the particles.
12) force speed vol treats the running resistance.
13) center vol helps maintain a center particle generation.
vol vertex
vol vertex(s)vol(id)
Returns the vol vertex property of the vertex s of volume id.
vol vertex(s)vol(id)=v
Changes this property.
Vertex num of volume id is attracted by vertex num of volume v,
Note:
by a spring coefficients spring vertex(num)vol(v).
vol view
vol view(id)
Returns the identifier of the volume
associated to the view id.
vol view(id1)=id2
Changes this identifier.
Note: This command displays, in the same scene, different volumes depending on specific points of view
(see demo1_view.func).
vol vol
vol vol(id)
Returns the vol vol property of the volume id.
vol vol(id)=v
Changes this property.
Note:
With yes vol the volume v will be displayed in every vertices of the volume id.
Not to display the volume v do
validate vol(v)=0
vol vol vol
vol(id1)vol(id2)vol(id3)
Builds revolution volume id1 joigning secy(ny2+1)vol(id2) to secy(ny3+1)
vol(id3).
id3 (provided they are of the same type) with simple properties.
Options:
ang(a2,a3): rotates ang a2 secy(ny2+1)vol(id2) and ang a3 secy(ny3+1)vol(id3).
ext(e,c,f): extension.
inv: joigning secy(1)vol(id2) to secy(1) vol(id3).
secy(n): secy vol(id1) (2 by default).
See also: