envelope

adjust
audio
interpol
line
var
vertex
vol
See also

envelope adjust

envelope(num)adjust vol(id)

        Returns the property envelope adjust number num (1 default) of volume id.

envelope(0)adjust vol(id)=a,a1,...,an,b1,...,bn

        Adds a property envelope adjust to volume id.
Note:
if the volume id if of type envelope, when displayed, the vertices number b1,...,bn of volume id will be forced to vertices a1,...,an of volume a.

envelope(num)adjust vol(id)=a,a1,...,an,id,b1,...,bn

        Changes the property envelope adjust number num of volume id.

envelope adjust

envelope(e)audio

Returns the envelope of the signal audio (yes envelope) is needed).
Options:
sort: processes the fft of the audio signal (yes sort) is needed).

envelope interpol

envelope(num)interpol vol(id)

        Returns the property envelope interpol number num (1 default) of volume id.

envelope(0)interpol vol(id)=a,va, b,vb, v,c

        Adds a property envelope interpol to volume id.
Note:
if the volume id if of type envelope, when displayed, the point number v of volume id will be forced to
       c*(poi(va)vol(a)) + (1-c)*(poi(vb)vol(b))
c=0.5 by default.

envelope(num)interpol vol(id)=a,va, b,vb, v,c

        Changes the property envelope interpol number num of volume id.

envelope line

envelope line(x1,y1,z1,x2,y2,z2,...)

        Returns the 3D convex hull of the cloud of points (xi, yi, zi).
Options:
precision(n):Returns the 3D convex hull of the cloud of points (xi, yi, zi), concavities are much better detected that n is large.

envelope vertex

envelope vertex(s1)vol(id)

       Returns ´envelope vertex´ property of vertex s1 of volume id.

envelope vertex(s1)vol(id)=s2,num2

       Changes this property.
Note:
vertex numbered s1 of volume id will be forced to vertex numbered s2 of volume numbered num2.

envelope var

envelope(n)var(v1,v2,...)

Returns envelope with precision n of signal vi.

envelope vol

envelope(id0)vol(id1,id2,...)

Allows building volume id0 type rev wrapping the best way volumes (id1,id2,...) by the method of the virtual laser.
If volume id0 exists and is type grid (ball, geod, grid, rev, pipe), his vertices will be springs of radius aiming the center of gravity of his y sections.
Created if does not exist.
By default:
       Surface of revolution (24 x sections, 12 y sections, radius 100 and axis Oy.
Following options allow precising these parameters:
Options:
ang(a,a0): a = opening angle (2*PI default), a0 = origin angle (0 default).
axis(x,y,z): cylinder axis is (x,y,z) (0,1,0 defult).
ball: intersection tests are made on bounding ablls (faster but less precis).
coe(c): takes off the envelope by c (c=1 default).
dup:duplicates points of springs surface (can be displayed by displ vol dup).
line(x1,y1,z1, x2,y2,z2, ...): the cylinder is replaced by a surface of type geod, the geodesics are circles radius r normal to the line (x1,y1,z1, x2,y2,z2, ...).
poi(x,y,z): axis origin (automatically computed by default).
radius(r): geodidics radius (automatically computed by default).
secx(nx): nx x sections.
secy(ny): ny y sections.

Notes:
1) The intersection calculs are a lot heavy, this commande is not effective in real time, but can be employed to precalculate a bounding surface, see an example in function VALIDER() of file demo1_envelope.func
2) For good intersection detection the line must be inside to volume and its extremums must not overlap the volume limits.

See also

no envelope
vol envelope
yes envelope