Representing
Breaking Waves In Computer Graphics / Daniel Blacker / 07/03/05
/ Page 4
|
1.
Abstract 2.Introduction
3.Ocean Waves 4.Waves
in CG 5.Tool Development
6. Conclusion 7.
References 8.Code
|
4.1
Overview
So far
in computer graphics much work has been done to accurately reflect
the surface of the ocean. Both in terms of rendering and animation
techniques, the need of realistic fluid and wave effects has always
been required from the film and games industries and has been put
to very effective use in films like ‘The Perfect Storm’
and ‘The Day After Tomorrow’, and also in games such
as ‘Kelly Slater’s Pro Surfer’. Most major 3d
software packages will provide you with the tools needed to create
a realistic ocean, with a great deal of control over the animation
of the ocean’s elements. The representation of a breaking
wave however, due to its complexity is still an unexplored and relatively
new problem in computer graphics.
|
Fig.1 - Computer
Animated Wave in Kelly Slater's Pro Surfer |
A ‘spilling
wave’ as described earlier lends itself to being animated
with the conventional surfaces available to the user in 3d. These
simple waves can be described sinusoidally and with relatively simple
methods a user can deform a surface and have a degree of control
over the timing and shape of the resultant wave. The problem arises
when we move onto ‘plunging waves’ when the wave’s
lip is thrown over the two surfaces must re-form and become a flat
surface once again.
‘Early
approaches in the field of ocean modelling and visualizing…were
able to produce fairly realistic results for relatively quiet ocean
surfaces (also called “deep water waves”) but plunged
breaking waves could not be modelled correctly due to the sinusoidal
assumption in the parametric surface’ [7]
‘In
3d one needs to perform rather complicated surgery to handle the
splitting or merging of the surface.’ [1]
A solution to
this problem has been to use 3d fluid solvers to produce water waves.
This approach has considerable merit due to its ability to ‘capture
and render the interface as a smooth implicit surface and also for
the theoretical ease with which it can deal with topology changes
[1].’ This solution also has its drawbacks. The fluid
solvers generate dynamically correct results due to the way they
are calculated using laws of physics, but by their nature allow
for no input from the author except for the initial control conditions.
The methods
we discuss in this report are concerned with the control over the
animation of the breaking wave, and not the techniques involved
with the secondary elements (spray, splashes foam etc). For the
tool to be effective the user must be able to exert a certain degree
of direction over the timing and shape of the desired wave.
‘In
the best of worlds, an animator will have the freedom to choose
how the free surface of a liquid will look like at a specific moment
in time, where it will be located and how it’s general subsequent
evolution will look like’ [1] |
4.2
Effective existing methods
The concepts
put forward by Viorel Mihalef et al. in the SCA paper ‘Animation
and Control of Breaking Waves’ present an approach that allows
for a high degree of user control in the simulation of plunging
waves.
The authors
use the idea that the wave is built up from cross sections:
‘We
start from the reasonable assumption that each vertical slice of
a three dimensional breaking wave (parallel to the wave direction
of propagation) mimics the dynamics of a two dimensional one’
[1]
It is these
2d slices (fig 2) that are used to control the shape of the wave
profile at any point down the wave’s length. They can be thought
of in animation terms as the ‘Key-frames’ of the wave. |

Fig.2 - 2d slices of a 3d wave Showing its Evolution Over Time
|
This
technique has been exploited in similar areas of CG natural phenomena.
The clouds created from the nuclear explosion in Industrial Light
and Magic’s ‘Terminator 3’ were generated using
a 2d slice of a fluid based simulation, and rotating around it’s
centre axis to generate the three dimensional mushroom cloud. Again
allowing more control over the outcome of the resultant shape but
also reducing computational time. |
The
Author’s refer to this approach as the ‘Slice
method’:
‘The
slice method’s application to breaking wave simulation can
be summarized as follows:
1.
the animator builds the 3d shape of the breaking wave by choosing
each of it’s vertical 2d slices from a library of waves;
the animator can also preview the short time expected behaviour
2.
the program generates the subsequent evolution by flowing forward
in time based on the 3d Navier-Stokes equations.’ [1]
|
Fig.3 - the 'Slice
Method' being demonstrated |
This method
allows the animator to control the shape of any part of the wave
at any point during it’s breaking life-cycle, and then allow
the 3d fluid solver to calculate the resultant wave created.
‘One
can appreciate the level of geometric control that the method offers,
allowing us to build 3d surf waves which would otherwise not be
obtainable from standard methods.’ [1]
The key then
to this approach is the accuracy of the 2d cross sections. In the
paper the author’s utilise 2d fluid solvers, applying the
laws of plunging waves to generate a ‘slice’ of the
3d wave. These 2d slices inherit the velocity information which
can then be passed on to the 3d fluid solver when the final calculations
are made. By modifying the control conditions given to the 2d fluid
solver, different shaped wave slices can be created and a library
of profiles can be chosen from when building a wave.
|
Using
footage of the waves we looked at earlier and in collaboration with
Viorel Mihalef, a cross section was generated (fig 4) to accurately
represent the waves we wish to replicate with our tool. We can see
a tangible example of the level of control available using Viorel’s
method after a full simulation is run, and we can see the accuracy
of the resultant mesh.(fig 5) The ability to study footage of a wave
and then replicate it accurately in 3d is core to the tool we wish
to create, as much as is possible we must take the concepts discussed
in the paper ‘Animation and Control of Breaking Waves’
and apply them to the software available to us.
|
Fig.4 - The 2d
slice generated from our footage |

Fig.5
- The Wave generated from Viorel Mihalef's Slice method using our
2d profile
|
|
Page
4 - Waves in CG |
next
page > |
|