modeling falling and accumulating snow (by moeslund, madsen, aagaard and lerche) k. h. ko department...

30
Modeling Falling and A Modeling Falling and A ccumulating Snow ccumulating Snow (by Moeslund, Madsen, Aagaard and Lerche) (by Moeslund, Madsen, Aagaard and Lerche) K. H. Ko K. H. Ko Department of Mechatronics Department of Mechatronics Gwangju Institute of Science Gwangju Institute of Science and Technology and Technology November 5, 2008

Post on 19-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Modeling Falling and AccumulaModeling Falling and Accumulating Snowting Snow(by Moeslund, Madsen, Aagaard and Lerche)(by Moeslund, Madsen, Aagaard and Lerche)

K. H. KoK. H. KoDepartment of MechatronicsDepartment of MechatronicsGwangju Institute of Science and TechnGwangju Institute of Science and Technologyology

November 5, 2008

IntroductionIntroduction

Snow is arguably one of the world’s most Snow is arguably one of the world’s most complex naturally occurring substances.complex naturally occurring substances.

Accurate simulation is still a significant Accurate simulation is still a significant challenge.challenge.

Motivations for investigating snowfallMotivations for investigating snowfall– Without an automatic model of fallen snow, Without an automatic model of fallen snow,

animators have so far relied upon intuition to animators have so far relied upon intuition to produce snow covered surfaces.produce snow covered surfaces.

It is an extremely tedious, time-consuming and It is an extremely tedious, time-consuming and potentially inaccurate task. potentially inaccurate task.

– Snow transforms commonplace scenes into fantastic Snow transforms commonplace scenes into fantastic wonderlands, greatly changing the appearance and wonderlands, greatly changing the appearance and mood of the landscape, allowing us to see familiar mood of the landscape, allowing us to see familiar sights in a fresh, exciting way.sights in a fresh, exciting way.

IntroductionIntroduction

IntroductionIntroduction

IntroductionIntroduction

When making a model based on When making a model based on physics a balance between the physics a balance between the complexity and the visual result has to complexity and the visual result has to be found.be found.– It is not necessary to make a model that It is not necessary to make a model that

calculates the exact physics if no calculates the exact physics if no significant visual improvement is significant visual improvement is achieved. achieved.

– Assumptions are often introduced in order Assumptions are often introduced in order to simplify the physical model. to simplify the physical model.

Modeling a SnowflakeModeling a Snowflake

The formation of a snowflake is a highly complicated The formation of a snowflake is a highly complicated process.process.

It is known that a snowflake consists of ice crystals It is known that a snowflake consists of ice crystals which can occur when five conditions are met.which can occur when five conditions are met.– The air in the atmosphere has to be saturated with The air in the atmosphere has to be saturated with

water.water.– The presence of condensation nuclei is necessary. Ex) The presence of condensation nuclei is necessary. Ex)

dust, bacteria, on whose surfaces the water can dust, bacteria, on whose surfaces the water can condensate to produce small droplets.condensate to produce small droplets.

– Enough water has to be present in the cloud.Enough water has to be present in the cloud.– The temperature has to be below zero degrees Celsius in The temperature has to be below zero degrees Celsius in

the cloud so that the water in the air will freeze onto the the cloud so that the water in the air will freeze onto the nuclei.nuclei.

– The nuclei has to be of specific shapes so that the water The nuclei has to be of specific shapes so that the water molecules line up correctly to form the basis ice crystals.molecules line up correctly to form the basis ice crystals.

Modeling a SnowflakeModeling a Snowflake

How ice crystals merge into How ice crystals merge into actual snowflakes depends on actual snowflakes depends on – the level of saturation the level of saturation – the temperature in the area the temperature in the area

between the cloud and the ground.between the cloud and the ground. The result is a virtually endless The result is a virtually endless

number of different snowflakes.number of different snowflakes.

Modeling a SnowflakeModeling a Snowflake

Snowflakes, Snowflakes, however, however, follow some follow some general general shapes. shapes.

Modeling the Size and Modeling the Size and DensityDensity The main characteristics to be modeledThe main characteristics to be modeled

– The shapeThe shape– The sizeThe size– The densityThe density

They are controlled by the level of saturation in They are controlled by the level of saturation in the air and the temperature.the air and the temperature.– Modeling the saturation of the air is not necessary for Modeling the saturation of the air is not necessary for

rendering a scene.rendering a scene.– It is necessary to model the temperatureIt is necessary to model the temperature

This can also affect other aspects of the scene.This can also affect other aspects of the scene.

It is useful to find a way of controlling the It is useful to find a way of controlling the density and size of a snowflake using the density and size of a snowflake using the temperature. temperature.

Modeling the Size and Modeling the Size and DensityDensity The diameter of snowflakes has been The diameter of snowflakes has been

measured as a function of measured as a function of temperature.temperature.

– D: the diameter in metersD: the diameter in meters– T: the temperature in degree CelsiusT: the temperature in degree Celsius

The uncertainties are up to ±50%.The uncertainties are up to ±50%.– Add a random number to the diameter.Add a random number to the diameter.

Modeling the Size and Modeling the Size and DensityDensity The density of snowflakes is The density of snowflakes is

inversely proportional to the inversely proportional to the diameter of the snowflakes:diameter of the snowflakes:

– The proportionality constant CThe proportionality constant C 0.170 kg/m0.170 kg/m22 for dry snow for dry snow 0.724 kg/m0.724 kg/m22 for wet snow for wet snow

Modeling the ShapeModeling the Shape

Real snowflakes are primarily constructed by Real snowflakes are primarily constructed by ice crystals colliding.ice crystals colliding.– We can model a snowflake by combining triangular We can model a snowflake by combining triangular

polygons in a random manner.polygons in a random manner. A number of concentric spheres are used to A number of concentric spheres are used to

construct a snowflake.construct a snowflake.– Each sphere is considered a layer.Each sphere is considered a layer.– The same number of polygons is used for each The same number of polygons is used for each

layer.layer. The number of layers directly gives the size of the The number of layers directly gives the size of the

snowflake and is controlled by the temperature.snowflake and is controlled by the temperature. By fixing the number of polygons per layer, the By fixing the number of polygons per layer, the

density is also controlled by the temperature.density is also controlled by the temperature.

Modeling the ShapeModeling the Shape

When a new triangle is added to a layer When a new triangle is added to a layer one of its three corner coordinates must one of its three corner coordinates must be connected with one of the triangles be connected with one of the triangles in the immediate inner layer, denoted in the immediate inner layer, denoted the reference triangle. the reference triangle.

Modeling the ShapeModeling the Shape

The effect of the density change The effect of the density change due to the temperature.due to the temperature.

The wet ones are The wet ones are more compact as more compact as they have four times they have four times higher density.higher density.

Movement of a Movement of a SnowflakeSnowflake The movement of a snowflake is causeThe movement of a snowflake is cause

d by the four forces:d by the four forces:– Constant forces: FConstant forces: Fgravitygravity, F, Fbuoyant buoyant

– Variable according to the wind direction: FVariable according to the wind direction: F liflif

tt, F, Fdragdrag

FFgravitygravity: the gravitational force: the gravitational force FFbuoyantbuoyant: the force that represents the up-: the force that represents the up-

drift by the surrounding air.drift by the surrounding air.

Movement of a Movement of a SnowflakeSnowflake FFgravitygravity is always opposite F is always opposite Fbuoyantbuoyant. .

– FFbuoyantbuoyant is relatively small compared to F is relatively small compared to Fgravitygravity. It can be ignore. It can be ignored as it has no impact on the visual movement result.d as it has no impact on the visual movement result.

FFliftlift: the force that makes the snowflake move in circ: the force that makes the snowflake move in circular and irregular patterns caused by the aerodynamiular and irregular patterns caused by the aerodynamic shape of the snowflake and the turbulence created c shape of the snowflake and the turbulence created behind the snowflake.behind the snowflake.– At high wind speed, the force is insignificant.At high wind speed, the force is insignificant.– But in calm weather it cannot be ignored.But in calm weather it cannot be ignored.

Ex: When observing a snowflake in calm weather one would obEx: When observing a snowflake in calm weather one would observe that the snowflake follows the path of a helix towards thserve that the snowflake follows the path of a helix towards the ground while rotating around its center of mass.e ground while rotating around its center of mass.

Movement of a Movement of a SnowflakeSnowflake FFdragdrag: drag that the air will assert on the snowflake. : drag that the air will assert on the snowflake.

– This is the force that makes a snowflake follow the wind dirThis is the force that makes a snowflake follow the wind direction.ection.

– UUfluidfluid consists of two components: the wind velocity and the consists of two components: the wind velocity and the velocity of the air friction.velocity of the air friction.

– UUmaximummaximum: the maximum vertical velocity taking wind resistanc: the maximum vertical velocity taking wind resistance into consideration.e into consideration.

The Wind FieldThe Wind Field

When snow is falling under the When snow is falling under the influence of a wind the snow will influence of a wind the snow will fly around obstacles in very fly around obstacles in very distinct patterns that are caused distinct patterns that are caused by the wind field.by the wind field.– These wind patterns are important to These wind patterns are important to

ensure thatensure that The snow falls correctly and the visual The snow falls correctly and the visual

appearance resembles reality.appearance resembles reality.

The Wind FieldThe Wind Field

The wind field can be described by the NavierThe wind field can be described by the Navier-Stokes equations.-Stokes equations.

The air in a wind field can be assumed to be The air in a wind field can be assumed to be incompressible, inviscid and has a constant incompressible, inviscid and has a constant density of one.density of one.– A simplified Navier-Stokes equationA simplified Navier-Stokes equation

The Wind FieldThe Wind Field

The term –(uThe term –(u∇)u, called the convection term describ∇)u, called the convection term describes how the velocity of the fluid evolves over time.es how the velocity of the fluid evolves over time.

The term ∇p is the acceleration of the fluid caused bThe term ∇p is the acceleration of the fluid caused by the pressure gradient.y the pressure gradient.

Solution of the Navier-Stokes equationSolution of the Navier-Stokes equation– The Semi-Lagrangian scheme for the convection term.The Semi-Lagrangian scheme for the convection term.– The gradient of the pressure is calculated and used in a proThe gradient of the pressure is calculated and used in a pro

jection step where it is ensured that the mass is conserved.jection step where it is ensured that the mass is conserved.

Convection StepConvection Step

This step will ensure that a small change in the air aThis step will ensure that a small change in the air at a specific point will have an influence on the air in tt a specific point will have an influence on the air in the rest of the domain. he rest of the domain. – The propagation of the changes in the air is governed by the The propagation of the changes in the air is governed by the

term –(uterm –(u∇)u.∇)u.– A first order Taylor approximation of –(uA first order Taylor approximation of –(u∇)u is given by∇)u is given by

u* is the intermediate velocity field from the S-L method.u* is the intermediate velocity field from the S-L method.

Convection StepConvection Step

Projection StepProjection Step

The purpose of this step is to The purpose of this step is to ensure conservation of mass of ensure conservation of mass of the fluid.the fluid.– It can ensure the creation of It can ensure the creation of

plausible wind fields with the correct plausible wind fields with the correct swirly nature.swirly nature.

Projection StepProjection Step

The implementation of the projection is The implementation of the projection is done using the Helmholtz-Hodge done using the Helmholtz-Hodge decomposition.decomposition.– Any vector field can be decomposed into Any vector field can be decomposed into

two parts: w = v + ∇stwo parts: w = v + ∇s w is a vector field without conservation of massw is a vector field without conservation of mass v is a vector field with conservation of massv is a vector field with conservation of mass ∇∇s is the gradient of a scalar field.s is the gradient of a scalar field.

– The vector field is a velocity for a fluid and The vector field is a velocity for a fluid and the scalar field is equal to the pressure the scalar field is equal to the pressure field for the wind.field for the wind.

u = u* - ∇pu = u* - ∇p

Modeling Accumulated Modeling Accumulated SnowSnow A six step algorithm is used.A six step algorithm is used.

– Create edge groupsCreate edge groups This step divides the scene into larger entities, This step divides the scene into larger entities,

called the edge groups, having the same called the edge groups, having the same orientation.orientation.

Functions as an initialization and is basically a Functions as an initialization and is basically a question of determining possible locations where question of determining possible locations where snow can accumulate.snow can accumulate.

– Emit snow particlesEmit snow particles Emit snow from the sky and calculate with which Emit snow from the sky and calculate with which

triangle in the edge groups there is a collision.triangle in the edge groups there is a collision. To ensure realism the emitting and movement of To ensure realism the emitting and movement of

the snowflakes use the schemes for describing the snowflakes use the schemes for describing movement of snowflakes.movement of snowflakes.

Modeling Accumulated Modeling Accumulated SnowSnow A six step algorithm is used.A six step algorithm is used.

– Refine edge groupsRefine edge groups A very detailed snow surface is important when A very detailed snow surface is important when

representing the snow around obstacles as the snow representing the snow around obstacles as the snow height will vary a great deal.height will vary a great deal.

However, it is not always necessary to have a detailed However, it is not always necessary to have a detailed representation of the snow surface on a large plane representation of the snow surface on a large plane surface where no obstacles exist.surface where no obstacles exist.

Divide the triangles into a finer grid of triangles Divide the triangles into a finer grid of triangles according to the number of particles hitting the according to the number of particles hitting the triangles. triangles.

Modeling Accumulated Modeling Accumulated SnowSnow A six step algorithm is used.A six step algorithm is used.

– Resolve stabilityResolve stability There are two purposes of the step.There are two purposes of the step.

– It functions as a smoothing mechanism that It functions as a smoothing mechanism that makes sure that too abrupt transitions between makes sure that too abrupt transitions between two levels of accumulated snow do not occur.two levels of accumulated snow do not occur.

– It determines if the snow cover is stable It determines if the snow cover is stable enough.enough.

Can determine whether or not a snow cover Can determine whether or not a snow cover on a rooftop is too high to remain stable or on a rooftop is too high to remain stable or falls down.falls down.

A snowdrift stays stable when leaning A snowdrift stays stable when leaning against an object.against an object.

Modeling Accumulated Modeling Accumulated SnowSnow A six step algorithm is used.A six step algorithm is used.

– Resolve stabilityResolve stability Redistribute snow from one triangle to its Redistribute snow from one triangle to its

neighbors if the height difference is too steep.neighbors if the height difference is too steep. The height difference between neighboring The height difference between neighboring

triangles is expressed as an angle.triangles is expressed as an angle.– For snow to be distributed this angle has to be For snow to be distributed this angle has to be

above the angle of repose (AOR)above the angle of repose (AOR)

Modeling Accumulated Modeling Accumulated SnowSnow A six step algorithm is used.A six step algorithm is used.

– Smoothing and rendering the surfaceSmoothing and rendering the surface Smoothing the snow surfaceSmoothing the snow surface

– Average the height of each triangle using its Average the height of each triangle using its adjacent neighbors and then connecting adjacent neighbors and then connecting these averaged centers.these averaged centers.

The final result is rendered.The final result is rendered.

ExamplesExamples