一种具有纤维网络结构的数字纸张的墨水表达方法技术

技术编号:10813707 阅读:117 留言:0更新日期:2014-12-24 18:24
本发明专利技术公开了一种具有纤维网络结构的数字纸张的墨水表达方法,其特征是按如下步骤进行:1.定义所述数字纸张的纤维网络结构;2.获取所述数字纸张的纤维网络结构与墨水表达相关的属性并分别进行存储;3.设置笔迹宽度系数;4.设置墨水油墨粒子的均匀性;5.获取书写位置;6.填充笔迹;7.墨水扩散计算;8.墨水过滤计算。本发明专利技术能够实时仿真出具有真实性和多样性的墨水表达。

【技术实现步骤摘要】
一种具有纤维网络结构的数字纸张的墨水表达方法
本专利技术涉及计算机信息领域和计算机艺术仿真
,特别涉及一种具有纤维网络结构的数字纸张的墨水表达方法。
技术介绍
纸张和墨水相互作用所产生的扩散、过滤等特殊效果,不仅抒发了书法家和绘画家们的特殊感情,而且其简单表象所映射出的多端变化和丰富的意象、意境,给人们留下了无尽的遐想空间和艺术感受。纸张是由不规则纤维随机分布形成的三维纤维网络,该三维纤维网络具有“整体一致,局部随机”的特点,纤维之间交织交错形成了纤维交叉点和纤维间空隙,纤维交叉点对墨水具有吸收作用,纤维间空隙形成了毛细管,毛细管的毛细作用力对墨水具有吸引作用,会把墨水从一个地方带到另一个地方,当墨水中的油墨粒子大小不均匀的时候,大于纤维间空隙的油墨粒子就会被纤维阻挡而形成一个颜色比较深的区域。现有专利中,专利号为CN100338612C的“基于毛笔和宣纸的水墨传输模型与仿真”用纤维束连接起来的纤维团组成宣纸的纤维网结构,实现墨水在宣纸上的传输。通过对现有技术的研究,发现存在以下问题:1、现有技术中对纤维网络的仿真仅仅考虑了纤维分布随机性这个特点,并没有考虑对纤维网络结构有重要影响的纤维的属性,如纤维的形变性、纤维的数目等,在墨水表达仿真中没有充分考虑纤维网络与墨水表达相关的属性,从而严重影响了墨水表达的真实性;2、现有技术中都是实时对纤维网络进行仿真,仿真墨水表达之前需要等待纤维网络结构的仿真时间,严重影响了墨水表达的实时性。
技术实现思路
本专利技术为解决上述现有技术存在的不足之处,提出一种具有纤维网络结构的数字纸张的墨水表达方法,能够实时仿真出具有真实性和多样性的墨水表达。本专利技术为解决技术问题采用如下技术方案:本专利技术一种具有纤维网络结构的数字纸张的墨水表达方法的特点是按如下步骤进行:步骤1、定义所述数字纸张的纤维网络结构;以三维空间中的任意一点为原点O,建立空间直角坐标系O-XYZ;以原点O为起点,分别沿着X轴、Y轴和Z轴的正方向延伸,建立长、宽、高分别为x、y、z的数字纸张纤维网络空间;分别沿着与X轴、Y轴和Z轴平行的方向对数字纸张纤维网络空间进行均匀分割获得细胞网络,以细胞网络中的最小单元为一个单位细胞;所述数字纸张的纤维网络结构是由单根纤维逐根沿着Z轴负方向沉淀到数字纸张纤维网络空间中并发生形变而形成;所述单根纤维是由若干个纤维粒子组成;设定所述单根纤维的纤维粒子个数为所述单根纤维在所述数字纸张的纤维网络结构中占用的单位细胞的个数;所述数字纸张的纤维网络结构的属性是存储在所述数字纸张的存储文件中;步骤2、获取所述数字纸张的纤维网络结构与墨水表达相关的属性并分别进行存储;设定所述数字纸张的纤维网络结构中具有相同X轴坐标和Y轴坐标的单位细胞为测量单位,以数字纸张平面的一个点对应一个测量单位;从所述数字纸张的存储文件中获取所述数字纸张的纤维网络结构与墨水表达相关的属性,包括:在所述测量单位中单根纤维与其他单根纤维之间的交叉点数目B、所述测量单位与其相邻的8个测量单位之间存在同一根单根纤维的数目C以及在所述测量单位中单根纤维与其他单根纤维之间的空隙数目P;设定存储所述交叉点数目B的矩阵为bondedNum[x][y];设定存储所述同一单根纤维数目C的矩阵为connectingFiberNum[x][y][8];设定存储所述空隙数目P的矩阵为poreNum[x][y];并将所述交叉点数目B存储到所述矩阵bondedNum[x][y]中;将所述同一单根纤维数目C存储到所述矩阵connectingFiberNum[x][y][8]中;将所述空隙数目P存储到所述矩阵poreNum[x][y]中;步骤3、设置笔迹宽度系数;设定所述笔迹宽度系数为w;步骤4、设置墨水油墨粒子的均匀性;设定所述墨水油墨粒子的均匀性为u,u的取值为“均匀”或者“不均匀”;设定过滤墨水油墨粒子的空隙数目的阈值为l,l∈[80,90];设定墨水过滤的层次数目为W,W∈[1,4];步骤5、获取书写位置;假设书写的初始时刻为t0,书写的终止时刻为tm;ti表示初始时刻t0与终止时刻tm之间采集到书写位置的任意时刻;则ti时刻的书写位置为(xi,yi);0≤i≤m;步骤6、填充笔迹;步骤6.1、填充ti时刻的书写位置(xi,yi)处的笔迹;利用特定的形状填充ti时刻的书写位置(xi,yi)处的笔迹;定义ti时刻的书写位置(xi,yi)处的笔迹中的任一点的坐标为原始坐标(xin,yin);步骤6.2、计算所述原始坐标(xin,yin)的旋转坐标(xin',yin');利用式(1)获得旋转角度式(1)中,表示ti时刻的书写位置(xi,yi)处的笔迹的旋转角度;利用式(2)和式(3)分别获得xin'和yin':以所述旋转坐标(xin',yin')替代所述原始坐标(xin,yin)对ti时刻的书写位置(xi,yi)处的笔迹进行旋转;步骤6.3、在ti时刻的书写位置(xi,yi)处的笔迹和ti+1时刻的书写位置(xi+1,yi+1)处的笔迹之间进行插值完成连线填充;步骤7、判断u的取值为“均匀”是否成立,若成立,则执行步骤8;否则,设置所述过滤墨水油墨粒子的空隙数目的阈值l的值和所述墨水过滤的层次数目W的值并执行步骤9;步骤8、墨水扩散计算;步骤8.1、获取ti时刻的书写位置(xi,yi)处的笔迹的所有边缘点,定义每个边缘点的墨水量和颜色值并将所有边缘点加入到所定义的“扩散队列”中形成扩散点;步骤8.2、判断“扩散队列”是否为空,若为空,则完成所述墨水扩散计算;否则,执行步骤8.3;步骤8.3、获取“扩散队列”中的第一个扩散点作为当前扩散点,把所述当前扩散点的墨水量和颜色值分别赋值给k和c;步骤8.4、获取所述当前扩散点在矩阵bondedNum[x][y]中存储的值为b以及所述当前扩散点在矩阵connectingFiberNum[x][y][8]中存储的8个值分别为fj,j∈[1,8];步骤8.5、计算所述当前扩散点吸收的墨水量和所述当前扩散点扩散的墨水量;设定所述数字纸张的纤维网络结构的吸墨因子为α,α∈[4,8];设定当前扩散点吸收的墨水量为b×α;则所述当前扩散点扩散的墨水量为k-b×α;步骤8.6、判断k-b×α>0是否成立,若成立,则执行步骤8.7;否则,删除“扩散队列”中的第一个扩散点,并执行步骤8.2;步骤8.7、令j=1;步骤8.8、计算所述当前扩散点扩散到第j个相邻点的墨水量kj和所述当前扩散点的第j个相邻点的颜色值cj;利用式(4)获得所述第j个相邻点的墨水量kj:利用式(5)获得所述第j个相邻点的颜色值cj;步骤8.9、以所述第j个相邻点的颜色值cj对所述当前扩散点的第j个相邻点进行着色;步骤8.10、将所述当前扩散点的第j个相邻点加入到“扩散队列”中;步骤8.11、将j+1的值赋给j;步骤8.12、判断j≤8是否成立,若成立,则执行步骤8.8;否则,删除“扩散队列”中的第一个扩散点,并执行步骤8.2;步骤9、墨水过滤计算;步骤9.1、获取ti时刻的书写位置(xi,yi)处的笔迹的所有边缘点,定义每个边缘点的墨水量、颜色值和所在的过滤层数;并将所有边缘点加入到所定义的“过滤队列”中形成过滤点;步骤9.2、判断“过滤队列”本文档来自技高网...
一种具有纤维网络结构的数字纸张的墨水表达方法

【技术保护点】
一种具有纤维网络结构的数字纸张的墨水表达方法,其特征是按如下步骤进行:步骤1、定义所述数字纸张的纤维网络结构;以三维空间中的任意一点为原点O,建立空间直角坐标系O‑XYZ;以原点O为起点,分别沿着X轴、Y轴和Z轴的正方向延伸,建立长、宽、高分别为x、y、z的数字纸张纤维网络空间;分别沿着与X轴、Y轴和Z轴平行的方向对数字纸张纤维网络空间进行均匀分割获得细胞网络,以细胞网络中的最小单元为一个单位细胞;所述数字纸张的纤维网络结构是由单根纤维逐根沿着Z轴负方向沉淀到数字纸张纤维网络空间中并发生形变而形成;所述单根纤维是由若干个纤维粒子组成;设定所述单根纤维的纤维粒子个数为所述单根纤维在所述数字纸张的纤维网络结构中占用的单位细胞的个数;所述数字纸张的纤维网络结构的属性是存储在所述数字纸张的存储文件中;步骤2、获取所述数字纸张的纤维网络结构与墨水表达相关的属性并分别进行存储;设定所述数字纸张的纤维网络结构中具有相同X轴坐标和Y轴坐标的单位细胞为测量单位,以数字纸张平面的一个点对应一个测量单位;从所述数字纸张的存储文件中获取所述数字纸张的纤维网络结构与墨水表达相关的属性,包括:在所述测量单位中单根纤维与其他单根纤维之间的交叉点数目B、所述测量单位与其相邻的8个测量单位之间存在同一根单根纤维的数目C以及在所述测量单位中单根纤维与其他单根纤维之间的空隙数目P;设定存储所述交叉点数目B的矩阵为bondedNum[x][y];设定存储所述同一单根纤维数目C的矩阵为connectingFiberNum[x][y][8];设定存储所述空隙数目P的矩阵为poreNum[x][y];并将所述交叉点数目B存储到所述矩阵bondedNum[x][y]中;将所述同一单根纤维数目C存储到所述矩阵connectingFiberNum[x][y][8]中;将所述空隙数目P存储到所述矩阵poreNum[x][y]中;步骤3、设置笔迹宽度系数;设定所述笔迹宽度系数为w;步骤4、设置墨水油墨粒子的均匀性;设定所述墨水油墨粒子的均匀性为u,u的取值为“均匀”或者“不均匀”;设定过滤墨水油墨粒子的空隙数目的阈值为l,l∈[80,90];设定墨水过滤的层次数目为W,W∈[1,4];步骤5、获取书写位置;假设书写的初始时刻为t0,书写的终止时刻为tm;ti表示初始时刻t0与终止时刻tm之间采集到书写位置的任意时刻;则ti时刻的书写位置为(xi,yi);0≤i≤m;步骤6、填充笔迹;步骤6.1、填充ti时刻的书写位置(xi,yi)处的笔迹;利用特定的形状填充ti时刻的书写位置(xi,yi)处的笔迹;定义ti时刻的书写位置(xi,yi)处的笔迹中的任一点的坐标为原始坐标(xin,yin);步骤6.2、计算所述原始坐标(xin,yin)的旋转坐标(xin',yin');利用式(1)获得旋转角度式(1)中,表示ti时刻的书写位置(xi,yi)处的笔迹的旋转角度;利用式(2)和式(3)分别获得xin'和yin':以所述旋转坐标(xin',yin')替代所述原始坐标(xin,yin)对ti时刻的书写位置(xi,yi)处的笔迹进行旋转;步骤6.3、在ti时刻的书写位置(xi,yi)处的笔迹和ti+1时刻的书写位置(xi+1,yi+1)处的笔迹之间进行插值完成连线填充;步骤7、判断u的取值为“均匀”是否成立,若成立,则执行步骤8;否则,设置所述过滤墨水油墨粒子的空隙数目的阈值l的值和所述墨水过滤的层次数目W的值并执行步骤9;步骤8、墨水扩散计算;步骤8.1、获取ti时刻的书写位置(xi,yi)处的笔迹的所有边缘点,定义每个边缘点的墨水量和颜色值并将所有边缘点加入到所定义的“扩散队列”中形成扩散点;步骤8.2、判断“扩散队列”是否为空,若为空,则完成所述墨水扩散计算;否则,执行步骤8.3;步骤8.3、获取“扩散队列”中的第一个扩散点作为当前扩散点,把所述当前扩散点的墨水量和颜色值分别赋值给k和c;步骤8.4、获取所述当前扩散点在矩阵bondedNum[x][y]中存储的值为b以及所述当前扩散点在矩阵connectingFiberNum[x][y][8]中存储的8个值分别为fj,j∈[1,8];步骤8.5、计算所述当前扩散点吸收的墨水量和所述当前扩散点扩散的墨水量;设定所述数字纸张的纤维网络结构的吸墨因子为α,α∈[4,8];设定当前扩散点吸收的墨水量为b×α;则所述当前扩散点扩散的墨水量为k‑b×α;步骤8.6、判断k‑b×α>0是否成立,若成立,则执行步骤8.7;否则,删除“扩散队列”中的第一个扩散点,并执行步骤8.2;步骤8.7、令j=1;步骤8.8、计算所述当前扩散点扩散到第j个相邻点的墨水量kj和所述当前扩散点的第j个相邻点的颜色值cj;利用式(4)获得所述第j个相邻点的墨水量kj:kj=...

【技术特征摘要】
1.一种具有纤维网络结构的数字纸张的墨水表达方法,其特征是按如下步骤进行:步骤1、定义所述数字纸张的纤维网络结构;以三维空间中的任意一点为原点O,建立空间直角坐标系O-XYZ;以原点O为起点,分别沿着X轴、Y轴和Z轴的正方向延伸,建立长、宽、高分别为x、y、z的数字纸张纤维网络空间;分别沿着与X轴、Y轴和Z轴平行的方向对数字纸张纤维网络空间进行均匀分割获得细胞网络,以细胞网络中的最小单元为一个单位细胞;所述数字纸张的纤维网络结构是由单根纤维逐根沿着Z轴负方向沉淀到数字纸张纤维网络空间中并发生形变而形成;所述单根纤维是由若干个纤维粒子组成;设定所述单根纤维的纤维粒子个数为所述单根纤维在所述数字纸张的纤维网络结构中占用的单位细胞的个数;所述数字纸张的纤维网络结构的属性是存储在所述数字纸张的存储文件中;步骤2、获取所述数字纸张的纤维网络结构与墨水表达相关的属性并分别进行存储;设定所述数字纸张的纤维网络结构中具有相同X轴坐标和Y轴坐标的单位细胞为测量单位,以数字纸张平面的一个点对应一个测量单位;从所述数字纸张的存储文件中获取所述数字纸张的纤维网络结构与墨水表达相关的属性,包括:在所述测量单位中单根纤维与其他单根纤维之间的交叉点数目B、所述测量单位与其相邻的8个测量单位之间存在同一根单根纤维的数目C以及在所述测量单位中单根纤维与其他单根纤维之间的空隙数目P;设定存储所述交叉点数目B的矩阵为bondedNum[x][y];设定存储所述同一单根纤维数目C的矩阵为connectingFiberNum[x][y][8];设定存储所述空隙数目P的矩阵为poreNum[x][y];并将所述交叉点数目B存储到所述矩阵bondedNum[x][y]中;将所述同一单根纤维数目C存储到所述矩阵connectingFiberNum[x][y][8]中;将所述空隙数目P存储到所述矩阵poreNum[x][y]中;步骤3、设置笔迹宽度系数;设定所述笔迹宽度系数为w;步骤4、设置墨水油墨粒子的均匀性;设定所述墨水油墨粒子的均匀性为u,u的取值为“均匀”或者“不均匀”;设定过滤墨水油墨粒子的空隙数目的阈值为l,l∈[80,90];设定墨水过滤的层次数目为W,W∈[1,4];步骤5、获取书写位置;假设书写的初始时刻为t0,书写的终止时刻为tm;ti表示初始时刻t0与终止时刻tm之间采集到书写位置的任意时刻;则ti时刻的书写位置为(xi,yi);0≤i≤m;步骤6、填充笔迹;步骤6.1、填充ti时刻的书写位置(xi,yi)处的笔迹;利用特定的形状填充ti时刻的书写位置(xi,yi)处的笔迹;定义ti时刻的书写位置(xi,yi)处的笔迹中的任一点的坐标为原始坐标(xin,yin);步骤6.2、计算所述原始坐标(xin,yin)的旋转坐标(xin',yin');利用式(1)获得旋转角度式(1)中,表示ti时刻的书写位置(xi,yi)处的笔迹的旋转角度;利用式(2)和式(3)分别获得xin'和yin':以所述旋转坐标(xin',yin')替代所述原始坐标(xin,yin)对ti时刻的书写位置(xi,yi)处的笔迹进行旋转;步骤6.3、在ti时刻的书写位置(xi,yi)处的笔迹和ti+1时刻的书写位置(xi+1,yi+1)处的笔迹之间进行插值完成连线填充;步骤7、判断u的取值为“均匀”是否成立,若成立,则执行步骤8;否则,设置所述过滤墨水油墨粒子的空隙数目的阈值l的值和所述墨水过滤的层次数目W的值并执行步骤9;步骤8、墨水扩散计算;步骤8.1、获取ti时刻的书写位置(xi,yi)处的笔迹的所有边缘点,定义每个边缘点的墨水量和颜色值并将所有边缘点加入到所定义的“扩散队列”中形成扩散点;步骤8.2、判断“扩散队列”是否为空,若为空,则完成所述墨水扩散计算;否则,执行步骤8.3;步骤8.3、获取“扩散队列”中的第一个扩散点作为当前扩散点,把所述当前扩散点的墨水量和颜色值分别赋值给k和c;步骤8.4...

【专利技术属性】
技术研发人员:吴仲城温国华申飞罗健飞李芳
申请(专利权)人:中国科学院合肥物质科学研究院
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1