31
Water Wave Packets Ki-hoon Kim 2017-10-18 Computer Graphics @ Korea University S.Jeschke and C.Wojtan SIGGRAPH 2017

Water Wave Packets

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Water Wave Packets

Ki-hoon Kim

2017-10-18Computer Graphics @ Korea University

S.Jeschke and C.WojtanSIGGRAPH 2017

Ki-hoon Kim | 2017-10-18 | # 2Computer Graphics @ Korea University

• The motion of water surface waves is well-modeled by the two-phase incompressible Navier-Stokes equation. Intractable for detailed water surface geometry. Linearizes the problem. Restricts the waves to a height-field defined over 2D domain. However, still too complex to solve.

Introduction

Ki-hoon Kim | 2017-10-18 | # 3Computer Graphics @ Korea University

• Wave Packets Introduce the concept of wave packets to computer graphics Describe their dynamics for dispersive water waves.

• Visual Detail Improves previous Lagrangian particle approaches. Incorporate wave behaviors like

dispersion, diffraction, refraction, reflection, dissipation.

• Efficient computation Unconditionally stable and inherently parallel.

• Novel control Parameters New mechanism which allow artists to directly control wave

spectra and computational complexity.

IntroductionContributions

Ki-hoon Kim | 2017-10-18 | # 4Computer Graphics @ Korea University

• 1st surface wave research Long crested wave models

[Bruce Schachter. /1980 Computer Graphics and Image]

• Motion of ocean Interactive animation of ocean waves

[D. Hinsinger et al./ SCA 2002]

Related Work

Ki-hoon Kim | 2017-10-18 | # 5Computer Graphics @ Korea University

• Novel approaches to water surface wave simulation Water Wave Animation via Wavefront Parameter Interpolation

[STEFAN JESCHKE and CHRIS WOJTAN/SIGGRAPH 2015]• Handle complex boundary• Pre-computation

Related Work

Ki-hoon Kim | 2017-10-18 | # 6Computer Graphics @ Korea University

• Gives a linearised description of the propagation of gravity waves on the surface of a homogeneous fluid layer. Often referred to as linear wave theory.

• This linear theory is often used to get a quick and rough estimate of wave characteristics and their effects.

• Water surface as a height function that varies with time, 𝜂𝜂(𝐱𝐱, 𝑡𝑡).

Airy Wave TheoryDefinition

Ki-hoon Kim | 2017-10-18 | # 7Computer Graphics @ Korea University

• We can view the surface as an integral of many waves.

𝑘𝑘 is wavenumber. 𝑘𝑘 = 2𝜋𝜋/𝜆𝜆 𝜆𝜆 is wavelength. 𝑥𝑥 is the spatial coordinate. 𝑡𝑡 is time 𝜔𝜔(𝑘𝑘, ℎ) is angular frequency. 𝑎𝑎(𝑘𝑘) is amplitude. ℎ is the water depth.

Airy Wave TheoryWave Function

Ki-hoon Kim | 2017-10-18 | # 8Computer Graphics @ Korea University

• A special form that gives water waves their distinct characteristics

𝑔𝑔 is gravity. 𝜎𝜎 is the surface tension. 𝜌𝜌 is the water density.

• This relationship between 𝜔𝜔 and 𝑘𝑘 is known as the dispersion relationship.

Airy Wave TheoryAngular Frequency

Ki-hoon Kim | 2017-10-18 | # 9Computer Graphics @ Korea University

• From previous page, argument to the wave in Equation (1) can be factored into 𝑘𝑘 𝑥𝑥 − 𝑐𝑐𝑝𝑝 𝑘𝑘,ℎ 𝑡𝑡 , where

is the propagation speed of a given wavelength, known as the phase velocity.

Airy Wave TheoryPropagation Speed

Ki-hoon Kim | 2017-10-18 | # 10Computer Graphics @ Korea University

• In 2D, the energy of a water wave with wavenumber 𝑘𝑘 over a surface area 𝐴𝐴 is

• Wave energy travels with the group velocity 𝑐𝑐𝑔𝑔, which is defined as

Red dot: phase speed Green dot: group speed

Airy Wave TheoryWave Energy

Ki-hoon Kim | 2017-10-18 | # 11Computer Graphics @ Korea University

• Propagate localized packets of waves. Each packet will represent a collection of similar wavelengths. It will cover a larger region of space than a single wave crest. Waves interact with a dynamically changing environment. Obey the qualitative behaviors described by Airy wave theory.

• Free to choose what we’d like these wave packets to look like.

• Each packet should be compactly supported in spatial coordinates

• Energy act locally in frequency space.

Wave packetsPreview

Ki-hoon Kim | 2017-10-18 | # 12Computer Graphics @ Korea University

• Break up the integral in Equation (1) into a summation of individual packets of wavenumbers centered around some representative wavenumber 𝑘𝑘𝑗𝑗:

Φ is wave packet shape 𝑁𝑁 is the number of wave packets.

• We can approximate with a 1st order Taylor expansion.

𝜙𝜙 is a kernel function

Wave packetsDiscretize(1/2)

Ki-hoon Kim | 2017-10-18 | # 13Computer Graphics @ Korea University

𝑋𝑋𝑔𝑔 = 𝑐𝑐𝑔𝑔𝑡𝑡 , 𝑋𝑋𝑝𝑝 = 𝑐𝑐𝑝𝑝𝑡𝑡

𝑋𝑋𝑝𝑝𝑔𝑔 = 𝑋𝑋𝑝𝑝 − 𝑋𝑋𝑔𝑔 , �𝑥𝑥 = 𝑥𝑥 − 𝑋𝑋𝑔𝑔

In two dimensions,

Wave packetsDiscretize(2/2)

Ki-hoon Kim | 2017-10-18 | # 14Computer Graphics @ Korea University

• Reflection A wave packet reflects when it collides with an obstacle.

• Dispersion The faster waves will push part of the packet ahead of the

average group speed, and the slower waves will pull. The packet spreads out as it traverses space.

• Refraction The group speed of the packet may change as it traverses space,

because 𝑐𝑐𝑔𝑔 change with water depth.

The packet will change direction(Snell’s law).

• Diffraction Waves diffract differently depending on the wavenumber. We have not yet worked out the theoretical diffractive spreading

behavior.

Qualitative wave behaviors

Ki-hoon Kim | 2017-10-18 | # 15Computer Graphics @ Korea University

• Enforce conservation if energy as a wave packet propagates through space.

• From Eq.(4)

Quadratic in amplitude and wavenumber. Linear in area.

• Alter the packet’s amplitude to compensate for such changes. Exact amplitude scaling law for a packet with a Gaussian kernel.

Energy of a wave packetConservation

Ki-hoon Kim | 2017-10-18 | # 16Computer Graphics @ Korea University

• Often modeled by explicitly reducing the wave amplitude.

• In the absence of all other amplitude changes, the amplitude will decay over time:

Energy of a wave packetViscosity

Ki-hoon Kim | 2017-10-18 | # 17Computer Graphics @ Korea University

• Surface contamination will have a strong damping effect.

• This effect can be modeled as an additional decay rate.

Energy of a wave packet

Surface Contamination

Ki-hoon Kim | 2017-10-18 | # 18Computer Graphics @ Korea University

• A rectangular patch of initial dimensions 3𝜆𝜆𝑗𝑗 in the traveling direction.

6𝜆𝜆𝑗𝑗 in the tangential direction.

• Two vertices 𝐩𝐩1 and 𝐩𝐩2centered at the front edge of the packet. Track the deformation and rotation of the packet.

Representing wave packetsInitial Packet Modeling

3𝜆𝜆𝑗𝑗

6𝜆𝜆𝑗𝑗

𝐩𝐩1 𝐩𝐩2

Ki-hoon Kim | 2017-10-18 | # 19Computer Graphics @ Korea University

• Two vertices propagate at the group speed 𝑐𝑐𝑔𝑔 Simple forward Euler method.

• More advanced time integration schemes may be useful. But they will not make the method any more stable. Our method is stable regardless of the time step size.

• Geometric method for conserving energy.

Representing wave packetsPacket Time Integration-Travel

Ki-hoon Kim | 2017-10-18 | # 20Computer Graphics @ Korea University

• Tracking the fastest and slowest wavenumbers in the spectrum.• Assign each packet a length parameter 𝑙𝑙

Initially set to 3𝜆𝜆𝑗𝑗

• Track the dispersive stretching using a similar integration rule

𝑘𝑘fast and 𝑘𝑘slow are the wavenumbers• Correspond to the fastest and slowest group speeds

Representing wave packetsPacket Time Integration-Dispersion

Ki-hoon Kim | 2017-10-18 | # 21Computer Graphics @ Korea University

• Compute the area of the packet in each time step

• Then conserve energy by scaling the amplitude as described

Amplitude adjustmentCompute Area and Amplitude

Ki-hoon Kim | 2017-10-18 | # 22Computer Graphics @ Korea University

• If 𝐩𝐩1 𝑡𝑡𝑛𝑛 − 𝐩𝐩2 𝑡𝑡𝑛𝑛 > 3𝜆𝜆𝑗𝑗or angle between 𝐜𝐜𝑔𝑔(𝑝𝑝1) and 𝐜𝐜𝑔𝑔(𝑝𝑝2) exceeds 18 degrees

• New amplitude is equal to the original divided by √2

Packet subdivisionGeometric subdivision

Ki-hoon Kim | 2017-10-18 | # 23Computer Graphics @ Korea University

• When the packet length stretches beyond a threshold, replace the packet by two new ones with exactly the same position and other parameters.

Packet subdivisionDispersive subdivision

Ki-hoon Kim | 2017-10-18 | # 24Computer Graphics @ Korea University

• We use a more compact and efficient approximation function

𝑢𝑢, 𝑣𝑣 ∈ [0,1] and local coordinates of a packet.

VisualizationCompact Gaussian Function

Ki-hoon Kim | 2017-10-18 | # 25Computer Graphics @ Korea University

• We are left with several options for reducing a 2D rectangular packet to 1D. Use piecewise circular coordinates Piecewise constant makes artifacts

Visualization1D-2D Transform from

Ki-hoon Kim | 2017-10-18 | # 26Computer Graphics @ Korea University

• “wake” shape that we expect to see is quite expensive to simulate Need too many Patch(or particle, etc.)

• We would like to emit only visually domain. Wake pattern trick Using Kelvin’s theory

ControlWakes

Ki-hoon Kim | 2017-10-18 | # 27Computer Graphics @ Korea University

• We can delete them more aggressively if we want.

• 𝛼𝛼 is using to

ControlControl over lifetime

Ki-hoon Kim | 2017-10-18 | # 28Computer Graphics @ Korea University

• Most of the parameters map directly to measurable quantities. Surface tension Viscosity Gravity Etc.

• Thresholds and some parameter is numerical.

ResultsParameters

Ki-hoon Kim | 2017-10-18 | # 29Computer Graphics @ Korea University

• Limitations Oversimplified Linear theory. One-way coupling Fake wake

• Efficiency Parallel on the CPU 60fps speed cut-off was about

85k wave packets. Rendering is bottleneck

ResultsLimitation & Efficiency

Ki-hoon Kim | 2017-10-18 | # 30Computer Graphics @ Korea University

ResultsVideo

Ki-hoon Kim | 2017-10-18 | # 31Computer Graphics @ Korea University

Q&A