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