feTurbulence: Create an image using the Perlin turbulence function.

View source: R/filters.R

feTurbulenceR Documentation

Create an image using the Perlin turbulence function.


This filter primitive creates an image using the Perlin turbulence function. It allows the synthesis of artificial textures like clouds or marble.


feTurbulence(baseFrequency = 0, numOctaves = 1,
             seed = 1, stitchTiles = FALSE,
             type = c("turbulence", "fractalNoise"), ...)



The base frequency (frequencies) parameter(s) for the noise function. If a two element numeric vector is provided, the first number represents a base frequency in the X direction and the second value represents a base frequency in the Y direction. If one number is provided, then that value is used for both X and Y.


The numOctaves parameter for the noise function.


The starting number for the pseudo random number generator.


If stitchTiles is FALSE, no attempt it made to achieve smooth transitions at the border of tiles which contain a turbulence function. Sometimes the result will show clear discontinuities at the tile borders.

If stitchTiles is TRUE, then the user agent will automatically adjust baseFrequency-x and baseFrequency-y values such that the feTurbulence's width and height (i.e., the width and height of the current subregion) contains an integral number of the Perlin tile width and height for the first octave. The baseFrequency will be adjusted up or down depending on which way has the smallest relative (not absolute) change as follows: Given the frequency, calculate lowFreq = \lfloor width * frequency \rfloor / width and hiFreq = \lceil width*frequency \rceil /width. If frequency/lowFreq < hiFreq/frequency then use lowFreq, else use hiFreq. While generating turbulence values, generate lattice vectors as normal for Perlin Noise, except for those lattice points that lie on the right or bottom edges of the active area (the size of the resulting tile). In those cases, copy the lattice vector from the opposite edge of the active area.


Indicates whether the filter primitive should perform a noise or turbulence function.


Further arguments to be passed onto fe.


For more information about this primitive, consult the reference to the SVG specification.


An fe.turbulence object.


Simon Potter



See Also

filterEffect, fe.

gridSVG documentation built on March 31, 2023, 11:17 p.m.