我問了外國朋友,他對這六個步驟有不太一樣的解釋耶
,可以翻譯或解釋一下嗎?
I. Model the static environment as a voxel grid.
他回答:
You model the environment, that on which the fluid takes place
(a container, a canyon, etc.) as a voxel (volume element) grid.
It looks like a low res version of your environment. It's static
because it's solid. You can see an example in Nick Foster's
Realistic Animation of Liquids (see my link). Fig. 8 of that
paper is the voxel grid used for the animation shown in fig.
10. See how it's a voxel version of the cove.
II. Model the liquid volume using a combination of
particles and an implicit surface (implicit surface? 不懂).
Then, for each simulation time step.
他回答:
An implicit surface is one defined by an implicit equation.
In Math equations can be explicit or implicit. In CG implicit
surfaces are sometimes known as blobies if you ever used an
animation package. Basicly they are modeling the water via a
bloby for the volume and using particles to define the surface
of the water. Time step. Well the equations are time dependant
of course (after all they are dynamic). Say you want to simulate
10 seconds of water simulation. Well because of the numerical
methods to solve the equations you have to divide those 10 seconds
say 100. So each piece is your time step. So each time step in the
example is a tenth of a second. The crucial part is that you have
to pick the time step carefully, if not the simulation will become
unstable and explode instead of converging to a solution. There
are methods that use an adaptative time step so they choose a
small time step when the equuation changes quickly and a bigger
one where the equation is more smooth.
III. Update the velocity field by solving 圖03 using finite
differences combined with a semi-Lagrangian method.
他回答:
It's just a mathematical method to solve equations. Basicly
what they need is to calculate the velocity of the fluid in each
little voxel. That's the main component to simulate the fluid,
the velocity of it at each point.
IV. Apply velocity constraints due to moving objects.
他回答:
They use this step in case you have something in the fluid
that can move, say a semi-submerged can. You apply certain
constraints to get realistic motion.
V. Enforce incompressibility by solving a linear system
built from 圖WaterEquation02 或 03
他回答:
In fluid equations you can consider that the fluid is
compressible (you can compress it, say a gas in a baloon).
But in normal condition for liquids like water you can consider
that these effects are very minor and don't affect the animation.
So you eliminate those terms from the equations which simplifies
them and makes them easier to simulate. This constraint makes
the equations easier to deal with.
VI. Update the position of the liquid volume (particles and
implicit surface) using the new velocity field.
他回答:
Well this just means that after simulating the velocities
you update the positions of the liquid. If you know velocity,
initial position and the timestep, you know what the position
of an object at the end of the timestep will be. Simple physics.
--
※ Origin: 臺大電機 Maxwell 站 ◆ From: u46-74.u203-204.giga.net.tw