精華區beta Physics 關於我們 聯絡資訊
※ 引述《LucasArt@bbs.ee.ntu.edu.tw (小哆拉的正義感)》之銘言: : 某位網友的回答,應該是這樣了 : 這一篇論文, 想要用電腦來模擬水的流動. : 像電影中想要電腦來畫出水在動的效果, 必需算出在每一個時間片斷中, : 每一個單位水的3D位置與水與外界接觸的表面資料 (像是位置, 法向量的) : 這樣, 有了 那些接觸表面資料, 之後在算圖畫圖時, 光的折射反射就可以去計算. : 簡單來說, 想要用合乎物理的方式來畫出水在動的效果的話, : 1) 隨著時間改變, 水分布的狀態可能改變, 所以用空間中分格子的方式, : (Voxel Grid, 3D 空間中的格子, 比較: 2D 平面中的格子可以叫 Pixel Grid,etc) : 而每個 Voxel 內的水的移動方向, 要算附近鄰居格子 Voxel 作用的力 和原來 : 自己的速度。而這些力, 又和個別的速度、密度、壓力有關。 : 2) 翻翻書, 查到 Navier-Stokes Fluid Dynamics 公式, 可以算出前面提到的東西, : 用了數學的微分, 成為文章中的 WaterEquation01 : ※ 引述《LucasArt@bbs.ee.ntu.edu.tw (納粹3K黨的信徒覺悟吧)》之銘言: : : 最近要做心得報告,但看不懂內容,可否幫個忙 : : pdf原文: : : http://graphics.stanford.edu/%7Efedkiw/papers/stanford2001-02.pdf : : http://home.pchome.com.tw/world/blueharvest/WaterEquation01.jpg
: : http://home.pchome.com.tw/world/blueharvest/WaterEquation02.jpg
: : http://home.pchome.com.tw/world/blueharvest/WaterEquation03.jpg
: : 1.以上第一個和第二、三都是水的公式,為什麼不太一樣? : : 2.這個公式和其中的符號和字母各代表什麼意思(中文解釋)? : 3) u 是 liquid velocity field, 白話來說, 每個單位的水都有其速度, 整個看起來 : 叫 field, 個別看的話, u(x,t) 是 在 x 的水 於 t 時間的速度。 : (粗體字的x 是 空間中的位置, 等於(x,y,z) ) : u(t) 則是 在 t 時間的 liquid velocity field. : u_t 是 the changes in the velocity field over time, 即 d u(t) /dt : 在流體力學中, 有一個重要的 rule: Mass Conservation 簡單來說, : 流進去的水和流出來的水, 量是不變的。這一條通常寫成 : D u = 0, 可以看成, 流進格子內的水, 和流出格子的水, 量是一樣的. : (我用大寫 D 表是 偏微分的 gradient operator) 定控制容積之下....成立 若非定控制容積 則有 dB 且 dB不等於零 : 4) 然後就公式而言, 導的方法不一樣, 看起來會差一點點, : 精要地說, : Eq. 3.2: u_t = v D(D u) - (u D)u - (D p)/tho + g : ^^^ : the changes in the velocity field over time : ^^^^^^^^ : viscosity term : ^^^^^^^^^ : mess term : ^^^^^^^^^^^ : pressure term : ^^^ gravity : 很像是: : [加速度] = [黏滯力] + [某力的修正項] : + [壓力] + [地球重力] : 上面我亂講的, 單位性質都不對, 只是為了看起來比較有感覺, : 比較好的推導可以去偉大的 科學世界 查查 : http://scienceworld.wolfram.com/physics/Navier-StokesEquations.html : : I. Model the static environment as a voxel grid. (Voxel Grid?不懂) : 把世界分成空間中一格一格的 : : II. Model the liquid volume using a combination of : : particles and an implicit surface (implicit surface? 不懂). : : Then, for each simulation time step : 空間中有水的部分, 就用particles(一個一個的水)和 implicit surface : (用 implicit function 所 model 出來的水的表面), 來做下面的步驟 : : III. Update the velocity field by solving 圖03 using finite : : differences combined with a semi-Lagrangian method. : 把 u_t 算出來, : : IV. Apply velocity constraints due to moving objects. : 把 u_t 加到 u(t-1) 變成 u(t), 即 在 t 時間的 liquid velocity field : 以上是 equation 3.2 做的是, 也就是你寫的 WaterEquation 03 : : V. Enforce incompressibility by solving a linear system : : built from 圖WaterEquation02 或 03 : : built from 圖WaterEquation02 或 03 : WaterEuqation02 (Mess Conservation) 每一小格子都要成立, : 所列出來的 linear system (一堆相似的 equations) 去解它們. : : VI. Update the position of the liquid volume (particles and : : implicit surface) using the new velocity field. : 然後, 就可以算出在 t 時刻, 各個水的分布狀況。 : : Velocity是不是當速率,但在圖 : 下面就沒問題了, :) 前面提到, 一堆小東西的 velocity 一起列出來, : 叫 velocity field. 見前面第三點 -- ╭──── Origin:<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮ Welcome to SimFarm BBS -- From : [pc-r2-20.cc91.ntou.edu.tw] ◣◣◢ ◢◢不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo ◣◣─╯