• Aucun résultat trouvé

Flow Noise Ken Perlin, Fabrice Neyret

N/A
N/A
Protected

Academic year: 2022

Partager "Flow Noise Ken Perlin, Fabrice Neyret"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: inria-00537499

https://hal.inria.fr/inria-00537499

Submitted on 18 Nov 2010

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Flow Noise

Ken Perlin, Fabrice Neyret

To cite this version:

Ken Perlin, Fabrice Neyret. Flow Noise. 28th International Conference on Computer Graphics and Interactive Techniques (Technical Sketches and Applications), Aug 2001, Los Angeles, United States.

SIGGRAPH, Technical Sketches and Applications, pp.187, 2001. �inria-00537499�

(2)

Conference Abstracts and Applications Sketches & Applications

187

Reference

1. Ebert, D. et al. (1998). Texture and modeling. Morgan Kaufmann Publishers, July 1998.

Figure 1. Lava flow.

Figure 2. Waterfall.

Figure 3. Waterfall with lava-flow texture.

Contact Ken Perlin New York University www.mrl.nyu.edu

Fabrice Neyret IMAGIS

Flow Noise

Flow textures defined with shaders that use Perlin Noise can look great, but they don’t “flow” right, because they lack the swirling and advection of real flow. We extend Perlin Noise so that shaders that use it can be animated over time to produce flow textures with a “swirling”quality. We also show how to visually approximate advected flow within shaders.

Rotating Gradients

The classic Perlin Noise function1 can be described as a sum of overlapping pseudo-random “wiggle” functions. Each wiggle, cen- tered at a different integer lattice point (i; j; k), consists of a product of a weight kernel K and a linear function (a; b; c)i;j;k. K smoothly drops off away from (i,j,k), reaching 0 in both value and gradient at unit distance. Each (a; b; c)i;j;k = a(x_i)+b(y_j)+ c(z _ j) that has a value of 0 at (i,j,k). The result of summing all these overlapping wiggle functions: noise has a characteristic random yet smooth appearance.

Our modification is to rotate all the linear vectors (a; b; c)i;j;k over time, which causes each wiggle function to rotate in place. Because all the (a; b; c) vectors were uncorrelated before the rotation, they will remain uncorrelated after the rotation, so at every moment the result will look like Perlin Noise. Yet over time, the result will impart a “swirling” quality to flow. When multiple scales of noise are summed together, we make the rotation proportional to spatial frequency (finer noise is rotated faster), which visually models real flow.

Pseudo-Advection

Beyond swirling, fluids also contain advection of small features by larger ones, such as ripples on waves. This effect tends to stretch persistent features (for example, foam), but not newly created ones (for example, billowing), to varying degrees, according to their rate of regeneration, or structure memory M.

Traditional Perlin Turbulence is an independent sum of scaled noise, where the scaled noise is bi(x) = noise(2ix)=2i, and the turbu- lence is tN(x) =PN i=0 bi(x). This can define a displacement texture color(x) = C(x + ItN(x)), where C is a color table and I con- trols amplitude. Our pseudo-advection displaces features at scale i + 1 and location x0 in the noise domain to x1 = x0 + k ti(x0), where k is the amplitude of the displacement (see below). For small dis- placements, this can be approximated by x1_k ti(x1), so

displacement k is proportional to an amplitude I specified by the user. We can scale this by desired structure memory M, since pas- sive structures are totally advected, when M = 1, while very active structures are instantaneously generated, thus unstretched, when M

= 0. Our advected turbulence function is defined by modifying the scaled noise to: bi(x) = b(2i(x_IM ti_1(x)))=2i and using this to con- struct the sum tN(x) = PN i=0 bi(x).

Results

Many flow textures can be created; some can be viewed at mrl.nyu.edu/flownoise/

Références

Documents relatifs

ont montré dans une étude portant sur 695 malades ayant eu une colectomie totale avec anastomose iléorectale, que le risque de décès par cancer du rectum était de 12,5 % à l’âge

In 480 BC, the Persian Empire took its forces under the control of king Xerxes in order to conquer Greece and subjugate its citizens, Xerxes took with him almost two million men

It may appear surprising that entropy-generated noise remains negligible compared to transmitted acoustics downstream from the nozzle, since incident acoustic and entropy

According to the experimental results of Zaman 35–37 and more recent numerical observations, 26, 38, 39 jet flow development and noise radiation vary with the turbulence level in

Using the numerous features of extended OpenGL such as 3D texture coordi- nates, multipass, color matrix and look-up tables, we demonstrate in this paper that the Perlin’s

The shot noise scales with the current level so long as the transistor re- mains in subthreshold.. The lines show the theoretical predictions of

The loss factor matrix is built up from both the internal loss factors of the individual components and coupling loss factors which relate to the transmission of vibrational energy

In order to clarify the roles of the axisymmetric and the first helical shear layer instability modes during the onset of transition of case Low, the downstream development of