一种折叠剪纸仿真制作方法技术

技术编号:13585233 阅读:117 留言:0更新日期:2016-08-24 15:26
本发明专利技术公开了一种折叠剪纸仿真制作方法,包括以下步骤:(a)在Android平台基于折叠展开方法调用API实现折叠展开操作;(b)在Android平台调用API实现纹样镂空操作;(c)在Android平台调用API实现剪刀镂空操作;(d)在进行折叠、展开、镂空等操作完成后保存成一张图片。本发明专利技术具有良好的用户交互且生成的作品效果非常好等优点。

【技术实现步骤摘要】

本专利技术涉及一种数字艺术
,特别涉及一种折叠剪纸仿真制作方法
技术介绍
剪纸是一种镂空的艺术,国内外对剪纸的研究主要在于剪纸图案的生成、折叠剪纸生成。在折叠剪纸的模拟上,李岳、唐棣通过对二维图形进行布尔运算等方法构建丰富的独立纹样库,以独立纹样为基础应用扩大对称、渐变等图案设计技术建立复合纹样库,同时,对折叠剪纸效果进行模拟;余隋怀、刘肖健、彭冬梅、高利伟等利用CAD技术辅助完成剪纸艺术中的低效、重复和非创意性工作内容,抽象出剪纸元素符号库,采用路径装饰、折叠及多方案组合设计技术,实现了基于CorelDraw的剪纸CAD原型系统,并以典型传统图案为例进行了设计过程的验证。张显全、蒋凌琳、刘丽娜、于金辉研究的基于纹样的计算机剪纸系统,以手工剪纸为对象,分析其造型,分解出构成剪纸的纹样,用计算机方法构成这些纹样库。用户创作时可在纹样库中选择所需纹样嵌入在指定位置上,实现对称性设计,系统能自动判断纹样是否相交,同时可灵活地更换纹样,生成不同的剪纸形象;北京工业大学和浙江大学也研究了折叠剪纸。这些机构研究了简单的纹样折纸,实现了水平线对称折纸和竖直线对称折纸。此外,还可以实现关于某条直线的多次重复折叠。但是,对局部折叠和复杂的组合折纸,其算法和技术无法实现。美国伯克利大学分校做了一款剪纸的小游戏,在已折叠的纸张上实现了剪纸。其技术利用鼠标控制虚拟的剪刀,将鼠标的移动轨转化为了数字剪刀剪线,实现了剪纸掉落后预览剪纸效果和展示折叠剪纸的对称图案的功能,但不能让用户交互设计折纸,而且剪纸方法较少,不能实现传统的横剪等剪纸技法;黄新波提出了基于线段折边的数字折纸方法和基于裁剪边形的数字剪纸算法;刘金义、张笑彾等设计了一个支持纸的折叠、剪切与展开的计算模型,它包括当前纸态的几何与拓扑数据结构、操作过程的记录方法以及各相关功能的实现算法。以此计算模型为核心所开发的原型软件验证了该模型的 可行性。然而,现有方法存在以下问题:折叠剪纸仿真制作并没有应用在Android平台,主要面向剪纸设计人员,系统的交互较为繁琐。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种折叠剪纸仿真制作方法,该方法主要适用于Android手机平台。本专利技术的目的通过下述技术方案实现:一种折叠剪纸仿真制作方法,包括以下步骤:(a)在Android平台基于折叠展开方法调用API实现折叠展开操作;(b)在Android平台调用API实现纹样镂空操作;(c)在Android平台调用API实现剪刀镂空操作;(d)在进行折叠、展开、镂空等操作完成后保存成一张图片。步骤(a)中的折叠展开算法为:在进行规则折叠时,纸张总共会呈现5种状态,分别记为S0、S1、S2、S3、S4,折叠总共有4种操作,分别是上下折叠记为F1,左右折叠记为F2,斜向上折叠记为F3,斜向下折叠记为F4;其中,S0:长宽相等时为状态S0,也就是当纸张为正方形时;S1:纸张当初始状态经过斜向上折叠时得到的状态就是S1,是一个直角在上面的正三角形;S2:纸张当初始状态经过斜向下折叠时得到的状态就是S2,是一个直角在下面的正三角形;S3:纸张当初始状态经过斜向上折叠再经过斜向下折叠后的状态就是S3,是一个直角在右的正三角形;S4:所有的长宽不相等的矩形都是状态S4。在步骤(a)中,把剪纸分为两个图层,其中折叠展开操作的是一个图层,记为图层A,纹样镂空是另外一个图层;在图层A进行折叠时,记录图层操作相对应的长宽和此时所处的状态,最后展开时,进行像素的复制实现图案的对称变化。在步骤(b)中,进行纹样镂空的方法为:(1)建立一个纹样库,为用户提供丰富的剪纸纹样;(2)通过Android的Matrix类实现纹样图层的旋转、缩放和平移;(3)用户选择纹样,对纹样进行触控编辑,做旋转、缩放、平移操作,将纹样嵌入到纸张合适的位置上;(3)获取剪纸纹样在底层背景上的坐标;(4)借助Android的Canvas类,在画布上绘制背景,然后根据纹样坐标在背景上面绘制纹样;再将纹样图层和纸张图层合成;(5)根据纸张的边界信息,将纹样超出纸张 边界的部分用背景色填充。在步骤(c)中,进行纹样镂空的方法为:(1)自定义一个View类;(2)重写onTouchEvent方法和onDraw方法,借助Android的Paint类和Canvas类进行触摸绘制;(3)当用户手指在纸张上移动时,根据触摸点和Path类绘制贝塞尔曲线;(3)获取剪纸纹样在底层背景上的坐标;(4)将设置画笔为实心,再次绘制路径区域,此时呈现给用户就是一个镂空了的闭合区域;再将纹样图层和纸张图层合成;(5)将超出纸张边界的部分用布局的背景色填充;然后将镂空后的结果保存为一张图片,再读取这张图片将它重新赋给底部的Bitmap,刷新画布。本专利技术的原理:本专利技术实现了在Android平台进行模拟传统剪纸,中国剪纸是一种用剪刀或刻刀在纸上剪刻花纹,用于装点生活或配合其他民俗活动的民间艺术。但是,随着时代的推移,剪纸已逐渐地淡出了现在年经人的视角,成为了国家非物质保护遗产。本专利技术研究了规则的传统的剪纸变化算法,为模拟剪纸提供了算法基础。然后通过调用Android上的API进行纹样镂空和剪刀镂空操作,模拟传统的剪刀。本专利技术很好地模拟了Android上的剪纸制作,具有良好的用户交互,且生成的作品效果特别好。本专利技术相对于现有技术具有如下的优点及效果:1、能够定义大量的纹样库,方便用户生成各种精美的图案2、方法运行具有较高的效率,通过两个图层很好地解决了纹样箜篌3、此折叠剪纸仿真方法在Android手机和平板上具有良好的交互。附图说明图1为折叠过程中纸张的状态转换图。图2为剪纸操作的折叠展开步骤过程图。图3为定义的部分纹样库。图4为生成的剪纸1。图5为生成的剪纸2。图6为本专利技术折叠剪纸仿真制作方法的制作流程图。图7为软件启动界面。图8为进行折叠操作之后的软件界面。图9为进行镂空、裁剪操作后的软件界面。图10为展开操作之后生成的图案。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例一种折叠剪纸仿真制作方法,包括以下步骤:1、对称剪纸的生成;在进行规则折叠时,纸张总共会呈现5种状态,分别记为S0、S1、S2、S3、S4,折叠总共有4种操作,分别是上下折叠(记为F1),左右折叠(记为F2),斜向上折叠(记为F3),斜向下折叠(记为F4)。S0:长宽相等时为状态S0,也就是当纸张为正方形时。S1:纸张当初始状态经过斜向上折叠时得到的状态就是S1,是一个直角在上面的正三角形。S2:纸张当初始状态经过斜向下折叠时得到的状态就是S2,是一个直角在下面的正三角形。S3:纸张当初始状态经过斜向上折叠再经过斜向下折叠后的状态就是S3,是一个直角在右的正三角形。S4:所有的长宽不相等的矩形都是状态S4。故状态的转化如图1所示。如图2所示,可以看到状态和操作之间的对应关系。若此时纸张是在状态4进行F3操作是不被允许的。在进行折叠过程中,需要一个栈,存储操作。还需要一个状态变量,记录此时的状态,为了方便展开也需要设置一个当前长度和宽度的变量。同理,展开操作是折叠操作的逆过程。对应于折叠操作,展开操作也有4种操作。上下张开、左右展开本文档来自技高网
...

【技术保护点】
一种折叠剪纸仿真制作方法,其特征在于,包括以下步骤:(a)在Android平台基于折叠展开方法调用API实现折叠展开操作;(b)在Android平台调用API实现纹样镂空操作;(c)在Android平台调用API实现剪刀镂空操作;(d)在进行折叠、展开、镂空等操作完成后保存成一张图片。

【技术特征摘要】
1.一种折叠剪纸仿真制作方法,其特征在于,包括以下步骤:(a)在Android平台基于折叠展开方法调用API实现折叠展开操作;(b)在Android平台调用API实现纹样镂空操作;(c)在Android平台调用API实现剪刀镂空操作;(d)在进行折叠、展开、镂空等操作完成后保存成一张图片。2.根据权利要求1所述折叠剪纸仿真制作方法,其特征在于:步骤(a)中的折叠展开算法为:在进行规则折叠时,纸张总共会呈现5种状态,分别记为S0、S1、S2、S3、S4,折叠总共有4种操作,分别是上下折叠记为F1,左右折叠记为F2,斜向上折叠记为F3,斜向下折叠记为F4;其中,S0:长宽相等时为状态S0,也就是当纸张为正方形时;S1:纸张当初始状态经过斜向上折叠时得到的状态就是S1,是一个直角在上面的正三角形;S2:纸张当初始状态经过斜向下折叠时得到的状态就是S2,是一个直角在下面的正三角形;S3:纸张当初始状态经过斜向上折叠再经过斜向下折叠后的状态就是S3,是一个直角在右的正三角形;S4:所有的长宽不相等的矩形都是状态S4。3.根据权利要求2所述折叠剪纸仿真制作方法,其特征在于:在步骤(a)中,把剪纸分为两个图层,其中折叠展开操作的是一个图层,记为图层A,纹样镂空是另外一个图层;在图层A进行折叠时,记录图层操作相对应的长宽和此时所处的状态,最后展开时,进行像素的复...

【专利技术属性】
技术研发人员:丁东辉王泽强黄翰陈键
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

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

1