the simulation of pigment flow on bibulous paper(1)

April 14th, 2009

 

The original idea of this article is from Dr. Chu’s PhD thesis,http://visgraph.cs.ust.hk/MoXi/ ,In that project ,he proposed a novel approach for simulate brush and pigment interact with bibulous paper, especially calligraphy brush work with chinese “Xuan” paper. I tried to reconstruct the system during the vacation of Easter,  and come up some different idea for improve the simulation quality.

 

本文参考香港大学CHU SIU HANGphd学位论文(http://visgraph.cs.ust.hk/MoXi/ ),并对作者的观点提出一些不同的看法和改进意见,探讨如何使用流体力学模型模拟颜料在可渗透材料上的物理运动,以实现尽可能逼真的画笔效果。

 

About the algorithm of flow simulation.

 

 In past decades,  several different numeric algorithm  of fluid simulation have been invented for computer graph implementation , the main idea of all these approach is subdivide the space into finite grids , each grid have it’s own  velocity and density,  the numeric value of velocity field and density field  evolved by time step ,in each time , the calculation is based a physical principle which come from discrete Navier – Stokes Equation  (figure 0  http://en.wikipedia.org/wiki/Navier-Stokes).

 

 I have tried 2 different algorithm, both of them are based on the  finite grids, I think finite grids is only way to simulation fluid on computer, the first one is called “Stable fluid simulation” from Jos Stam http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf he use 2 Poisson Equations to make mass conservation and momentum conservation , the other one is calle LBM (figure 2 http://en.wikipedia.org/wiki/Lattice_Boltzmann_Method ), which use only 1 Boltzmann Equation instead of 2 Poisson Equations.

 

关于 流体算法:

流体模拟物理原理来自于Navier-Stokes 方程(http://en.wikipedia.org/wiki/Navier-Stokes )(图0),在视觉模拟领域,流体的模拟基本上采用半拉格朗日模型来实现,既通过有限元法将空间离散成nxm个网格,在每个时钟周期里,由网格来记载流体的速度场和密度场,而用粒子运动模型来模拟每一个网格内流体的运动。我尝试了2种流体算法,一种是论文中所提到的LBE(图1),另一种是多伦多大学Jos Stam发明的稳定流体算法。 http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf

 

  

 

I use the Jos Stam’s approach first, but I found  several problems hard to solve:

 

First ,Because of the algorithm based on very strict incompressible  rule, which will cause the density of all the lattices are equal together in each time step , but actually the water on the paper is not uniformly distributed, in practice, the area which just been inject water  (the drop droped on the paper or the brush touch the paper) contain very large amount of water (figure 2). the explanation from three-dimension  is the thickness  in that area is large , the explanation from  two-dimension is the density in that area is large, but the way of  Jos Stam’s approach force to uniform the density ,so it’s  can not reproduce this  phenomenon, unless use  three-dimensional simulation instead, then the gravity also need to be put in.

 

 

在使用 Jos Stam的算法时我发现了几个比较难以解决的问题:

 

因为 Jos的算法立足于十分严格的不可压缩条件,在2维的条件下,使用这个算法得到的解使每一个网格内流体的密度都是相等,而事实上水在纸张平面上的运动是有细微波浪的变化的,一颗水珠滴落到纸张上或者毛笔接触到纸张上的时候被注入水的网格先是含大量的水,(从3维的角度来解释就是网格内水的厚度比较高,从二维的角度解释是网格内水的数量大或者水的密度大),然后再逐渐散开(图2),如果用Jos的算法,这个过程2维方式无法模拟出来,必须用3+重力的方式才能模拟。

 

 

 For explain this equation,  Jos’s approach discard the equibalance force of density variation, only consider equibalance force from saturation of  solute, it is equal the movement of fluid in the weightless condition, this is not realistic.

 

从方程的角度上来说,Jos的算法里丢弃了水趋往均势的运动量,只包含了水中溶解物趋往均势的运动量,相当于无重力环境下水在平面上的运动,或者是溶解物在液面上运动,这是不符合实际的。

 

 Second, because the density of lattices are restricted as constant, the other effects both absorbing  and evaporation will cause numeric change of density also can not be integrate into the algorithm .

 

 另外一点,因为网格含水量被严格限制为常量,对于外界能够干扰到水的密度数值变化的纸张的吸收、溶解、蒸发作用以及边界的进化等等都没有办法计算。

But  the LBE relaxed the condition of incompressible density, which means it’s allow the density change in lattices by time step,  and the difference of density in each neighbor lattice will affect the particle’s movement  direction, the explanation from  three-dimension is LBM allow waving , rippling and all kinds of numeric vary of water surface.(figure 3 and 5)

 

LBE方程虽然也只是用2维来模拟水的运动,但LBE方程因为稀疏了不可压缩的条件,允许网格内含水量(方程表示为密度)的变化,在3维的情况下来看,就是允许了水的涟漪、波浪以及一系列水平面的数值变化,并且水平面的数值差异被方程处理为梯度和散度并最终形成作用力影响到水的运动方向(图3 和图5),其物理解释可以认为水在重力的作用下流动。

 

 

 

figure 4 demonstrat the incompressible algorithm cause the pigment unrealistic movement (no wet/dry edge,weightless )

 

 

 

 


Trackback URI | Comments RSS

Leave a Reply

Name (required)

Email (required)

Website

Speak your mind

(please refresh this page if you can not see this image)