图形分层产生的方法与装置,尤其是一种分层积木式变动图形的产生装置及其方法。 由于科技日趋发达及电脑化给人类在效率、品质、管理上方便,致使电脑化之脚步愈推愈快。而对于图形、字形的数位变化,更在最近几年有如长足般的进步。如扫描器(scanner)的使用使图形的数位变化成为可能,于是带动了印刷业电脑化及多媒体应用的发展。而省时高效率的数位化图形制作,省空间低成本的图形储存格式及高品质图形,成为众所追求的技术。
目前,在动画、卡通画、电视游戏器(TV GAME)的制作领域里,可以发现它们是一个耗费人力、物力的工程。一张张细微改变的图案,以连接成连续动作,需要耗费很多人力物力来设计图形、涂色及控制品质。另外在中文字型的设计上,一套一万余字的字体,可以发觉它们是由一些相似的造型(如笔划、部首、字根或其他)组合而成。传统的方法是一个字一个字在字稿写出来,然后再移入电脑变为数位化格式,其过程相当的耗时。以上所述的图案或中文字型若以数位化格式储存进电脑亦相富的占空间及成本。
对于高品质字型的产生方法,可见于1983年发表于ICTP国际会议所出版的论文发表议录(PROCEEDINGS)一书中,题目为《对中文字型之结构性设计方法(A structured Design Methodo Logy for Chinese Character Fonts)》著者为K.J.chen及K.Y.cheng;1984年7月台湾教育部国字整理小组的《在个人电脑上的大型中文字型产生器之设计》,作者为谢清俊、张仲陶及陈佩欣;以及台湾发明专利第38830号的“高解析度字型产生方法及其装置”,作者郑国杨及杨仁村先生。以上三篇不管其名称如何,基本上乃探讨中文字型的产生方法,而后续的创作者亦不脱离此三篇范围(尽管三个内容雷同),但基本上现存的方法可做到:
(1)能造出各种变化的字体,如变大、变小、变胖、变瘦、变高、变矮;
(2)所占用的记忆体大约一定;
(3)可做点矩阵或向量输出;
但以上之特点已无法应付未来的使用,因为做不到下列几点:
(1)二度空间的字型变化,如任意角度的旋转,任意角度镜射、拉长、变扁或以上功能的任意组合;
(2)有立体或黑白层次的字体,传统方法只能针对每一笔做涂黑动作,无法处理有黑白层次的美工字体;
(3)对一些造型变化较复杂或难以用笔划归类的字型如草书、行书、叠图每个字所占的记意空间非常大,传统方式皆把每个字视为特殊符号处理。
本发明的目的是为了针对上述缺点,希望利用电脑科技,提供一种图形分层产生的方法与装置;并借该装置及方法发展出一套可以解决上述缺点的美工字型或图形。
本发明所述的图形分层产生方法为:每一个图形均由一个或数个有颜色不同形状的图形单元(本发明称之为图元)所组成,其图形的格式为:<图元数目><图元描述1><图元描述2><图元描述3>……等,而每个图元描述又由该图元的代码及一群图元变化参数所组成,变化参数又可分为:代表该图元颜色属性的颜色属性代码;可被制图者任意调动的构成该图元形状或曲度变化的关键点座标值;为平行或垂直于该图元相关的两关键点之向量方向的向量长度值。利用此类参数可以很精确及容易的控制图元的形状,例如:斜向宽度值、图元厚度值等。每个图元又可分为数个次图元,它们可以共同使用一个图元参数。
本发明对一组欲制作的彩色(或黑白)图案集合,如一本漫画书,或一卷卡通影片的连续画面,或者一套一万余字的中文行书字体,皆能将其预先分析出,组成该集合的最小图元。而图元的制作,则以图元描述常式的形态表现,并利用颜色属性、关键点、向量长度值三类变化参数来产生不同颜色或相似形状或局部变化的图元,然后利用这些图元以分层叠积木的方式一层层着色显示,以致将整个图形显示出来。
本发明的装置包括一储存图元描述常式及各种图元的图元库;一专门接收来自外界图形资料的图形解释器;一接收图形解释器所产生的次图元边线控制点、颜色代码以及来自外界变形矩阵的图元变形器;一转换由图元变形器所产生的边线控制点成为该图元的边线座标点阵列的图元边线产生器;一将图元边线产生器产生的图元边线座标点阵列连接起来的边线连接器;一将边线连接器的图元区域依照不同颜色分层储存的分色缓冲区;一将分色缓冲区中各层图元所围成的区域依图元的颜色代码指令进行该区域着色的着色器;以及一储存着色完成后图形的输出缓冲区。
本发明将图形解析成一组图元及一些变化参数,并储存于图元库中,当需要产生一图形时,将图形资料输入图形解释器,将变形矩阵输入图元变形器,图形解释器在图元库中选择出该图形的图元描述常式,再将这些资料转换成具有可以产生该图形的控制点输入图元变形器,图元变形器再依变形矩阵转换图元资料,产生具有图元性质的控制点送至图元边线产生器,这些控制点会经由图元边线产生器产生图元边线座标阵列送至边线连接器,边线连接器连接图元边线座标成一新图元区域,然后依颜色不同分层存放于分色缓冲区,再将各层依序送至着色器产生有色的图形输出至输出缓冲区。
本发明利用改变图元及变化参数的方式,可以省掉很多繁琐的制图及涂色工作,大大的减低制作时间及成本,以及加大图形的变动性,更方便做动画的制作。再侧本发明只要利用储存图元的代码及变化参数,即可描述一个图案或画面,不必储存整个画面的资料,可以将整个图案或画面的储存资料量压缩到很低(以行书的字型制作为例,一套行书字型以本方法与纯向量方式制作资料比例为1∶15)。基于此例,本方法可以极小的体积及低的成本,来储存及产生静态的画面或动态的数位影像,是一个新颖而且很实用的方法。
以本发明的方式所发展出的字型与现有技术所产生的字型加以比较如下:
(1)斜体字型的变化,因现有技术只能直排或横排而加以处理,如挖空、黑影等,而对斜体字,则须另外造一整套字型的输出点矩阵,再由外部的设计来加以处理方能做到,且斜体的角度亦无法控制,即若角度加以变更,即须再造一套字,而每造一套字所须时间约为一年,若有十套字,而每一套有两个角度,则须10×2=20年时间方可造完。而本发明则可提供任何角度的斜体、镜射挖空、黑影等字,而不须另外造字。
(2)本发明利用变形矩阵可以产生二度空间的字型变化,如任意角度的旋转,任意角度镜射、拉长、变扁或以上功能的任意组合。而现有技术只能做方形的变化而不能做任意角度的变化,如图5所示。
(3)彩色的处理,现有技术中字型的产生方式只能针对单一字体做彩色处理。而本发明则可对任何一笔划及图元做彩色处理。
(4)分层积木式的字体,现有技术只能针对一个字体做涂黑动作,而本发明则可产生如图3上字体有层次感觉的优点。
(5)对中文的草书、行书等字体,现有技术皆把每一个字体作为特殊符号表,故每个字体所占的记意空间非常大。而本发明则仍可视为一般字加以处理而不增加其记意空间,如图9所示。
以上所述即为本发明所解决的现有技术之缺点,使本发明能符合目前或未来对高品质及可产生各种变化的字型及图形的要求。
下面结合附图及实施例对本发明作进一步描述。
图1为本发明中所述装置的原理方框图。
图2为本发明用“佃”字作范例以图元的方式产生一字型的方法说明图。
图3为本发明用“草”字作范例以分层显示的方式产生一个完整字的方法说明图,其中:
图3.1为本发明以分层显示的方式产生“草”字下部的“+”部分的方法说明图;
图3.2为本发明以分层显示的方式产生“草”字上部的“艹”部分的方法说明图;
图3.3为本发明以分层显示的方式产生“草”字中部的“曰”部分的方法说明图。
图4为本发明做变动图形的参考图,其中:
图4.1为变动玩偶手中物的参考图;
图4.2为变动玩偶双眼的参考图;
图4.3为变动玩偶单眼的参考图;
图4.4为变动玩偶嘴形的参考图;
图5为本发明发展出的字型各种变化参考图,其中:
图5.1为斜体变化;
图5.2为任意角度旋转变化;
图5.3为压平拉长变化;
图5.4为立体挖空变化;
图5.5为立体变化;
图5.6为阴影变化;
图5.7为镜射外框变化;
图5.8为渐层变化。
图6为本发明发展出的波浪型字体参考图。
图7为本发明发展出的旋转型字体参考图。
图8为本发明发展出的骰子型字体参考图。
图9为本发明发展出的草书字体参考图。
参阅图1,本发明装置系将可组成某一图形的图元11及图元变化参数12储存于图元库10中,或直接将所需要的图形资料21送入图形解释器20,将变形矩阵31送入图元变形器30;图形解释器20内部有一缓冲暂存器用来缓冲储存由外界输入的资料,并将该资料加以分析成各个图元或依所输入的资料由图元库10中选择出该图形的图元资料11及变形参数12,且同时将图元描述常式13载入图形解释器20中;图元描述常式13为一用来描述代表每个图形的形状特性,图元描述常式13是以图元代码为索引(index)储存于图元库10中;图形解释器20再进一步将这些资料转换成具有字体或图形开大小、宽窄、高矮……等资料的控制点22输入图元变形器30;图元变形器30依变形矩阵31来转换图元的形状,产生该图形所需要的图元性质(如形状改变、变斜、旋转、镜射、色彩、重叠方式……等)的控制点32,送至图元边线产生器40;这些控制点32会经图元边线产生器40,并产生图元边线座标阵列41送至边线连接器50;边线连接器50连接图元边线座标41成一新图元区域51;然后依颜色的不同分层存入于分色缓冲区60;再将各层不同颜色的图形区域61送至着色器70,分层着色产生有色的图形71后输出至输出缓冲区80供各种设备使用;若图形解释器分析出一图形需要做直接分色输出,则该图形解释器20会直接将其图元资料23送至边线连接器50做边线连接,并与该边线连接器50中同样颜色属性的图元加以结合成一新的图元区域51,且将不同颜色的图元区域暂存在分色缓冲区60里;若图形解释器20分析出一图形需要直接做涂色动作,则直接由图形解释器20将该图形资料24送至分色缓冲区60分层储存,然后送至着色器70着色。
参阅图2,本发明用“佃”字作范例(当然,也适用其他文字如英文、韩文、日文……等等),说明以图元的方式产生一字型,其中“佃”字其<图元数目>为7;因为它由“丿”、“丨”以及五个“口”重叠组成,因而<图元描述1>即为“丿”的描述参数,<图元描述2>为“丨”的描述参数,<图元描述3>至<图元描述7>为“口”的描述参数,其中各图元描述格式如下:
A B C D E F G N
以<图元描述1>“丿”为例,其中A(1)的代码为5,B(2)为颜色代码为0即为黑色,C(3)为控制点P1的X座标值为112,D(4)为控制点P1的Y座标值39,E(5)为控制点P2的X座标值为40,F(6)为控制点P2的Y座标值为244,G(7)为向量宽度值为22,N为结束值为00;依此类推<图元描述2>为“丨”的描述参数,其A的代码为8,B的代码为0即为黑色,C为控制点P1的X座标值为87,D为控制点P1的Y座标值152,E为控制点P2的X座标值为97,F为控制点P2的Y座标值为473,G为向量宽度值为22,N为结束值为00;而<图元描述3>至<图元描述7>皆为“口”的描述参数,所不同的是<图元描述3>的“口”较大,而<图元描述4>至<图元描述7>的“口”皆相同,且都在<图元描述3>的“口”之内,如此一个“佃”字即可完成;
当需要一个“佃”字时,即将该“佃”字的图形资料输入本发明装置的图形解释器20。图形解释器20将该“佃”字分析成一个<图元数目>与五个<图元描述>,并储存于内部暂存器中,再依顺将储存于图元库中每一个图元的图元描述常式载入图形解释器20,然后将各个图元转换成上述图元描述格式,即转换成该图元的边线控制点,送入图元变形器30。图元变形器30依变形矩阵将各图元边线控制点做几何变形后再送入图元边线连接器40,将各图元边线控制点转成图元边线座标阵列,接着再送入边线连接器50,将各个图元边线座标阵列连接起来,产生一个图元,如“丿”图元。若每个图元皆完成图元边线座标连接后,送入分色缓冲区60内做各种不同颜色分层处理,再送入着色器70着色后,送入输出缓冲区80整合成一个完整字输出。
参阅图3,以下用“草”字作范例说明以分层显示的方式产生的一个完整的字,其中主要详细说明在分色缓冲区做着色的处理。若要产生一个“草”字则必须先产生一个“草”字下部的“十”,而要产生“十”则先产生黑色“一”图元101,再产生黑色“丨”图元102,其次产生白色“一”图元103,接着产生黑色“口”图元104,最后才产生白色“丨”图元105,如图3.1所示。其中各颜色的笔划皆为一层层向上叠,在上层的颜色会覆盖下层的颜色。如图3.2所示,第二层是“草”字上部的“艹”,而要产生“艹”则先产生黑色“一”图元201,再产生黑色“丨”图元202在右边,其次产生黑色“丨”图元203在左边,接着在黑色“一”图元201上方产生白色的“一”图元204,最后才在其上方产生左右各一个白色的“丨”205、206。如图3.3所示,第三层是一个“曰”及最后组合,其中先产生一个白色大的“口”图元301,再在301上产生一个较小的黑色“口”图元302,最后在302上产生一个白色“一”图元303,第一层至第三层全部组合后即完成一个“草”字。
至于草书或行书,在现有技术中已完全无法处理,而须把每一个字视为一个特殊符号,浪费了很大的记意空间。而本发明则可把草书视为一般字体来处理,以上述附图为例,可视为由各笔划图元所组成,其过程如同“佃”字及“草”字一样,故本发明实为一大创新。
图4是本发明造出的变动图形变化参考图,图中孙悟空的眼睛、嘴巴及金箍棒都有变化。图4.1所示孙悟空的金箍棒401长短的变化,图4.2所示为孙悟空的左眼睛411、右眼睛421大小的变化,图4.3、4.4所示孙悟空右眼睛及嘴巴431的变化。由图4可知图形的变化只有一点点,若以现有技术的方式则需要整张图修改,而本发明只需变动其参数就可改变图形的变化,实为一非常实用的新发明。
图5、图6、图7、图8、图9是本发明所发展出的字型加以变化所产生的变形字参考图。图5.1~5.8所示均为图形变化的展示图,一个字加以立体挖空、立体、阴影、镜射、渐层……等变化;图6所示为一排字变化成波浪形;图7所示为字型旋转变化的参考图;图8所示为一骰子形状的字型变化;图9所示为本发明发展出的一种草书字型。
综上所述一种图形产生的方法及装置,系将任何一个图形皆视为由一组可组成该图形的最小图形单元及一些变化参数所组合而成,并储存于图元库中,该装置包含一输入图形解释器,一图元释形器,一图元边线产生器,一边线连接器,一分色缓冲区,一着色器及一输出缓冲器;其中该图形的组成格式为<图元数目><图元描述1><图元描述2><图元描述3>……等,而每个图元描述又由该图元的代码及一群图元变化参数所组成,利用参数可以很精确及容易的控制图元的形状;而每个图元又可分为数个次图元,它们也可以共同使用一组图元参数。