主权项 |
1.一种石纹纸染图形的计算机仿真方法,结合流体力学模拟颜料的流动过程,其模拟通过流体流动过程中的任意给定时刻对流体状态给定一个数学描述来实现;以及利用矢量图技术实现石纹纸染图形的输出,其特征在于,该方法包括以下步骤:步骤一,基于流体力学理论构建速度场:▽·u=0 (1)<maths num="0001"><![CDATA[<math><mrow><mfrac><mrow><mo>∂</mo><mi>u</mi></mrow><mrow><mo>∂</mo><mi>t</mi></mrow></mfrac><mo>=</mo><mo>-</mo><mrow><mo>(</mo><mi>u</mi><mo>·</mo><mo>▿</mo><mo>)</mo></mrow><mi>u</mi><mo>-</mo><mfrac><mn>1</mn><mi>ρ</mi></mfrac><mo>▿</mo><mi>p</mi><mo>+</mo><mi>v</mi><msup><mo>▿</mo><mn>2</mn></msup><mi>u</mi><mo>+</mo><mi>f</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,u是流体速度,ρ是流体密度,p是压强项,f是外力,ν是粘性系数;将速度域定义在一个n×n的均匀网格上,通过中心差分联立求解方程(1)和(2)得到速度场的变化;步骤二,流体边界追踪与优化:用矢量图绘制流体边界,当添加外力后,随着速度场的不断变化,跟踪颜料边界的运动情况:采用双线性插值方法计算边界结点i处的速度u(p<sub>i</sub>),进而计算得到边界结点i在下一时刻的新位置p<sub>i+1</sub>u(p<sub>i</sub>)=t2(s2*u<sub>i,j</sub>+s1*s1*u<sub>i,j+1</sub>)+t1(s2*u<sub>i+1,j</sub>+s1*u<sub>i+1,j+1</sub>)p<sub>i+1</sub>=p<sub>i</sub>+u(p<sub>i</sub>)·Δt其中,p<sub>i</sub>是采样点的坐标,p<sub>i+1</sub>是采样点下一时刻的坐标,s1、s2、t1、t2为双线性插值的比例系数;u<sub>i+1,j</sub>,u<sub>i,j+1</sub>,u<sub>i+1,j</sub>,分别在nxn网格不同位置处结点的流体速度:u<sub>i,j</sub>代表位于均匀网格中i,j处结点i的流体速度;u<sub>i+1,j</sub>代表位于均匀网格中i+1,j处结点i的流体速度;u<sub>i,j+1</sub>代表均匀网格中i,j+1处结点i的的流体速度;步骤三,边界填充与输出:基于OpenGL采用模板缓存的模板测试方法填充流体轮廓得到实心的流体,采用SVG格式输出图形;步骤四,单一流体到多种流体的扩展:将单一流体模拟扩展到多种流体模拟,需要考虑不同流体的粘性特征,当用户添加新的流体时,通过对流体轮廓的初始边界结点添加向外部周围扩散的速度v,速度v的取值受流体的固有粘性系数值visc的影响,即:v(i)=(1-visc)*V其中,v表示流体边界结点i在速度网格上的速度,V表示粘性系数值,visc为1时的速度。 |