精華區beta Physics 關於我們 聯絡資訊
我問了外國朋友,他對這六個步驟有不太一樣的解釋耶 ,可以翻譯或解釋一下嗎? 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