Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI. 3. Introduction. Empirical models. Explicit description of the water surface ...
Ocean waves synthesis using a spectrum based turbulence function
S. Thon, J.M. Dischler, D. Ghazanfarpour
Laboratory MSI ENSIL - University of Limoges
Introduction The representation of ocean waves in Computer Graphics is not a resolved problem. Two kinds of approaches: S Empirical models S Physical models
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
2
Introduction Empirical models Explicit description of the water surface appearance, mainly by use of superposed parametric functions. Visually realistic Low computation time Little memory required Any size of water surface, continuous level of details Limited to a precise case Empirical choice of functions parameters Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
3
Introduction Physical models Equations from fluid dynamics, such as Navier-Stokes partial differential equations, solved over a finite domain. Physically realistic General case Hard to use for non-scientific designers Computationally expensive Unnecessary high degree of precision for C.G.
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
4
Objectives There is a need of an intermediate model, with advantages of both empirical and physical methods. Our ocean waves model is procedural, defined by the combination of two levels of details: S main structure: superposition of simple 2D functions S small scale details: 3D turbulence function Parameters obtained from a real ocean waves spectrum.
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
5
Main structure
(1/4)
Airy (1845): wave profile is sinusoidal.
with:
h(x,t) = A.cos(k.x- ω.t)
crest
A : amplitude k : wave number = 2π/λ ω : pulsation = 2π.f
A
height
x through
λ
A sinusoidal wave
Only apply to low amplitude waves → not realistic for large ocean waves. Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
6
Main structure
(2/4)
Gerstner (1804): wave shape profile is a trochoid. Each water particle has a circular motion of radius r around a fixed point (x0,z0) x = x0 + r.sin(k.x0-ω.t) z = z0 - r.cos(k.x0- ω.t) the function v(x,k,r) gives directly a trochoid height.
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
7
Main structure
(3/4)
1D wave: h(x,t) = A.v(k.x-ω.t)
z x
2D wave:
y
h(x,y,t) = A.v(k(x.cos θ +y.sin θ)-ω.t +ϕ) with : θ : direction angle of the wave front in xy plane ϕ : phase
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
θ
x
8
Main structure
(4/4)
Ocean surface: superposition of many different 2D trochoids. n
h( x, y, t ) = ∑ Ai .v(ki ( x. cos θ i + y. sin θ i ) − ω i .t + ϕ i ) i =1
1 trochoid
4 superposed trochoids
Problem: what amplitudes, frequencies, phases and directions values for the trochoids must be used for a realistic result? Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
9
Spectral generation Our solution: obtaining trochoids parameters from an ocean waves spectrum.
measure
Wave buoy
FFT
Record of wave height measured by a buoy
Waves spectrum
Various theoretical waves spectra have been derived from measured spectra. → we use the Pierson-Moskowitz ocean spectrum (1964). Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
10
Spectral generation
Pierson-Moskowitz spectrum 1D spectrum: a.g 2 e FPM ( f ) = 4 5 (2π ) f
Power
5 ⎛ 0.13 g ⎞ ⎟ − ⎜⎜ 4 ⎝ f .u10 ⎟⎠
4
Frequency f (Hertz)
2D spectrum:
F ( f , α ) = FPM ( f ).D ( f , α )
f
α
Spectrum component: - frequency f - direction α - amplitude F ( f , α)
This spectrum is simply defined by wind speed and direction. Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
11
Spectral generation
Previous work Mastin method (1987): FFT + PM filter
White noise image
Ocean waves spectrum
FFT-1
Filtered image
The filtered image obtained by FFT-1 is used as a height field → finite set of water heights, fixed level of details.
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
12
Spectral generation
Our method FFT + PM filter
White noise image
Selection
Ocean waves spectrum
Superposition
Selected components
Superposed trochoids
We select the most representative (highest amplitudes) frequency components of the spectrum n
h( x, y, t ) = ∑ Ai .v(ki ( x. cos θ i + y. sin θ i ) − ω i .t + ϕ i ) i =1
→ continuous procedural model, any level of detail. Problem: only a few number of components are selected → lack of precision, waves main structure only. Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
13
Small scale details
(1/2)
Solution: adding a 3D turbulence function as a level of small details to the main structure. Perlin turbulence:
no −1
(
Noise P.m i Turbulence(P, m ) = ∑ mi i =0
)
y
x
n=1
n=2
n=3
Final formulation of our ocean waves model: ⎡
n
⎤
h( x, y, t ) = ⎢∑ Ai .v(k i ( x. cosθ i + y. sin θ i ) − ω i .t + ϕ i )⎥ ⎣ i =1
⎦
+ At .Turbulence( xt (t ), yt (t ), z t (t ), m )
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
14
Small scale details
(2/2)
The turbulence function parameters are computed with a relaxation method, so that the spectrum of our final model approximates the Pierson-Moskowitz spectrum.
Spectrum
Pierson-Moskowitz
Main structure
Final model
Corresponding water surface
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
15
Render Our ocean surface model can be rendered in many ways: T 2D texture S Colour texture S Bump mapping
T 3D texture S Sampled height field set of triangles: fast, but high rate sampling needed. S Implicit surface continuous surface, little memory needed, but slow to render.
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
16
(a) U10 = 0 m/s
(b) U10 = 4 m/s
(c) U10 = 6 m/s
(d) U10 = 8 m/s
The agitation state of our ocean surface model is simply controlled by varying the wind speed.
Animation
(1/2)
We consider separately the animation of the water waves main structure (trochoids) and small details (turbulence): T Main structure: trochoids phase shift along the time → propagation of water waves. T Small scale details: displacement into the 3D turbulence function S in the xy plane: along wind direction. S vertically: to modify the small waves appearance.
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
18
Animation
(2/2)
Ocean surface with 20 trochoids and turbulence (implicit surface) Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
19
Conclusions
(1/2)
Advantages of our model:
Use of real ocean waves characteristics Low computation time Little memory required Any size of water surface, continuous level of details Animation is easy Different rendering techniques
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
20
Conclusions
(2/2)
Disadvantages: Height field → no breaking waves No interaction with objects Only apply to ocean scenes in deep water
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
21
Future works Modeling S Better small scale details function S Interaction with objects S Breaking waves S Spray, foam Rendering S interactions between light and ocean water
Ocean waves synthesis using a spectrum-based turbulence function - Laboratory MSI
22