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

文档序号:6627598阅读:160来源:国知局
一种具有纤维网络结构的数字纸张的墨水表达方法
【专利摘要】本发明公开了一种具有纤维网络结构的数字纸张的墨水表达方法,其特征是按如下步骤进行:1.定义所述数字纸张的纤维网络结构;2.获取所述数字纸张的纤维网络结构与墨水表达相关的属性并分别进行存储;3.设置笔迹宽度系数;4.设置墨水油墨粒子的均匀性;5.获取书写位置;6.填充笔迹;7.墨水扩散计算;8.墨水过滤计算。本发明能够实时仿真出具有真实性和多样性的墨水表达。
【专利说明】一种具有纤维网络结构的数字纸张的墨水表达方法

【技术领域】
[0001] 本发明涉及计算机信息领域和计算机艺术仿真【技术领域】,特别涉及一种具有纤维 网络结构的数字纸张的墨水表达方法。

【背景技术】
[0002] 纸张和墨水相互作用所产生的扩散、过滤等特殊效果,不仅抒发了书法家和绘画 家们的特殊感情,而且其简单表象所映射出的多端变化和丰富的意象、意境,给人们留下了 无尽的遐想空间和艺术感受。
[0003] 纸张是由不规则纤维随机分布形成的三维纤维网络,该三维纤维网络具有"整体 一致,局部随机"的特点,纤维之间交织交错形成了纤维交叉点和纤维间空隙,纤维交叉点 对墨水具有吸收作用,纤维间空隙形成了毛细管,毛细管的毛细作用力对墨水具有吸引作 用,会把墨水从一个地方带到另一个地方,当墨水中的油墨粒子大小不均匀的时候,大于纤 维间空隙的油墨粒子就会被纤维阻挡而形成一个颜色比较深的区域。
[0004] 现有专利中,专利号为CN100338612C的"基于毛笔和宣纸的水墨传输模型与仿 真"用纤维束连接起来的纤维团组成宣纸的纤维网结构,实现墨水在宣纸上的传输。通过对 现有技术的研究,发现存在以下问题:
[0005] 1、现有技术中对纤维网络的仿真仅仅考虑了纤维分布随机性这个特点,并没有考 虑对纤维网络结构有重要影响的纤维的属性,如纤维的形变性、纤维的数目等,在墨水表达 仿真中没有充分考虑纤维网络与墨水表达相关的属性,从而严重影响了墨水表达的真实 性;
[0006] 2、现有技术中都是实时对纤维网络进行仿真,仿真墨水表达之前需要等待纤维网 络结构的仿真时间,严重影响了墨水表达的实时性。


【发明内容】

[0007] 本发明为解决上述现有技术存在的不足之处,提出一种具有纤维网络结构的数字 纸张的墨水表达方法,能够实时仿真出具有真实性和多样性的墨水表达。
[0008] 本发明为解决技术问题采用如下技术方案:
[0009] 本发明一种具有纤维网络结构的数字纸张的墨水表达方法的特点是按如下步骤 进行:
[0010] 步骤1、定义所述数字纸张的纤维网络结构;
[0011] 以三维空间中的任意一点为原点〇,建立空间直角坐标系O-XYZ ;以原点0为起点, 分别沿着X轴、Y轴和Z轴的正方向延伸,建立长、宽、高分别为x、y、z的数字纸张纤维网络 空间;分别沿着与X轴、Y轴和Z轴平行的方向对数字纸张纤维网络空间进行均匀分割获得 细胞网络,以细胞网络中的最小单元为一个单位细胞;
[0012] 所述数字纸张的纤维网络结构是由单根纤维逐根沿着Z轴负方向沉淀到数字纸 张纤维网络空间中并发生形变而形成;所述单根纤维是由若干个纤维粒子组成;设定所述 单根纤维的纤维粒子个数为所述单根纤维在所述数字纸张的纤维网络结构中占用的单位 细胞的个数;
[0013] 所述数字纸张的纤维网络结构的属性是存储在所述数字纸张的存储文件中;
[0014] 步骤2、获取所述数字纸张的纤维网络结构与墨水表达相关的属性并分别进行存 储;
[0015] 设定所述数字纸张的纤维网络结构中具有相同X轴坐标和Y轴坐标的单位细胞为 测量单位,以数字纸张平面的一个点对应一个测量单位;
[0016] 从所述数字纸张的存储文件中获取所述数字纸张的纤维网络结构与墨水表达相 关的属性,包括:在所述测量单位中单根纤维与其他单根纤维之间的交叉点数目B、所述测 量单位与其相邻的8个测量单位之间存在同一根单根纤维的数目C以及在所述测量单位中 单根纤维与其他单根纤维之间的空隙数目P ;
[0017] 设定存储所述交叉点数目B的矩阵为bondedNum[x] [y];
[0018] 设定存储所述同一单根纤维数目C的矩阵为connectingFiberNum[x] [y] [8];
[0019] 设定存储所述空隙数目P的矩阵为poreNum[x] [y];
[0020] 并将所述交叉点数目B存储到所述矩阵bondedNum[X] [y]中;将所述同一单根纤 维数目C存储到所述矩阵connectingFiberNum[x] [y] [8]中;将所述空隙数目P存储到所 述矩阵 poreNum[x] [y]中;
[0021] 步骤3、设置笔迹宽度系数;
[0022] 设定所述笔迹宽度系数为w ;
[0023] 步骤4、设置墨水油墨粒子的均匀性;
[0024] 设定所述墨水油墨粒子的均匀性为u,u的取值为"均匀"或者"不均匀";
[0025] 设定过滤墨水油墨粒子的空隙数目的阈值为1,I e [80, 90];
[0026] 设定墨水过滤的层次数目为W,W e [1,4];
[0027] 步骤5、获取书写位置;
[0028] 假设书写的初始时刻为h,书写的终止时刻为tm山表示初始时刻h与终止时刻 t m之间采集到书写位置的任意时刻;则&时刻的书写位置为(Xi,yi) ;0彡i彡m ;
[0029] 步骤6、填充笔迹;
[0030] 步骤6. 1、填充心时刻的书写位置(Xi,yi)处的笔迹;
[0031] 利用特定的形状填充h时刻的书写位置(Xi,yi)处的笔迹;
[0032] 定义&时刻的书写位置(Xi,yi)处的笔迹中的任一点的坐标为原始坐标 (X inJin);
[0033] 步骤6. 2、计算所述原始坐标(xin, yin)的旋转坐标(xin',yin');
[0034] 利用式(1)获得旋转角度奶:
[0035]

【权利要求】
1. 一种具有纤维网络结构的数字纸张的墨水表达方法,其特征是按如下步骤进行: 步骤1、定义所述数字纸张的纤维网络结构; 以三维空间中的任意一点为原点0,建立空间直角坐标系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的矩阵为P〇reNum[x] [y]; 并将所述交叉点数目B存储到所述矩阵b〇ndedNum[X][y]中;将所述同一单根纤维数 目C存储到所述矩阵connectingFiberNum[x] [y] [8]中;将所述空隙数目P存储到所述矩 阵poreNum[x][y]中; 步骤3、设置笔迹宽度系数; 设定所述笔迹宽度系数为w; 步骤4、设置墨水油墨粒子的均匀性; 设定所述墨水油墨粒子的均匀性为u,u的取值为"均匀"或者"不均匀"; 设定过滤墨水油墨粒子的空隙数目的阈值为1,Ie[80,90]; 设定墨水过滤的层次数目为W,We[1,4]; 步骤5、获取书写位置; 假设书写的初始时刻为h,书写的终止时刻为tm山表示初始时刻h与终止时刻tm之 间采集到书写位置的任意时刻;则h时刻的书写位置为(Xi,yi) ;0彡i彡m; 步骤6、填充笔迹; 步骤6. 1、填充&时刻的书写位置(Xi,yi)处的笔迹; 利用特定的形状填充h时刻的书写位置(Xi,yi)处的笔迹; 定义心时刻的书写位置(Xi,yi)处的笔迹中的任一点的坐标为原始坐标(xin,yin); 步骤6. 2、计算所述原始坐标(xin,yin)的旋转坐标(xin',yin'); 利用式(1)获得旋转角度 V. _ V φ.ι =arctan-~'-l^- (1) W1 式⑴中,的表示心时刻的书写位置(Xi,yi)处的笔迹的旋转角度; 利用式⑵和式⑶分别获得Xin'和yin' : 七"' =(Λ, x cos奶.+乂,, X sin的)X u' (2) ' ={yinxcosΨι--ν",χsinΨ-,)χwΟ) 以所述旋转坐标(xin',yin')替代所述原始坐标(xin,yin)对h时刻的书写位置(Xi,yi) 处的笔迹进行旋转; 步骤6. 3、在心时刻的书写位置(Xi,yi)处的笔迹和ti+1时刻的书写位置(xi+1,yi+1)处 的笔迹之间进行插值完成连线填充; 步骤7、判断u的取值为"均匀"是否成立,若成立,则执行步骤8 ;否则,设置所述过滤 墨水油墨粒子的空隙数目的阈值1的值和所述墨水过滤的层次数目W的值并执行步骤9 ; 步骤8、墨水扩散计算; 步骤8. 1、获取&时刻的书写位置(Xi,yi)处的笔迹的所有边缘点,定义每个边缘点的 墨水量和颜色值并将所有边缘点加入到所定义的"扩散队列"中形成扩散点; 步骤8. 2、判断"扩散队列"是否为空,若为空,则完成所述墨水扩散计算;否则,执行步 骤 8. 3 ; 步骤8. 3、获取"扩散队列"中的第一个扩散点作为当前扩散点,把所述当前扩散点的墨 水量和颜色值分别赋值给k和c; 步骤8. 4、获取所述当前扩散点在矩阵bondedNum[x] [y]中存储的值为b以及所述当前 扩散点在矩阵connectingFiberNum[x] [y] [8]中存储的8个值分别为fj,je[1,8]; 步骤8. 5、计算所述当前扩散点吸收的墨水量和所述当前扩散点扩散的墨水量; 设定所述数字纸张的纤维网络结构的吸墨因子为α,ae[4, 8];设定当前扩散点吸 收的墨水量为bXα;则所述当前扩散点扩散的墨水量为k-bXα; 步骤8. 6、判断k-bXα> 0是否成立,若成立,则执行步骤8. 7 ;否则,删除"扩散队列" 中的第一个扩散点,并执行步骤8. 2 ; 步骤8. 7、令j= 1 ; 步骤8. 8、计算所述当前扩散点扩散到第j个相邻点的墨水量h和所述当前扩散点的 第j个相邻点的颜色值Cj ; 利用式(4)获得所述第j
个相邻点的墨水量kj: 利用式(5)获得所述第j个相邻点的颜色值C1 ;
步骤8. 9、以所述第j个相邻点的颜色值对所述当前扩散点的第j个相邻点进行着 色; 步骤8. 10、将所述当前扩散点的第j个相邻点加入到"扩散队列"中; 步骤8. 11、将j+Ι的值赋给j; 步骤8. 12、判断j< 8是否成立,若成立,则执行步骤8. 8 ;否则,删除"扩散队列"中的 第一个扩散点,并执行步骤8. 2; 步骤9、墨水过滤计算; 步骤9. 1、获取&时刻的书写位置(Xi,yi)处的笔迹的所有边缘点,定义每个边缘点的 墨水量、颜色值和所在的过滤层数;并将所有边缘点加入到所定义的"过滤队列"中形成过 滤点; 步骤9. 2、判断"过滤队列"是否为空,若为空,则执行步骤8. 2 ;否则,执行步骤9. 3 ; 步骤9. 3、获取"过滤队列"中的第一个过滤点作为当前过滤点,把所述当前过滤点的墨 水量、颜色值和所在的过滤层数分别赋值给k、c和E; 步骤9. 4、判断E<W是否成立,若成立,则执行步骤9. 5 ;否则,将所述当前过滤点加入 "扩散队列"中,删除"过滤队列"中第一个过滤点并执行步骤9. 2 ; 步骤9. 5、获取所述当前过滤点的8个相邻点在矩阵poreNum[x] [y]中存储的值为Pj ; 步骤9. 6、令j= 1 ; 步骤9. 7、判断Pj彡1是否成立,若成立,则利用式(6)获得所述当前过滤点的第j个 相邻点的颜色值&并执行步骤9.8 ;否则,利用式(7)和式(8)分别获得所述当前过滤点的 第j个相邻点的颜色值&和墨水量比,并执行步骤9. 9 ; gj=c-cXβ(6) 式(6)中,β为所述数字纸张的纤维网络结构的过滤因子;βe(〇,I); gj=c+cXβ (7) hj=k-kXβ (8) 步骤9. 8、以所述第j个相邻点的颜色值&对所述当前过滤点的第j个相邻点进行着 色,把E+1赋值给所述当前过滤点的第j个相邻点所在的过滤层数,并将所述当前过滤点的 第j个相邻点加入"过滤队列"中,执行步骤9. 10 ; 步骤9. 9、以所述第j个相邻点的颜色值&对所述当前过滤点的第j个相邻点进行着 色;并将所述当前过滤点的第j个相邻点加入"扩散队列"中; 步骤9. 10、将j+Ι的值赋给j; 步骤9. 11、判断j< 8是否成立,若成立,则执行步骤9. 7 ;否则,删除"过滤队列"中第 一个过滤点并执行步骤9. 2。
2.根据权利要求1所述的具有纤维网络结构的数字纸张的墨水表达方法,其特征是所 述步骤6. 3是按如下方式进行: 设定t时刻的书写位置(Xi,yi)处的笔迹和ti+1时刻的书写位置(xi+1,yi+1)处的笔迹 之间需要插值的书写位置为(xiq,yiq);则依次执行步骤6. 1和步骤6. 2对书写位置(xiq,yiq) 处的笔迹进行填充和旋转即完成h时刻的书写位置(Xi,yi)处的笔迹和ti+1时刻的书写位 置(xi+1,yi+1)处的笔迹之间的连线填充。
【文档编号】G06T1/00GK104240176SQ201410482698
【公开日】2014年12月24日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】吴仲城, 温国华, 申飞, 罗健飞, 李芳
申请人:中国科学院合肥物质科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1