Voir aussi


         Default anyflo is launched in graphic mode over a supposed computer have a graphic card. The image displayed on the screen is called the current image. Other images in memory, can be built, they are referenced by their identifier.
         Anyflo launched with options gra = 0 and win = x, y, can turn on a station without graphic card, the current image and other images are all in memory Central.
         Default displays are made in the current image, which can be processed and then stored on disk.
         You can redefine the window by:
         window interaction number (1)
         Or: window number (1) = x1, y1, x2, y2
         You can create other window:
         Interactively: window interaction number (num)
         Or: window number (num) = x1, y1, x2, y2



generate image.
generate image(id);
         Copies the current image id in the image id.
         Used to designate the mouse 2 opposite corners of the frame to be copied.


write image(id)name("nnn.eee")
         Saves image id in file nnn.eee according to extension eee.


read image(id)name("nnn.eee")
         Reads image nnn.eee in image id according to extension eee.
If id is snot present l´imageest is read in the current window, must be href="displ.1.htm#image">displ image to display the image.


interpol(k) image(n1,n2,n3);
         Computes image n3 = (1 - k) * n1 + k * n2

Writingin a memory image

         It is possible writing simples pixels configurations in memeory:
         screen image(num); clears image num
         rectangle(x1,y1,x2,y2) image(num); displays a rectangle in image num
         disk(x,y,r) image(num); displays disk in image num


File env/convert.func contains 2 functions:
Convertit nom1[im1,im2].ext1 en nom2[im1,im2].ext2 Exemples:\n"; convert(\"A\",\"jpg\",1000,2000,\"B\",\"bmp\")
         Converts A[1000,2000].jpg in B[1000,2000].bmp
         Converts A[1000,2000].jpg in B[1000,2000].raw
Si nom1=\"def\": default (change fonction convert()

Converts nom1[im1-im2].ext1 in nom2[im1-im2].raw format 1/2



displ image.
displ image(id);
         Displays image id.


displ back image(id);
         Displays pixel id picture different from the background color.



smooth image(id);
         Convolutes in the current window the image id.

programmable arrays

         Convolutes with matrix n*n (coefficients kijin the current window.
smooth(k00,k01,...,knn) normal;
         Performs a convolution matrix n * n (kij coefficients divided by their sum) in current window
Exemple: smooth(1/16,1/8,1/16,1/8,1/4,1/8,1/16,1/8,1/16) image;


         Convolutes window (xa1,ya1,xa2,ya2) in window (xb1,yb1,xb2,yb2) of the current image.
image video
         Convolutes the current image in a video sized window.


Commands such as: generate image read image primitive image allow building others images.
         Des commandes telles que
rotx image
roty image
rotz image
smooth image
tran image
can process these images.


The problem of maps stitching

         When a texture is assigned to a closed surface (for example a surface of revolution), a discontinuity in the texture appears at the junction (because the first and last points Due horizontal section, geometrically identical take on the color of the texture respectively to the left edge and right edge of the texture)          The discontinuity disappears if we make the texture "periodic", ie if its gauceh and right edges are identical.          The same problem occurs for a closed surface vertically (eg a torus generated by a rotating circle around it), then it will make the bottom edge and the top of the same texture edge          For maps of thinking, the texture is placed on a sphere encompassing the scene and deformations appear at the poles. The problem disappears if one applies the inverse déformatiuon texture

x period

rotx image ang(an);
         Makes periodic current image in x, the angle measuring the opening year of the altered image (PI alters any image) rotx image (num) ang (year); Makes periodic num image x
         rotx image(1) ang(PI/4); Makes periodic image 1 in x by changing only the left and right quarter.

y period

roty image ang(an);
         Makes periodic current image in y, the angle measuring the opening of the altered image (PI completely alters image)
         roty image(id)ang(PI/2); makes periodic image id in y, by changing only the left and right quarter.

spherical distortion

sphere image;
         Distorts the current image for the map (without deformation) on a sphere (useful for mapping reflection).
sphere image(num);
         Makes spherical num picture.



alea image


dila image

Rendre une texture "floue"Making a texture fuzzy

6-3-1 Principle

         texture vol(num_vol)=num_texture,type,r,v,b,k;
         Sets the volume num_vol texture num_texture number
         If type = 2: 2D Maps
         (r, g, b) measuring the influence of color on the volume of texture
         If k = 1: The pixels of the texture that are the color of the back will not be displayed.
         By providing a random distribution of pixels of the color of the back on the texture is rendered donation thereof "transparent" to the display
alea back image coe(c);
         Displays random pixels colour of trhe background. (between 0 and 1)
alea anc back image coe(c);
         reproducible noise
alex image coe(c);
         Displays pixel color back to vertical by changing the proportion c of the image up on the edges left and right and then descending towards the center.
alex anc image coe;
         reproductible noise
aley image coe(c);
         Displays pixel color back to horizontal by changing the proportion c of the image left on the edges up and down and then descending towards the center
aley anc image coe;
         reproductible noise


adjust(r1,v1,b1,r2,v2,b2,rs,vs,bs) image(id);
         up and down thresholds the image id:
         If k=ks k=k2
adjust(l1,l2,ls) luminance image(id);
         up and down thresholds the image id by computing its luminance:
         If l



         Un algorithme de morphing consiste à définir des zones d´influence sur l´image, chaque pixel étant déplacé en composant ces influences.
         Pratiquement on prent une série de couples de segments auquels sont affectés des coefficients d´influence

Morphing dans anyflo

morphing image(n1) line(w1) image(n2) line(w2) coe(a,b,c);
         Réalise un morphing de l´image n1 a l´image n2 w1=x1,y1,x2,y2,... sont des segments définies sur l´image n1 w2=x1,y1,x2,y2,... sont des segments définies sur l´image n2
         1) Il doit y avoir autant de segments dans n1 et n2
         2) Si ´coe(a,b,p)´ est présent apres un ´segment(u)´, les coefficients (a, b, p) permettent de moduler l´influence du segment u par la formule:
                  avec long = longueur du segment
         et dist = distance du pixel au segment
         Par défaut on a: a = 0, b = 0 et p = 1
         Si a=0: Les pixels sur le segment sont invariants
         Si p et b > 1: Augmente l´influence du segment
         Si p et b < 1: Diminue l´influence du segment
         3) Si n1 est absent (ou même si image est absent)l´image origine est l´image courante
         4) Si n2 est absent (ou même si image est absent)l´image résultat est l´image courante
         5) Si image(n1) et image(n2) sont absents, le morphing est réaslisé de l´image courante dans elle-même
         1) morphing line(-200,0,200,0) line(-200,100,200,100); Réalise une translation verticale de l´image courante
         2) morphing image(1) line(0,0,100,0) image(2) line(0,0,0,-100); Réalise une rotation de l´image 1 dans l´image 2

morphing image line frame

morphing image(n1) line(w1) image(n2) image(w2) frame(x1,y1,x2,y2);
         Réalise un morphing de l´image n1 à l´image n2, en gardant les bords du frame (x1,y1,x2,y2) invariants
         1) Si (x1,y1,x2,y2) est absent il est pris égal à la fenêtre courante
         2) ´morphing image line image line coe frame´ existe

Morphing interactif

(Voir le mode ´palette´)


         Command palette switches to interact with the mouse, a menu (right click) allows process the current image.
         This palette is programmable, the menu can be arbitrarily enriched.


geometric interpretation

adjust(cr,cv,cb) vol(id1) image(id2);
         Z points of volume id1are changed according to the formula:
         z -= (cr * r + cv * v + cb * b) / 3
         with (r,v,b) = average color of the id2 in a window containing the neighbors of this point.
adjust vol image col;
         Each point takes the color of the image
adjust vol(id1) image (id22) hsv Z points n1 are mofifiés volume using the formula:
z -= (ct * t + cs * s + cv * v) / 3
         with (t,s,v) = average hue, saturation, value) of the image in a window containing the neighbors of this point.
adjust vol image limit;
         The volume is adjusted in the image window containing different pixels of the back precision flight picture adjust (eps); The comparison is done with an approximation of eps.
adjust vertex (s) image vol; Only points s numbers will be treated
adjust vertex(s) vol image;
         Seuls les points numéros s seront traîtés
         adjust(100,50,30) vertex[100,200] vol(1) image
adjust("x",crx,cvx,cbx,"y",cry,cvy,cby,"z",crz,cvz,cbz)vol image;
         The (x,y,z) of points of volume are changed according to the formula:
         x -= (crx * r + cvx * v + cbx * b) / 3
         y -= (cry * r + cvy * v + cby * b) / 3
         z -= (crz * r + cvz * v + cbz * b) / 3
adjust("toto") vol image;
         The (x,y,z) of points of volume are changed by the user function name foo where you can use the following commands:
         p=poi: Recovers space coordinates point displayed
         k=col: Récupere la couleur (r,v,b) du point écran
         t=hsv(k): Recovers color (r, g, b) screen item
         p=function(p,k): Calculate the new position
         poi(p): Validate this position
adjust exec(c,v1,v2,...) vol image;
         The user function adjust_vol_image_utilisateur will be executed with the code c and values v1, v2, ... It will be necessary to modify this function in the file and re-linked utilb.c anyflo. (see ´manuel.applic.htm´).
         (cr,cv,cb) = (100,100,100) by default
         This function allows to "mount" a relief from Due 2D image
         All previous forms are combinable
Build an image (synthesized or digitized)
Build a volume (preferably a fine grid view Front)
Summon adjust image vol
         6) Examples: adjust(100,50,-50) vol(1) image adjust(100,70,40) vol(1) col limit vertex[12,120] image(1)

dynamic interpretation

field image(n1)=n2,kr,kv,kb,dx,dy,dz;
         In animation (see ´animate´), if volume id (or vertices) has a mass, each vertex will undergo a field of force direction (dx,dy,dz) and amplitude (kr*r,kj*v,kb*b), with (r,v,b) = color image corresponding to the pixel
         The volume must be isomorphic to a grid(grid, ball, rev, geod, filet, ...)
         Generates a field from an image. If it is animated, the field is variable and therefore the animation of objects placed in this field is dynamic


         Launch anyflo wwith option:
         anyflo hau=2
         The picture in main memory is 4 times the video size. When writeed, this image will be convolution to video size.
         You can specify the size of the anti-aliased image (dimx, dimy) and d'antialiasage factor k:
         anyflo x=dimx y=dimy gra=0 mem=1 hau=k

See also