(计算机科学与技术专业论文)绘画cad中的墨韵效果研究.pdf_第1页
(计算机科学与技术专业论文)绘画cad中的墨韵效果研究.pdf_第2页
(计算机科学与技术专业论文)绘画cad中的墨韵效果研究.pdf_第3页
(计算机科学与技术专业论文)绘画cad中的墨韵效果研究.pdf_第4页
(计算机科学与技术专业论文)绘画cad中的墨韵效果研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机科学与技术专业论文)绘画cad中的墨韵效果研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕学位论文 摘要 摘要 近年来。绘画c a d 系统的发展越来越快,各种系统层出不穷。但其中有针对 性研究墨韵效果的绘画c a d 系统却并不多见。在本文中,我们主要提出了一个 用来产生墨韵效果的绘画c a d 的通用算法模型;包括使用基于f i c k 原理的扩散 定则,扩散边界判定方法和基于c a d 的干笔生成算法。因此用它可以绘制出各种 各样的湿笔和干笔效果和绘画c a d 效果。 这个系统还包括了一个快速生成的保真绘笔模型,它可以用来产生绘画c a d 的各种笔迹,能帮助用户得到真实的绘画体验。同时可以根据用户对输入设备的 操作、做出相应的形变、旋转等等编辑功能。此外,我们研究了几种常用的绘画 颜料。并计算出他们各自的散射和吸收系数,然后用k u b c l k a - m u 放模型来进行颜 料配色时的计算,从而为再进一步的彩色绘制做准备 上述算法模型我们在g p u 上通过和实现,并且为之设计完成了一个程序原 型以供用户使用。美中不足的是,本系统在绘笔分叉后对各个分枝( d u s t c r ) 的 绘制以及其他一些细微的显示方面尚有不足,有待进一步研究。 关键词绘画c m 绘笔模型,颜料模型,墨韵生成模型 浙江大学硕士学位论文a b s h - a c t a b s t i a c t n o w 鲥i a y s ,t l l ed e v e i o p m 朗to f p a i n t i n gc a ds y s t e m sb c c o m 岱m o 佗雒dm o m m p i d l y h lt t i i st c c h l l i c a l 托p o n ,w ep 懈e m ag e n e r i c 肌dn o v dm o d d 砌i t i o n a l p a i m i i l gc a ds y s t 锄t h a t p t u r 鹤a 埘d em g eo f s t y l 懿o f a l ld r y 锄dw c ts n 0 k 鹤 n es y s 妇n 砌u d 器8n o v d 锄d 缸t b m s hm o d d 幻豫l c hi n l p l 锄tv a r i o 璐 s 仃o k e 刚鹤o f 伽m o l l a lc a dp a i m i 唱孤di tc o u l d b eb e n tb yp 懈s i 唱f o l d i n g o r w r i n l d i n ga c c o r d i n g t ot l l e 璐盯so p e m 6 0 i lb u t i 忸d 锚i g no f t l l e3 db m s hi sa s i m p l i f i c d ea sw ea v o i dm u c ho f m es u b t l eb m s hd i s p l a vw o 血b e s i d 鼯,w e p r o m o t eas i m p i ei i l l 【d i 行吣i o nm e i l l o d 肌di m p l 黜e n ti t 伽g p u ( n o tv e r ye x p c i l s i v e ) t h l 培w ed e f i v e a lt i m ep a i n t i i l gc ) 【p e d 锄c ef b fu s e 培o u rm e i h o d 仍ri n kd i f 缸i o ni 8 b a s c do nf i c k sd i f f h s i o n1 8 wb u ti m p o s e so i 玎o w nb o l m d a r i r 鹪s e r t i :i tc 孤p l i u c e am 蚰b e fo f v 撕。岫p a i l l t i i i ge f f & b ,诵t hac e r t a i l ld e g r e e o f “a i l i 竹o p i 如1 竹ht l l e 矗n a lc a ,w es t i l d yt 1 1 e1 21 【i n d so f m o 髓m m o i l l yu s c dp i 舯e n t sa n dc a i c u l a t et l l e i r 辩a n 甜n gm da b r b i n gc o e 箍c i t s 衙舢曲c rf c a l i s t i c 嗽l d 嘶n 吕 k e y w o r d sp a i n t h l gc a d ,b m s hm o d e l p i g i n e n tm o d 吐肼f f u s i o nm o d d 浙江大学硕上学位论文图目录 图目录 图1 1 汉字的兰1 图3 一1w h c o m 公司生产的t a b p c n 示例。我们在工程中使用的电子笔稍有不 日9 。8 图3 2f 口抽f 和锄细沁出的结构示意1 0 图3 3 抓笔。1 2 图3 - 4 小狼毫1 2 图3 5o 嘲g l 代码片段:建立m 砒1 4 图4 1 笔头朝向。示意图l 1 7 图4 2 笔头朝向。示意图2 1 7 图4 3 自旋的描述。右边的是真实自旋笔迹的扫描结果1 9 图4 4 顺锋的真实扫描图2 0 图4 5 逆锋的真实扫描图2 0 图4 - 6 侧锋的真实扫描图2 l 图4 7 使用侧笔绘制的s 仃o k e 。注意红色圈中所示的区域为明显的浓度渐变。 :! :! 图4 8 在不同压力之下的丰富变化笔画;两个画圈的地方:绿色的明显比红 色区域被施于了更小的压力2 3 图4 _ 9 汉字的“马”。注意,在右边的小图中,我们可以看到飞白的效果: 红色圈所指示的地方就是快速拖动一支较于绘笔产生的2 4 图4 - l o 汉字的“斗酒”2 5 图4 1 1 注意右图中,两个红色的圈所示的就是不同颜料的d e d o s i t i o n 引起 的不同扩散程度2 5 图4 1 2 飞白和笔毫分叉引起的干笔变化之比较;左图显示的是飞白效果, 而右图是有着明显笔头分叉的情况;注意,笔毫分叉时会有更多的空白 在尖端,而飞自有更多的空自在中日j 部分2 6 图4 - 1 3 渐渐变干的笔画。2 7 图5 1 我们在工程中所用的真实宣纸纹理2 8 图5 2 加了向上速率的颜料扩散。2 9 图6 _ ls c 雏r e 锄l t 3 6 图8 1 “蜗牛”的汉字。注意左边“蜗”字的红圈区域表示了飞白效果;而 右图的红圈区域展示了一定的分叉4 l 图8 2 展示了一些由湿笔组成的“书法”4 l 图8 3 “南方公园”的汉字4 2 图8 _ 4 左边的图示是真实绘笔绘画的扫描图;右边的图示为我们的模拟结 果。其中有三种类型的s 仃o k e :湿笔,飞白和分叉。4 2 图8 - 5 红花4 3 i i i 浙江大学硕j 学位论文 图目录 图8 _ 6 蓝花 浙江大学硕士学位论文表目录 表目录 表1 1 与前面模型的对比。第一个图表显示的是两个模型穿过相同纸面距离 所花的时间比( 每个时间步长同样距离) ;第二个图表显示的是两个模 型在相同压力下做分叉的耗时比( 每个时间步长同样的压力增幅,对于 x u 的模型,我们将之分为l o 个b 啪c h 鼯) 3 表3 1w j c o m 公司生产的t a b 咖支持的六大维度8 表7 1 墨韵效果生成过程实现中所用的纹理及其所存储的数据域3 8 表7 - 2 纹理图中数据域的描述3 9 表7 3 颜料配色过程实现中所用的纹理4 0 v 浙江大学硕士学位论文绪论 第1 章绪论 1 1 课题背景 传统的绘画c a d 艺术在中国文化中起了一个非常重要的作用。但就像我国著 名的国画艺术家吴冠中所说:“只有发展传统艺术,才能从根本上保留传统”,我 们在这个数字时代,应当在数字艺术领域模拟并扩展绘画c a d 的丰富表现力。 图1 1 汉孚的兰 对于绘画c a d 来说,首先它的制图工具一绘笔,是我们最需要注意的部分。 通过绘笔的形变,转承,艺术家才能获得丰富的艺术表现力。所以我们设计的首 要目的是要得到一个快速强大的笔模型。我们知道,许多绘画c a d 的神奇效果, 都是由于艺术家对笔的不同运用,操作来完成产生的。所以为了对绘笔建模。我 们第一个想法就是去探究输入工具以及弄清这些操作和最终效果之间的关系。1 ) 同个绘笔可以绘制出不同大小的笔画,这些便形成了绘画c a d 中所谓的“笔锋”; 2 ) 当艺术家快速拖动绘笔时,许多笔毫并不能充分接触纸面。所以我们可以看 到在生成的笔画中会有一些留白,这种效果我们一般称其为“飞白”;3 ) 还有一 个值得研究的主题是笔头的分叉,艺术家通常使用笔分叉的技巧绘制“枯笔”笔 画;在这种情况下,他一般可以通过强压比较干的笔头来实现之。 浙江大学硕上学位论文 绪论 与绘笔模型不可分割,在绘画c a d 系统中同样起重要作用的还有颜料在纸上 的运动行为。其中最值得我们研究的是颜料的扩散行为。它与我们上述的笔模型 是相对独立的,是属于流体模拟的范畴在过去的2 0 多年中,很多计算机科学 家发展了纯物理上的流体模拟,并使之应用到了计算机生成图形学中以增加真实 感。其中最著名的三种方法是;n a i v e rs t r o k e 方程,p d e 方程( 使用了f i c k 的 扩散定则) 以及l b e 方程。我们比较了很多方法后,确定了使用基于f i c k 扩散 定则的方法,并加入了我们自己的扩散边界判定方法我们的颜料模型可以生成 出一定数量的绘画c a d 效果,而且正如我们预料的一样,在扩散的时候有各向异 性的体现。 最终结果的绘制和呈现也是一部份很有意思的工作。感谢计算机图形学的不 断发展,我们现在已经可以越来越接近真实图像的结果了。许多研究者都在这一 领域做了不少开拓性的工作,尤其是对西方的油画,以及水彩画的绘制工作。但 可惜的是,对于传统的绘画c a d 颜料,尚未有人研究它的材质,并解决其绘制的 相关阀题。我们测量了常用绘画c a d 颜料的光学参数,并在k u b e l k a - m u n k 模型 中对其进行计算以得到最终的呈现结果。我们使用了类c u r t i se ta 1 1 在 1 9 9 7 年提出的方法,而且我们发现它在应用到绘画c a d 颜料的时候也是十分可行 的。 1 2 主要贡献 以下我们介绍本文的主要贡献: i ) 对于笔模型的贡献。很多知名的绘笔模型,包括x u 等人的c a dg w p i i l g 模型和c h u 1 m 的笔头骨架模型其实都存在一些问题。首先他们的体系结构就 是基于3 d 的,所以在普通p c 上傲类似笔分叉这样的复杂几何操作是很费时的; 其次,他们的模型在生成干笔和湿笔时使用了不同的机制,所以一个显式的开关 是必须的,这就很大程度上影响了系统的实用性;最后,他们的模型都并不容易 实现,比如在c 抽1 a i 的模型中,他们引入了一个复杂的甚至不是线性的能量 方程。 我们的笔模型力图解决以上问题。我们的笔模型应当是一个轻量级的,并且 是易于实现和使用的。首先,以前的很多研究者都倾向于把资源用在3d 模型的 显示工作上。我们的设计是一个相对简化的模型,同时又能给予用户很好的绘制 体验,比如在输入设备的帮助下完成形变和旋转等操作。其次,许多研究者都喜 欢在笔头内部做i l l i 【的扩散,这就引入了一个在3 d 空间做流体运动的复杂模型。 2 浙江大学硕t 学位论文绪论 而我们的方法只是简单地使其在一个2 d 的横截面上做“扩散”。最后,大部分参 数在我们的模型中是自动确定的。像干湿笔效果之间的切换是完全不需要有显示 的通知给系统的。还有当笔飞速滑过纸面时,我们的模型会自动调整“飞白”程 度并且重新计算最终从笔掉到纸面上的颜料量。笔分叉也是一个常用的操作,我 们的模型自动控制笔毫的稀疏度而不是去显式地提出一个新的分割笔头。 2 ) 对于交互速度的贡献。完成一个能商用的绘画c a d 绘制软件系统一直是 我们追求的目标。其中最要紧的就是使系统具备实时的交互性。我们使用了多种 方法来加速系统。首先,我们要注意到在系统中非常重要的一步是确定纸和笔的 截交面。像x u 的模型就花费了很多c p u 时间在计算纸面和3 d 笔模型的交面各 点上。而我们使用了简单的2 d 结构束存储交面的信息,并且在需要动态变化的 时候,我们并不需要重新计算交面上的各点其次,我们使用了g p u 来加速颜 料在纸面上的扩散过程,当然我们只是使用了g p u 中的基本特性,这也使得一 般的p c 机都能够使用我们的系统。在f i g l l 把2 中我们给出了一个与以前模型的 性能对比: 表1 1 与前面模型的对比第一个图表显示的是两个模犁穿过相同纸面距离所花的时间比 ( 每个时间步长同样距离) :第二个图表显示的是两个模型在相同压力f 做分义的耗时比( 每 个时间步长同样的压力增幅,对于x u 的模璎,我们将之分为1 0 个b f c h ) 。 3 ) 对于颜料绘制的贡献。许多西方研究者都在油画,以及水彩画的绘制上 做了不少开拓工作。但可惜的是,对于传统的绘画c a d 颜料,尚未有人研究它 的材质,并解决其绘制的相关问题。我们测量了常用绘画c a d 颜料的光学参数, 并在k l | b e l l 【a m u l l l 【模型中对其进行计算以得到最终的呈现结果。 在以下章节中,我们将会展示一些并不特别复杂的数学公式和物理原理是怎 样应用到我们的系统中并产生好的效果的。我们的最终目的是开发出一个能够被 最终用户接受的原形,即使他们没有高级的g p u 和大内存的工作站,额外的需 3 浙江大学硕上学位论文 求只是一个类似t a b p c l i 的输入笔。 1 3 文章组织 文章接下来的章节组织如下。第三章讨论了绘笔几何模型的特征以及它的建 模方法。第四章详细说明7 笔在运动过程中的一系列问题,还有我们是如何处理 各种国画效果的。剩余的章节解释了颜料扩散和国画的绘制技巧。我们的最终结 果在第八章给出,随之我们做了简要的讨论和展望。 1 4 本章小结 在本章中,我们首先提出了本课题的背景,并指出了它的现实意义;然后我 们又用了一定的篇幅讨论了本文的几点主要贡献,并给出了一个详细的对比图 表,来描述我们模型的一些优势所在;最后一节中,我们提到了全文的结构和组 织。 4 浙江大学硕士学位论文相关t 作 第2 章相关工作 对于绘画系统,无论是商用的软件,还是研究者们自己尝试着实现的原型, 都有很多,其中也有一些对于我们的工作是有很大启示的下面我们就着重从本 文需要用到的内容做一些前人工作的介绍。 2 1 绘笔模型的相关工作 在s s n 舔锄柚完成世界上第一个2 d 笔模型的那年,他的模型就可以绘制出 一些简单的笔画。之后,g 和k u n i i 【2 】研究了绘画c a d 颜料在纸上的扩散, 并且他们对于绘画c a d 颜料扩散的模拟增强了视觉效果。1 9 9 9 年,j l e e 【3 】第一 次把2 d 笔模型升级到了3 d 模型。c h u 和t a i 【2 】相信,中国传统绘画艺术的丰富 表现力是由绘笔的张力和分叉决定的。然后他们花了大量的精力用来研究绘笔分 叉的形变并且用3 d 的输入设备而不是简单地用鼠标和键盘输入。以下的一些模 型将在后面被介绍到:w b n g 和i p 的中国书法模型 4 】,b a 】【缸e ta l 的油画模型【6 】, x ue ca l 的模型【5 】以及c h u 和1 葡的东方画模型【7 】。由于在这个领域全面广泛的 研究,b a x 的模型总是被提到。 还有很多关于西方水彩画和传统东方画的颜料扩散的研究。p h 锄【8 】首先产 生出了有很强表现力和可观性的笔触,它经由一个可变的接近b 样条曲线的偏移 量,这个曲线可以支持不同的阴影、干痕以及扩散。g 1 _ l o 觚dk l “if 9 】基于对纸张 结构的物理分析提出了一个写意画的动态模型,用会扩散的颜料绘画产生出了一 些强烈的异常状态。c l 娟s 及其同仁【lo 】基于淡彩模型,针对水彩画提出了颜料模 型。使用他们的模型可以产生令人印象深刻的水彩画效果。然而这种方法是基于 数字的方法来解决淡彩方程,这对于交互式绘画来说太慢了。b a x t 盯及他的同伴 们【4 】为实现用厚重颜料绘图,产生油画和丙烯画的效果,贡献了非常富于表现力 的颜料模型。c l l u 和t a i 【1 1 】提出了一种可以在宣纸上作画的墨水离差模型。在 他们的模型中,b o l t 珊锄格子方程被用来模拟墨水的流动。这种模型可以产生 出现实绘画c a d 的湿画( 写意画) 效果,他们用g p u 来加速解决有亮点的 b o l t z m a 妯方程。 2 2 墨韵运动模拟的相关工作 九十年代初,p h 锄f 1 2 】首先产生出了有很强表现力和可观性的笔触,它经由 浙江大学硕学位论文相关- 作 一个可变的接近b 样条曲线的偏移量,这个曲线可以支持不同的阴影、于痕以及 扩散。他的方法不是简单的以物理为基础的方法。g i _ l o 和融l n i i 【1 3 】基于对纸张 结构的物理分析提出了一个写意画的动态模型,用会扩散的颜料绘画产生出了一 些强烈的异常状态。c ( d ( s h o t t 及其同仁【1 4 】提出了一种“粘湿”模型,用凹凸 不平和光泽度强的模型来模拟有纹理和光泽的颜料的质感。k 眦i i 及其同仁【1 5 ,1 6 】 提出了一种现象学模型用来模拟用会扩散的颜料绘图“白色区域黑色边界灰色 区域”分布的程度。他们采用的模拟的方法也都是基于扩散方程。但是,由于当 时计算机技术的限制,他们的扩散方程的形式都非常单一。结果,没有任何活动 模,只能产生一些模糊的图片。从s m a sp i e e f i n gw o 呔【1 7 】计算机水彩画模拟 中得到灵感, c u m s 及其同仁【l 】基于淡彩模型,针对水彩画提出了颜料模型。使用他们的 模型可以产生令人印象深刻的水彩画效果。然而这种方法是基于数字的方法来解 决淡彩方程,这对于交互式绘画来说太慢了。l 【2 】提出了一种纸墨模型,和他 们提出的笔模型【2 ,5 】一起被用来模拟现实中的墨水扩散效果。他们延伸出的运算 法则能够产生出印象非常深刻的墨汁扩散效果【5 】,并且也能运用于中国书法的写 作z i i 锄g 及其同仁【6 】为了能够在s u i b o k u g a 的画中捕获黑色墨水绘画的轨迹, 提出了一种简单的基于细胞机器人的模型,并成功地应用于绘制油画般风格的3 d 效果的树。y - u 及他的伙伴【2 5 】继承了此方法,并能够支持更多的基于局部平衡 模型的绘画c a d 形式。l i n 龃ds h i h 【1 4 】模拟了通过他们的观察获得的墨水扩散 过程的现象学规则为基础的绘画c a d 颜料绘画,这种绘画可在有限的计算机上 的增加某种设备来实现,也就是他们论文中所说的p c 写字板。 c h u 和t a i 【1 5 】提出了一种可以在宣纸上作画的墨水离差模型在他们的模 型中,b o l t z m 蛐格子方程被用束模拟墨水的流动。这种模型可以产生出现实绘 画c a d 的湿画( 写意画) 效果。为了能够产生出干笔效果,他们从真实的干笔 画中提取高强度的图像并伴随着一个动态的开始来产生一个干图。这样的干图可 以直接控制干笔法笔触效果的产生。相比于h 鲫和l 髓基于【2 4 1 的方法产生的纯 图,于笔法的效果是通过不成型的预先设定的2 d 笔画产生的。c h u 和1 砸的方 法是为产生干笔法效果的基于物理的颜料模型的一个步骤。然而,他们的方法, 在精神上更接近基于路径的图像。相比基于物理的图像,不基于物理的方法往往 会遇到两个很普遍的问题:不可能由背后的图库任意大小来支持任意干笔效果, 而且干笔笔画的不准确性可能导致使用者试图去绘制的笔画与实际产生的效果 是非常不同的。同样,由于产生干笔笔画和湿笔笔画的内部结构有非常大的区别, 6 浙江大学硕j 。学位论文 相关工作 因此一个外在的能够在两者模式之间转换的装置就十分必要了。这些是我们新的 颜料模型需要解决的问题。b 缸t 盯及他的同伴们【1 4 】为实现用厚重颜料绘图,产 生油画和丙烯画的效果,贡献了非常富于表现力的颜料模型。d a v e 及他的同仁【1 3 】 研究了蜡状和粉笔状绘画效果的问题,并得到了一些非常有趣的结果。顺着另一 条线,l a c i 量i o v 锄及他的伙伴提议了一个分布式纸模型,在这个模型中,纸被分 成一个个小格子,用来平行地评估其中细微的过程【1 4 ,2 5 】。在他们的模型中,一 个纹理创造程序是基于蜂窝状结构原理,这种原理的功能被用于增强绘图的真实 效果。他们也生产有纹理触感的薄纸,可以以异常的线路来移动颜料和水,这样 就可以和画家进行交互式作用。尽管在该领域现有的研究都很精彩,但是能够支 持干笔画效果的研究还是很有限的。 2 3 颜料配色的相关工作 为了表现作品的颜色,早先的研究者常常用k u b c l k a m u i l l ( ( k - m ) 方程,通过 有颜色的材质和颜料本身的浓度的漫反射系数来尽可能准确地表现色彩。c u n i s 研究组f 1 】和b a x t c r 【4 】成功地模拟了西方的颜料包括水彩画和油画颜料的表现力。 但是对于我们所感兴趣的中国传统绘画艺术的研究却鲜有研究者涉足。 2 4 本章小结 在这一章里,我们着重从三个方面回顾了相关系统的发展和实践。也从中指 明了我们今后应该发展的方向,和我们即将所作工作的重点。 在接下来的章节里,我们就会从各个方面来阐述我们的模型。 7 浙江大学硕上学位论文绘笔几何模型构造 第3 章绘笔几何模型构造 很多研究者都在中国绘笔的3 d 建模细节上投入了太多的时间和工作。拿c h u & 1 砸【2 】的模型作为一个例子。他们在模拟笔分叉的时候,对于笔头分叉产生的 每一个c 1 1 l s t 时都进行了3 d 绘制。这些工作花费了太多c p u 时间,但是对最终呈 现在纸面上的效果并无多大裨益,最多就是笔本身的视觉效果有着些许的提高。 我们理想中的一个3 d 笔模型应该是能帮助用户得到真实的绘画体验的。它 可以随着用户对输入设备的操作而做出形变,旋转等等的变化。但是它本身应该 并不过多关注笔分叉后对各个d 璐衙的绘制以及其他一些细微的显示工作。 我们的方法是借鉴于x u 模型【3 】中所做的工作的。我们首先定义笔头上的中 轴线,然后用b e 西e r 曲线做揉湖0 0 t l l ,最后在中轴的基础上建立笔头表面的m 髓h 。 在我们深入到我们的笔模型前,先来研究一下我们所使用的w i c o mt d b p 所支持的六个维度。我们所用的是一款w a c o m 出品的4 x 5i l l c h 版本的妞b p 舶。所 有支持的维度在表3 1 所示。 图3 - 1w h 咖公司生产的t a b p 示例。我们在工程中使用的电子笔稍有不同 表3 1w o m 公司生产的t a b p 印支持的六大维度。 x t a b p 在c a n v a s 上坐标的x 值 y t a b p 在c 柚v 勰上坐标的y 值 y t a b p e i l 的自旋角度 p 用户对笔施加的压力 0 a z i m u t l l ,笔和纸面法向量的夹角 由 a l t i n l d e 笔头所指的方向 现在我们来讨论这六的维度的具体细节前两个维度,x 和) ,表示的是在 t a b l c t 画布上t a b p 蜘笔的位置由指示了t a b p e n 笔头所指的方向;e 是t a b p e 于 浙江大学硕士学位论文绘笔几何模型构造 纸面法向量的夹角。剩下的其他两个维度很容易理解:一个是用户所施与笔的压 力还有一个是我们较少用到的笔的自旋角度。 所有这些特性对于我们接下来要介绍的笔的建模和笔纸交面的动态运动都 是很关键的。所以我们会在下面很多章节来给出一个详细的描述。 3 1 中轴线的定义 我们首先假设笔头的中轴线是一根折线,它可以在受压,折叠,或者收缩时 呈现出不同的弯曲。特别地,中轴在受到纸面的反作用力时发生形变。所以首先, 我们对有这个反作用力引起的笔头上每点的偏移量d 妇有: 眈s ;p b 公式3 j 偏移甜的计算。 这个等式在x u 的工作【3 】中也曾经被提出来过。但是他们所忽略的是:使笔 发生弯曲的方向,也就是笔头本身应该在作用力下形变后指向何处? 借助于 w i c o m 的t i b p e i l 的功能,我们可以从硬件中读出a - z i m u l l l 角度的信息,然后对中 轴锄幼出括上的每个点都应用以下方程: c 钟l t e r 如i s p d i 疵s 【司z + = d i 8 c 0 8 c 色疵e ,- a 捌s p 反疵s 阶+ - d i s 8 i n 毋 c r e 7 砭e ,么z i 8 。尹l d i n t s 【司彳+ = d i s z e r d 公式3 2 中轴上各点的位置更新。 我们用下述的数据结构来表示点和中轴的信息。其中,风诚埘将在下一章中 被提到。 9 浙江大学硕士学位论文 绘笔几何模型构造 圈3 - 2 尸b 折f 和g m 细x 缸的结构示意 特别地,假设我们垂直地将笔按下纸面时,我们并不能马上确定笔头的方向, 也许这步工作只能等到下一步绘笔再次被扰动之后。 在确定了中轴上各点的偏移量和笔头本身的方向后,我们就可以得到中轴在 空甸中的位置了但是这只是一根折线。我们还需要用b e 五盯曲线来对它进行 锄0 0 m 第一步就是要用b 铊i 盯曲线去拟合中轴上的各点。 b e 蕊e r c t 妒口e = f 珐嚣e z i e 7 ( c 肌亡e r a z i s p o i 耐8 ) 公式3 3b c 面口曲线的拟合。 注意,拟合的方法是多种多样的,在任何一本数值分析书中都提出了拟 合b e z i 盯曲线的不同实现方法。我们选择了最简单实用的d ec a s t d j e 娜算法。按 照d e c a s t e l j 咖算法的要求,首先让我们假设四个b 睨i e r 曲线的控制点:p o ,p l , p 2 。p 3 ( 在我们的中轴折线上按距离取得) 。我们把他们用线段先连接起来。然后 每条线都按照相同的比率等分成为t :1 t 。再一次,临近的每两个点组成线段然后 用相同的比率t 去做分割,循环往复直到只有一个点留下。这个点就是在t 时刻 上b e 五盯曲线运动点的所在位置;这个点在p o 和p 3 之间的运动轨迹就是我们要 求得的b e z i 盯曲线了。 第二步是通过b 铊i 盯曲线上的控制点来重新计算中轴上的各点坐标。然后我 们就可以最终得到一条光滑并且成型的中轴线了 1 0 浙江大学硕上学位论文绘笔几何模型构造 e e ,吐e r a z i s p 反n 缸= c 讲n 叫e b e :i e r ( 曰e :l e r c t r e ( 7 0 m r 讲只耐,l 缸, d e 疵e r a z i s p 丽n 亡8 ) 公式3 4 通过b 捌日曲线上的控制点来更新中轴上的各点。 注意同拟合b 商盯曲线一样,从控制点去构造b e z i 盯曲线也有很多种方法。 我们再次提供一个简单有效的解决方案。假设中轴上各点的z 坐标是被均等分的, 然后我们就可以以z 坐标作为增量在b e 五盯曲线上做s e 础l ,然后确定每个点在 b e z i 盯曲线上各自应占据的位置了。 因为绘笔本省是有弹性的,所以我们应该在对笔压力消失后去模拟它的恢复 性。我们注意到这其实是形变的一个反过程,笔头的运动方式方法也是相反的。 所以我们可以简单地通过修改我们在上面章节中提出的计算中轴上每点的偏移 量的公式来达到我们的目的: d i s = p b 公式3 - 5 偏移量的更新 现在压力是一个变化量了,所以当印为负的时候,d 缸可以自动减小。以控 制笔头中轴的恢复。 3 2 构造表面 得到了笔头的中轴线之后,我们就可以把它扩展到3 d 空间中了我们用的 一种较为快速的解决方案就是在中轴点的基础上,来构造出一系列的c i r c l e ,当 然他们的中心点就是在中轴上,并且通过这些c i r c l e ,我们最终就可以构造出笔 头表面的m e s h 了。当然不同的绘笔有不同的形体要求。举例来说,有一种在国 画中被称为“抓笔”的,相对于其他笔它的笔头半径是比较大的,因为艺术家通 常会用它来泼制大块景物。图3 3 展示了这类绘笔的造型。 浙江大学硕j :学位论文绘笔几何模型构造 图3 3 抓笔 与之形成鲜明对比的是艺术家用来画工笔,或者勾勒细线的“小狼毫”。以 下是这类绘笔的造型例图( 图3 - 4 ) 。 图3 4 小狼毫 在我们的实现中,我们可以规定,位于笔头根部的半径是最大的,然后随着 中轴,半径依次递减。使用了这个方法后,无论用户需要定制何种类型的绘笔, 他都只要简单地定义笔头根部的半径即可,然后系统自动计算出其他c i r c l 髓的信 息对于我们上面举的两个例子来说,“抓笔”的定制半径是较大的;反之。小 狼毫”的定制半径就是较小了。特别地,我们规定笔尖处的c i f c l e 半径为0 。以 下的等式中,我们递减计算了中轴上各点所在c i r c l e 的半径( o 号点为根节点而n 号点为笔尖节点) : e e ,l t e r a z i s 鼢d i t | s l 司= 石撅舭d i 珏s ( 1 一i 呐 公式3 - 6 中轴之上各点所在圆的半径计算。 1 2 浙江大学硕t 学位论文 绘笔几何模型构造 下步中,我们需要计算每个c i f c l e 的法向量以用于绘制( 注意我们不需要 把法向量信息存储在我们的锄细础瞻结构中的目的是为了节省空间,并且由于 硬件加速,法向量的计算并不是负担) 。我们计算法向量的方法是,把c i r c l e 中心 点到其上相邻c i r c l e 的中心点的距离直接标记为法向量: n o r m a l = c e n t 茁a x 缸p o i n 七s 【i i 王】一c e 妊t 既a x 逾p o i n 七s 【i 公式3 - 7 计算各个圆上的法向鼍 当这些笔头横截厦c l e 的信息都确定下来后,我们就可以在c i r c l 鹤上选择 点,然后包装它们并用来构造笔头表面的m 鹤h 了。以下我们展示一段用来建立 m e s h 的o p g g l 代码: l f (n e e d u p d a t e = t r u e ) i n tn e t r o w = f d wn i 穗如 i n tn e t c o l = l j l u m : 一 f o r i n tl = o ;i c n e t r o w ) n e x t = n 酞o w 一1 : p 1 i o 】= p o i n t s 【 p 1 【l 】= p o j n t b 【 p l 【2 】= p o i n t sli n e t c o l + p 2 i o 】= p o i n t s 【n e x t n e t ,c o l p 2 【l 】= p o i n t e 【n e x t n e t c o l p 2 【2 】= p o i n t 5 【n e x t n e t c o l g l v e r t e x 3 f ( p 2 【o l ,p 2 i l 】,p 2 【2 g l v e r t e x 3 f ( p 1 【o l ,p 1 【l l ,p 1 【2 f o r i n tj 宰0 ;j n e t c o i 一1 ) b m k : o l f o 】; o 1 】; o 】【2 】; + o i 【o i ; + o l 【1 i ; + o 】【2 】; 】) ; 】) ; j + = c 0 1 。t e p ) 浙江大学硕士学位论文绘笔几何模型构造 p l f oj = p o j n t 5 f j n e o c o l 十jl f p l l p l 【 l 】 2 】 p 3 1 2 】 p 4 i o i p 4 i l 】 p 4 f 2 l v e c 3 f = p o i n t s 【 = p o i n 8 【 = p o i n t o = p o i n t s = p o i n t s = p o i n t 5 n o r m a l : o 】; i n e t c o l + j 】| 1 】; i n e t c o l + jl 【2 】; jl 【o j 】f 1 jl l2 i n c1 i n c 】 i n c 】 l 【o l h l l l i2 】 1 ; 1 ; 1 ; 【o l ; 【1 1 ; 1 2 】; ; : g e t n o f l n a l ( p 3 ,p 2 ,p 1 ,n o r m a l ) ; g l n o r m b l 3 f ( n o r m a l 【o l ,n o r m & i 【1 1 ,n o r m 冉1 1 2 】) ; g i v e r t e x 3 f ( p 3 f o l ,p 3 i l 】,p 3 i2 1 ) ; g e t n o r m a l ( p 3 ,p l ,p 矗,n o r m a l ) ; 菩l n o r m 毒1 3 f ( n o r m a l f o l ,n o r m a l f l l ,n o t m 尊l 【2 】) ; g l v e r t e x 3 f ( p 4 【oj ,p 4 【l 】,p 4 【2 】) ; 图3 5o p g l 代码片段:建立m e s h 。 其中,印伽州历是一个表示笔头表面m 鹤h 上点的坐标的向量在o p g l 绘制过程中,我们用g 【限i a n g i ,es 1 1 t 口来加速几何面片建模 3 3 本章小结 本章中,我们讨论了如何去构造一个绘笔的几何模型,以及如何通过这一几 何模型在不失简便性的基础上去尽量做到更好得服务于用户书写的体验。在实现 中,我们首先定义笔头几何体的中轴线,然后在此基础上做了表面m e s h 。 1 4 + + + + + o o o o o c c c c c _ t t t t t e e e e e n n n n n, t t t t x x x x x e e e e e n n n n n 0 s 8 8 8 t t t n n n n n o o o o o p p p p p = = = = = 0 l 2 o l 2 2 2 3 3 p p p p p + 们;:耋+ + += 盏札札“ x n n n譬h i 浙江大学硕士学位论文绘笔运动模型 第4 章绘笔运动模型 在这一章中,我们使用了“笔毫”模型来模拟纸笔的交面。我们的笔毫模型 是一个2 d 的模型,在实现中,是一个矩阵。我们从真实的绘笔笔头中扫描得到 笔毫的信息,随之将其抽象成一系列的长条椭圆,用于初始化我们的笔毫矩阵。 我们规定,只有笔毫才能携带颜料;其他在笔毫模型矩阵上点的都留白。为 了简单起见,我们把笔毫模型的矩阵标记为l 并用五,来索引,上的点。 对于湿笔效果,我们通常让笔毫的连接紧密,而让留白处变少,这样,几乎 所有在,上的点都有颜料了:当我们需要干笔效果的时候,我们可以动态地选择 一个c l u s t 盯的笔毫,然后计算他们的“飞白”程度,就像我们将在本章第三节中 讨论的一样;我们可以分散笔毫当我们需要分叉效果的时候。 4 1 纸笔交面上的仿射变换 我们的纸笔交面是在平面上的,故很多操作都需要对,在2 d 空间上做仿射 变换。一个仿射交换【6 】可能等价于平移,旋转,任意缩放和裁减或者其他自由变 换的组合结果。接下来我们首先讨论这些变换的理论,然后给出在我们系统中的 实际应用。 4 1 1 几何操作 通常,仿射变换都是用齐次坐标来表示的。以下的方程给出了一个我们使用 2 d 坐标的很常用的记法: = 嬲:习= a 瞄粼:习+ b 公式4 1 仿射变换的通用算式 下面来考虑旋转,我们把上述公式中的a ,b 分别定义为: 浙江大学硕上学位论文绘笔运动模型 a = 陆暑捌肛圈 公式4 2 旋转变换时的矩阵定义。 当然,在这里角度的默认旋转方向都是以顺时针为正的 考虑缩放的话,我们把上述公式中的a ,b 分别定义为: a = 瞄羽 公式4 3 缩放变换时的矩阵定义 其中,口为缩放系数。这个系数可以随着笔锋的变化,或者压力的更替而自 动调整。 4 1 2 旋转 每当我们扰动我们的绘笔,笔头所指的方向都会被重置。对于我们的,来说, 它表现出来的就是一个旋转的行为;等价于巾( o 2 靠) 的值变化了。让我们来 看图4 一l 和图4 2 ,其中展示了巾对于绘笔笔头的初始位置的影响。当我们开始 作画时,如果把笔偏向左,那末就像图4 一l 中所示,笔头指向了右:反之,在图 4 2 中,笔头指向了左。 1 6 浙江丈学硕t :学位论文 绘笔运动模型 图知l 笔头朝匈。示意图1 图4 - 2 笔头朝向示意图2 1 7 浙江大学硕上学位论文绘笔运动模型 当然,初始状态下咖为o 。我们将其应用到我们在且衄握佳节中所提出的仿 射变换公式下在,上的新的点坐标f j ,即可被计算出来。注意,在这里我 们将把,绕其质心n j 旋转。 i 7 一c 0 8 咖 0 一主o ) 一8 i n 0 一j i 0 ) + 西 ,= 8 i n 西0 一i o ) + c 0 8 妒堆d 一如) 十歹。 公式4 - 4 更新,上点的坐标。 当绘笔继续运动的时候,旋转行为还在继续。但是现在,笔尖的指向就并不 是由妒来决定的,而是由艺术家所在画的笔划方向来控制的显然,我们应该先 行计算a 薯y ( 五y 是指在画布上的位置坐标而不是在j r 上的位置) 时间步长是 可调的,我们的计算方向角度公式为: :a r 咖( 乏) 公式4 - 5 运动中笔头的朝向 然后就可以将替换到公式1 中去求出新的坐标值了。 如果你的w a c 伽t a b p e n 支持自旋一一这对于绘画c a d 来说是一个非常重要的 技法,图4 3 展示了这种效果,我们可以改进公式4 4 ,使,绕着笔根部旋转而 不是它的质心阢 浙江大学硕t 学位论文绘笔运动模型 图4 3 白旋的描述。右边的是真实白旋笔迹的扫描结果。 4 1 3 缩放 除了旋转,我们另外最常用的仿射变换就是缩放了。当,的大小动态变化的 时候,我们就需要运用这种技术。在下一章讨论笔锋的时候,我们会专门提到这 个主题。 4 2 笔锋 三种在绘画c a d 中最常用到的笔法分别是:顺锋,逆锋和侧锋。这些笔锋 的变化都是由庐和笔画的方向两者的夹角来决定的。当这个夹角比较小的时候, 我们称其为顺锋( 图4 4 ) 特别地,当夹角为o 时,我们通常称其为中锋。 1 9 浙江大学硕士学位论文绘笔运动模型 圈4 4 顺锋的真实扫描图。 顺锋的效果一般被认为较简单,或者说没有特殊性,所以我们并没有特殊的 公式或者专题来讨论它。实际上,我们对侧锋和逆锋更感兴趣。当我们将绘笔向 其笔尖所指的反方向推去时,所画出来的笔画就是逆锋类型的这个时候多和笔 画的方向间的夹角大约是1 8 0 0 了。因为纸面对绘笔所有的纸面摩擦力,绘笔笔毫 很容易就会产生分叉,并且随之而伴的就是所谓的“枯笔”效果了。枯笔和分叉 我们会在后几章进行讨论,除了这个效果,我们将逆锋和顺锋视为相同。 图4 - 5 逆锋的真实扫描图。 浙江大学硕l :学位论文绘笔运动模型 图4 6 侧锋的真实扫描幽。 侧锋的效果是可以产生“倾斜”。艺术家可以用一支倾斜的绘笔来绘制出丰 富变化的效果,这是因为在笔头内部由于有颜料扩散的作用,各处分布不均,尤 其是笔尖一般比笔根附近的颜料含量高。这样艺术家就能够画出有不同s h a d e 的 图案了在我们的笔毫模型中,当绘笔倾斜时,我们注意到1 ) ,的大小发生了变 化:2 ) 颜料量从笔毫上的某处( 我们记为幻,) 开始逐渐减小。我们在此引入口 来描述倾斜的程度,如此,以上两个变化就可以被解决为: 1 ) 我们把,的大小记为r ,这样j 大小的变化即为: k _ 8 i n 口书r 因为口是在肛9 0 0 之间,所以j 切口是增函数,故在p 变大绘笔倾斜的过程中, 显然i 会扩展其大。2 ) 我们需要确定厶的位置。首先,施r 应该是和妒垂直的, 所以妇的方向角度即为: 吾一 我们还要假设用户可以像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论