CN1104703C - 纸纤维结构数据及产生方法和设备、绘渗开图方法和设备 - Google Patents
纸纤维结构数据及产生方法和设备、绘渗开图方法和设备 Download PDFInfo
- Publication number
- CN1104703C CN1104703C CN96101494A CN96101494A CN1104703C CN 1104703 C CN1104703 C CN 1104703C CN 96101494 A CN96101494 A CN 96101494A CN 96101494 A CN96101494 A CN 96101494A CN 1104703 C CN1104703 C CN 1104703C
- Authority
- CN
- China
- Prior art keywords
- data
- pixel
- ink
- fuzzy
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Abstract
本发明涉及为了绘制一渗开图形而模仿纸纤维结构所需的纸纤维结构数据,和用于根据所述的纸纤维结构数据,绘制其效果就好象所述图形是用墨水实际绘制在纸张上一样的渗开图形的方法和装置。具体地,模拟所述的纤维结构以形成与图形中各象素相对应的纸纤维结构数据。根据纸纤维结构数据对流经纸纤维间隙的墨水进行模拟,以形成表示渗开图形的图象数据。根据该图象数据,在显示设备上显示所述渗开图形的图象。
Description
本发明涉及产生纸纤维结构数据的方法和设备、纸纤维结构数据以及绘制渗开图画的方法和设备。本发明特别涉及绘制具有渗开效果的图画的方法,在该方法中,准备好模拟纸纤维结构的纸纤维结构数据以便利用该纸纤维结构数据在显示设备上显示具有渗开效果的图画或图形(渗开图画或图形)。
对于计算机图形学,当利用计算机在屏幕上绘制图画时,将三色数据或亮度数据作为最小图形元素的各象素的图形数据,以便分别进行彩色显示或单色显示,根据从一个象素到另一个象素设定的图象数据在显示器上显示图形。此处的图形包括字符、符号等。
在计算机图形学中最简单的绘图方法是形成被一条线或许多条线包围的区域,然后在该条线或这些线包围的区域内均匀地绘制图形。
但是,由于这种方法对图形表示有限制,所以已经提出了各种绘图方法,以便能够实现更丰富的表示。
在这些已提出的绘图方法中,有一种根据作为坐标数据输入装置的诸如鼠标的指点器输入的坐标数据,即根据该指点器的运动进行绘图的方法,用来模拟毛笔绘图。还有这样的方法,该方法根据指点器的运动绘图,颜色随着绘图过程的进行而变浅,表现了利用毛笔的绘图,并表现了由于毛笔所含墨水量的改变造成的颜色变化。此外,还有这样的方法,在该方法中,以这样的图形即颜色在指定位置的朝外处变浅而随着绘图过程的进行变浓来表现气刷绘图。
如果利用沾有墨水,墨汁,或水彩颜料,在此统称为墨水的毛笔在纸上绘图,并且毛笔含有充足的墨水,或者毛笔进行缓慢的移动,此时不仅在毛笔真正经过的纸的位置处绘了图,而且墨水在毛笔经过的纸的位置的周围扩散,形成了所谓的渗开。
根据纸张种类的不同,这种渗开的方式也不同。就是说,纸是由许多纤维组成的,其结构随纸张种类而不同。产生渗开的方式依赖于纤维结构。由于已有的计算机图形学没有考虑纸张特有的这种纤维结构,所以不可能表现这种依赖于纸的纤维结构的渗开。
因此,已有的计算机图形学不可能用墨水来表现绘画,特别是用毛笔在纸上画出字符或黑白图象,在这些字符或黑白图象中,渗开按照如同用沾满墨水的毛笔实际作画的方式起到重要的作用。
因此,本发明的一个目的是提供纸纤维结构数据,用来模拟在计算机绘制与用墨水在纸上绘出的图形类似的图形时所需的纸纤维结构,以及提供产生这种纸纤维结构数据的方法和设备。
本发明的另一个目的是提供具有类似于实际渗开效果的绘图的方法和设备。
根据本发明的一个方面,提供了形成纸纤维结构数据的方法,该方法包括:形成表示构成纸张的多个纤维中的一个的纤维数据;在包含多个象素的一个区域中排列多个所述纤维数据,以形成表示纤维分布的纤维分布数据;根据所述的纤维分布数据基于象素来求取通过所述象素的每一个的纤维数量M;形成包含通过所述各象素的基于象素的纤维数量M的纸纤维结构数据。
根据本发明的另一个方面,提供了形成纸纤维结构数据的设备,该设备包括:用于形成表示构成纸张的多个纤维中一个的纤维数据的装置;用于在由多个象素构成的一个区域内排列多个所述纤维数据,以形成表示纤维分布的纤维分布数据的装置;用于根据由所述纤维分布数据形成装置形成的所述纤维分布数据,求取通过所述象素的每一个的纤维的数量M的装置;和用于形成由通过所述象素的基于象素的纤维数量M所组成的纸纤维结构数据的装置。
根据本发明的另一个方面,提供了显示从基于象素的图象数据获得的图形的渗开图画描绘方法,该方法包括:第一步骤,在待被模糊的图形的轮廓上检测象素P;第二步骤,对在所述第一步骤中检测出的象素P并利用在上述的纸纤维结构数据形成方法求取的对于像素P的纸纤维结构数据,基于毛细管Si(i=1到8)的数量,检测通过毛细管连接到所述象素P上的象素;和第三步骤,把墨水存在规定数据设定为在由所述第二步骤检测到的象素中的图象数据;使其中有在第三步骤中设定的图象数据的象素代替在所述第一步骤中检测到并在第二步骤中参考的象素P,并重复所述第二和第三步骤。
根据本发明的另一个方面,提供了一种用于显示从基于象素的图象数据获得的图象的渗开图画的绘图设备,该设备包括:用于检测在将被模糊的图形的轮廓上的象素P的装置,对于由所述轮廓象素检测装置检测到的像素P并使用上述的纸纤维结构数据形成方法所求得的纸纤维结构数据,基于毛细管Si(i=1到8)的数量检测由毛细管连接到所述象素P上的象素的装置;和用于将墨水存在规定数据设定为在由所述连接象素检测装置检测到的象素中的图象数据的装置;使在其中有由所述图象数据设定装置设定的图象数据的象素替换由所述轮廓象素检测装置所检测到的象素P,并重复所述连接象素检测装置和图象数据设定装置的操作。
根据本发明,纤维数据形成装置形成表示构成纸张的许多纤维之一的纤维数据,纤维分布数据形成装置通过在由多个象素组成的区域中排列在纤维数据形成装置中形成的多个纤维数据来形成纤维分布数据。在象素的基础上,纤维数目计算装置根据纤维分布数据形成装置形成的纤维分布数据计算穿过象素的纤维的数目M。形成了由纤维数目计算装置计算的基于象素的纤维数目M组成的纸纤维结构数据。
通过应用这样的纸纤维结构数据,就能够把纸张吸收的墨水数量和浓度考虑进去,还能够把存留在构成纸张的纤维的缝隙中的墨水或流过纤维缝隙的墨水考虑进去,并由此能够画出渗开图形。
同样地,根据本发明,轮廓象素检测装置检测尚未渗开的图形的轮廓象素,连接象素检测装置根据轮廓象素检测装置检测的象素P的纸纤维结构数据的毛细管Si=(i=1至8)的数目检测通过毛细管与象素P连接的象素。图象数据设定装置将表示墨水存在的数据设定为在被连接象素检测装置检测的象素中的图象数据。图象数据设定装置已为其设定了图象数据的象素被传送给连接象素检测装置作为被轮廓象素检测装置检测的象素P。重复连接象素检测装置和图象数据设定装置的操作来描绘渗开图象。
图1是表示图象显示系统典型结构的方框图;
图2表示字符实例;
图3表示图2所示字符的第一笔划;
图4表示图2所示字符的第二笔划;
图5表示笔划的数据;
图6表示图3所示笔划的数据实例;
图7表示图4所示笔划的数据实例;
图8是表示示例性的字体(font)形成处理器的方框图;
图9表示输入坐标点和互连这些坐标点的直线的实例;
图10表示输入坐标点和互连这些坐标点的曲线的实例;
图11是说明字体形成处理器的操作的流程图;
图12是将坐标点作为笔划数据进行输入的流程图;
图13是表示纸纤维结构数据实例的示意图;
图14是表示在象素0和相邻象素Pi上排列的纤维实例的示意图;
图15是表示纸纤维结构数据形成装置的示例性结构的方框图;
图16是说明表示纤维形状的数据实例的曲线图;
图17是说明表示纤维位置的数据实例的曲线图;
图18是说明表示纤维方向的数据实例的曲线图;
图19是表示纸纤维分布数据形成装置的示例性结构的方框图;
图20是说明纸纤维分布数据形成装置的操作流程图;
图21是表示被点排列单元随机地排列的典型的多个点的示意图;
图22是表示在各自的位置处被均匀单元均匀化的曲型的多个点的示意图;
图23是表示由小区域形成装置形成的典型的小区域的示意图;
图24是表示被随机排列单元随机地排列的典型的纤维数据的示意图;
图25是表示排列在象素上的典型的纤维的示意图;
图26是表示毛细管计算单元的示例性结构的方框图;
图27是表示Mi根纤维的示意图,在随机排列的相邻纤维之间有交叉角;
图28是说明光透射率计算单元的操作的流程图;
图29是表示呈现渗开的示例性图形;
图30表示被渗开处理器处理的图形实例;
图31表示满轮廓数据的示例性数据结构;
图32是表示绘图轨迹实例的示意图;
图33表示被渗开区域数据表示的渗开数据实例;
图34表示被图32的渗开区域数据表示的渗开区域实例;
图35是表示渗开参数的数据结构的示意图;
图36表示渗开参数和渗开区域之间的关系;
图37表示中断的渗开;
图38表示连续的渗开;
图39是表示形状数据的数据结构的示意图;
图40表示曲率ri;
图41是表示图象数据的数据结构实例的示意图;
图42是表示毛笔数据的数据结构实例的示意图;
图43是表示渗开处理器示例性结构的方框图;
图44是表示毛笔数据示例性结构的方框图;
图45表示在毛笔上的几个点的墨水数量输入的状态;
图46表示在毛笔上的几个点的墨水浓度输入的状态;
图47表示在毛笔上的几个点的墨水浓度输入的状态的实例;
图48表示在毛笔上的几个点的墨水浓度输入的状态的另一实例;
图49是表示数据阅读器示例性结构的方框图;
图50是表示渗开参数设定单元示例性结构的方框图;
图51表示速度分布数据的示例性数据结构;
图52是表示墨水数据设定单元的示例性结构的方框图;
图53是说明渗开参数设定单元的操作的流程图;
图54至57是表示图53所示流程图的继续的流程图;
图58是表示在被变换为双层数据之前的速度分布数据和毛笔压力分布数据和实例的示意图;
图59是表示在被变换为双层数据之后的速度分布数据和毛笔压力分布数据的实例的示意图;
图60是表示载有用于产生渗开的数据的毛笔实例的示意图;
图61是说明渗开区域数据形成装置的操作的流程图;
图62是说明轮廓数据选择器的操作的流程图;
图63是说明墨水数据设定单元的操作的流程图;
图64表示ti=1.0、0.5或0.3的区域的实例;
图65是说明第一渗开参数计算单元的操作的流程图;
图66是表示图65流程图的继续;
图67是表示图66流程图的继续;
图68至87分别表示模式1至20的渗开实例;
图88表示被吸在象素中的两根纤维间隙中的墨水的实例;
图89表示被吸在象素中的两根纤维间隙中的墨水占据的区域的实例;
图90表示被吸在象素中的n根纤维间隙中的墨水的实例;
图91是表示毛细管的示意图。
图92是表示渗开处理器示例性结构的方框图;
图93是表示一些象素和毛细管的实例以便说明被毛细管连接的象素的示意图;
图94是表示一些象素和毛细管的另一实例以便说明被毛细管连接的象素的示意图;
图95是表示分支点象素实例的示意图;
图96是表示从象素Ai至墨水流分支点(分流点)象素的一组象素实例的示意图;
图97是表示从象素Ai至墨水流分支点象素的一组象素另一实例的示意图;
图98是表示从象素Ai至墨水流分支点象素的一组象素再一实例的示意图;
图99是表示用于产生渗开的区域实例的示意图;
图100是表示纸纤维结构数据示例性结构的示意图;
图101是表示轮廓数据示例性数据结构的示意图;
图102是表示当前数据示例性数据结构的示意图;
图103是表示紧接在后面的数据的示例性数据结构的示意图;
图104是表示渗开图象数据示例性数据结构的示意图;
图105是表示亮度数据示例性数据结构的示意图;
图106是说明渗开处理器的操作的流程图;
图107是表示图106所示流程图的继续;
图108是表示图106和107所示流程图的继续;
图109是表示图106至108所示流程图的继续;
图110是表示图106至109所示流程图的继续;
图111是表示在考虑到因墨水流碰撞而引起墨水颗粒的扩散的情况下设定渗开图象数据的方法的示意图;
图112表示呈现模糊和渗开的字符实例;
图113表示在进行去阶梯处理之前图象的轮廓;
图114表示通过渗开处理进行去阶梯后产生的图象的轮廓;
(1)图象显示系统的总体结构
参看附图下文将详细说明用于产生纸纤维结构数据的方法和设备、纸纤维结构数据、以及用于绘制渗开图象的方法和设备的优选实施例。在以下的实施例中,本发明被应用于通过根据基于象素的图象数据显示各个象素来显示由一组象素组成的图象的图象显示系统。
参看图1,本发明的图象显示系统包括利用中央处理单元(CPU)处理数据的数据处理器10,以及被提供了输入数据和用于将该输入数据提供给数据处理器10的输入设备1。该图象显示系统还包括产生图象的图象数据并将该图象数据提供给数据处理器10的图象读出单元2,以及用于暂存数据处理器10进行数据处理所需的软件或数据,或暂存数据处理器10产生的数据的内部存储设备(存储器)3。该图象显示系统还包括存储数据处理器10进行数据处理所需的软件或数据的外部存储设备4和显示从被数据处理器10处理的数据中获得的图象的显示设备5。
数据处理器10包括根据由输入设备1或图象读出设备2提供的图象数据形成产生渗开或模糊字符或符号的图象数据所需字体的字体形成处理器20,以及用于形成模仿纸纤维结构的纸纤维结构数据的纸纤维结构数据形成处理器30。该数据处理器10还包括根据输入设备1提供的数据、字体形成处理器20形成的字体和纸纤维结构数据形成装置30形成的纸纤维结构数据,形成模糊图象的图象数据的模糊处理单元40,以及根据输入设备1提供的数据和在模糊处理单元40中形成的图象数据形成渗开图象的图象数据的渗开处理单元50。
输入设备1由诸如鼠标或键盘的指点器组成。用户向输入设备1输入数据,例如坐标数据、参数或命令。输入的数据然后提供给数据处理器10。当然可以组合地使用多个这样的输入设备。
数据处理器10根据这些输入数据在字体处理单元30中形成产生渗开或模糊字符或符号所需的字体。此外,数据处理器10在模糊处理单元40或渗开处理单元50中分别形成模糊图象的图象数据或渗开图象的图象数据。
如果需要的话,数据处理器10从外部存储设备4读出进行数据处理所需的软件或数据,或者将在进行数据处理时产生的数据写入外部存储设备4。此外,数据处理器10从存储器3读出进行数据处理所需的软件或数据,或者将在进行数据处理时产生的数据暂时写入存储器3中。
就是说,存储器3用来暂存数据处理器10进行数据处理所需的软件和数据或者暂存数据处理器10进行数据处理所产生的数据。如果需要,软件或数据就从存储器3向数据处理器10传送或从数据处理器10向存储器3传送。外部存储设备4用来存储数据处理器10进行数据处理所需的软件或数据或者存储数据处理器10进行数据处理所产生的数据。如果需要,软件或数据就由外部存储设备4向数据处理器10读出或由数据处理器10向外部存储设备4读出。对用作外部存储设备4的记录介质没有特殊限制,只要能够存储其所记录的软件或数据就可以。因此记录介质例如可以是硬盘、软盘、磁光盘、光盘或磁带。当然可以组合地使用多种这样的记录介质。
软件的实例包括形成产生渗开或模糊字符或符号的图象数据所需字体的软件,形成模仿纸纤维结构的纸纤维结构数据的软件,形成模糊图象的图象数据的软件和形成渗开图象的图象数据的软件。
进行数据处理所需的数据的实例包括已有的字体或各种参数,数据处理所产生的数据的实例包括由字体形成处理器20、纸纤维结构数据形成处理器30、模糊处理单元40或渗开处理单元50暂时形成的各种数据,字体形成处理器20形成字体形成数据,纸纤维结构数据形成处理器30形成纸纤维结构数据,模糊处理单元40形成图象数据,以及渗开处理单元50形成图象数据。
被数据处理器10处理的数据在显示设备5上进行显示。显示设备5显示源自于字体形成处理器20形成的字体的字符或符号、源自于纸纤维结构数据形成处理器30形成的纸纤维结构数据的图象、源自于模糊处理单元40形成的图象数据的图象或源自于渗开处理单元50形成的图象数据的图象。对显示设备5没有限制,只要能够显示被数据处理器10处理的数据就可以。因此显示设备5可以是显示单元、打印机或绘图仪。当然可以组合地使用多个这样的显示设备。
图象读出设备2用来阅读图象的形状并将其变换为被提供给数据处理器10的图象数据。该图象数据被用来在字体形成处理器20中形成字体。就是说,如果需要根据手写字符来形成字体,就在纸上写出这样的字符并将该字符的图象数据读入到图象读出单元2中,以便然后能提供给数据处理器10来显示从该图象数据获得的图象。用户在参看该被显示的图象的同时利用例如鼠标这样的输入设备来输入坐标数据。字体形成处理器20然后利用给其提供的坐标数据来形成字体。
数据读出设备2用来从外部读入图象的形状并将其提供给数据处理器10。因此,如果不需要从外部读入图象的形状,就可以省略数据读出单元2。对图象读出单元2没有特殊限制,只要能够将图象的形状变换为图象数据就可以。因此可以将例如图象扫描仪或摄象机作为图象读出设备2。可以组合地使用多个这样的图象读出设备。(2)字体形成处理器
参看图2至12描述字体形成处理器20的最佳实施例。在以下的描述中,笔划指字符或符号的一划。即图2所示的字符MJ“+”由图3所示的第一笔划SR1和图4所示的第二笔划SR2组成。(2-1)字体
参看图2至12描述字体形成处理器20形成的字体。
当利用毛笔在纸上写字符或符号时,根据运笔方式的不同,在该字符或符号的周围出现渗开或在该字符或符号中产生了模糊。因此,为了形成真实地表示如同利用毛笔用墨汁在纸上实际书写的字符或符号的图象数据,就需要仔细研究在书写字符或符号时,毛笔是如何移动的。
字体形成处理器20根据以上考虑所形成的字体是具有与笔划方向有关的数据的字体,它由一个或多个笔划数据组成。如图5所举例的那样,每一笔划数据由第一轮廓数据和第二轮廓数据组成,第一轮廓数据由顺序地表示在从该笔划SR的开始点PS直到结束点PE的轮廓RNI上的各位置的多个坐标点组成,而第二轮廓数据由顺序地表示在从该笔划SR的开始点PS直到结束点PE的轮廓RN2上的各位置的多个坐标点组成。第一轮廓数据由规定开始点PS的坐标点(Xs,Ys)、在第一轮廓RN1上的n个坐标点(X11,Y11)、(X12,Y12)......(X1n,Y1n)以及规定结束点PE的坐标点(Xe,Ye)组成。第二轮廓数据由规定开始点PS的坐标点(Xs,Ys)、在第二轮廓RN2上的m个坐标点(X21,Y21)、(X22,Y22)......(X2m,Y2m)以及规定结束点PE的坐标点(Xe,Ye)组成。应当指出,n和m的值是不小于0的整数,可以相同或不相同。
在上述第一轮廓数据和第二轮廓数据中,如果在准备笔划数据时指定了规定开始点PS的坐标点,则所指定的坐标点就被作为规定开始点的坐标点(Xs,Ys)。如果没有进行特别的指定,则最先输入的坐标点就被作为规定开始点的坐标点(Xs,Ys)。另一方面,如果在准备笔划数据时指定了规定结束点PE的坐标点,则所指定的坐标点就被作为规定结束点的坐标点(Xe,Ye)。如果没有进行特别的指定,则最后输入的坐标点就被作为规定结束点的坐标点(Xe,Ye)。
对于这样的笔划数据,由于确定了规定笔划开始点的坐标点(Xs,Ys)和规定笔划结束点的坐标点(Xe,Ye),所以就知道了笔划的方向。因此,当书写用由这样的笔划数据组成的字形表示的字符或符号时就能够知道毛笔的移动方式。通过根据这样的字体作出字符或符号的图象数据,就能够获得提供如同用毛笔书字符或符号这样的印象的真实表现。
当利用毛笔在纸上用墨水书写字符或符号时,如果书写字符或符号的顺序、即笔划顺序改变,则笔划重叠的顺序就会改变,所以也改变了所形成的渗开或模糊的状态。因此,如果要产生图象数据以便更真实地描述字符或符号,产生如同用毛笔书写字符或符号这样的印象的话,就必须考虑笔划顺序。
因此,在字体形成处理器20形成的字形中,各个笔划数据按照书写顺序排列,这样便可知道笔划顺序。应当指出,如果在准备笔划数据时指定了数据顺序,则笔划数据的顺序就是被指定的数据顺序。如果没有进行特别的指定,笔划数据顺序就是输入顺序。笔划数据顺序不需要通过按照书顺序对笔划数据进行排列来设定。例如,可以通过确定规定了各个笔划数据的顺序的顺序数据来设定笔划数据。
以图2所示的读作“+”的符号MJ为例来详细描述上述字形。
读作“+”的符号MJ由图3所示的第一笔划SR1和图4所示的第二笔划SR2组成。
参看图6,第一笔划SR1的数据由第一轮廓数据和第二轮廓数据组成,第一轮廓数据由规定第一笔划SR1的开始点的坐标点(XS1,YS1)、例如四个点(X11,Y11)、(X12,Y12)、(X13,Y13)、(X14,Y14)以及规定第一笔划SR1的结束点PE1的坐标点(Xe1,Ye1)组成,这些坐标点按上述顺序排列,第二轮廓数据由规定开始点PS1的坐标点(XS1,YS1),例如四个点(X21,Y21)、(X22,X22)、(X23,Y23)、(X24,Y24)以及规定上述结束点PE1的坐标点(Xe1,Ye1)组成,这些坐标点按上述顺序排列。
类似地,第二笔划SR2的数据由第一轮廓数据和第二轮廓数据组成,第一轮廓数据由规定第一笔划SR2的开始点PS2的坐标点(XS2,YS2),例如四个点(X31,Y31)、(X32,Y32)·、(X33,Y33)、·(X34,Y34)以及规定第二笔划SR2的结束点PE2的坐标点(Xe2,Ye2)组成,这些坐标点按上述顺序排列,第二轮廓数据由规定上述开始点PS2的坐标点(XS2,YS2),例如三个点(X41,Y41)、(X42,Y42)、(X43,Y43)以及规定上述结束点的坐标点(Xe2,Ye2)组成,这些坐标点按上述顺序排列。
由于读作“+”的符号MJ的笔划SR1和SR2的顺序就是第一笔划SR1和第二笔划SR2的顺序,所以第一笔划SR1的数据和第二笔划SR2的数据就按照第一笔划SR1的数据和第二笔划SR2的数据的顺序进行排列。
因此,读作“+”的符号MJ的字体由第一笔划SR1的数据和第二笔划SR2的数据组成,第一笔划SR1的数据由组成第一轮廓数据的坐标点(XS1,YS1)、(X11,Y11)、(X12,Y12)、(X13,Y33)、(X14,Y14)和(Xe1,Ye1)以及组成第二轮廓数据的坐标点(XS1,YS1)、(X21,Y21)、(X22,Y22)、(X23,X23)、(X24,Y24)和(Xe1,Xe1)组成,第二笔划SR2的数据由组成第一轮廓数据的坐标点(XS2,YS2)、(X31,Y31)、(X32,Y32)、(X33,Y33)、(X34,Y34)和(Xe2,Ye2)以及组成第二轮廓数据的坐标点(XS2,XS2)、(X41,Y41)、(X42,Y42)、(X43,Y43)和(Xe2,Xe2)组成。第一笔划SR1的数据和第二笔划SR2的数据就按这样的顺序排列。
虽然在上述字形中设定了规定开始点的一组坐标点和规定结束点的另一组坐标点,但为了知道笔划方向,至少知道这两组坐标点中的一组就足够了。因此,可以只将规定笔划开始点的坐标点或只将规定笔划结束点的坐标点设定为笔划数据。
对于上述字体,笔划数据由包含了规定开始点的坐标点和规定结束点的坐标点的第一轮廓数据和包含了规定开始点的坐标点和规定结束点的坐标点的第二轮廓数据来构成。但是,笔划数据还可以利用只由在第一轮廓上除规定开始点的坐标点和结束点的坐标点外的坐标点组成的第一轮廓数据和只由在第二轮廓上除规定开始点的坐标点和结束点的坐标点外的坐标点组成的第二轮廓数据来构成。
虽然上述字体的笔划数据只由坐标点来构成,但除了这些坐标点外,笔划数据还可以具有矢量数据,如同在普通的轮廓字体的情形中那样。(2-2)字体形成处理器的结构
现在描述用来作出上述字体的字体形成处理器20的示例性结构。
参看图8,字体形成处理由20包括根据输入设备1输入的多个坐标点形成笔划数据的笔划数据形成单元21,以及设定由笔划数据形成单元21形成的多个笔划数据的顺序的笔划顺序设定单元22。字体形成处理器20还包括从图象读出单元2读出字符或符号的图象数据以便写入到存储器3的图象数据读出单元23和从存储器3读出该图象数据以便将如此读出的图象数据提供给显示单元5的图象数据提供单元24。字体形成处理器20还包括从外部存储设备4读出已有字体以便将读出的字体写入到存储器3的字体读出单元25和从存储器3读出字体以便将读出的字体提供给显示设备5的字体提供单元26。
笔划数据形成单元21根据输入设备1输入的多个坐标点形成上述笔划数据,即由规定笔划SR的开始点的坐标点(Xs,Ys),在第一轮廓RN1上的n个坐标点(X11,Y11)、(X12,Y11)......(X1n,Y1n)和规定笔划SR的结束点的坐标点(Xe,Ye)组成的第一轮廓数据,以及由规定笔划SR的开始点的坐标点(Xs,Ys),在第二轮廓RN2上的n个坐标点(X21,Y21)、(X22,Y22)......(X2n,Y2n)和规定笔划SR的结束点的坐标点(Xe,Ye)组成的第二轮廓数据。由于每个字符或符号由单笔划或多笔划组成,所以笔划数据形成单元21形成每个字体的单笔划或多笔划数据。
如果输入设备1提供了指定的开始坐标点的数据,笔划数据形成单元21就形成将该指定坐标点作为开始坐标点的笔划数据。如果输入设备1没有提供指定的开始坐标点的数据,笔划数据形成单元21就形成将首先输入的坐标点作为开始坐标点的笔划数据。类似地,如果输入设备1提供了指定的结束坐标点的数据,笔划数据形成单元21就形成将该指定坐标点作为结束坐标点的笔划数据。如果输入设备1没有提供指定的结束坐标点的数据,笔划数据形成单元21就形成将最后输入的坐标点作为结束坐标点的笔划数据。
为了方便地利用输入设备1输入在笔划轮廓上的坐标点,笔划数据形成单元21包括用于显示与坐标点有关的情况的显示处理单元211和对坐标点进行编辑的编辑处理单元212。
为了容易地得知输入设备1输入的坐标点的相对位置,即为了容易地得知笔划数据所表示的形状,显示处理单元211在显示设备5上显示相应于输入设备1输入的坐标点的点。还有,为了容易地得知输入设备1输入的坐标点的顺序,显示处理单元211按照输入设备1输入的坐标点的顺序在显示设备5上显示互连这些坐标点的线段。
具体来说,如图9所示,显示处理单元211在显示设备5上显示相应于输入设备1输入的坐标点的点XY1、XY2、XY3、XY4、XY5、XY6、XY7、XY8、XY9、XY10、XY11、XY12、XY13,同时还显示互连这些坐标点的直线段XY1-2、XY2-3、XY3-4、XY4-5、XY5-6、XY7-8、XY8-9、XY9-10、XY10-11、XY11-12、XY12-13、XY13-1。为了使用户能够容易地了解输入坐标点的顺序,显示处理单元211显示输入设备1输入的坐标点和互连这些坐标点的直线段。
或者,如图10所示,显示处理单元211在显示设备5上显示相应于输入设备1输入的坐标点的点XY1、XY2、XY3、XY4、XY5、XY6、XY7、XY8、XY9、XY10、XY11、XY12、XY13,同时还显示互连这些坐标点的平滑曲线XY1-2、XY2-3、XY3-4、XY4-5、XY5-6、XY6-7、XY7-8、XY8-9、XY9-10、XY10-11、XY11-12、XY12-13、XY13-1。因此,显示处理单元211利用在普通轮廓字体中使用的诸如仿样曲线或Bezier曲线这样的曲线互连各个坐标点的技术来显示互连输入设备1输入的坐标点的平滑曲线。如下所述,这将使用户在笔划数据被补足时就知道该笔划的形状。
当在显示单元5上显示相应于输入坐标点的点或者互连这些输入坐标点的线段时,显示处理单元211显示笔划开始点的坐标点,笔划结束点的坐标点以及其余的坐标点,以便能够容易地用眼睛区分这些不同的坐标点。具体来说,相应于笔划开始点的坐标点(Xs,Ys)的点,相应于规定笔划结束点的坐标点(Xe,Ye)的点,以及其余的坐标点(X11,Y11)、(X12,Y12)......(X1n,Y1n)、(X21,Y21)、(X22,Y22)、......(X2m,X2m)具有不同的颜色和/或亮度。
虽然显示处理单元211在显示设备5上仅对于单笔划数据显示点和线,但它也能够在显示设备5上同时地显示多笔划数据。就是说,显示处理单元211根据输入设备1输入的指令在显示设备5上只显示单笔划数据或者在显示设备5上同时地显示多笔划数据。
编辑处理单元212响应输入设备1的命令,给笔划数据增加坐标数据,逐个地或集体地移动笔划数据的坐标点,或者逐个地或集体地从笔划数据中删除坐标点。如果利用显示处理单元211的操作在显示单元5上显示了多笔划数据的点和线,编辑处理单元212就根据输入设备1的命令来选择多个笔划之一的数据,以便实现对该被选笔划数据进行处理。
笔划顺序设定单元22然后根据笔划数据的顺序对笔划数据形成单元21形成的单笔划或多笔划数据进行排列,以便设定笔划数据的顺序。
如果输入设备1提供了指定输入设备1的数据的笔划数据顺序,笔划顺序设定单元22就按照指定顺序重排笔划数据来设定笔划数据的顺序。如果输入设备1没有提供指定输入设备1的数据的笔划数据顺序,笔划顺序设定单元22就按照笔划数据在笔划数据形成单元21中被形成的顺序对笔划数据进行排列,以此来设定笔划数据的顺序。
笔划顺序设定单元22不必通过按照正确的顺序排列各个笔划的数据来设定各个笔划的顺序。例如,可以通过自然地形成规定各个笔划数据的顺序数据来设定各个笔划的顺序。
通过利用笔划数据形成单元21来形成单笔划或多笔划数据和利用笔划顺序设定单元22来设定各个笔划的数据顺序,就可以形成由单笔划或多笔划数据组成的、已设定了各个笔划的数据顺序的字体。
如果在利用输入设备1输入在笔划轮廓上的坐标点的时候,在显示设备5上显示相应于所需字体的字符或符号,就能够非常容易地输入坐标点。就是说,如果在操作者已参看在显示单元5上被显示的字符或符号时通过指定在被显示字符或符号的轮廓上的点来输入坐标点,就能够非常容易地输入坐标点。
图象数据读出单元23,图象数据提供单元24,图象字体读出单元25和字体提供单元26用来在相应于所需字体的字母或符号在显示单元5上被显示时输入坐标点。
即图象数据读出单元23读出相应于图象读出设备2提供的所需字体的字符或符号的图象数据,以便写入到存储器3。图象数据提供单元24从存储器3读出图象数据,并将读出的图象数据传送给显示单元5。由于相应于所需字体的字符或符号以这样的方式被显示在显示单元5上,所以用户能够在参看被显示在显示单元5上的字符或符号的同时输入坐标点。
另一方面,字体读出单元25根据外部存储设备4提供的所需字体读出相应的字符或符号的字体,并将读出的字体写入存储器3。字体提供单元26从存储器3读出字体并将读出的字体提供给显示单元5。由于相应于所需字体的字符或符号被显示在显示单元5上,所以用户能够在参看被显示在显示单元5上的字符或符号的同时输入坐标点。预先记录在外部存储设备4中的字体可以是能够提供相应于被显示在显示单元5上的字体的字符或符号的图象的任何字体。字体的实例包括普通的位映象字体、轮廓字体或字体形成处理器20预先形成的字体。
参看图11所示流程图说明字体形成处理器20的示例性操作。
在步骤ST2-1-2,字体形成处理器20查阅画在纸上字符或符号,判断是否要形成字体。如果结果是“是”,即如果要形成该字体,字体形成处理器20就到达步骤ST2-1-2,否则处理器20就到达步骤ST2-1-3。
在步骤ST2-1-2,字体形成处理器20在转至步骤2-1-5之前在显示单元5上显示画在纸上的字符或符号。具体来说,当要在显示单元5上显示画在纸上的字母或符号时,图象读出设备2将画在纸上的字符或符号的形状变换为图象数据并将所获得的图象数据传送给图象数据读出单元23。图象数据读出单元23将图象读出单元2提供的图象数据写入存储器3。图象数据提供单元24从存储器3读出图象数据并将读出的图象数据传送给显示单元5。显示单元5显示从图象数据提供单元24提供的图象数据获得的图象。
在步骤ST2-1-3,字体形成处理器20查阅存储在外部存储设备4中的字体,判断是否要形成字体。如果处理器查阅字体的结果是“是”,处理器到达步骤ST2-1-4。如果处理器不参考字体(“否”),它就到达步骤ST2-1-5。
在步骤ST2-1-4,字体形成处理器20显示相应于存储在外部存储设备4中的字体的字符或符号。字体形成处理器20然后到达步骤ST2-1-5。具体来说,如果要在显示设备5上显示相应于存储在外部存储设备4中的字体的字符或符号,字体读出单元25就从外部存储设备4读出字体并将读出的字体写入存储器3。字体提供单元26然后从存储器3读出字体并将读出的字体提供给显示设备5。显示设备5显示相应于字体提供单元26提供的字体的图象。
在步骤ST2-1-5,如下所述,字体形成处理器20的笔划数据形成单元21读出用户通过输入设备1输入的坐标点。笔划数据形成单元21读出的坐标点是如图5所示的多个坐标点(Xs,Ys)、(X11,Y11)、(X12,Y12)、......(X1n,Y1n)、(X21,Y21)、(X22,Y22)、......(X2n,Y2n)、(Xe,Ye)。如果画在纸上的字符或符号在步骤ST2-1-2被显示在显示单元5上,或者如果相应于已有字体的字符或符号在步骤ST2-1-4被显示在显示设备5上,则用户在参看被显示在显示单元5上的字母或符号的同时通过输入设备1输入笔划数据。显示处理单元211在显示设备5上显示相应于输入坐标点的点或互连这些输入坐标点的线段,以便使用户能够容易地目视识别输入坐标点。
在步骤ST2-1-6,笔划数据形成单元21根据在步骤ST2-1-5读出的坐标点形成由第一轮廓数据和第二轮廓数据组成的笔划数据,第一轮廓数据由坐标点(Xs,Ys)、(X11,Y11)、(X12,Y12)......(X1n,Y1n)和(Xe,Ye)组成,第二轮廓数据由坐标点(Xs,Ys)、(X21,Y21)、(X22,Y22)......(X2n,Y2n)和(Xe,Ye)组成。第一和第二轮廓数据的前坐标点(Xs,Ys)规定开始点,第一和第二轮廓数据的后坐标点(Xe,Ye)规定结束点。此时,笔划数据形成单元21将相应于该笔划数据的点和线显示在显示单元上。
接着在步骤ST2-1-7中,笔划数据形成单元21根据输入设备1输入的命令判断是否已形成了所需字体全部笔划的数据。如果尚有笔划数据需形成(“否”),处理器20就返回到步骤ST2-1-5。如果全部笔划的数据已被形成(“是”),处理器就到达步骤ST2-1-8。
如果处理器20为了产生新笔划的数据而返回到步骤ST2-1-5,笔划数据形成单元21就在显示单元5上显示相应于以前形成的笔划数据的坐标点并互连这些点的线段。就是说,如果用户希望检查以前形成的笔划的排列和要被形成的笔划的排列之间的平衡,用户就只有通过显示处理器211显示相应于预先形成的笔划的坐标点或互连这些坐标点的线段。如果在显示单元5上相应于预先形成的笔划的坐标点或者互连这些坐标点的线段的输入导致了难于输入在新形成笔划的轮廓上的坐标点,就如上所述地不显示相应于预先形成的笔划的坐标点或互连这些坐标点的线段也是足够的。
在步骤ST2-1-8,笔划顺序设定单元22设定笔划数据形成单元21在步骤ST2-1-6形成的单笔划或多笔划数据的顺序。如果提供了指定输入设备1的数据的笔划数据顺序,笔划顺序设定单元22就按照指定顺序重排笔划数据来设定各个笔划数据的顺序。如果输入设备1没有提供指定数据的笔划数据顺序,笔划顺序设定单元22就按照笔划数据形成单元21形成笔划数据的顺序来排列笔划数据,从而设定各个笔划数据的顺序。
通过上述操作顺序,字体形成处理器20形成了由单笔划或多笔划数据构成的,设定了各个笔划数据的顺序的字体“+”。
当在步骤ST2-1-5输入在笔划轮廓上的坐标点时,用户根据图12所示流程图输入以下坐标点。
在步骤ST2-2-1中,用户利用输入设备1将启动坐标点的输入的命令输入给笔划数据形成单元21,并启动在笔划轮廓线上的坐标点的输入。在步骤ST2-2-2,用户利用输入设备将规定笔划开始点的坐标点(Xs,Ys)输入给笔划数据形成单元21。在步骤ST2-2-3,用户利用输入设备1顺序地将在第一轮廓线上的坐标点(X11,Y11)、(X12,Y12)、......(X1n,Y1n)输入给笔划数据形成单元21。然后,用户在步骤ST2-2-4利用输入设备1将规定笔划结束点的坐标(Xe,Ye)输入给笔划数据形成单元21。在步骤ST2-2-5,用户利用输入设备顺序地将在第二轮廓线上的坐标点(X2m,Y2m)、(X22,Y22)、......(X21,Y21)输入给笔划数据形成单元21。在步骤ST2-2-6,用户利用输入设备1将规定坐标点输入结束的命令输入给笔划数据形成单元21,结束在笔划轮廓上的坐标点的输入。
因此,当在步骤ST2-2-2至ST2-2-5输入坐标点时,用户在其输入在笔划轮廓上的坐标点的同时利用显示处理器211在显示单元5上显示相应于输入坐标点的点和互连各个坐标点的线段。如果需要的话,用户可以在其输入笔划轮廓上的坐标点时利用编辑处理器212来增加,移动或删除坐标点,对坐标点进行编辑。(3)纸纤维结构数据
参照图13至28,下文将对纸纤维结构数据处理单元30的实例进行描述。在以下描述中,直角坐标系统被设置在一个图象显示区域中,表示最小图象单元的象素被排列在该直角坐标系统的各个整数坐标(X,Y)上。纸纤维结构数据的形成区域是直角坐标系统中的多个象素构成的区域。(3-1)纸纤维结构数据
首先描述纸纤维结构数据形成处理器30形成的纸纤维结构数据。
纸是由按网状结构分布的多根互连纤维组成的。用墨水画在纸上的图形是由贮存在纤维之间的墨水量形成的。纤维之间截留的墨水量,即被吸收的墨水量,依赖于纤维结构。因此,为了得到较真实地模仿了用墨水画在纸上的图形的图象数据,必须提供模仿纸纤维结构的数据。
因为在用墨水在纸上画图时墨水流过纤维,所以产生了渗开。渗开的程度依赖于墨水流过的纤维之间的间隙。这一间隙以后称为毛细管。因此,为了产生较真实地表现被用墨水画在纸上的图象的图象数据,需要提供模仿纸张的毛细管的数据。
基于这种考虑,在纸纤维结构数据形成处理器30中形成的纸纤维结构数据是以表示构成纸张的多根纤维的纤维数据为基础的,多根纤维排列在由多个象素组成的区域内。就是说,如图13所示,象素P的纸纤维结构数据是由穿过象素P的纤维的数目M,穿过象素P以及还穿过与象素P相邻的8个象素P1、P2、P3、P4、P5、P6、P7、P8的纤维的数目M1、M2、M3、M4、M5、M6、M7、M8,以及毛细管的数目S1、S2、S3、S4、S5、S6、S7、S8组成的。8个象素P1-P8、8个数M1-M8和8个数S1-S8分别表示为Pi,Mi和Si,其中i=1,2,3......8。纤维数目M,纤维数目Mi和毛细管数目Si都是不小于0的整数。对相应于纸纤维结构数据的区域中的所有象素,通过设定纤维数目M,纤维数目Mi和毛细管数目Si来构成纸纤维结构数据。
纤维数目Mi是穿过象素P和象素Pi的纤维的数目。因此,在象素P的纤维的数目Mi中,表示穿过象素P6、P5、P和P2(按这一顺序)的纤维的数目是数字M5和M1,而纤维数目M6或M2则不相关。
因为纤维数目M被确定,所以利用模仿细微的纸纤维结构的纸纤维结构数据就能够计算被吸收的墨水量。另一方面,由于纤维数目Mi被确定,所以就可以计算沿象素的各种方向形成的毛细管的数目Si,同时由于毛细管的数目Si被确定,所以能够计算从一象素流至相邻象素的墨水的数量和方向。因此,利用这样的纸纤维结构数据,就能够在形成用墨水画在纸上的图象的图象数据时,考虑墨水的渗开或吸收,所以便有可能作出较真实地表示图象的图象数据。
毛细管是在纤维之间形成的墨水导管,毛细管的数目Si依赖于纤维的数目Mi。但是,如果毛细管数目很大,则每根毛细管的宽度就减小,如果毛细管数目很小,则每根毛细管的宽度就变大。因此,如果改变毛细管的数目,可以认为在毛细管中流动的墨水的总量基本上不变。所以,为了简化数据,对于不小于2和小于2的纤维数目Mi,可以分别将毛细管的数目Si设定为1和0。
具体来说,纸纤维结构数据是这样的,即如果如图14所示,对于象素P和Pi排列了5根纤维FI1、FI2、FI3、FI4和FI5,则象素P的纸纤维结构数据的各个值就是这样的:纤维数目M、M1、M2、M3、M4、M5、M6、M7和M8分别是5、1、1、2、1、2、0、3,毛细管数目S1、S2、S3、S4、S5、S6、S7和S8分别是0、1、1、0、1、0、1、0。
纸纤维结构数据还可以包括光透射率I,该光透射率I作为表示利用纸纤维结构数据作为图象来模仿纸的纸的数据。对各个象素设定光透射率I,该光透射率I代表每一象素的光透射率。光透射率I的值依赖于纤维数目M,随着纤维数目M的增大和减小而分别变小和变大。通过根据光透射率I对被纸纤维结构数据包围的象素设定各个象素的亮度,以及在显示单元5上显示这些象素的亮度,就可以利用纸纤维结构来表示纸的模仿图象,这样就能够目视识别模仿或模拟纸结构数据的状态。(3-2)纸纤维结构数据形成处理器的结构
现在描述纸纤维结构数据形成处理器30的示例性结构。
参看图15,纸纤维结构数据形成处理器30包括产生表示构成纸张的许多纤维之一的纤维数据的纤维数据形成单元31和在包括多个象素的区域中排列由纤维数据形成单元31产生的多个纤维数据以便形成表示纤维分布的纤维分布数据的纤维分布数据形成单元32。纸纤维结构数据形成处理器30还包括根据在纤维分布数据形成单元32中形成的纤维分布数据对与象素P相邻的8个象素Pi的每一个计算穿过象素P的纤维的数目M的纤维数目计算单元33,以及计算穿过象素P和还穿过与象素P相邻8个象素Pi的纤维的数目的相邻纤维数目计算单元34。纸纤维结构数据形成处理器30还包括根据在纤维数目计算单元34中计算的纤维数目Mi计算从象素P出发沿象素Pi的方向形成的毛细管的数目Si的毛细管数目计算单元35。
纸纤维结构数据形成处理器30利用纤维数目计算单元33计算的纤维数目M、相邻纤维数目计算单元34计算的纤维数目Mi和毛细管数目计算单元35计算的毛细管数目Si来形成作为纸纤维结构数据的纸纤维结构数据。
纸纤维结构数据形成处理器30形成的纸纤维结构数据通过写入存储器3或外部存储设备4进行存储。当模糊图象要由模糊处理器40来画出或渗开图象要由渗开处理器来画出时,就从存储器3或外部存储设备4读出纸纤维结构数据来形成表现墨水在纸上所画图象的图象数据。
纤维数据形成单元31形成的纤维数据是表示构成纸张的许多纤维之一的数据,该数据由表示纤维形状的数据、纤维位置数据和纤维方向数据组成。
确定纤维形状的数据是图16所示余弦函数的一部分,可用公式(3-1)表示:
Y=acos(x-b)其中0≤x≤c,a,b和c是常数,c表示纤维长度。应当指出a表示纤维弯曲程度,a的值越小,纤维弯曲程度越轻,反之,a的值越大,纤维弯曲程度越严重。a、b和c的值可预先固定,或者可在预定范围内变化,以便根据纤维数据的不同被随机地设定。a、b和c的值还可被设定为用户用过输入设备1输入的所需任选值,或者可根据纤维数据的不同被随机地设定,以便被设定为用户通过输入设备1输入的所需任选值。
通过将纤维形状表示为如公式(3-1)所表示的余弦函数的一部分,就能够表示接近实际纸纤维形状的形状。但是,纤维形状的表示不限于此,而是可被表示为例如正弦函数的一部分,或者可被表示为n次曲线的一部分,例如二次或三次曲线的一部分。
表示纤维位置的数据可以是例如表示纤维末端的坐标值(X1,Y1),而表示纤维方向的数据是表示纤维排列方向的角度θ。坐标(X1,Y1)和角度θ是被纤维数据形成单元31随机设定的值。
按照公式(3-2)和(3-3)变换公式(3-1)的(X,Y),使用坐标值(X1,Y1)-它是如图17所示表示数据的纤维位置,按照公式(3-4)和(3-5)旋转公式(3-1)的(X,Y),并使用角度θ-它是如图18所示表示纤维方向的数据,便可以获得纤维数据:
X=X+X1 ......(3-2).
Y=Y+Y1 ......(3-3)
X=X cos(θ)+Y cos(θ) ......(3-4)
Y=-X sin(θ)+Y cos(θ) ......(3-5)
纤维数据形成单元31形成的这些纤维数据被纤维分布数据形成单元32排列在一区域中来形成纸纤维结构数据,以便形成纤维分布数据。
为了把纸纤维的均匀分布和局部分布考虑进去,如图19所示,纤维分布数据形成单元32包括在被纸纤维结构数据包围的多个象素组成的区域中随机地排列多个点的点排列单元321,和利用张驰处理均匀化由点排列单元321排列的多个点的均匀化单元322。纤维结构数据形成单元32还包括形成以被均匀化单元322均匀化的各个点为中心的多个子区域的子区域形成单元323,和在由子区域形成单元323形成的每一个子区域中随机地排列相同数目的纤维数据的随机排列单元324。
为了在纤维分布数据形成单元32中产生纤维分布数据,多个点被点排列单元321随机地排列在由被纸纤维结构数据包围的多个象素组成的区域中。点排列单元321排列的多个点被均匀化单元322利用张驰处理进行均匀化。然后,子区域形成单元323形成多个子区域,各个子区域以被均匀化单元322均匀化的各个点为中心。相同数目的纤维数据被随机地排列在由子区域形成单元323形成的每一子区域中以便形成纤维分布数据。
参照图20的流程图下文将描述纤维分布数据形成单元32的示例性操作。
在步骤ST3-1,如图21所示,点排列单元321在被纸纤维结构数据包围的多个象素组成的区域RI中随机地排列n个点TN。不小于2的整数的值n可以预先设定或者由用户利用输入单元1按所需值进行输入。
然后在步骤ST3-2,点排列单元321计算在由被纸纤维结构数据包围的多个象素组成的区域RI内形成的子区域的半径R0。半径R0的值可以预定设定,由用户利用输入单元1按所需值进行输入,或者根据在步骤ST3-1排列的点的数目n的值进行计算。如果要根据步骤ST3-1排列的点的数目n计算半径R0的数值,就按照公式(3-6)对其进行计算:
R20=2.0×(X·Y/n)1/2 .......(3-6)其中X和R表示被纸纤维结构数据包围的多个象素组成的区域RI的横向长度和纵向长度。然后在步骤ST-3中,均匀化单元322执行移动各个点的张驰处理来均匀化在步骤ST3-1被排列的n个点的位置。
作为张驰处理的一实例,描述对具有当前位置(X,Y)的点TNa进行的张驰处理。
在步骤ST3-3-1,均匀化单元322从在步骤ST3-1被随机排列的点TN中检测位于以(X,Y)为中心,半径为R0的圆内的m个点TNj(j=1,2,3......m)。半径R0的值已在步骤ST3-2确定。应当指出m<n而点TNa不被包括在点TNj中。
在步骤ST3-3-2,均匀化单元322求出从点TNa至点TNj的j矢量(Xj-X,Yj-Y)。
在步骤ST3-3-3,均匀化单元322求出从点TNa至点TNj的j矢量(Xj-X,Yj-Y)的和(Xf,Yf),(Xf,Yf)用公式(3-7)来表示:
(Xf-Xf)=(X1-X,Y1-Y)+(X2-X,Y2-Y)+......
(Xm-X,Ym-Y) ......(3-7)
然后在步骤ST3-3-4,均匀化单元322如公式(3-8)和(3-9)所表示的那样将点TNa(X,Y)的位置变换成为(X′,Y′):
X′=X+d·Xf ......(3-8)
Y′=Y+d·Xf ......(3-9)其中d是预定的比例常数。
对点TNa进行的张驰处理在上述步骤ST3-3-1至ST3-3-4中完成。因此,通过对n个点TN顺序地执行步骤ST3-3-1至ST3-3-4,则n个点TN就被张驰,于是,如图22所示,排列在由被纸纤维结构数据包围的多个象素组成的区域RI中的n个点TN就被均匀化了。
只要多个点的位置可被均匀化,则张驰处理不限于上述处理。因此可以采用任何已知的张驰处理操作。
如果步骤ST3-3结束,均匀化单元322就在步骤ST3-4判断张驰处理是否要被重复。张驰处理操作的次数的改变只依赖于构成所需纸张的纤维的分布状态。如果构成纸张的纤维的分布在整个区域内呈现局部集中,就增加张驰处理的重复次数,如果纸张在整个区域内呈现较轻微的局部集中,就减少重复次数。张驰处理的重复次数可以预先设定或者通过输入设备1进行输入,以便用户可自由地设定重复次数。如果张驰处理要被重复(“是”),处理就返回到步骤ST3-3,如果张驰处理已结束(“否”),处理就到达步骤ST3-5。
在步骤ST3-5,如图23所示,子区域形成单元323形成n个圆形子区域MR,各个圆形子区域MR以n个被均匀化的点TN之一为中心。子区域MR的半径R0的值在步骤ST3-2中求出。
然后在步骤ST3-6,随机排列单元324在各个子区域MR中随机地排列纤维数据,以便如图24所示地在这些小的子区域中排列与这些小区域MR的数目相同数目的纤维FI。
利用上述步骤ST3-1至ST3-6,纤维数据形成单元31形成的纤维数据就均匀地和局部均匀地分布在区域中来形成纸纤维结构数据。
如果以这种方式形成了纤维数据,就能够获得在整个区域中具有均匀纤维数据分布以及在小的区域中具有局部纤维数据分布的纤维分布数据。就是说,通过利用均匀化单元322来均匀化点的位置以便在某种程度上遗漏部分点的位置,就可以使纤维数据在小的区域中具有局部分布。相反地,通过在这些子区域中设定与小区域形成单元323形成的各个小区域的数目相同的纤维,就可以使纤维数据在整个区域中具有均匀分布。
纤维数目计算单元33根据如此形成的纤维分布数据求出与象素P相关的纤维数目。就是说,纤维数目计算单元33根据纤维分布数据形成单元32形成的纤维分布数据求出穿过象素P的纤维数目M。对每象素求出这一纤维数目M,作为纸纤维结构数据。具体来说,如果如图25所示对于象素P排列了纤维FI1、FI2、FI3和FI4,则象素P的纤维数目M就等于4。另一方面,相邻纤维数目计算单元34根据纤维方向求出象素P的纤维数目。这样,单元34根据纤维分布数据形成单元32形成的纤维分布数据求出穿过象素P和与象素P相邻的8个象素Pi的纤维数目Mi。
如果纤维穿过象素P,并穿过与该象素P相邻的8个相邻象素Pi中的两个或两个以上的象素,就假定该纤维沿从象素P发出的纤维最初横贯的纤维Pi的方向排列,因此从象素P发出的纤维最初横贯的象素Pi的纤维数目Mi增加1。具体来说,如果纤维按这样的顺序穿过象素P6、P5、P、P1、P2,则纤维数目M5和M1增加1,而纤维数目M6和M2不增加1。
逐个象素地求出纤维数目Mi来提供纸纤维结构数据。具体来说,如果如图14所示,对于象素P和Pi排列了5根纤维FI1、FI2、FI3、FI4和FI5,则象素P的纤维数目M是5,而纤维数目M1、M2、M3、M4、M5、M6、M7和M8分别等于1、1、2、1、2、0、3和0。
毛细管数目设定单元35按照方向对象素P求出毛细管的数目。就是说,计算单元35根据相邻纤维数目计算单元34计算的纤维数目Mi求出沿象素P相邻的8个象素的各个方向形成的毛细管的数目Si。在象素的基础上求出毛细管的数目Si来提供纸纤维结构数据。
由于在纤维间隙中形成的墨水导管就是毛细管,所以毛细管数目Si依赖于纤维数目Mi。但是,如果毛细管数目增大,毛细管的宽度就减小,如果只有少量的毛细管,则毛细管的宽度就增大。因此可以假定即使毛细管数目发生变化,流过这些毛细管的墨水总量基本上保持不变。为了数据的简化,可以将毛细管数目Si简化成为只确定毛细管的存在或不存在的数据。就是说,可以根据毛细管由Mi根纤维构成或者少于Mi根纤维构成而分别将毛细管数目设定为1或0。
在确定Mi根纤维是否构成毛细管时,假定对于等于2或2以上的纤维数目Mi形成了毛细管,如果纤维数目Mi小于2就不能形成毛细管。就是说,对于不小于2或小于2的纤维数目Mi,分别将毛细管数目Si设定为1或0。具体来说,如果如图14所示地对于象素P和象素Pi排列了纤维FI1、FI2、FI3、FI4和FI4,则毛细管数目S1、S2、S3、S4、 S5、S6、S7和S8就分别是0、0、1、0、1、0、1和0。
为了更准确地模仿纸结构,可以在设定毛细管数目Si时把Mi根纤维的交叉角考虑进去。理由是:如果相邻象素的交叉角较大,纤维间隙就增大,纤维间隙就不再起毛细管的作用,因此墨水就不能够流过纤维间隙。
如果要在考虑Mi根纤维交叉角的条件下设定毛细管数目Si,则毛细管计算单元35就将如图26所示,由随机设定相邻纤维的交叉角的交叉角设定单元351和设定毛细管数目Si的毛细管数目设定单元352组成。在利用交叉角设定单元351沿与象素P相邻的象素Pi的方向随机地设定Mi根纤维的相邻纤维的交叉角之后,如果交叉角设定单元351设定的交叉角的至少一个在预定角度内,则毛细管数目设定单元352将毛细管数目Si设定为1,如果交叉角设定单元351设定的交叉角的全部都不在预定角度内,则毛细管数目设定单元352就将毛细管数目Si设定为0。具体来说,如果象素P的纤维数目M1是5,则交叉角设定单元351就如图27所示地随机地设定5根纤维FI1、FI2、FI3、FI4和FI5中各相邻纤维之间的交叉角,θ1、Δθ2、Δθ3和Δθ4。如果交叉角设定单元351设定的交叉角Δθ1、Δθ2、Δθ3和Δθ4中的至少一个在预定角度内,毛细管数目设定单元352就将毛细管数目Si设定为1,如果交叉角设定单元351设定的全部交叉角都不在预定角度内,毛细管数目设定单元352就将毛细管数目Si设定为0。
如果光透射率I也作为纸纤维结构数据被设定,则纸纤维结构数据形成处理器30就包括求出表示在象素中的光透射率的基于象素的光透射率I的光透射率计算单元36,根据纤维数目计算单元33计算的纤维数目M在该象素中排列了纤维。
光透射率计算单元36根据纤维数目M计算基于象素的光透射率I并将计算的光透射率I作为纸纤维结构数据。因为光透射率I是根据纤维数目M进行计算的,所以纤维数目M越大,通过象素的光透射就越少,纤维数目M越小,通过象素的光透射就越多。
参照图28的流程图描述光透射率计算单元36的示例性操作。在以下的描述中,假定光透射率I的值越大,光透射就越少,光透射率I的值越小,光透射就越多。
在步骤ST3-11,光透射率计算单元36将光透射率I的值设定为(dxe)作为初始值,其中d和e为预定常数,0<d<1。
在步骤ST3-12,光透射率计算单元36将处理操作次数的标记f的值设定为0。
在步骤ST3-13,光透射率计算单元36将规定处理操作次数的标记的值递增为1来设定处理操作的次数。
在步骤ST3-14,光透射率计算单元36将f的值与M的值进行比较,以便进行次数等于象素P的纤维数目M的重复处理。如果f≤M,光透射率计算单元36到达步骤ST3-15,否则就结束处理。
在步骤ST3-15,光透射率计算单元36将光透射率I的值设定为(dxe+(1-d)×I)作为由单根纤维造成的光透射率的变化。光透射率计算单元36然后返回到步骤ST3-13,进行次数等于象素P的纤维数目M重复处理。
通过根据如此设定的光透射率I设定各个象素的亮度,并在显示单元5上显示该亮度,就可以显示被纸纤维结构数据模仿的纸的图象,用户就能够目视检测模仿纸纤维结构数据的状态。(4)模糊处理器
参照图29至87详细描述模糊处理器40的示例性实施例。
如果在将毛笔从开始点移向结束点来画图象时毛笔所含的墨水量较少,毛笔移动速度较快或毛笔压力较小,就会因渗开而产生此后称作模糊区域KS的无墨水的区域。模糊处理器40形成图象数据来显示模糊图象。将这样的数据提供给显示单元5,以便在显示单元5的显示表面上画出模糊图象。
模糊处理器40处理的图象是如图30所示由互连包括开始点PS和结束点pe的多个点pa的第一轮廓rn1和互连包括开始点PS和结束点Pe的多个点pb的第二轮廓rn2所包围的图象zk。具体来说,模糊处理器40处理的图象是由上述字体形成处理器20形成的字体的笔划数据所示的图象。
模糊处理器40执行的基本处理是将有墨水状态的有墨水数据设定为在此后称为绘图区域的非模糊区域内的图象象素的图象数据,将无墨水状态的无墨水数据设定为在模糊区域KS内的图象象素的图象数据,以便形成表示模糊图象ZK的图象数据。(4-1)模糊处理所使用的数据
首先说明全轮廓数据、模糊区域数据、模糊参数、形状数据、图象数据以及毛笔数据,这些都是模糊处理器40在进行模糊处理时使用的主要数据。(4-1-1)全轮廓数据
全轮廓数据是规定图象的轮廓和绘图方向的数据。例如,如图31所示,全轮廓数据由第一轮廓数据和第二轮廓数据组成,第一轮廓数据包括互连图象的开始点和结束点的轮廓和绘图方向,第二轮廓数据包括互连图象的开始点和结束点的另一轮廓和绘图方向。
如图31所示,第一轮廓数据是沿绘图方向排列的在图象的第一轮廓上的m个坐标点Ai(i=1,2,3......,m)的数组,m是不小于1的整数。第一个坐标点A1和最后的坐标点Am分别表示图象的开始点和结束点。类似地,如图31所示,第二轮廓数据是沿绘图方向排列的在图象的第二轮廓上的n个坐标点Bj(j=1,2,3......,n)的数组,n是不小于1的整数。第一个坐标点B1和最后的坐标点Bn分别表示图象的开始点和结束点。因此,坐标点A1和B1代表相同的点,坐标点Am和Bn代表相同的点。
如随后所述,对上述全轮廓数据进行补充,以便给第一轮廓数据和第二轮廓数据增加坐标点来进一步平滑图象的轮廓。因此,为了使图象的近似轮廓能被理解,最初设定的第一和第二轮廓数据已经足够。如以下将说明的那样,通过补充给第一和第二轮廓数据增加坐标点,以便第一轮廓数据坐标点的数目m和第二轮廓数据坐标点的数目n将彼此相等。因此最初设定的第一和第二轮廓数据不必彼此相等。
具体来说,这些全轮廓数据是字体形成处理器20形成的字体的笔划数据。因此,模糊处理器40对字体形成处理器20形成的字体的笔划数据进行模糊处理。
如果有多个要画的图象,例如,如果字符或符号由多个笔划组成,每一笔划是要画的图象,就提供多组全轮廓数据来对应各个笔划。设定各组全轮廓数据,使全轮廓数据按照各个图象的绘图顺序排列,以便知道各个图象的绘制顺序。具体来说,该多组全轮廓数据是由字体形成处理器20形成的,并由多个笔划的数据组成的字体。就是说,对于由字体形成处理器20形成的,由多个笔划的数据组成的字体,相应于全轮廓数据的各个笔划的数据按照书写顺序排列,以便设定各个笔划的数据顺序。模糊处理器40对字体形成处理器20形成的字体进行模糊处理。(4-1-2)模糊区域数据
模糊区域数据是表示模糊区域位置的数据,由表示沿着在图象内从开始点延伸至结束点的第一或第二轮廓的m根轨迹的长度的数据组成。这些轨迹以后称为绘图轨迹。具有模糊区域的图象内的位置由这m个轨迹的长度来表示。
如图32所示,绘图轨迹BK是从开始点PS延伸到结束点pe的m根线,这些线沿着图象ZK的宽度以相同的间距彼此间隔开来。两根边缘绘图轨迹分别相当于图象ZK的第一轮廓线rn1和第二轮廓线rn2。虽然为容易理解起见在图32中的绘图轨迹的数目m很小,但为了较准确地表示模糊,绘图轨迹BK的数目m实际上是很大的。
模糊区域数据由在m根绘图轨迹BK上的,开始于开始点PS而终止于模糊开始点KPS的m个模糊开始长度数据和在m根绘图轨迹BK上的,开始于开始点PS而终止于模糊结束点KPE的m个模糊结束长度数据组成,由此规定了在绘制具有模糊区域KS的ZK时的位置。
如果在给定的绘图轨迹BK中没有模糊区域KS,就将在该绘图轨迹上的模糊开始长度数据和模糊结束长度数据设定为相等值。说是说,将在绘图轨迹上的模糊开始长度数据和模糊结束长度数据都设定为0或1。
模糊开始长度数据是在0和1范围内的值,该值是这样设定的:将开始于开始点PS,结束于结束点Pe的图象ZK的长度设为1,例如第一轮廓长度和第二轮廓长度的平均值,然后将开始点远至模糊开始点KPS的长度进行归一化。类似地,模糊结束长度数据也是0和1范围内的值,它是通过将图象的长度设为1,然后对开始点远至模糊结束点PE的长度进行归一化而得到的。这简化了渗开开始长度数据和渗开结束长度数据。当然,可以分别将渗开开始长度数据和渗开结束长度数据设定为开始点PS等于模糊开始点KPS的实际长度和开始点PS等于模糊结束点KPE的实际长度。
利用模糊区域数据,在具有模糊区域的图象内的位置就可以用模糊开始长度数据和模糊结束长度数据来表示,即用两个一维阵列数据来表示。换句话说,利用这样的模糊区域数据,模糊区域位置就可以用简化数据来确定。此外,如果根据图形长度归一化渗开开始数据和渗开结束数据,则规定模糊区域位置的数据可进一步简化。
模糊区域数据是为相应的单个模糊区域设定的数据,因此,如果在图象中有多个模糊区域,就可以在每一模糊区域中设定模糊区域数据。
图33表示上述模糊区域数据的实例。图33所示的模糊区域数据是这样的数据,即对于具有两个模糊区域KS的图象,提供了8条模糊轨迹BK1、BK2、BK3、BK4、BK5、BK6、BK7和BK8,根据图象长度被设定为1,模糊区域数据被归一化。应当提出,为说明起见简化了图3 3所示的模糊区域数据,为了更准确地确定模糊区域KS,绘图轨迹的数目,即模糊开始长度数据和模糊结束长度数据的数目被设定为较大的值,同时模糊开始长度数据和模糊结束长度数据的有效数位也被设定为较大的值。
参照图34,由图33所示模糊区域数据表示的模糊区域KS由第一模糊区域KS1和第二模糊区域KS2组成,第一模糊区域KS1的四周环绕着在绘图轨迹BK2上的模糊开始点KP1和模糊结束点KP2,在绘图轨迹BK3上的模糊开始点KP3和模糊结束点KP4,在绘图轨迹BK4上的模糊开台点KP5和模糊结束点KP6,在绘图轨迹BK5上的模糊开始点KP7和模糊结束点KP8,以及在绘图轨迹BK6上的模糊开始点KP9和模糊结束点KP10,第二模糊区域KS2的四周环绕着在绘图轨迹BK4上的模糊开始点KP11和模糊结束点KP12,在绘图轨迹BK5上的模糊开始点KP13和模糊结束点KP14,在绘图轨迹BK6上的模糊开始点KP15和模糊结束点KP16,在绘图轨迹BK7上的模糊开始点KP17和模糊结束点KP18,以及在绘图轨迹BK8上的模糊开始点KP19和模糊结束点KP20。
如果将图象长度设定为1,则在绘图轨迹BK2、BK3、BK4、BK5和BK6上,开始点为模糊开始点KP1、KP3、KP5、KP7和KP9的长度就分别是0.12、0.31、0.25、0.14和0.20,而开始点为模糊结束点KP1、KP3、KP5、KP7和KP9的长度分别是0.51、0.60、0.69、0.42和0.55。另一方面,在绘图轨迹BK4、BK5、BK6、BK7和BK8上,开始点为模糊开始点KP11、KP13、KP15、KP17、KP19的长度分别是0.71、0.84、0.82、0.78和0.73,而开始点为模糊结束点KP12、KP14、KP16、KP18和KP20的长度分别是0.92、0.93、0.91、0.95和0.94。(4-1-3)模糊参数
模糊参数是用于形成模糊区域数据的参数,由以下参数组成:用于设定模糊区域数据的模糊开始长度数据,以便规定沿着图象长度的模糊开始位置的参数C1,用于设定模糊区域数据的模糊结束长度数据,以便规定沿着图象长度的模糊结束位置的参数C2,用于规定沿着图象宽度的模糊的上缘的参数C3,用于规定沿着图象宽度的模糊的下缘的参数C4,用于规定沿着图象长度的模糊开始位置变化范围的参数C5,用于规定沿着图象长度的模糊结束位置变化范围的参数C6,以及规定沿着图象宽度的模糊程度的参数C7。如以下所说明的那样,这些参数C1至C7规定了模糊区域KS的图象中的位置。
如图36所示,对于参数C1至C3,设定专门的值来规定模糊区域KS在图象ZK的位置。
就是说,范围在0至1的C1的值是将图象长度设定为1,然后据此来表示开始点PS为模糊开始位置的长度而得到的,而范围在0至1的C2值是将图象长度设定为1,然后归一化表示开始点PS为模糊结束点的长度而得到的。参数C1和C2的关系自然是C1≤C2。
只要据此可以知道模糊开始位置或模糊结束位置,就可以用不同的方式来设定参数C1和C2。例如,可将参数C1设定为表示在绘图轨迹BK上的模糊开始位置KPS的平均位置,将参数C2设定为表示在绘图轨迹BK上的模糊结束位置KPE的平均位置。参数C1和C2都可以是实际长度,不必利用被设定为1的绘图长度进行归一化。
将参数C3和C4设定为被绘图轨迹BK的数目m归一化的分界模糊的上边缘和下边缘、在0至1范围内的值,该值相应于绘图轨迹BK的数目。就是说,在m根绘图轨迹BK中,第(C3×m)根绘图轨迹表示模糊区域KS上边缘,第(C4×m)根绘图轨迹表示模糊区域KS的下边缘。参数C3和C4将沿图象ZK的宽度的模糊范围,进行了分界。
这些参数C3、C4的值被设置为使得对于模糊区域KS的较宽和较窄的宽度来说|C3-C4|将分别为较大和较小。如果模糊区域KS在一个或其它方向上沿着图形ZK的宽度被偏移,则参数C3、C4的值设置为接近0或1的值。
可以以一种不同的方式来设置参数C3和C4,只要沿图形的宽度的上面和下面位置能由此知道。例如,参数C3和C4可设置为使得分别等于从该图形ZK的一轮廓到该模糊区域的上端部的长度和等于从该图形ZK的另外轮廓到该模糊区域的下端部的长度。虽然参数C3、C4用绘制轨迹BK的数目m来归一化,但绘制轨迹BK的实际数目可自然地使用而无须归一化。
参数C5被设置为在用来说明模糊起始位置的变化范围的从0到0.5×(C2-C1)范围内的一个值,此值是用被置为1的图形长度来归一化的。同样地,参数C6被设置为在用来说明模糊结束位置的变化范围的从0到0.5×(C2-C1)范围内的一个值,此值是用被置为1的图形长度来归一化的。
参数C5、C6可以一种不同方式来设置只要在模糊起始位置或模糊结束位置的变化能由此知道。虽然参数C5、C6由置为1的图形长度来归一化,但实际的长度可被自然地使用而无须归一化。
参数C7被置为在从0到1的表示归一化模糊浓度(blurring den-sity)的范围内的一个值,以便把在由参数C3和C4所规定的范围内不存在模糊和在整个范围内存在模糊分别用0和1表示。例如,如果参数C7是0.4并且穿过由参数C3、C4所规定的区域的绘制轨迹BK数目为K个,则在所绘制轨迹之中(0.4×K)绘制轨迹和((1-0.4)×K)绘制轨迹分别表示模糊部分(也就是在该部分中没有墨水)和非模糊部分(也就是在该部分中有墨水)。
参数C7可以以任何不同方式而被设置,只要可以由此知道沿图形宽度的模糊浓度。例如,参数C7可被设置为在模糊的部分所出现的绘制轨迹BK的实际数目。
应提及的是,当在纸上用毛笔实际地绘制图形时,可以产生其中模糊范围大的一类模糊,从而使该模糊部分出现的墨水的量较小。这种模糊类型后面称之为强模糊(intense blurring)。在该强模糊的情况中,在模糊起始部分和模糊结束部分中的变化趋于减小。相反,在图38所示的模糊的情况中,该模糊的范围小,从而在模糊部分所出现的墨水的量就大。这种类型的模糊后面称之为线性模糊。在线性模糊的情况中,在模糊起始部分和模糊结束部分中的变化趋于增加。
因此,为了表示强模糊,把参量C7设置为0.8到1.0量级的一较大值,同时把参量C5和C6设置为0.4到0.7量级的一较小值。另一方面,为了表示线性模糊,把参量C7设置为0.4到0.7量级的一较小值,同时把参量C5和C6设置为1/6到1/8量级的一较大值。
从一个模糊区域到另一模糊区域设置这些参数,这样一来,如果存在有多个模糊区域,则设置多个模糊参数,以处理各自的模糊区域。基于从一个模糊区域到另一个模糊区域设置的模糊参数而产生模糊区域数据以处理各自模糊区域。(4-1-4)形状数据
如图39中的例子所示,形状数据是规定图形形状的数据,并且形状数据包括长度数据、宽度数据、曲率数据和弯曲点数据。基于所补充的全轮廓数据计算这些数据值,这样,第一轮廓数据坐标点的数与第二轮廓数据坐标点的数会彼此相等。
长度数据是规定从一图形的起始点到结束点长度的数据,并且如图39所示包括有一长度L。这个长度L等效于上述图形长度。对于这个长度L,设置自第一轮廓数据所求得的第一轮廓的长度和自第二轮廓数据所求得的第二轮廓的长度的平均值。具体说,第一轮廓的长度是依次计算的第一轮廓数据的相邻坐标点Aj和Aj+1之间距离的值之和,同时第二轮廓的长度是依次计算的第二轮廓数据的相邻坐标点Bj和Bj+1之间距离的值之和。也就是,如果坐标点Ai的X坐标和Y坐标分别为XAi和Ai,坐标点Ai+1的X坐标和Y坐标分别为XAi+1和YAi+1,坐标点Bi的X坐标和Y坐标分别为XBi和YBi,坐标点Bi+1的X坐标和Y坐标分别为XBi+11和YBi+1时,则长度L从等式(4-1)求得:
宽度数据是表示图形宽度的数据,并且包括作为对第一或第二轮廓数据的每个坐标点设置的坐标点Ai和坐标点Bi之间的W个宽度Wi(i=1,2,3,......,W),这里W是第一或第二坐标点的数,如图39所示。
曲率数据是表示图形的弯曲度的数据,并且包括作为对第一或第二轮廓数据的每个坐标点设置的W个曲率ri(i=1,2,3,......,W)。具体说,为了求得曲率ri,要求出坐标点Ai-1和坐标点Bi-1之间的中点的坐标点Ci-1、坐标点Ai和坐标点Bi之间的中点的坐标点Ci以及坐标点Ai+1和坐标点Bj+1之间的中点的坐标点Ci+1,并且要计算出连接坐标点Ci-1和坐标点Ci的直线和连接坐点Ci和坐标点Ci+1的直线之间的角度θi,这个角度θi就是对坐标点Ai或坐标点Bi的曲率ri。对于该曲率来说该角度的范围是从0°到180°,并且该角度越小或越大,图形的弯曲相应越大或越小。应注意的是,为了规定无弯曲状态,对于起始点A1或B1的曲率ri和对于终端点Aw和Bw的曲率rw预置到180°。
弯曲点数据是用于弯曲点的数据,在这些弯曲点处该曲率ri表明弯曲超过了一预置角度。该弯曲点数据包括弯曲点位置r_p和弯曲点数r_n。弯曲点位置r_p规定了超过一预定值(例如115°)的曲率ri的序号,而弯曲点r_n的数是这种曲率ri的数目。还可能只设置弯曲点位置r_p来作为曲率数据和从设置的弯曲点位置r_p的序号求出弯曲点数据r_n。(4-1-5)图形数据
如前所述,图形数据是用来在显示器件5上显示图形的从象素到象素设置的数据。对于一给定的象素该图形数据包括在该象素中规定墨水的状态的墨水数据和规定该象素亮度的亮度数据,如图41所示。墨水数据包括有规定在该象素中墨水的存在和不存在的有墨水/无墨水数据、规定在该象素中墨水浓度的墨水浓度数据和规定在该象素中墨水量的墨水量数据。(4-1-6)毛笔数据
毛笔数据是模拟一毛笔的数据,如图42所示,它包括墨水量IOK(K=1,2,3,......,m)和墨水浓度IDK(K=1,2,3......,m),墨水量和墨水浓度与m个绘制轨迹相关而设置。基于墨水量IQK和墨水浓度IDK,设置图形数据的上述墨水量数据和墨水浓度数据,如以下将描述的。(4-2)模糊处理器的结构
现在说明模糊处理器40的结构。
参见图43,模糊处理器40包括一用来设置毛笔数据的一毛笔数据设置单元41和用来读取诸如来自外部存贮设备4或存贮器3的由字体(Font)形成处理器20所形成的字体的全轮廓数据的一数据读出单元42。模糊处理器还包括一个用来基于自数据读出单元42所提供的全轮廓数据,设置模糊参数的模糊参数设置单元43;和一个用来基于由模糊参数设置单元43所置的模糊参数,形成模糊区域数据的模糊区域数据形成单元44;该模糊处理器类似地包括一个用来基于自数据读出单元42所提供的全轮廓数据在一图形中的各象素上设置墨水数据、设置在毛笔数据设置单元41中设置的毛笔数据和设置由模糊区域数据形成单元44所形成的模糊区域数据的墨水数据设置单元45;和一个用来设置象素中的亮度数据的一亮度数据设置单元46,对此象素,墨水数据设置单元45已设置了墨水数据。
由亮度数据设置单元46所设置的亮度数据被提供给显示器件5并且相应于该亮度数据的图形在显示器件5上被显示以使在显示器件5上显示一模糊图形。(4-2-1)毛笔数据设置单元
如图44所示例子,毛笔数据设置单元41包括一用来从多个预形成的毛笔数据中选择毛笔数据的毛笔数据选择单元411;和一个用来基于来自输入器件1的输入数据形成毛笔数据的毛笔数据形成单元412。由毛笔数据选择单元411选择的毛笔数据或由毛笔数据形成单元412所形成的毛笔数据被提供给墨水数据设置单元45。
毛笔选择单元411从存储器3或外部存储设备4中读出多个毛笔数据并且响应于用户的启动,选择响应于用户输入的信号的多个毛笔数据中的一个。特别是,如果由各自的毛笔要绘制的图形被显示在显示器件5上,并且用户借助于诸如鼠标器之类的输入器件,从在显示器件5中所显示的多个图形中通过选择所希望的图形而选择了毛笔数据,那么,毛笔选择单元411基于自输入器件1的相应于用户启动的一信号来选择毛笔数据。毛笔选择单元411将所选择的毛笔数据传送到墨水数据选择单元45。其结果是可以容易地由用户选择所希望的图形绘制所需的毛笔数据。
毛笔数据形成单元412基于自输入器件1所输入的数据而形成毛笔数据。具体说,如图45的例子所示,基于在由输入器件1所输入的毛笔上的各个点上的墨水量值,该毛笔数据形成单元412在该毛笔上每个点计算墨水量。如图46的例子所示,基于在该毛笔的各个点上的墨水浓度值,毛笔数据形成单元412计算毛笔上每个点的墨水浓度。以这种方式,通过仅仅输入在该毛笔中所包含的墨水浓度或墨水量的近似分布并通过在毛笔输入器件处形成新的毛笔数据可以简化该输入器件1的数据输入。
为了进一步简化,如图47所示的例子,还可以基于在由输入器件1所输入的毛笔中的整个的墨水量由毛笔形成单元412计算在该毛笔中的每个点上的墨水量。如图48的例子所示,相类似地可以基于在由输入器件1所输入的毛笔中的整个墨水浓度,由该毛笔形成单元412计算在该毛笔中每个点上的墨水浓度。(4-2-2)数据读出单元
如图49中的例子所示,数据读出单元42包括有用来从输入器件1、存储器3或外部存储器件4读出一个或多个全轮廓数据的多个轮廓数据读取单元421;用来按照一预定的规则相应于来自多个轮廓数据读取单元421的全轮廓数据的模糊图形而选择全轮廓数据的轮廓数据选择单元422;以及用来选择由多个轮廓数据读取单元421所提供的一个或多个全轮廓数据的一轮廓数据补充单元423。
多个轮廓数据读取单元421从输入器件1、存储器3或外部存储器件4读取一个或多个全轮廓数据。具体说,是读取一个或多个表示具有至少一笔划的模糊字符或符号,也就是由上述字体形成单元20所制备的字体。
如果由多个轮廓数据读取单元421读取的一个或多个全轮廓数据表示一字符或符号,也就是如果各个全轮廓数据相应于构成该字符或符号的各笔划,则轮廓数据选择单元422根据预定的规则从全轮廓数据中间选择相应于模糊图形的全轮廓数据。由轮廓数据选择单元422所选择的全轮廓数据所表示的图形将是该模糊图形的一目标,而由未选择的全轮廓数据所表示的图形不是此模糊图形的目标。轮廓数据选择单元422将对其作为模糊图形的目标的全轮廓数据的信息送到模糊参数设置单元43和墨水数据设置单元45。
其原因是,如果字符是用毛笔在纸上实际的书写,则不一定在构成字符的所有笔划中都产生模糊,这样在该字符中通常共同存在有模糊笔划和非模糊笔划。如下面将要说明的,在模糊笔划和非模糊笔划之间存在有一定的统计规律。根据预置规则,轮廓数据选择单元422选择构成该模糊图形的目标的全轮廓数据。
具体说,这个预置规则规定所选择的全轮廓数据数与整个轮廓数据数的比不大于一预定值,例如三分之一。也就是,该轮廓数据选择单元422从被提供到轮廓数据选择单元422的所有全轮廓数据中首先选择具有由该全轮廓数据所表示的最长笔划的全轮廓数据。该轮廓数据选择单元422还从除了紧接在上述选择最长全轮廓数据之前和之后的全轮廓数据之外的全轮廓数据之中选择具有由全轮廓数据所表示的较长笔划的全轮廓数据。该轮廓数据选择单元422重复上述操作直到所选择的全轮廓数据数达到整个全轮廓数据的三分之一为止。预置规则还可以是这样一种规则,即从提供给该轮廓数据选择单元422的一个或多个全轮廓数据中选择全轮廓数据以便使得所选择的全轮廓数据对全轮廓数据的总数的比不大于该预置比,例如三分之一,并且从剩余全轮廓数据中只随机地选择一个全轮廓数据。
通过按照预置规则从一个或多个全轮廓数据中选择作为模糊图形的一目标的全轮廓数据和通过绘制该字符,使得在由所选择的全轮廓数据所表示的笔划中产生模糊而由未选择的全轮廓数据所表示的笔划中不产生模糊,从而该字符可以被绘制得更为美观。
但是,如果由多个全轮廓数据读取单元421读取的一个或多个全轮廓数据表示除字符或符号之外的一图形,则轮廓数据选择单元422选择由多个全轮廓数据读取单元421所读取的所有全轮廓数据作为是模糊图形的目标的全轮廓数据。
另一方面,如图49中的例子所示,轮廓数据补充单元(compl-ementing unit)423包括有一用来向由多轮廓数据读取单元421所提供的全轮廓数据的第一轮廓数据和第二轮廓数据增补坐标点的轮廓数据增补单元424和一用来使自多个轮廓数据读取单元421所提供的第一轮廓数据的坐标点数与第二轮廓数据的坐标点数相符合的轮廓数据调整单元425。
轮廓数据补充单元423通过轮廓数据增补单元424向第一轮廓数据和第二轮廓数据增补坐标点以便在这些坐标点之间产生具有较小数的新坐标数据,并且通过轮廓数据调整单元425向这些新的全坐标点进一步增补坐标点以形成新的全轮廓数据,在其中第一轮廓数据的坐标点数等于第二轮廓数据的坐标点数。
具体地说,如果第一轮廓数据的相邻坐标点Ai和Ai+1之间的距离是大于一预置值,则轮廓数据增补单元424在相邻坐标点Ai和Ai+1之间增补坐标点以形成新的第一轮廓数据,这样相邻坐标点之间的距离将小于一预置值。另一方面,如果第二轮廓数据的相邻坐标点Bi和Bi+1之间的距离是大于一预置值,则轮廓数据增补单元424在相邻坐标点Bi和Bi+1之间增补坐标点以形成新的第二轮廓数据,这样相邻坐标点之间的距离将小于一预置值。被选择的预置值使得由新的第一和第二轮廓数据所表示的第一和第二轮廓将呈现平滑。
轮廓数据增补单元424增补坐标点使得使用样条曲线或Bezier曲线在顺序连接坐标点Ai所产生的第一轮廓和顺序连接坐标点Bj所产生的第二轮廓将变得平滑。具体说,轮廓数据增补单元424将在起始点的坐标点A1处的切线方向设置为从坐标点A1向坐标点A2的前进方向以便设置一横越坐标点A1的样条曲线,并且在样条曲线上将这些坐标点增补到第一轮廓数据。轮廓数据增补单元424还将在起始点的坐标点B1处的切线方向设置为从坐标点B1向坐标点B2的前进方向以便设置横越坐标点Bj的样条曲线,并且在样条曲线上将该坐标点补充到第二轮廓数据。
通过在轮廓数据增补单元424中增补坐标点,第一和第二轮廓变为平滑,因而能使一被绘制的图更为美观。
轮廓数据增补单元424将全轮廓数据发送到轮廓数据调整单元425,在其中坐标点之间的距离变得小于预置值并且第一和第二轮廓变得平滑。
如果,在从轮廓数据增补单元424所提供的全轮廓数据中,第一轮廓数据的坐标点数和第二轮廓数据的坐标点数互相不同时,轮廓数据调整单元425向第一轮廓数据或第二轮廓数据增补坐标点,从而使得第一和第二轮廓数据的坐标点数变成相等,以便形成新的第一和第二轮廓数据。
具体说,轮廓数据调整单元425从具有较小数目的坐标点的第一和第二轮廓数据中的一个开始,选择在坐标点之间具有一较宽距离的两个相邻坐标点。如果在该坐标点之间的距离全都相同,则轮廓数据调整单元425随机选择二个坐标点。轮廓数据调整单元425在连接这些两个坐标点的一直线、Bezier曲线或样条曲线上增补一坐标点,并且和这些坐标点有相等的间隔。所增补的坐标点能够使得第一和第二轮廓平滑并且降低了坐标点之间距离的变化。
因此,轮廓数据增补单元423向由多个轮廓数据读取单元421所提供的全轮廓数据增补新的坐标点以形成新的全轮廓数据。全轮廓数据补充单元423向模糊参数设置单元43和墨水数据设置单元45提供新的全轮廓数据。(4-2-3)模糊参数设置单元
参见图50,模糊参数设置单元43包括有一为了响应于用户启动的输入器件1的信号而从多个模糊参数中选择模糊参数而用来从存储器3或外部存贮器件4读取多个预形成的模糊参数的模糊参数选择单元431;和一用来基于从输入装置1输入的作为从起始点到终点绘制图形的运送毛笔的毛笔运送速率和毛笔压力分布而计算模糊参数的第一模糊参数计算单元432。该模糊参数设置单元还包括有基于由自数据读出单元42所提供的全轮廓数据所表示的图形形状用来计算模糊参数的第二模糊参数计算单元433,和用来由通过输入器件1所输入的参数C1至C7来形成模糊参数的一模糊参数输入器件434。
模糊参数选择单元431向模糊区域形成单元44传送所选择的模糊参数,而第一模糊参数计算单元432向模糊区域形成单元44传送所计算的模糊参数。第二模糊参数计算单元432向模糊区域形成单元44传送所计算的模糊参数。模糊参数输入器件434向模糊区域形成单元44传送所形成的模糊参数。
模糊参数选择单元431从具有由存储器3或外部存贮器件4所提供的有参数C1至C7的值的不同组合的多个预形成模糊参数中选择模糊参数。具体说,利用模糊参数所得到的典型模糊例子被显示在显示器件5上。如果用户通过诸如一鼠标器之类的输入器件从在显示器件5上所显示的多个模糊例子中选择所期望的模糊例子,从而选择模糊参数,则模糊参数选择单元431基于来自响应于用户启动的输入器件1的信号而选择模糊参数。模糊参数选择单元431将所选择的模糊参数传送到模糊区域数据形成单元44。其结果是用户可以容易地选择用来绘制所期望图形所需的模糊参数。
第一模糊参数计算单元432基于自输入器件1输入的速度分布数据和毛笔分布数据而计算参数C1至C7,并将包括这些参数C1至C7的模糊参数传送到模糊区域数据形成单元44。该速度分布数据是规定在从起始点到结束点之间绘制图形期间毛笔运送速度的分布数据,并且如图51所示包括有在该图形中的g个位置上规定毛笔运送速度的g个速度Vi(i=1,3,......,g)。该毛笔分布数据是规定在从起始点到结束点绘制图形期间毛笔压力的分布的数据,并且如图51所示包括有在图形的g个位置上规定毛笔压力的g个压力Pi(i=1,2,3,......,g)。
对于用来输入速度分布数据和毛笔压力分布数据的输入器件1采用了一图形输入板(tablet)。也就是,用户将用该输入板的笔移动速度输入作为速度分布数据,同时输入笔压力作为毛笔分布数据。这就能够更容易地输入速度分布数据和毛笔分布数据。
第二模糊参数计算单元433基于由从后面说明的数据读出单元42所提供的全轮廓数据所表示的图形形状而计算参数C1至C7,并且向模糊区域数据形成单元44传送包括参数C1至C7的模糊参数。
模糊参数输入单元434将自输入器件1所输入的参数C1至C7作为模糊参数传送到模糊区域数据形成单元44。
基于响应于由用户操作的来自输入装置1的信号,模糊参数设置单元43确定模糊参数选择单元431、第一模糊参数计算单元432、第二参数计算单元433和模糊参数输入器件434中的那一个单元被用于设置该模糊参数。如果用户希望设置模糊参数同时观察该模糊方式,则他或她选择模糊参数选择单元431。如果用户希望基于实际毛笔运送速度或实际书写压力来设置模糊参数,则他或她选择第一模糊参数计算单元432。如果用户希望设置模糊参数,以产生通常的模糊,则他或她选择一模糊参数计算单元432。最后,如果用户希望自由地设置模糊参数,则他或她选择模糊参数输入器件434。(4-2-4)模糊区域数据形成单元
如同下面将要说明的,模糊区域数据形成单元44基于自模糊参数设置单元43所提供的模糊参数来形成模糊区域数据。该模糊区域数据形成单元44将所形成的模糊区域数据传送到墨水数据设置单元45。(4-2-5)墨水数据设置单元
参见图52,该墨水数据设置单元45包括有一用来基于自数据读取单元42所提供的全轮廓数据来检测该象素的第一象素检测单元451,和用来在由第一象素设置单元451所检测的象素上设置图象数据的第一图象数据设置单元452。该墨水数据设置单元45还包括有基于由第一象素检测单元451所检测的象素来检测该象素的第二象素检测单元453以及在由第二象素设置单元451所检测的象素上用来设置图象数据的一第二图象数据设置单元454。
基于自数据读取单元42所提供的全轮廓数据,第一象素检测单元451检测在连接第一轮廓数据的坐标点Ai和第二轮廓数据的坐标点Bi的线段Li上的象素。以这种方式,一个或多个象素(通常为多个象素)被检测。i的范围是从1到W。对于i=1所检测的象素是在起始点的象素,同时对i=W所检测的象素是在结束点的象素。
第一图象数据设置单元452包括有一墨水/无墨水设置单元455,一第一墨水浓度设置单元456和一第一墨水量设置单元457。第一图象数据设置单元452基于自毛笔数据设置单元41所提供的毛笔数据、自数据读取单元42所提供的全轮廓数据和自模糊区域数据形成单元44所提供的模糊区域数据,在由第一象素检测单元451所检测的象素中设置墨水数据,并且将该墨水数据传送到第二图象数据设置单元454和亮度数据设置单元46。
基于全轮廓数据和模糊区域数据,该墨水/无墨水数据设置单元455判断由第一象素检测单元451所检测的象素是否在模糊区域KS之内。如果该象素是在模糊区域KS之内,则墨水/无墨水设置单元455设置墨水/无墨水数据以规定在该象素内不存在墨水的状态。如果该象素不在该模糊区域KS之内,则墨水/无墨水设置单元455设置墨水/无墨水数据以规定在该象素内存在墨水的状态。如果存在有由第一象素检测单元451所检测的多个象素,则墨水/无墨水设置单元455通常判断这些象素是否单独地在该模糊区域中以便设置墨水/无墨水数据。
如果由与横越该象素的图形绘制轨迹有关的模糊区域数据的模糊起始长度数据和模糊终端数据所表示的模糊起始长度和模糊终端长度分别由Ks和Ke表示,并且从起始点直到线段li的图形长度是Li,则分别对于Ks<Li<Ke和Li≤Ps或Ke≤Li,该墨水存在/墨水不存在数据设置单元455判断该象素是在该模糊区域Ks的内部和外部。但是,如果设置了多个模糊区域数据,这个判断是对于每个模糊区域KS而给出的。也就是,如果被判断的象素是出现在由任何模糊区域数据所表示的模糊区域KS中,则该象素被判断为是在模糊区域KS之内。反之,如果被判断的象素是出现在由所有模糊区域数据所表示的模糊区域KS之外,则该象素被判断为是在模糊区域KS的外部。
另一方面,基于与横越第一象素检测单元451所检测的象素的图形绘制轨迹有关的毛笔数据,第一墨水浓度设置单元456在由第一象素检测单元451所检测的象素中设置墨水浓度,这样从起始点直至线段li的图形的长度越短墨水浓度会越高。第一墨水浓度设置单元456将墨水浓度数据传送到第二图象数据设置单元454和亮度数据设置单元46。
基于与横越第一象素检测单元451所检测的象素的图形绘制轨迹有关的毛笔数据,第一墨水量设置单元457在由第一象素检测单元451所检测的象素中设置墨水量数据,这样从起始点直至线段li的图形的长度越短,墨水量会越大。第一墨水量设置单元457将墨水量数据传送到第二图象数据设置单元454和亮度数据设置单元46。
但是,如果对该象素设置墨水存在/墨水不存在数据以规定墨水不存在数据,则第一墨水浓度设置单元456将墨水浓度数据置为0,同时第一墨水量设置单元457将墨水量数据置为0。如果存在有多个由第一象素检测单元451所检测的象素,则第一墨水浓度设置单元456和第一墨水量设置单元457通常分别计算基于象素的墨水浓度和墨水水量以设置的墨水浓度数据和墨水量。
第二象素检测单元453检测处在线段li上的象素之间的象素(如同由第一象素检测单元451所检测的那样)和检测在相邻于线段li的线段li+1上的一象素(如同由第一象素检测单元451所检测的那样)。通常,多个象素是由第二象素检测单元453所检测。如果在线段li上的象素和相邻于线段li的线段li+1上的象素是相互邻接的象素,则由第二象素检测单元453检测零象素。
第二图象数据设置单元454包括有一用来在由第二象素检测单元453所检测的象素中设置墨水浓度数据的第二墨水浓度设置单元458和用来在由第二象素检测单元453所检测的象素中设置墨水量数据的第二墨水量设置单元459。
第二墨水浓度设置单元458基于在由第一图象数据设置单元452所提供的线段li上的象素中所设置的墨水浓度数据来计算在线段li中的象素和由第二象素检测单元453所检测的象素之间的距离,在由第一图象数据设置单元452所提供的线段li+1的象素中所设置的墨水浓度数据、以及在线段li+1中的象素和由第二象素检测单元453所检测的象素之间的距离、由第二象素检测单元453所检测的象素中的墨水浓度,并在由第二象素检测的单元453所检测的象素上设置墨水浓度并将该墨水浓度传送到亮度数据设置单元46。
基于在由第一图象数据设置单元452所提供的线段li上的象素中所设置的墨水量数据,第二墨水量设置单元459计算在线段li上的象素和由第二象素检测单元453所检测的象素之间的距离、在由第一图象数据设置单元452所提供的线段li+1上的象素中所设置的墨水量数据、以及在线段li+1上的象素和由第二象素检测单元453所检测的象素之间的距离、由第二象素检测单元453所检测的象素中的墨水量,并在第二象素检测单元453所检测的象素上设置墨水量数据并将该墨水量数据传送到亮度数据设置单元46。(4-2-6)亮度数据设置单元
基于由上述纸纤维结构数据形成单元所形成的纸纤维结构数据和在第一和第二图象数据设置单元中所设置的图象数据,亮度数据设置单元46计算在每个象素中的亮度并对每个象素设置亮度数据。
基于由纸纤维结构数据所表示的纤维M的数和在第一图象数据设置单元452及第二图象数据设置单元454中设置的墨水浓度和墨水量数据,如像接着说明的那样,亮度数据设置单元46计算每个象素的亮度数据。但是,对于在第一图象数据设置单元452或在第二图象数据设置单元454中不设置图象数据的象素,设置缺省数据(这种数据规定纯白色或纯黑色)。
亮度数据设置单元46在构成纸纤维结构数据的数据中计算只使用纤维数M的数据的亮度。因此对于具有至少纤维数M的纸纤维结构数据是满足的,同时它对于具有诸如毛细管数的数据是不必要的。(4-3)模糊处理
下面说明模糊处理器40的操作。
如果模糊选择单元431或第一模糊参数计算单元432用于设置模糊参数,则模糊处理器40通过以下步骤(a)到(d)来执行模糊操作:
(a)由毛笔数据设置单元41设置毛笔数据的步骤;
(b)利用模糊参数选择单元431或第一模糊参数计算单元432通过模糊参数设置单元43设置模糊参数和接着基于由模糊参数设置单元43设置的模糊参数通过模糊区域数据形成单元44形成模糊区域数据的步骤;
(c)由数据读取单元42从诸如输入器件1、存储器3、外部存贮器4或字体形成处理器20读取一个或多个全轮廓数据并由轮廓数据选择单元422选择该全轮廓数据作为模糊绘制的目标;和
(d)基于自数据读取单元42所提供的全轮廓数据,由毛笔设置单元41设置的毛笔数据和由模糊区域数据形成单元4形成的模糊区域数据,由墨水数据设置单元45在图形的象素中设置墨水数据,并随后对在由墨水数据设置单元45所设置了墨水数据的象素中设置亮度数据。
步骤(a)到(c)可以任何顺序被执行,只要这些步骤是在步骤(d)之前执行。
如果第二模糊参数计算单元433用来设置模糊参数,则模糊处理器40由下述步骤(e)到(h)来执行模糊绘制:
(e)由毛笔数据设置单元41设置毛笔数据的步骤;
(f)由数据读出单元42从输入器件1、存储器3、外部存贮器件4或字体形成处理器20读出一个或多个全轮廓数据,并由轮廓数据选择单元422选择该全轮廓数据作为模糊绘制的目标;
(g)基于模糊数据选择单元422所选择的作为模糊绘制的目标的全轮廓数据,利用第二模糊参数计算单元43,由模糊参数设置单元43设置模糊参数,并且随后基于由模糊参数设置单元43所设置的模糊参数由模糊区域数据形成单元44形成模糊区域数据;和
(h)基于由数据读取单元42提供的全轮廓数据、由毛笔设置单元41设置的毛笔数据和由模糊区域数据形成单元44所形成的模糊区域数据而由墨水数据设置单元45在图形的象素中设置墨水数据,并且随后在已由墨水数据设置单元45设置了墨水数据的象素中设置亮度数据。
步骤(e)可在所执行的任何阶段被设置,只要它在步骤(h)之前执行。
下面将详细说明模糊绘制处理步骤中的,由模糊参数设置单元43执行的模糊参数的设置、由模糊区域数据形成单元44执行的模糊区域数据的形成、由轮廓数据选择单元422执行的全轮廓数据的选择和由墨水数据设置单元45执行的墨水数据的选择。(4-3-1)由模糊参数设置单元的模糊参数的设置
现在参照图53到57的流程图说明模糊参数设置单元43的工作例子。
在步骤ST4-1-1,有关模糊参数选择单元431、第一模糊参数计算单元432或第二模糊参数计算单元433所采用的一命令从输入器件1被输入到模糊参数设置单元43。
然后,在步骤ST4-1-2、ST4-1-3、ST4-1-4和ST4-1-5中,基于在步骤ST4-1-1中所输入的命令,模糊参数设置单元43判断模糊参数选择单元431、第一模糊参数计算单元432、第二模糊参数计算单元433或模糊参数输入器件434中的那个单元被采用。如果模糊参数选择单元431被使用,则模糊参数设置单元43被转移到步骤ST4-1-21,反之,如果第一模糊参数计算单元432被使用,则模糊糊参数设置单元43被转移到步骤ST4-1-31。如果第二模糊参数计算单元433被使用,则模糊参数设置单元43转移到步骤ST4-1-41,反之,如果模糊参数输入器件434被使用,则模糊参数设置单元43被转移到步骤ST4-1-51。
参见图54,在步骤ST4-1-21,如果利用模糊参数选择单元431设置了该模糊参数,则模糊参数设置单元转移到此步骤,并在此步骤将一个在上述用来形成多个模糊参数的命令从输入器件1输入到模糊参数选择单元431。具体说,通过使用在显示器件5中的每个预形成的多个模糊参数而产生模糊的显示例子,以及通过用户使用诸如鼠标器之类的输入器件在显示器件5上所显示的模糊例子中选择一个所期望的模糊例子,一个有关采用该模糊参数的命令被输入到模糊参数选择单元431。因而用户就能容易地命令需要用来产生所希望模糊的模糊参数。
然后,在步骤ST4-1-22,基于在步骤ST4-1-21中所输入的命令,模糊参数选择单元431选择以前形成的多个模糊参数中的一个参数,并设置所选择的模糊参数以完成该处理。
在步骤ST4-1-31,如果使用第一模糊参数计算单元432设置了模糊参数,则第一模糊参数计算单元转移到此步骤,在这一步骤,从诸如输入板之类的输入器件输入速率分布数据毛笔压力分布数据给第一模糊参数计算单元432。但是,如果小压块被用作为输入器件1,则在输入时由于笔的摆动,输入数据会以预期不到的方式发生波动。因此,如果在一短期间内速率分布或毛笔压力分布有明显的变化,则把在输入时间里由于笔的摆动而引起的速率分布或毛笔压力分布的这些变化归于意外的变化并且基于时间在前或在后的速率分布或毛笔分布来进行数据修正。
然后,在步骤ST4-1-32,第一模糊参数计算单元432将在步骤ST4-1-31中所输入的速率分布数据和毛笔压力分布数据变换成双层信号。然后将第一模糊参数计算单元432转移到步骤ST4-1-33。也就是,第一模糊参数计算单元432处理该速率分布数据以便使得随着毛笔传送速率较高和较低而分别高于预置值和不高于预置值的在毛笔运送方向上的各自点上的速率Vi(i=1,2,3,......,g)分别被设置为1和0。类似地,第一模糊参数计算单元432处理毛笔压力分布数据以便使得随着该毛笔压力较高和较低而分别高于预置值和不高于预置值的在毛笔传送方向上的各自点上的毛笔压力Pi(i=1,2,3,......,g)分别被置为1和0。
具体说,如果如图58中例子所示馈送要转换为双层信号的速率分布数据和毛笔分布数据从输入器件1输入,则第一模糊参数计算单元432设置该预置值为0.5,并且如图59所示以双电平形式形成速率分布数据和毛笔分布数据。在图59和60中所示的速率分布数据和毛笔分布数据是为了说明起见而被简化的,实际上,要转换成双电平信号的数据有更多的有效数位数或在总数据容量。
在步骤ST4-1-33,基于在步骤ST4-1-32中被转换成双电平信号的速率分布数据和毛笔分布数据,第一模糊参数计算单元432形成模糊刷传送数据。然后将第一模糊参数计算单元432转移到步骤ST4-1-34。
具体说,第一模糊参数计算单元432形成包括g个模糊数据ti(i=1,2,3,......,g)的模糊刷传送数据,规定了在该图形中在各自的g个位置上在运笔期间模糊的状态。在这些g个点上的模糊数据ti的值是在从0到1的范围内。模糊方式越强和越弱,对应模糊数据ti的值分别越大和越小。
也就是,如果速率Vi为0和毛笔压力Pi为0,则速率为低和毛笔压力也为低,这样假定不明显地出现模糊,并且因此模糊数据ti被置为例如0.3的较小值。如果速率Vi是1和毛笔压力Pi为0,则速率为高而毛笔压力为低,这样假定出现了模糊并且因此模糊数据ti被置为最大值,即1。如果速率为0和毛笔压力Pi为1,则速率为低而毛笔压力为高,这样假定不出现模糊并且因此模糊数据ti被置为最小值,即0。如果速率Vi为1和毛笔压力Pi为1,则速率为高和毛笔压力也为高,这样假定模糊在某种程度上出现并且因而模糊数据ti被置为一较大值,例如0.5。
作为典型的模糊运笔数据的数据,图60中示出了基于在图59中所示的速率分布数据和毛笔压力分布数据,形成的模糊运笔数据。
在步骤ST4-1-34,基于在步骤ST4-1-33所形成的模糊运笔数据,第一模糊参数计算单元432计算该模糊参数,并且设置所计算的数作为该模糊参数以终止该处理。
在图56中的步骤ST4-1-41,当是利用第二模糊参数计算单元433来设置模糊参数时,该处理转移到此步骤,在此步骤第二模糊参数计算单元433形成由轮廓数据读出单元42所提供的全轮廓数据所表示的图形的形状所表示的形状数据。然后第二模糊参数计算单元433转移到步骤ST4-1-42。
在步骤ST4-1-42,基于在步骤ST4-1-41中所形成的形状参数,第二模糊参数计算单元433计算这些模糊参数,并且将所计算的参数作为模糊参数而设置,以终止该处理。
在图57中所示的步骤ST4-1-51,当该模糊参数是利用模糊参数输入器件434而被设置时处理转移到此步骤,在此步骤将自输入器件1所输入的参数C1到C7送到模糊参数输入器件434。
然后,在步骤ST4-1-52,模糊参数形成单元将在步骤ST4-1-51中所输入的参数C1到C7直接设置作为模糊参数以终止该处理。
如果在一图形中重新发送了多个模糊区域,也就是如果设置了多个模糊区域数据,则相应于各自的模糊区域数据设置多个模糊参数。(4-3-2)由模糊区域数据形成单元进行的模糊区域数据的形成
参照图61的流程图说明模糊区域数据形成单元44的具体操作。
在步骤ST4-2-1,模糊区域数据形成单元44对模糊区域数据初始化并将所有模糊起始长度数据和所有模糊结束长度数据设置为如1。然后该模糊区域数据形成单元44转移到步骤ST4-2-2。
在步骤ST4-2-2,模糊区域数据形成单元44按照参数C7的值,如果该参数C7的值分别为1(是)和不是1(否)时则分别转移到步骤ST4-2-3和ST4-2-4。
在步骤ST4-2-3,模糊区域数据形成单元44给模糊起始长度数据和模糊结束长度数据设置与由参数C3和C4所设置的位于宽度方向范围内的所有绘图轨迹有关的值。即,如果C7的值为1,则由参数C3和C4所规定的宽度方向范围表示模糊区域。模糊区域数据形成单元44设置模糊起始和结束长度数据的值以结束该处理。
特别是,模糊区域数据形成单元44随机设置从C1到(C1+C5)范围的一数值作为模糊起始长度数据,同时随机设置从C2到(C2+C6)范围的一数值作为模糊结束长度数据。因此,与由参数C3、C4所规定的位于模糊宽度方向范围内的绘图轨迹有关的模糊起始长度数据和模糊结束长度数据分别地在从C1到(C1+C5)的范围内和从C2到(C2+C6)的范围内波动。
在步骤ST4-2-4,模糊区域数据形成单元44计算有多少位于由参数C3和C4所规定的宽度方向模糊范围之内的绘图轨迹是与该模糊区域有关。然后模糊区域数据形成单元44被转移到步骤ST4-2-5。即,如果S7值的数据不是1,则由参数C3和C4所规定的整个宽度方向模糊范围都不是模糊区域。特别是,与该模糊区域有关的绘图轨迹的数目n由n=m×|C3-C4|×C7来计算,其中m是绘图轨迹的总数。
在步骤ST4-2-5,模糊区域数据形成单元44随机选择位于由参数C3和C4所规定的宽度方向模糊范围内的绘图轨迹中的一条轨迹,并在与该绘图轨迹有关的模糊起始长度数据和模糊结束长度数据中设置数值。然后,模糊区域数据形成单元44转移到步骤ST4-2-6。
特别是,模糊区域数据形成单元44对于模糊起始长度数据随机设置从C1到(C1+C5)范围的一数值,同时对模糊结束长度数据随机设置从C2到(C2+C6)范围的一数值。因此,与由参数C3、C4所规定的位于模糊的宽度方向范围内的绘图轨迹有关的模糊起始长度数据和模糊结束长度数据分别在从C1到(C1+C5)的范围内和从C2到(C2+C6)的范围内波动。
同时,如果在模糊起始长度数据和模糊结束长度数据中所设置的是与所选择的绘图轨迹有关的初始值之外的值,也就是如果相应于步骤ST4-5-2的处理在先前执行过了,模糊区域数据形成单元44选择下一个绘图轨迹,而无须更新与被选择之前的绘图轨迹有关的模糊起始长度数据和模糊结束长度数据的值。
在步骤ST4-2-6,为了所设置的值正是初始值,模糊区域数据形成单元44将步骤ST4-2-5的处理操作次数,即对其已设置了初始值之间的值的模糊起始长度数据和模糊结束长度数据的数目与在步骤ST4-2-4中所计算的与模糊区域有关的绘图轨迹数目n进行比较。如果结果是NO,即如果在步骤ST4-2-5中的处理次数小于在步骤ST4-2-4中所计算的绘图轨迹数目n时,则模糊区域数据形成单元44返回到步骤ST4-2-5重复该处理。如果结果是YES,即如果在步骤ST4-2-5中处理次数达到在步骤ST4-2-4中所计算的绘图轨迹数n时,则该处理结束。
如果存在有多个模糊区域,即如果设置有多个模糊参数,则设置多个与各自模糊参数相关的模糊区域数据。(4-3-3)由轮廓数据选择单元进行的全轮廓的选择
参照图62的流程图说明轮廓数据选择单元422的具体操作。
在步骤ST4-3-1,轮廓数据选择单元422从所有的全轮廓数据中选择具有由该全轮廓数据所表示的图形的最长长度的全轮廓数据。然后轮廓数据选择单元422转移到步骤ST4-3-2。
在步骤ST4-3-2,全长度数据选择单元422根据所有的全轮廓数来判断所选择的全轮廓数据的数目。如果所选择的全轮廓数据的数目不多于三分之一(YES)时,则全长度数据选择单元422转移到步骤ST4-3-3。如果所选择的全轮廓数据的数目超过了三分之一(NO)时,则全长度数据选择单元422转移到步骤ST4-3-4。
在步骤ST4-3-3,全长度数据选择单元422从除了紧接在步骤ST4-3-1中被选择的全轮廓数据之前和之后的全轮廓数据之外的全轮廓数据之中选择一未被选择的全轮廓数据,它具有由该全轮廓数据所表示的图形的最长的长度。然后该全长度数据选择单元422返回到步骤ST4-3-2去重复该处理。
另一方面,全长度数据选择单元422随机从未选择的全轮廓数据之中选择一全轮廓数据,以结束该处理。(4-3-4)由墨水数据设置单元进行的墨水数据的选择
参照图63的流程图说明墨水数据设置单元45的具体操作。
在步骤ST4-4-1,第一象素检测单元451在传送到步骤ST4-4-2之前,将处理次数标识的i的数值设置为0。
在步骤ST4-4-2,第一象素检测单元451在传送到步骤ST4-4-3之前,将处理次数标识的i的值增1。
在步骤ST4-4-3,第一象素检测单元451将第一或第二轮廓数据的坐标点的数W与处理次数标识i的值进行比较。如果i≤W(YES),则处理转移到步骤ST4-4-4。如果i>W(NO),则处理转移到步骤ST4-4-8。
在步骤ST4-4-4,第一象素检测单元451检测在连接第一轮廓数据和坐标点Aj和第二轮廓数据的坐标点Bj的线段Li上的象素,其中i表示处理次数标识的值。
然后,在步骤ST4-4-5,为了判断在步骤ST4-4-4中所检测的象素是否是在模糊区域之中,该墨水存在/墨水不存在设置单元455参考模糊区域数据。如果该象素是在模糊区域之中,则设置墨水存在/墨水不存在数据以表明在该象素中墨水不存在的状态。如果发现该象素不在模糊区域中,则设置墨水存在/墨水汁不存在数据以表明在该象素中墨水存在的状态。
如果存在有多个模糊区域,即如果存在有多组模糊区域数据,则该墨水存在/墨水不存在设置单元455基于所有模糊区域数据组来判断在步骤ST4-4-4中所检测的象素是否在该模糊区域之内。
然后,在步骤ST4-4-6,第一墨水量设置单元457参考用来对在步骤ST4-4-4中所检测的象素设置墨水量的毛笔数据,以便使得自起始点到线段Li的图形长度越短,墨水量越多。但是,如果表明象素中为墨水不存在状态的墨水存在/墨水不存在数据的象素在步骤ST4-4-5中被设置,则第一墨水量设置单元457设置墨水量数据为0。
然后,在步骤ST4-4-7,第一墨水浓度设置单元456参照用来对在步骤ST4-4-4中所检测的象素中设置墨水浓度数据的毛笔数据,以使得自开始点起到线段Li的图形的长度越短,墨水浓度越高。但是,如果在步骤ST4-4-5中设置墨水存在/墨水不存在数据为表示在该象素中处于墨水耗尽状态时,则第一墨水浓度设置单元456将该象素的墨水浓度数据设置为0。在步骤ST4-4-7完成之后,处理返回到步骤ST4-4-2去重复该处理。
但是,如果存在有在步骤ST4-4-4中所检测的多个象素时,则在步骤ST4-4-5到ST4-4-7中从象素到象素逐个设置墨水存在/墨水水不存在数据、墨水浓度数据和墨水量数据。
另一方面,在步骤ST4-4-8,第二象素检测单元453检测连接在步骤ST4-4-5至ST4-4-7中设置了墨水数据的线段Li上的象素和在步骤ST4-4-5至ST4-4-7中设置了墨水数据的线段Li+1上的象素的线段L上的象素。为了在所检测的象素上设置墨水浓度数据和墨水量数据,第二图象数据设置单元454基于在线段Li上的象素中设置的墨水数据、在线段Li+1上的象素中设置的墨水数据、被检测象素和线段Li上象素之间的距离以及被检测象素和线段Li+1上象素之间的距离来计算在被检测象素中的墨水浓度和墨水量。在对线段L上的所有象素设置了墨水浓度数据和墨水量数据之后,第二象素数据设置单元454结束该处理。
因为通常检测在线段L上的多个象素,所以为了设置墨水浓度数据和墨水量数据,第二象素数据设置单元454对于每个被检测的象素计算墨水浓度和墨水量。
如果在线段Li或在线段Li+1上存在有多个象素,则第二象素检测单元453设置多条连接线段Li上的象素和在线段Li+1上的象素的线段L,使得这些线段沿该图形的轮廓从象素到象素地延伸,并且对这些线段L的每一条检测在线段L上的象素。如果在线段Li上的象素数不同于在线段Li+1上的象素数,则该线段被设置得使得沿该图形的宽度的线段Li上的象素位置对应于沿该图形的宽度的线段Li+1上的象素的位置。
上述说明是针对于表示一模糊绘图对象而设置全轮廓数据的情况,即由该轮廓数据选择单元422所选择的作为一模糊绘图对象的全轮廓数据。如果要把墨水数据设置为不表示模糊绘图的对象的全轮廓数据,即不被模糊数据选择单元422选择作为模糊绘图的对象的全轮廓数据,则在设置墨水浓度数据和墨水量数据时,墨水数据设置单元45忽略墨水存在/墨水不存在数据,或假设该墨水存在/墨水不存在数据为墨水存在数据。(4-4)用来设置数据值的方法
下面说明在模糊图象处理器40中设置的各种数据值。(4-4-1)由第一模糊参数计算单元进行的模糊参数的设置
第一模糊参数计算单元432设置两组模糊参数。设置这两组模糊参数的原因是当一字符随着毛笔在纸上实际书写时,每笔划最多产生二个模糊部分,这样表示一模糊字符它有能力设置二个模糊区域就足够了。但是,该模糊参数的组数并不限于二组,而是可根据所产生的图形而有所变化。
在下面的说明中,如图64中A所示的模糊毛笔运送数据的模糊数据ti的部分中ti的数值是连续地为“1,这部分称之为“具有ti=1.0的区域”。类似地,如图64中B所示的模糊数据tj的部分中tj的数值是连接地为“0.5”,这部分称之为“具有ti=0.5的区域”,同时如图64中C所示的模糊数据ti的部分中tj的数值是连续地为“0.3”,这部分称之为“具有ti=0.3的一区域”。
第一模糊参数计算单元432根据图65至67的流程图进行操作以便基于模糊运笔数据设置模糊参数。
在步骤ST4-5-1,第一模糊参数计算单元432在传送到步骤ST4-5-2之前对两组模糊参数进行初始化。特别是,将参数C1至C7全部置0。
在步骤ST4-5-2,第一模糊参数计算单元432提取具有ti=1.0的区域。如果存在有一个或多个具有ti=1.0的区域(YES),则第一模糊参数计算单元432转移到步骤ST4-5-3。如果不存在有具有ti=1.0的区域(NO),则第一模糊参数计算单元432转移到步骤ST4-5-13。
在步骤ST4-5-3,第一模糊参数计算单元432提取具有ti=1.0的区域。如果存在有二个或多个具有ti=1.0的区域(YES),则第一模糊参数计算单元432转移到步骤ST4-5-4。如果仅存在有一个这样的区域,则第一模糊参数计算单元432转移到步骤ST4-5-6。
在步骤ST4-5-4,第一模糊参数计算单元432选择二个具有ti=1.0的区域并转移到步骤ST4-5-5。这些具有ti=1.0区域的二个区域以具有ti=1.0的区域的长度递减的顺序被选择,即以在具有ti=1.0的区域中ti的数递减的顺序被选择。
在步骤ST4-5-5,第一模糊参数计算单元432根据等式(4-2)按照在步骤ST4-5-4中所选择的二个具有ti=1.0的区域设置二组模糊参数。
在上述等式中,Ti表示在作为模糊参数设置的对象的一区域中ti的值,即对具有ti=1.0、ti=0.5和具有ti=0.3的区域分别为1.0,0.5和0.3,且|Ti|表示区域长度。该区域的长度由被设置为1的图形长度归一化并且因此假设该值从0到1。这同样适用于该图形的长度,后面将要说明。
另一方面,Ti-1代表在相邻于对其设置了模糊参数的区域一侧的具有ti=0.5或0.3的区域中ti的值,同时|Ti-1|表示该区域的长度。类似地,Ti+1代表在相邻于对其设置了模糊参数的区域的另一侧的具有ti=0.5或0.3的区域中ti的值,同时|Ti+1|表示该区域的长度。
Tis表示从图形的开始点到为了设置模糊参数而选择的ti=1.0、0.5或0.3的区域的起始点的该图形长度,同时Tie表示从图形的开始点到为了设置模糊参数所选择的具有ti=1.0、0.5或0.3的区域的结束点的该图形长度。
在上述等式中,e是表示沿该图形长度方向的模糊开始位置和模糊结束位置的波动的一初始值的一字数,并被预置为约为1/20的值。
在步骤ST4-5-6,第一模糊参数计算单元432根据等式(4-2)设置与具有ti=1.0的区域相关的一组模糊参数。第一模糊参数计算单元432随后转移到步骤ST4-5-7。
在步骤ST4-5-7,第一模糊参数计算单元432提取具有ti=0.5的区域。如果存在有一个或多个具有ti=0.5的区域(YES),则该处理转移到步骤ST4-5-8。如果反之(NO),则该处理转移到步骤ST4-5-10。
在步骤ST4-5-8,第一模糊参数计算单元432在转移步骤ST4-5-9之前选择一个具有ti=0.5的区域。在选择的具有ti=1.0的该区域时,选择这种区域具有区域ti=0.3的最长的长度,即在具有ti=1.0的区域中具有最大的ti数。
在步骤ST4-5-9,在结束该处理之前,第一模糊参数计算单元4 32根据下面的等式(4-3)设置与在步骤ST4-5-8中所选择的具有ti=0.5的区域有关的一组模糊参数:
在步骤ST4-5-10,第一模糊参数计算单元432提取具有ti=0.3的区域。如果存在有一个或多个具有ti=0.3的区域(YES),则处理转移到步骤ST4-5-11。如果反之(NO),则处理结束。
在步骤ST4-5-11,在传送到步骤ST4-5-12之前第一模糊参数计算单元432选择一具有ti=0.3的区域。在所选择的具有ti=0.3的区域时,选择这种具有ti=0.3区域的最长长度,即具有在ti=0.3区域中ti的最大数的区域。
在步骤ST4-5-12,第一模糊参数计算单元432根据下面等式(4-4)设置与在步骤ST4-5-11中所选择的具有ti=0.5的区域有关的一组模糊参数:
另一方面,在图66所示的步骤ST4-5-13中,第一模糊参数计算单元432提取具有ti=0.5的区域。如果存在有一个或多个具有ti=0.5的区域(YES),则该处理转移到步骤ST4-5-14,如果反之(NO),则该处理转移到步骤ST4-5-21。
在步骤ST4-5-14,第一模糊参数计算单元432提取具有ti=0.5的区域。如果存在有二个或多个具有ti=0.5的区域(YES),则该处理转移到步骤ST4-5-15,如果反之(NO),则该处理转移到步骤ST4-5-17。
在步骤ST4-5-15,在转移到步骤ST4-5-16之前第一模糊参数计算单元432选择二个或多个具有ti=0.5的区域。按照具有ti=0.5区域的长度递减的顺序选择具有ti=0.5的这些区域中的二个区域,即按具有ti=0.5的区域中的ti数递减的次序。
在步骤ST4-5-16,在结束该处理之前第一模糊参数计算单元432根据上述等式(4-3)设置与在步骤ST4-5-15选择的二个具有ti=0.5的区域有关的两组模糊参数。
在步骤ST4-5-17,在转移到步骤ST4-5-18之前第一模糊参数计算单元432根据上述等式(4-3)设置与ti=0.5区域有关的一组模糊参数。
在步骤ST4-5-18,第一模糊参数计算单元提取具有ti=0.3的区域。如果存在有一个或多个具有ti=0.5的区域(YES),则该处理转移到步骤ST4-5-19,如果反之(NO),则处理结束。
在步骤ST4-5-19,在转移到步骤ST4-5-20之前第一模糊参数计算单元432选择一个具有ti=0.3的区域。在所选择的具有ti=0.5的区域时,选择具有ti=0.5区域的最大长度,即在具有ti=0.5区域中具有ti的最大数的这种区域。
在步骤ST4-5-20,在结束该处理之前第一模糊参数计算单元432根据上述等式(4-4)设置与在步骤ST4-5-19中被选择的具有ti=0.3的区域有关的一组模糊参数。
在图67所示的步骤ST4-5-21,第一模糊参数计算单元432提取具有ti=0.3的区域。如果存在一个或多个具有ti=0.3的区域(YES),则该处理转移到步骤ST4-5-22,如果反之(NO),则第一模糊参数计算单元432结束该处理。
在步骤ST4-5-22,第一模糊参数计算单元432提取二个具有ti=0.3的区域。如果存在有二个或多个具有ti=0.3的区域(YES),则该处理转移到步骤ST4-5-23,如果反之(NO),则该处理转移到步骤ST4-5-25。
在步骤ST4-5-23,在转移到步骤ST4-5-24之前第一模糊参数计算单元432选择二个具有ti=0.3的区域。具有ti=0.3的这些区域的二个区域是按照具有ti=0.3的区域的递减长度的顺序,即按照在具有ti=1.0的区域中ti的数的递减顺序来选择的。
在步骤ST4-5-24,在结束该处理之前第一模糊参数计算单元4 32根据上述等式(4-4)设置与在步骤ST4-5-23中所选择的两个具有ti=0.3的区域有关的两组模糊参数。
在步骤ST4-5-25,第一模糊参数计算单元432根据上述等式(4-4)设置与ti=0.3的区域有关的一组模糊参数,以结束该处理。(4-4-2)由第二模糊参数计算单元设置模糊参数
计算单元
现在说明由第二模糊参数计算单元433设置模糊参数的实施例。
在由第二模糊参数计算单元433设置模糊参数时,基于形状数据而对这些图形分类,如表1和2中的例子所示:
弯曲数 | 图形的长度 | 图形的弯曲 | 图形的宽度 | 弯曲点之间的长度 | 弯曲点之间的平均宽度 | |
0 | D3<ravg | D8≤WminD5<Wmax | 图案1 | |||
Wmin<D6D5<Wmax | 图案2 | |||||
D4≤Wmaxw_max<D5 | 图案3 | |||||
wmax<D4 | 图案4 | |||||
r_avg≤D3 | D5<Wmax | 图案5 | ||||
D4≤WmaxWmax≤D5 | 图案6 | |||||
Wmax<D4 | 图案7 | |||||
1 | L≤D1 | 图案8 | ||||
L1<2/3xL | D4≤W2 | 图案9 | ||||
W2<D4 | 图案10 | |||||
2/3xL≤L1 | 图案11 |
表1
弯曲数 | 图形长度 | 图形弯曲 | 图形宽度 | 弯曲点之间的长度 | 弯曲点之间平均宽度 | |
2 | L≤D1 | 图案8 | ||||
D1<L | 1/5xL<L2 | W2≤W1W2≤W3 | 图案12 | |||
W3<W2 | 图案13 | |||||
L2≤1/5xLL3≤L1 | 图案14 | |||||
L2≤1/5xLL1<L3 | 图案15 | |||||
L≤D1 | 图案8 | |||||
D1<L | 1/3≤L2-L3 | W2≤W1W2≤W3W2≤W4 | 图案16 | |||
W3<W2W3<W4 | 图案16 | |||||
W4<W3 | 图案17 | |||||
L4<L1 | 图案18 | |||||
L1≤L4 | 图案19 | |||||
1/5xL<L1 | 图案16 | |||||
4或更多 | L≤1/5xL | 图案20 |
表2
在表1和2中,D1、D2、D3、D4、D5和D6表示用于对图形分类的预置值。
在表1和2中,弯曲点的数是基于弯曲点数据(bend point data)并且表示以多于一个预置角的弯曲部分的数。图形的长度基于长度数据并且L表示该图形的长度。图形的弯曲基于曲率数据,用Y_avg表示曲率数据的平均值。图形宽度基于宽度数据并且W_min表示由宽度数据所示的图形宽度的最小值,同时W_max表示由宽度数据所表示的图形宽度的最大值。
在两弯曲点之间的长度是基于转弯点(curved point)数据和长度数据并表示是在两弯曲点之间的图形长度的该图形长度。应注意的是L表示该图形从起始点到结束点之间的长度并且Li表示从第(i-1)弯曲点到第i弯曲点之间的图形长度。也就是,L1表示从起始点到第一弯曲点之间的图形长度和如果弯曲点数为1时L2表示从起始点到结束点之间的图形长度,以及如果弯曲点数为2时L2表示从起始点到第二弯曲点之间的图形长度。另一方面,如果弯曲点数为2时L3表示从第二弯曲点到结束点之间的图形长度,以及如果弯曲点数为3时L3表示从第二弯曲点到第三弯曲点之间的图形长度,同时如果弯曲点数为3时L4表示从第三弯曲点到结束点之间的图形长度以及如果弯曲点数为4时L4表示从第三弯曲点到第四弯曲点之间的图形长度。
两弯曲点之间的平均宽度是基于转弯点数据和宽度数据的一数值并表示弯曲点之间的平均图形宽度。应注意的是Wi表示从第(i-1)弯曲点到第i弯曲点之间的图形的平均宽度。也就是,W1表示从起始点到结束点之间的图形的平均宽度,同时如果弯曲数为1和不小于2时,W2分别表示从该弯曲点到结束点之间的图形平均宽度和从第一弯曲点到第二弯曲点之间的图形平均宽度。另一方面,如果弯数为2和3时,W3分别表示从第二弯曲点到结束点之间的图形的平均宽度和从第二弯曲点到第三弯曲点之间的图形的平均宽度,同时W4表示从第三弯曲点到结束点之间的图形平均宽度。
第二模糊参数计算单元433根据表1和2所示的分类的图案而设置模糊参数,使得模糊具有表3和4所示的特征。图68到87表明了当模糊参数被设置时使该模糊将具有表3和4所示特征的模糊的例子。
表3
模糊区域的位置 | 模糊区域的长度 | 模糊区域的宽度 | 模糊方式 | 例子 | |
图案1 | 中部 | 约1/3 | 约1/3 | 强 | 图68 |
图案2 | 后部 | 约1/3 | 约1/2 | 强 | 图69 |
图案3 | 尾部 | 1/8至1/3 | 1/2至1.0 | 局部线性和局部强 | 图70 |
图案4 | 后部 | 1/4至1/2 | 1/2至3/4 | 线性 | 图71 |
图案5 | 接近弯曲点 | 约1/3 | 1/3至1/2 | 线性 | 图72 |
图案6 | 接近弯曲点 | 约3/8 | 约1/3 | 线性 | 图73 |
图案7 | 尾部 | 约1/3 | 1/3至1/2 | 线性 | 图74 |
图案8 | 尾部 | 约1/4 | 约1/2 | 局部线性和局部强 | 图75 |
图案9 | 接近弯曲点 | 约1/2×W2 | 1/3至2/3 | 局部线性和局部强 | 图76 |
图案10 | 尾部 | 约2/3×W2 | 1/3至1/2 | 强 | 图77 |
表4
模糊区域的位置 | 模糊区域的长度 | 模糊区域的宽度 | 模糊的方式 | 例子 | |
图案11 | 尾部 | 约2/3×W2 | 约2/3 | 局部强和局部线性 | 图78 |
图案12 | 中部 | 约2/3×W2 | 1/3至1/2 | 局部线性和局部强 | 图79 |
图案13 | 末部 | 约2/3×W3 | 1/2至2/3 | 线性 | 图80 |
图案14 | 前一半 | 约1/2×W1 | 约1/2 | 线性 | 图81 |
图案15 | 后一年 | 约1/2×W3 | 1/3至1/2 | 局部线性和局部强 | 图82 |
图案16 | 最精细部分 | 约1/4×W1 | 1/2至2/3 | 线性 | 图83 |
图案17 | 后一年 | 约3/4×W4 | 1/2至2/3 | 线性 | 图84 |
图案18 | 前一半 | 约1/2×W1 | 约1/2 | 强 | 图85 |
图案19 | 末端 | 约1/2×W4 | 约1/2 | 线性 | 图86 |
图案20 | 末端 | 约1/4 | 1/2至2/3 | 线性 | 图87 |
在表3和4中,模糊区域的位置指明了沿该图形长度的该模糊区域的位置。“前一半”表示该模糊出现在起始点侧区域和“后一半”表示该模糊出现在结束点侧区域。起始点侧区域表示沿圆形的长度将一图形等分为二个相等部分所得到的起始点侧区域,同时一结束点侧区域表示沿图形长度将一图形等分为二个相等部分所得到的结束点侧区域。起始部分、中部和尾部分别表示模糊出现在起始区域、中间区域和结束区域的情况。该起始区域表示沿图形的长度将一图形三等份为三部分所得到的一起始点侧区域。该中部和尾部表示沿它的长度将该图形三等份为三部分而分别得到的中间点侧区域和结束点侧区域。
模糊区域的长度意指相对于置为1的图形长度的模糊区域的平均长度,同时模糊区域的宽度意指相对于置为1的图形宽度的模糊区域的宽度。W1、W2和W3意指在两个弯曲点之间平均宽度的值并与表1和表2中所示的这些值相同。
模糊的方式意指该模糊浓度。因此,“强的”意指严重的模糊,在其中仅很少的墨水出现在该模糊部分;同时“线性的”意指弱的模糊,在其中有相当数量的墨水出现在该模糊部分;而“部分强的和部分线性的”意指在强模糊和线性模糊之间适中的模糊,在其中一定数量的量出现在该模糊区域。(4-4-3)由第一墨水浓度设置单元对墨水浓度数据的设置
现在说明由第一墨水浓度设置单元456设置墨水浓度数据的具体例子。
当在第i线段Li上的一象素p上的设置墨水浓度数据Idp时,第一墨水浓度设置单元456基于与通过象素p的绘制轨迹有关的毛笔数据的墨水浓度IDp按照下述等式(4-5)计算和设置墨水浓度数据Idp:
Idp=IDp=a×i ......(4-5)这里a是用来表明在其中该墨水浓度从该起始点开始逐渐变低的方式的一预置值的系数。具体讲它被置为约0.2的一个值。
但是,如果由等式(4-5)所计算的Idp的值小于一预置值,则第一墨水浓度设置单元456将该墨水浓度数据Idp置为0。如果该墨水浓度在这种方式中变为低于该预置值,则不再绘制该图形以便使得绘制的模糊是接近该图形的结束部分的模糊。
另一方面,为了将在图形绘制期间毛笔内的墨水流考虑在内,第一墨水浓度设置单元456逐步顺序地修正该毛笔数据的墨水浓度。具体讲,如果相应于第K、(K-1)和(K+1)个绘制轨迹的毛笔数据的墨水浓度值分别为IDK、IDK-1和IDK+1,则第一墨水浓度设置单元456在该线段Lj的象素p上设置墨水浓度数据Idp之前,根据等式(4-6)来更新毛笔数据的墨水浓度值:
IDK=IDK+b×(IDK+1-IDK)+(IDK-1-IDK) ......(4-6)这里b是表示在毛笔内墨水流的预置值的一系数。如果在等式(4-6)中不存在IDK-1也即如果该墨水浓度是第一墨水浓度,则IDK-1被置为IDK(IDK-1=IDK)。如果在等式(4-6)中不存在有IDK+1,也即如果该墨水浓度是最后的墨水浓度,则IDK+1被置为IDK(IDK+1=IDK)。
当在第i线段Li的象素p上设置墨水量数据IqP时,第一墨水量设置单元457基于与通过象素P的书写轨迹有关的毛笔数据的墨水量数据IQP按照等式(4-7)计算和设置墨水量数据IqP:
IqP=IQP×exp(c×i) ......(4-7)这里c是用来表示在从开始点墨水量逐渐变薄的方式的一预置值的系数。具本讲,它被设置为约-0.03的值。
但是,如果由等式(4-7)所计算的IqP低于一预置值时,第一墨水浓度设置单元457将该墨水浓度数据Idp设置为0。因此,如果该墨水浓度变得低于该预置值时,不再绘制该图形以便使得绘制的模糊是接近该图形的结束部分的模糊。
另一方面,为了在图形绘制期间将毛笔内的墨水流考虑进去,第一墨水量设置单元457逐渐顺序地修正毛笔数据的墨水量。具体地,如果相应于第K、(K-1)和(K+1)个绘制轨迹的毛笔数据的墨水量值分别为IQK、IQK-1和IQK+1时,第一墨水量设置单元457在线段Li的象素P上设置墨水量数据IqP之前根据等式(4-8)更新毛笔数据的墨水量值:
IQK=IQK+d×(IQK+1-IQK)+d×(IQK-1-IQK) ......(4-8)这里b是用来表示毛笔内墨水流的一预置值的系数。如果IQK-1在等式(4-8)内不存在,也即如果该墨水量是第一个墨水量时,IQK-1被置为IQK(IQK-1=IQK)。另一方面,如果IQK+1在等式(4-8)中不存在,也即如果该墨水量是最后一个墨水量时,IQK+1被置为IQk(IQK+1=IQK)。(4-4-5)由第二墨水浓度设置单元设置墨水浓度
现在说明由第二墨水浓度设置单元495设置墨水浓度数据的具体例子。
当基于在线段Li上的象素P的墨水浓度数据Idp、在线段Li上的象素Q的墨水浓度数据Idq、在线段Li上的象素P和R之间的距离PR以及在线段Li+1上的象素Q和R之间的距离QR而设置墨水浓度数据Idr时,第二墨水浓度设置单元458例如根据等式(4-9)计算和设置墨水浓度数据Idr:
Idr=Idp×(PR/PQ)+Idp×(QR/PQ) ......(4-9)这里PQ表示象素P和Q之间的距离。(4-4-6)由第二墨水量设置单元设置墨水量
现在说明由第二墨水量设置单元459设置墨水量数据的具体例子。
当基于在线段Li的象素P的墨水量数据IqP、在线段Li+1上的象素Q的墨水量数据Iqq、在线段Li上的象素P和R之间的距离PR以及在线段Li+1上象素Q和R之间的距离QR而设置墨水量数据Iqr时,第二墨水量设置单元459例如根据等式(4-10)来计算和设置墨水量数据Iqr:
Iqr=IqP×(PR/RQ)+Iqq×(QR/PQ) ......(4-10)这里PQ表示象素P和Q之间的距离。(4-4-7)由亮度数据设置单元设置亮度数据
现在说明由亮度数据设置单元46设置亮度数据的具体例子。
基于由纸纤维结构数据形成处理器30所形成的纸纤维结构数据和由第一及第二图象数据设置单元454所置的图象数据,亮度数据设置单元46在象素P中设置亮度I。也就是,亮度数据设置单元46根据等式(4-11)和(4-12)在每个象素中计算并设置亮度I:
I=1-f×Idp×IqP(对于M>6) ......(4-11)
I=1(对于M≤6) ......(4-12)这里Idp、IqP和M分别表示在象素P中的墨水浓度数据、墨水量数据和纸纤维结构数据的数。亮度I的初始值设为1,亮度的值范围是从0到1。
在上述等式(4-11)和(4-12)中,f是预置为一适当值的一系数。在等式(4-12)中,如果I的值超过1,则将I的值置为1。
通过以这种方式设置亮度I,使得在模糊中考虑纸纤维结构对模糊的影响变成可能的,并且因而更逼真地表示了一模糊图形。
在以上的说明中,墨水浓度数据和墨水量数据被作为墨水数据而被设置。但是,为了简化数据,可以仅仅设置墨水浓度数据或墨水量数据。在这种情况中,可以用对等式(4-11)作简单修正而得到的下面等式(4-13)或(4-14)来计算在象素P中的亮度I:
I=1-f×IqP(对于M>6) ......(4-13)
I=1-f×Idp(对于M>6) ......(4-14)(5)渗开图形绘制处理器
现在参照图88到111说明渗开图形绘制处理器的一优选实施例。
如果在一张纸上用墨水来绘制一图形,就会在图形周围产生渗开。基于按渗开现象所做的模型,渗开图形绘制处理器50自表示经受渗开的一图形的图象数据中,形成用来表示渗开图形的图象数据。这样由渗开图形处理器50作出的渗开图形的图象数据被馈送到显示单元1用来在显示器件1的显示屏上绘制一渗开图形。
为了作出该渗开现象的模型,需要诸如在经受渗开的图形的墨水量或浓度之类的信息。因此,在渗开图形绘制处理器50制作渗开图形的图象数据时,经受渗开的图形的图象数据包括有关在该图形中墨水量和墨水浓度的数据。这种图象数据可以通过在模糊图形绘制处理器40中形成的图象数据来举例说明。(5-1)制作渗开现象的模型
在一纸张上用墨水绘制一图形所产生的渗开是由于墨水流在构成纸张的纤维的间隙中产生扩散而形成的。墨水流通过的纤维的间隙以后称之为毛细管。图形的渗开部分中色彩的浓度取决于纸张对墨水的吸收,也就是在构成纸张的纤维的间隙中附着的墨水的量或浓度。因此,为了作出渗开现象的模型,必须要作该墨水流方式的模型并计算在该纤维间隙中所附着的墨水的量和浓度。下面将要说明黑水流的模型、在纤维间隙中附着的墨水量的计算和在纤维间隙中附着的墨水量浓度的计算。(5-1-1)墨水流动的方式的模型
首先说明墨水流的模型。
如上所述,渗开是由于墨水流在毛细管中的扩散而形成的。这样的墨水流的模型可以假定该纸张是由若干微小尺寸的区域组成(后面称之为象素),如果这些象素由毛细管连接起来则在相邻象素之间就产生墨水流动,并且如果这些象素不是由毛细管连接起来的则在相邻象素之间就没有墨水的流动。
该模型可以通过假定来执行,当墨水流入一给定的象素时,墨水水就附着在该象素中的纤维的间隙中并在其内被吸收,并且墨水被吸收使得未被此象素吸收的墨水流向通过毛细管与前述象素相连的下一个象素。
用此墨水流的模型,通过假定墨水流流经与各象素相连的毛细管并且在有墨水流过的象素中被吸收,使墨水在不同象素中被吸收而产生渗开,因此这种模型使渗开更为逼真地表示出来。(5-1-2)在纤维间隙中附着的墨水量
参照附图来说明在纤维间隙中附着的墨水量。在下面的说明中,在一给定象素的纤维间隙中附着的墨水量是在下面基于上述的墨水流模型和纸张由多纤维构成的假定来计算的。
假定构成纸张的纤维是二维或平面结构的并假定在一给定象素的纤维间隙中附着的墨水量正比于在该象素的纤维中附着墨水所占的区域。
如图88所示,还假定存在有二个夹角为θ的纤维FI1和FI2。考虑在纤维FI1和FI2之间的间隙中附着墨水所占区域的表面大小。在纤维FI1和FI2之间的间隙中附着的墨水量在如图88中由阴影线指明的纤维FI1和FI2之间的相交区域内被俘获的。未与纤维相接触的墨水部分在墨水的表面张力作用下被弯曲。
因此在纤维FI1和FI2的间隙中附着墨水的区域可由纤维FI1和FI2和与纤维FI1和FI2内切的半径R1的两个圆所围绕的区域来近似表示。半径R1是取决于墨水的表面张力的一个常数。
如果这种近似被采纳,纤维FI1和FI2之间的夹角越小,则在纤维FI1和FI2之间的间隙中保持墨水所占的区域就变的越大。但是,事实上如果纤维FI1和FI2之间的夹角θ小于一预置值时,则在纤维FI1和FI2的间隙中保持墨水所占的区域就变小。因此做出这样一样近似,即如果纤维FI1和FI2之间的夹角θ小于一预置角θa,则在纤维FI1和FI2之间的间隙中保持有墨水的所占区域就变大。如果在FI1和FI2之间的间隙中俘获有墨水所占区域近似为如上述那样,则在纤维FI1和FI2之间的间隙中俘获有墨水所占的区域的表面大小是由等式(5-1)和(5-2)的角度θ的一函数给出:
S(θ)=2×R2×[cos(θ/2)/sin(θ/2)+(θ-π)/2]
(forθ≥θa)......(5-1)
S(θ)=2×R2×[cos(θa/2)/sin(θa/2)+(θa-π)/2]/θ
(forθ<θa)......(5-2)
如图90所示,如果在象素P中存在有n个纤维FI1,FI2,......,FIn-1,FIn。按下面的方式求出在象素P中n个纤维FI1,FI2,......,FIn-1,FIn之间的间隙中俘获有墨水所占的区域的表面大小。如图90的例子所示假定n个纤维FI1,FI2,......,FIn-1,FIn的角度为θi,这里i是1,2,3,......,n-1,以纤维FI1作为基准,相邻纤维的夹角为Δθi,这里i为1,2,3,......,n-1。之后,用按等式(5-1)和(5-2)求得的函数S(θ),由下面等式(5-3)求解在n个纤维FI1,FI2,......,FIn-1,FIn之间的间隙中俘获的墨水所占的面积q(n):
因此由等式(5-4)给出在具有n个纤维的象素中被吸收的墨水量U为:
U=α×q(n) 其中α是墨水吸收量U和墨水所占的区域的表面大小q(n)的比例常数。
也就是,如果求出在该象素中的纤维数n和相邻纤维之间的夹角Δθi,就可能求出在该象素中的墨水吸收量U。(5-1-3)在纤维间隙中俘获的墨水的厚度
参照附图说明在该纤维间隙中所俘获的墨水的浓缩度(厚度)。在下面的说明中,毛细管MO的形状假定是一圆筒而墨水在圆筒的内侧流动。流经毛细管MO的圆筒的墨水流方向由X表示,以毛细管MO的中心作为原点在该毛细管MO中的径向为r并且时间为t。毛细管MO的半径是r0。
墨水是一种在诸如水之类的溶剂中将墨水粒子扩散的物质,墨水厚度由墨水粒子数来设置。如果墨水流经毛细管的内侧,则墨水粒子朝向该流动的末端逐渐被耗尽。也就是,当墨水流经毛细管的内侧时,朝向它的末端该墨水流变得稀薄。要计算在毛细管内经受了起伏波动的墨水厚度,考虑在毛细管中墨水粒子是否充分地扩散就足够了。
如果在时间t和位置(x,r)上扩散的墨水粒子数由n(x,r,t)表示,在x方向墨水流动的速度是V(r)和表示在方向r上墨水粒子的扩散程度的一常数是D0,则在毛细管中墨水粒子的扩散可由下面的偏微分方式表示: 在上述方程中,墨水速度V(r)不取决于在x方向上的位置而仅取决于在r方向上的位置,这样朝毛细管的中央和毛细管壁附近的墨水速度分别较快和较慢。如果在r=0的位置处的速度为Vmax,则墨水速度V(r)可以例如由下等式(5-6)来表示:
V(r)=Vmax×(1-(r/r0)2} ......(5-6)
用t、x和r的微小变量Δt、Δx和Δr可将偏微分方程(5-5)变换为下面的差分方程(5-7):
n(x,r,t+Δt)=n(x,r,t)
-Δt/Δx×V(r)×n(x-Δx,r,t)
+Δt/Δx×V(r)×n(x-Δx,r,t)
+D0×Δt/Δr2×n(x,r+Δr,t)
+D0×Δt/Δr2×n(x,r-Δr,t)
-2×D0×Δt/Δr2×n(x,r,t)
......(5-7)
在方程(5-7)中,左侧表示在时间t+Δt和位置(x,r)时的墨水粒子数。右侧的第一项、第二项、第三项、第四项、第五项和第六项分别表示在时间t和位置(x,r)处的墨水粒子数,在时间t+Δt沿x方向从位置(x,r)流出的在时间t和位置(x,r)的墨水粒子数,在时间t+Δt朝向位置(x,r)流出的在时间t和位置(x-Δx,r)处的墨水粒子数,在时间t+Δt朝向位置(x,r)被扩散的在时间t和位置(x,r+Δr)处的墨水粒子数,和在时间t+Δt沿r方向从位置(x,r)被扩散的在时间t和位置(x,r)处的墨水粒子数。
如果对方程(5-7)设置了初始条件,则可顺序地求出在时间t和位置(x,r)处的墨水粒子数n(x,r,t)。在顺序地计算墨水粒子数n(x,r,t)时,可假定n(x,r0,o)=0,这是因为到达毛细管的壁表面的墨水粒子可假设为附着在该毛细管的壁表面上而不再进一步被扩散。
用来求解方程(5-7)的初始条件可被设置使得当墨水开始流出时,也就是在t=0时,墨水粒子仅出现在位置x=0并且在r方向上均匀被扩散。也就是对于X>0,n(x,r,o)=0和n(o,r,o)=n0,这里n0是一常数。
应注意的是,在r方向上时间t和位置x处的墨水粒子之和可由在时间t和位置x处流动的墨水粒子R(x,t)的数与在时间t和位置x处变为附着到毛细管的壁表面的墨水粒子数之和来表示,如同由等式(5-8)所示那样:
V(x,t)=R(x,y)+Q(x,t) ......(5-8)
因此如等式(5-9)所示,在时间t和位置x处流动的墨水粒子R(x,t)的数可以基于n(x,r,t)来计算:
另一方面,在时间t和位置x处变为附着在毛细管的壁表面的墨水粒子Q(x,t)的数可以基于n(x,r,t)并由等式(5-10)来计算:
通过上述计算,可以求得在时间t和位置x处在r方向上墨水粒子数之和V(x,t)。在时间t和位置x处的墨水厚度正比于V(x,t)。因此在时间t和位置x处的墨水厚度可由V(x,t)与一适当的系数相乘而予以表示。(5-2)渗开图形绘制处理器的结构
下面说明用来形成渗开图形的图象数据的渗开图形绘制处理器50的一个具体结构。
参见图92,该渗开图形绘制处理器50包括有一用来检测在一要被渗开的图形的轮廓上的象素P的轮廓象素检测单元51,和一用来在由轮廓象素检测单元51所检测的象素P上预置一初始墨水量U0的初始墨水量设置单元52。该渗开图形绘制处理器50还包括有一用来在图形轮廓的象素P上预置一作为图象数据的初始墨水厚度V0的初始墨水浓度设置单元53,和一用来对于由轮廓象素检测单元51所检测的象素P,基于由纸纤维数据形成处理器30先前形成的纸纤维结构数据的毛细管Si(i=1,2,3,4,5,6,7,8)数来检测通过毛细管连接到象素P的各象素的连接象素检测单元54。该渗开图形绘制处理器50还包括一用来将对于由连接象素检测单元54所检测的象素说明墨水存在的数据设置为图象数据的图象数据设置单元55,和用来控制连接象素检测单元54和图象数据设置单元55的操作的重复的控制器56。要被渗开的图形是,例如是一由模糊图形绘制处理器40所形成的图象数据所表示的图形。也就是,该渗开图形绘制处理器50读出由模糊图形绘制处理器40所形成的图象数据并暂时存贮在存贮器3中以便在该读出的图象数据中执行渗开图形绘制处理。
具体说,要被渗开的图形的图象数据是从诸如输入器件1、存储器3和外部存贮装置4读取的以便输送到渗开图形绘制处理器50的轮廓象素检测单元51。
轮廓象素检测单元51基于要被渗开的图形的图象数据来检测在该图形的轮廓上的象素P。如果在该图形的轮廓上存在有多个象素,则轮廓象素检测单元51顺序检测这些象素。同时,被渗开的图形的这些图象数据是以允许该轮廓象素的检测。也就是,该图象数据可以是仅包含轮廓信息的这样的图象数据,例如基于由字体形成处理器20所形成的字体来规定一笔划的轮廓的图象数据。
初始墨水量设置单元52将初始墨水量U0设置作为对于由轮廓象素检测单元51所检测的象素P的图象数据。类似地,初始墨水浓度设置单元53对于由轮廓象素检测单元51所检测的象素P,将初始墨水浓度V0设置作为图象数据。初始墨水量U0值或初始墨水浓度V0值可以是预存贮在外部存贮器件4中的预置值或来自输入装置1的输入值。对于初始墨水量U0或初始墨水浓度V0的信息还可能预先包括在要被渗开的一图形的图象数据中,同时类似地对于初始墨水量U0和初始墨水浓度V0还可能基于这个信息由初始墨水量U0或初始墨水浓度设置单元53来设置。另一方面,该初始墨水量U0或初始墨水浓度V0也可预置在要被渗开的图形的图象数据中而无须使用初始墨水量设置单元52或初始墨水浓度设置单元53。
以这种方式,由轮廓象素检测单元5检测并具有这样设置的象素P的初始墨水量U0和初始墨水浓度V0被从轮廓象素检测单元51提供给连接象素检测单元54。
连接象素检测单元54根据与所述象素相关的毛细管Si(i=1 2,3,4,5,6,7,8)的数量检测通过所述毛细管连接到由所述轮廓象素检测单元51检测到的象素P上的象素。具体讲,所述毛细管的数量Si是一个包括在由纸纤维结构数据形成单元30形成的纸纤维结构数据中的数据,具体地是一个不小于0的整数。
若所述象素P毛细管的数量Si不小于1,连接象素检测单元54检测与所述毛细管数量Si对应的象素Pi以作为连接到象素P上的象素。具体地,作为与和象素P相邻的象素P1、P3和P5的方向相关的象素P的毛细管S1、S3和S5的数量是1,并且与和象素P相邻的象素P2、P4和P6的方向相关的象素P的毛细管S2、S4、S6、S7和S8的数量为0,那么,连接象素检测单元54检测象素P1、P3和P5,以作为通过所述毛细管连接的象素,如图93所示。
另外,若象素P毛细管Si的数量不小于1且与数量Si对应的象素Pi毛细管Sj(j=1,2,3,4,5,6,7,8)的数量不小于1,那么,连接象素检测单元54检测象素Pi作为连接到象素P的象素。具体地,若与和象素P相邻的象素P1、P3和P5的方向相关的象素P的毛细管S1、S3和S5的数量是1,与和象素P相邻的象素P2、P4、P6、P7和P8的方向相关的象素P的毛细管S2、S4、S6、S7和S8的数量是0,与和象素P的方向对应的象素P1的毛细管数量S5是1,与象素P的方向对应的象素P3的毛细管的数量S7是1,且与象素P的方向对应的象素P5的毛细管的数量S1是0,那么,连接象素检测单元54检测象素P1和P3作为通过所述毛细管连接到象素P的象素,如图94所示。
由毛细管连接到象素P,并因此由连接象素检测单元54所检测的各象素被从连接象素检测单元54发送给图象数据设定单元55。
图象数据设定单元55设定用于表示通过毛细管连接到象素P的象素的墨水存在的数据。若在象素P上设定的最初墨水量U0不大于0,那么,图象数据设定单元55假定没有墨水从象素P扩散,并对象素P结束渗开图形的绘图处理,而不设定用于表示通过所述毛细管连接到象素P上的象素的墨水存在的数据。
另外,图象数据设定单元55对已经设定了表示墨水存在的数据的每个象素,计算由此象素吸收的墨水量U,并将数量U设定为图象数据。若吸收墨水的数量超过0,可以假定墨水存在,然后,墨水吸收量Q被同时用于设定墨水存在规定数据。结合渗出现象模型所解释的,可按等式(5-11)求得吸收墨水的数量U:
其中,若θ≥θa则:
且若θ<θa则:
在等式(5-11)中,n表示通过访问纸纤维结构数据可以获得的象素纤维的数量M,角度Δθi是两个相邻纤维间的交叉的角度,即第i个纤维和与其相邻的第(i+1)个纤维间的交叉角度,并且该角度Δθi被图形数据设定单元55在从θ≤Δθi≤π的角度范围随机设置,从而使(Δθ1+Δθ2+......+Δθn-1)的值不会大于π。得自于墨水表面张力的常数R可以是预定的或通过输入装置1输入的,从而可以由用户随意设定。随所吸收的墨水量越大或越小,那么可选设定的比例常数a的值也分别变得越大或越小。另一方面,θa是一个在计算纤维间隙中墨水吸收量的方法中使用的常数,并且例如可以是π/4。
U(n)的值是一个根据等式(5-11)在先计算的值,n是一个不小于0的整数,并且该值被在先设定为n的一维数组。当计算吸收的墨水量U时,图象数据设定单元55访问这个预定一维数组,以便获得与所述象素纤维数量M相对应的吸收墨水量U的值。由于不再需要在每次设定吸收墨水量U时根据等式(5-11)去计算吸收的墨水量U,这就显著地减少了处理时间。
根据等式(5-11)计算的吸收墨水量U是由象素所吸收的最大墨水量,即最大墨水吸收量Umax。若流到此象素的墨水量少于这个量大吸收墨水量Umax,则图象数据设定单元55在图象数据中自然设定流到此象素的墨水量,即少于最大吸收墨水量Umax的墨水量作为吸收墨水量U。
图形数据设定单元55还为对其已经设定了墨水存在表示数据的每个象素计算所述象素中的墨水浓度V,并把所述墨水浓度V设定为图象数据。根据等式(5-12)可以通过基于上述的模拟渗开现象来计算在时间t、位置x处的墨水颗粒的数量V(x,t)来获得墨水浓度V:
V=V0×V(x,t) ......(5-12)
在上述等式中,V0表示为处于将要被渗开的一幅图画轮廓上的象素设定的最初墨水浓度,x表示毛细管的长度,墨水在从图形轮廓到达象素之前流程此毛细管,具体讲,是通过所述毛细管互联并随后由连接象素检测单元54检测到的一串象素的数目。另一方面,t表示所述墨水到达从所述图画轮廓到达所述象素之前所经过的时间,具体讲是由连接象素检测单元54和图形数据设定单元55执行的处理操作所花费的时间。
另外,在上述等式中,V(x,t)是根据等式(5-8)到(5-10)的计算预先设定的x和t的两维数组,用于x和t都是不小于0的整数的情况。当要获得墨水浓度V时,图象数据设定单元55执行等式(5-12)的计算,以便通过在相应于连接象素检测单元54和图象数据设定单元55的操作的重复次数的预置二维数组V(x,t)中,参考V(x,t)的值而求得墨水浓度V的值,直到求出由毛细管相连接、并由连接象素检测单元54顺序检测的一串象素的数目和这些象素的墨水浓度V。由于这不再需要在每次设定墨水浓度V时去根据等式(5-8)至(5-10)来计算V(x,t),所以大量地减少了处理时间。
图象数据设定单元55将吸收的墨水量U和由此获得的墨水浓度V相乘,以获得也被设定为图形数据的象素的亮度I。
渗开图画绘图处理器50将已经为其在图象数据设定单元55中设定了图象数据的象素传送给连接象素检测单元54,以作为由轮廓象素检测单元51检测到的象素P,并重复连接象素检测单元54和图形数据设定单元55的操作,以连续设定模拟在渗开期间墨水逐渐扩散离开32图象数据。
在重复连接象素检测单元54和图形数据设定单元55的操作期间,对于已经基于先前已经自墨水流入的象素不再流入新的墨水的假定而设定了图象数据的象素不设定新的图象数据。即,对于位于将要被进行渗开处理的图形占据的区域中的象素或已经在图形数据设定装置55中为其设定了图形数据的象素,图象数据设定装置55不再为其设定图象数据。
连接象素检测单元54和图象数据设定单元55的重复操作是由控制器56控制的。
就是说,控制器56根据当通过渗开而扩散的墨水量达到了用来渗开的墨水量的最初墨水量U0时,渗开就停止的假定,控制连接象素检测单元54和图形数据设定单元55的重复操作。
具体地讲,控制器56以如下方式管理所述控制,即:由图形数据设定单元55计算的吸收墨水量被对由连接象素检测单元54所检测到的所有象素求和,并且当其和值达到最初墨水量U0时,终止连接象素检测单元54和图象数据设定单元55的重复操作。
或者,控制器56以如下方式管理控制,即从由连接象素设定单元52所设定的最初墨水量U0中,对由连接象素检测单元54检测到的每个象素,依次减去由图象数据设定单元55计算的吸收墨水量U,从而依次获得剩余墨水量Urest,这个新的墨水剩余量Urest在由轮廓象素设定单元51检测到的象素P中被设定为新的最初墨水量U0且当这个新的最初墨水量U0变得不大于0时,终止连接象素检测单元54和图象数据设定单元55的重复操作。
如果在两个由轮廓象素检测单元51检测到的相邻象素间最初墨水量U0不同,考虑到在将被渗开图画轮廓上的墨水流动,例如在减少了具有较大最初墨水量U0的象素的最初墨水量U0和增加了具有较小最初墨水量U0的象素的最初墨水量U0以后,再由控制器56控制连接象素检测单元54和象素设定单元55进行重复操作。由于墨水是随着时间的消逝而逐渐流动的,所以,利用控制器56如上所述地减少或增加所述最初墨水量U0的操作是在重复连接象素检测单元54和象素数据设定单元55的操作的时间过程中逐渐执行的。
在上述实施例中,利用图象数据设定单元设定墨水浓度V和亮度I是在重复连接象素检测单元54和图象数据设定单元55的操作时执行的。但是,如果只是渗开图画被显示在显示装置5上,那么,只要知道由于渗开所引起的墨水扩散结束处的墨水浓度V和亮度I就足够了,这样,只要在最后一次重复连接象素检测单元54和图象数据设定单元55的操作时设定墨水浓度V和亮度I就足够了。
假如只是渗开图画被显示在显示装置5上,从图象数据设定单元55向显示装置5传送图象数据是在终止连接象素检测单元54和图象数据设定单元55的重复操作时执行的,这是在由渗开图形绘图处理器50形成图象数据之后发生的。但是,如果在渗开期间墨水从将要被渗开的图形扩散开的方式连续被显示在显示装置5上,那么,每重复一次连接象素检测单元54和图形数据设定单元55的操作,即每在图象数据设定单元55中设定一次图象数据,图象数据设定单元55都要将图象数据传送给显示装置5。就是说,每重复一次连接象素检测单元54和图象数据设定单元55的操作,图象数据设定单元55都要把亮度I的数据传送给显示装置5,以连续在显示装置5上显示得自于亮度I的图形。由此,在渗开期间墨水从将被渗开的图形逐渐扩散开来的方式被连续显示在显示装置5上。(5-3)渗开图形绘图处理
下面来解释渗开图形绘图处理器50。在下面的描述中,参考示出操作的流程图,首先解释在渗开图形绘图中所使用的术语和在渗开图形绘图处理中使用的数据,然后解释渗开图形绘图处理器50的操作。(5-3-1)在渗开图形绘图处理中使用的术语
在下面的描述中,与图形轮廓相对应的象素称作“轮廓象素”。渗开是墨水通过由毛细管的互连的象素从轮廓象素扩散而产生的。在轮廓象素中,从其开始向位于沿墨水扩散通路下游侧的象素A1渗开的轮廓象素,即当墨水流从象素A1逆向流动所到达的轮廓象素被称之为“从其开始向象素A1渗开的轮廓象素”或“关于象素P的渗开开始象素”。
若在渗开图形绘图处理期间,发现有两个或更多的通过毛细管与象素A1互连的下游侧象素,那么象素A1被称之为“分流点象素”。具体地,若在象素A1下游侧上的两个象素B1、C1被检测为是通过毛细管互连的象素,则象素A1被称之为分流点象素。
若墨水流向象素A1,那么,从象素A1逆向通过墨水流动通路所到达的,并且墨水从其以除朝向象素A1的方向以外的方向流动的分流点象素被称之为“关于象素A1的墨水流分流点象素”。通过毛细管互连并位于从象素A1到关于象素A1的墨水分流点象素的墨水通路上的一系列象素被称之为“从象素A1到墨水流分流点象素的一系列象素”。如果在从象素A1逆向通过墨水流动通路时,不存在有关于象素A1的墨水流分流点象素,则由毛细管互连的从象素A1到渗开开始轮廓象素的一系列象素被称之为“从象素A1到墨水流分流点象素的一系列象素”。
因此,假如存在有由毛细管互连的一系列象素A1、A2和A3,通过毛细管互连的一系列象素C1、C2和C3,象素A3通过毛细管与C3相连,且墨水在由毛细管互连的一系列象素C1到C5内流动,如图96所示,则象素C3是与墨水流分流点象素有关的墨水流分流点象素,而象素A1、A2和A3是从象素A1到墨水流分流点象素的一系列象素。
假如存在有由毛细管互连的一系列象素A1、A2和A3,由毛细管互连的一系列象素C1、C2、C3、C4和C5和一系列由毛细管互连的象素D1、D2、D3、D4和D5,象素A3通过毛细管连接到象素C3上,象素C5通过毛细管连接到D3上,在象素C1和C2中的墨水流停止,墨水在由毛细管互连的一系列象素D1到D5之间流动,如图97所示,则象素D3是关于象素A1的墨水流分流点象素,而象素A1、A2、A3、C3、C4和C5是从象素A1到墨水流分流点象素的一系列象素。
另外,如果存在有由毛细管互连的一系列象素A1、A2和A3、由毛细管互连的一系列象素C1、C2、C3、C4和C5以及渗开开始轮廓象素D,象素A3通过毛细管与象素C3互连,象素C5通过毛细管与渗开开始轮廓象素D相连,墨水没有流经象素C1和C2,如图98所示,则象素A1、A2、A3、C3、C4和C5是从象素A1到墨水流分流点象素的一系列象素。(5-3-2)在渗开图形绘图处理中使用的数据
在下面的描述中,用于绘制渗开图形的区域是一个如图99所示的由多个象素P构成的平面区域。如图100所示,所使用的纸纤维结构数据具有和各象素相关的至少一定数量M的纤维和一定数量的毛细管S1、S2、S3、S4、S5、S6、S7和S8。
由渗开图形绘画处理器50所执行的渗开处理使用一些处理次数标识以记录处理次数、为与要被渗开的图形轮廓上的象素(轮廓象素)相对应而设定的轮廓数据、与在给定时间点位于渗开扩散最前面处的各象素相关设置的当前数据、与跟在当前数据被写入时刻后的下一个时间点处位于渗开扩散最前面处各象素相关设置的下一数据、与构成用于渗开图形绘制的区域各象素相关设定的渗开图形数据,以及与构成用于绘制渗开图形的区域各象素相关的亮度数据。
轮廓数据是由轮廓象素坐标值,每个轮廓象素的最初墨水量U0和与轮廓墨水相关的最初墨水浓度V0构成的,图101示出了它的一个例子。每个轮廓数据具有一个轮廓数据号。
轮廓数据具有在给定时间点位于渗开扩散最前面部分处的象素A坐标值,该值此后称作当前引导坐标值;具有与象素A相邻并作为与象素A相关的墨水开始象素而运作的象素坐标值,此值此后称作当前渗开开始坐标值;具有用于与象素A的渗开开始轮廓象素的轮廓数据的轮廓数据号;并具有用于规定象素A中墨水状态的状态数据。图102示出了它们的例子。每个当前数据具有当前数据号。由于当前数据是一个与在给定时间点位于渗开扩散最前面部分的象素相关的数据,所以,随着渗开扩散的进展,要连续地重写当前数据。
下一数据包括在当前数据中数据被写入时间点之后的下一个时间点处位于渗开扩散最前面部分处的象素B的坐标值,该值此后称为下一引导坐标值;包括与象素B相邻并作为与象素B相关的墨水开始象素而运作的一个象素坐标值,此值此后称为下一渗开开始坐标值; 包括用于与象素B相关的渗开开始轮廓象素的轮廓数据的轮廓数据号,和用于规定象素B中墨水状态的状态数据,图103示出了它们的一个例子。每一个下一数据都具有下一数据号。由于下一数据是用于在数据被写入当前数据中的时间点之后的下一时间点处,位于渗开扩散最前面部分象素的数据,所以,随着渗开扩散的进展,要连续地重写当前数据。
类似于纸纤维结构数据,渗开图形数据也与构成用于写入渗开图形的一个区域的每个象素有关。用于一个给定象素P的渗开图形数据具有一个用于规定象素P处墨水状态的状态数据、用于规定从渗开扩散开始到墨水流入象素P所需处理次数的步骤数、用于与规定从渗开扩散开始到墨水停止流到象素P的所需处理次数的墨水流停止相关的步骤数、与象素P相邻并作为与象素P相关的墨水流开始象素而运作的一个象素的坐标值(该值此后称为渗开开始坐标值)、与用于象素P的渗开开始轮廓象素相关的轮廓数据的轮廓数据号、用于规定由象素P吸收的墨水数量的吸收墨水量U,和用于规定在象素P处墨水浓度的墨水浓度V。图104示出了它们的例子。
在当前数据、下一数据和渗开图形数据状态下;“无墨水”(no-ink)用于把墨水不存在状态规定为初始值,“开始”(originating)用于规定与渗开开始象素相对应的象素P,“流动”(flowing)用于规定墨水流向并流过象素P以及“停止”(stop)用于规定停止向象素流动。
与纸纤维结构数据相似,亮度数据对应于构成用于绘制渗开图形的一个区域的多个象素。与象素P相关的亮度图形数据具有与象素P相关的亮度,作为例子示于图105。(5-3-3)渗开图形绘图处理器的操作
下面参照图106至110的流程图来解释渗开图形绘制处理器50。
首先,在步骤ST5-1,从例如存贮器3或外部存贮设备4中读出例如是由模糊图形绘图处理器40形成的图象数据的将要被进行渗开处理的一个图形的图象数据。轮廓象素检测单元51根据将被渗开的图形的图象数据,将和将被渗开的图形上所有象素对应的渗开图象数据的状态设置为“开始”(originating),随后处理进入到步骤ST5-2。
在步骤ST5-2,轮廓象素检测单元51判断是否有任何象素没有经过步骤ST5-3到5-5的处理。若有这样的象素(是),处理进入步骤ST5-3,若相反(否),处理进入步骤ST5-6。
在步骤ST5-3,轮廓象素检测单元51检测没有经过步骤ST5-3到ST5-5处理的轮廓象素,并形成与轮廓象素相关的轮廓数据。轮廓象素检测单元51为每个轮廓数据附加轮廓数据号,同时把使用轮廓象素坐标值的轮廓数据形成为轮廓坐标值。
在步骤ST5-4,最初墨水量设定单元52设定在由步骤ST5-3形成的轮廓数据中的最初墨水量U0。
在步骤ST5-5,最初墨水浓度设定单元53设定在由步骤ST5-3形成的轮廓数据中的最初墨水浓度V0。在步骤ST5-5之后,处理返回到步骤ST5-2,以重复所述处理。
通过重复步骤ST5-2到ST5-5,形成了与轮廓象素相对应的轮廓数据,其每个轮廓数据附加了一个唯一的轮廓数据号。这些轮廓数据可以预先设置在将被进行渗开处理的图形的图象数据之中,从而使得渗开图形处理器50可以很容易地读出预置的轮廓数据而不用执行步骤ST5-2到ST5-5的处理。
在步骤ST5-6,控制器56将处理次数标识f值设置为0。
在步骤ST5-7,连接象素检测单元54判断是否存在任何没有被步骤ST5-8到ST5-10处理的任一轮廓数据,若有这样的象素(是),处理进入步骤ST5-8,否则(非),处理进入到步骤ST5-11,如图107所示。
在步骤ST5-8,连接象素检测单元54检测没有被步骤ST5-9到ST5-10处理的轮廓数据,由该步骤ST5-8检测到的轮廓数据此后称作“待处理的轮廓数据”,同时,与所述待处理的轮廓数据相对应的象素被称作“待处理的轮廓象素”。然后,处理转入步骤ST5-9。
在步骤ST5-9,连接象素检测单元54访问纸纤维结构数据,以检测通过毛细管连接到待处理的轮廓象素上的象素。将被检测的象素是与正在被处理的轮廓象素相邻的象素,且被检测象素的数量是0到8。其渗开数据具有“开始”状态象素,即位于将被进行渗开处理的图形轮廓上或轮廓内的象素不被检测。当仅有一个轮廓象素时,将被检测象素的数量是8。通常,将被检测的象素数量是0到7。
在步骤ST5-10,连接象素检测单元54形成与在步骤ST5-9检测到的象素相关的轮廓数据。具体讲,连接象素检测单元54形成其上附加有当前数据号的当前数据,从而使其状态为“流动”,在步骤ST5-9检测到的象素坐标值是引导坐标值,待处理的轮廓数据的轮廓象素的坐标值是墨水流开始坐标值,附加给待处理的轮廓数据的轮廓数据号是轮廓数据号。由于在步骤ST5-9检测到的象素量是0到8,所以,在步骤ST5-10形成的轮廓数据的数量不被限制为1,而是在从0到8的范围以内。当仅有一个轮廓数据时,在步骤ST5-10检测到象素的数量可能变成8。在步骤ST5-10形成的当前数据的数量通常是0到7。在步骤ST5-10之后,处理返回到步骤ST5-7,以重复所述处理。
通过重复步骤ST5-7到ST5-10,为每个当前数据附加了一个唯一的当前数据号,形成了最初当前数据。
在步骤ST5-11,如图107所示,控制器56将处理次数标识f的值加1。
在步骤ST5-12,图形数据设定单元55判断是否存在任何没有经步骤ST5-13到ST5-27处理的一当前数据。若存在有这样的当前数据(是),处理进入到步骤ST5-13,反之(否),处理进入到步骤ST5-24,如图108所示。
在步骤ST5-13,图形数据设定单元55检测没有经步骤ST5-14到ST5-27处理的轮廓数据。由这个步骤ST5-13检测的当前数据此后称作“待处理的当前数据”,与待处理的当前数据相对应的象素称为“待处理的当前象素”。随后,处理进入到步骤ST5-14。
在步骤ST5-14,图形数据设定单元55计算待处理的轮廓象素的最大吸收墨水量Umax。然后处理进入到步骤ST5-15。
在步骤ST5-15,图形数据设定单元55根据在步骤ST5-14计算的最大吸收墨水量Umax、在与待处理的轮廓象素对应的渗开图象数据中设定的吸收墨水量U和与待处理的当前数据的轮廓数据号相对应的轮廓数据的最初墨水量U0来判断墨水流动是超过了象素所能吸收的墨水量还是没有超过象素所能吸收的墨水量。然后,在(Umax-U)<U0和(Umax-U)≥U0的情况下,图形数据设定单元55分别转入到步骤ST5-16和ST5-22。若在与待处理的当前象素对应的渗开图象数据中没有设置吸收墨水量U,则吸收墨水量U的值设置为0。
在步骤ST5-16,图象数据设定单元55访问待处理的当前数据的状态。若待处理的当前数据的状态是“流动”,处理转入步骤ST5-17,若待被处理的当前数据的状态是“停止”,处理转入步骤ST5-19。
在步骤ST5-17,图象数据设定单元55设置与待处理的当前象素对应的渗透图象数据。具体地,图象数据设定单元55通过把状态、标识f的值、待处理的当前数据的墨水流开始坐标值、待处理的当前数据的轮廓数据号和在步骤ST5-14计算的最大吸收墨水量Umax减去渗开图象数据当前吸收墨水量U(Umax-U)分别设定成“流动”、步骤数、墨水流开始坐标值,轮廓数据号和新的吸收墨水量来设定渗开图形数据。
然后,在步骤ST5-18,控制器56将与待处理的当前数据轮廓数据号对应的轮廓数据的当前初始墨水量U0减去通过从由步骤ST5-14计算的最大吸收墨水量Umax减去渗开图象数据的当前吸收的墨水量U获得的值(Umax-U),即(U0-Umax+U)设置成与待处理的当前数据的轮廓数据号对应的轮廓数据的新的初始墨水量U0。在步骤ST5-18以后,处理返回到步骤ST5-12,以重复所述处理。
在步骤ST5-19,图象数据设定单元55设定与待处理的当前象素对应的渗开图形数据。图象数据设定单元55把状态、标识f的值、待处理的当前数据的墨水流开始坐标值、待处理的当前数据的轮廓数据号、与当前数据轮廓数据号对应的轮廓数据的初始墨水量U0和渗开图象数据的当前吸收墨水量U的和(U0+U)分别设定为“停止”,步骤数,墨水流开始坐标值,轮廓数据号和新的吸收墨水量U。
在步骤ST5-20,如同在步骤ST5-18一样,控制器56把与待处理的当前数据的轮廓数据号对应的轮廓数据的当前初始墨水量U0减去通过从在步骤ST5-14计算的最大吸收墨水量Umax中减去渗开图形数据的当前吸收墨水量U所获得的值(Umax-U),即(U0-Umax+U)设定为与待处理的当前数据的轮廓数据号对应的轮廓数据的新的初始墨水量。
在步骤ST5-21,图象数据设定单元55将与从待处理的当前象素到墨水流分流点象素的一系列象素对应的所有渗开图象数据的状态设定为“停止”,同时设定标识f的值为墨水流停止步骤数。在步骤ST5-21以后,处理返回到步骤ST5-12,以重复所述处理。
在步骤ST5-22,图象数据设定单元55设定与待处理的当前象素相对应的渗开图象数据。图象数据设定单元55把状态、标识f的值、待处理的当前数据的墨水流开始坐标值、待处理的当前数据的轮廓数据号、以及与待处理的当前数据的轮廓数据号对应的轮廓数据的初始墨水量U0和渗开图形数据当前吸收墨水量U之和(U0+U)分别设定为“流动”、步骤数、墨水流开始坐标值、轮廓数据号和新的吸收墨水量U。
在步骤ST5-23,控制器56把与待处理的轮廓数据号相对应的轮廓数据的初始墨水量U0的值设定为0。在步骤ST5-23之后,处理返回到步骤ST5-12,以重复所述处理。
通过重复步骤ST5-12到ST5-23,在由于渗开所导致的墨水流向的象素上设定了渗开图象数据。
在步骤ST5-24,如图108所示,控制器56访问轮廓数据初始墨水量U0的值。若仍然有轮廓数据超过了初始墨水量U0的值(否),处理进入步骤ST5-25。若所有轮廓数据的初始墨水量U0的值都不大于0(是),处理转入步骤ST5-38,如图110所示。
在步骤ST5-25,为考虑在轮廓象素中的墨水流,控制器56减小在轮廓数据初始墨水量U0值中的波动。即,如果在两个相邻轮廓象素间的轮廓数据的初始墨水量U0的值不同,则控制器56管理所述的控制,以减少具有较大值初始墨水量U0的轮廓数据的初始墨水量U0的值,并增加具有较小值初始墨水量U0的轮廓数据的初始墨水量U0的值。在减小初始墨水量U0的过程中,墨水量U0的最小值被设置为0。
在步骤ST5-26,连接象素检测单元54判断是否存在任何未经步骤ST5-27到ST5-33处理的当前数据、若存在有这样的当前数据(是),处理进入到步骤ST5-27,若没有这样的当前数据(否),处理转向步骤ST5-34,如图109所示。
在步骤ST5-27,连接象素检测单元54检测未经步骤ST5-28到ST5-33处理的当前数据。然后,处理进入到步骤ST5-28。
在步骤ST5-28,连接象素检测单元54访问在与步骤ST5-27所检测到的当前数据相对应的象素中设置的渗开图象数据,以便把渗开图形数据的吸收墨水量U和象素中的最大吸收墨水量Umax相比较。若墨水能被进一步吸收、即如果U<Umax,处理进入步骤ST5-29。若墨水不能被进一步吸收,即如果U=Umax,处理转向步骤ST5-30。
在步骤ST5-29,连接象素检测单元54根据与在步骤ST5-27检测到的当前数据相对应的象素是位于渗开扩散最前面部分的假定而形成下一数据。具体地,连接象素检测单元54通过把状态、在步骤ST5-27检测到的当前数据的当前坐标值和在步骤ST5-27检测到的当前数据的当前墨水流开始坐标值分别设定为“流动”,下一数据的下一引导坐标值和用于下一数据的下一墨水流开始坐标值,从而形成具有为其附加有下一数据号的下一数据。在步骤ST5-29之后,处理返回到步骤ST5-26,以重复所述处理。
在步骤ST5-30,连接象素检测单元54访问纸纤维结构数据,以检测通过毛细管连接到与在步骤ST5-27检测到的当前数据对应的象素上的象素。然后,处理进入到步骤ST5-31。将要被检测的象素是7个象素,具体讲是除了墨水从其开始流到所考虑的象素的象素以外的与在步骤ST5-27检测到的当前数据对应的象素相邻的象素。在步骤ST5-30所检测的象素数量是0到7。但是,其渗开图形数据具有状态“开始”的那些象素(即位于图形轮廓内部并从其开始渗开的那些象素)以及其渗开图象数据具有状态“流动”或“停止”的那些象素(即在前流过墨水的那些象素)不进行检测。
在步骤ST5-31,连接象素检测单元54判断在步骤ST5-30是否检测到了象素。若检测到了象素(是),处理进入步骤ST5-32。若没有检测到象素(否),处理进入步骤ST5-33。
在步骤ST5-32,连接象素检测单元54根据墨水流是持续的假定形成与在步骤ST5-30检测到的象素相对应的下一数据。具体地,连接象素检测单元54通过把状态、在步骤ST5-30检测到的象素坐标值、在步骤ST5-27检测到的当前数据的当前引导坐标值以及在步骤ST5-27检测到的当前数据的轮廓数据号分别设置为“流动”、下一引导坐标值,下一墨水流开始坐标值和轮廓数据号,从而形成被附加有下一数据号的下一数据。由于在步骤ST5-30检测0到7个象素,所以将要在步骤ST5-32被形成的下一数据号不是被限定为1,而是在从0到7的范围之内。在步骤ST5-32之后,处理返回到步骤ST5-26,以重复所述处理。
在步骤ST5-33,连接象素检测单元54根据墨水流动已停止的假定形成下一数据。具体地连接象素检测单元54通过把状态、在步骤ST5-27检测到的当前数据的坐标值、在步骤ST5-27检测到的当前数据的当步墨水流开始坐标值和在步骤ST5-27检测到的步骤数据的轮廓数据号分别设置为“停止”、下一引导坐标值、下一墨水流开始坐标值和轮廓数据号,从而形成被附加有下一数据号的下一数据。在步骤ST5-33之后,处理返回到步骤ST5-26,以重复所述操作。
通过重复步骤ST5-26到ST5-33,形成了附加了适宜每个下一数据的下一数据号下一数据,这是一个涉及到在紧跟着数据被写入当前数据中的时间点之后的一个时间点处位于渗开扩散最前面处的象素的数据。
在步骤ST5-34,如图109所示,连接象素检测单元54判断是否存在有下一数据。下一数据的存在或不存在分别规定了渗开扩散的继续和结束。若存在有下一数据(是),处理进入到步骤ST5-35,反之(否),处理转入步骤ST5-38。
在步骤ST5-35到ST5-37,连接象素检测单元54拷贝当前数据中的下一数据,以更新渗开扩散的最前面部分。即:在步骤ST5-35,连接象素检测单元54擦除所有的当前数据,然后,在步骤ST5-36,连接象素检测单元54直接拷贝当前数据中的所有当前下一数据。在步骤ST5-37,连接象素检测单元54擦除所有的当前下一数据。在步骤ST5-37之后,连接象素检测单元54转到步骤ST5-11,以重复渗开图形数据的设置。
另一方面,在步骤ST5-38,图形数据设定单元55根据渗开扩散已经停止的假定来设置渗开图形数据。即:图形数据设定单元54设定渗开图形数据的状态(该状态被预先设定为“流动”)为“停止”,并将墨水流停止步骤的数量设置为标识f的值。
而后,在步骤ST5-39,图形数据设定单元55根据墨水流停止步骤的数量和象素渗开图象数据步骤的数量计算墨水所流到的象素(即其渗开图形数据具有状态“停止”(stop)的象素)的墨水浓度V,并将所计算的墨水浓度值设定为渗开图象数据的墨水浓度V。具体地,图象数据设定单元55根据等式(5-8)到(5-10)预先计算与不小于0的整数的x和t相关的墨水浓度V(x,t)以将其设置为x和t的两维数组。图象数据设定单元55访问被如此设置为两维数组的墨水浓度V(x,t),以获得墨水浓度V。即:步骤数和墨水流停止步骤数分别为x和t,图形数据设定单元55访问被设置为两维数组的墨水浓度V(x,t),以获得在每一个象素处的墨水浓度。
在步骤ST5-40,图象数据设定单元55根据为每个象素设定的渗开图形数据计算与多个象素相关的亮度值,以设置亮度数据。墨水所流入的象素的亮度数据,即其渗开图形数据具有状态“停止”的象素的亮度数据通过把在该象素处所吸收的墨水量U和墨水浓度V相乘来加以计算。为了计算亮度值,亮度值可以被乘以一个适当的系数以进行归一化。在待被渗开的图形上象素的亮度值,即其渗开图所数据具有状态“开始”的象素的亮度值被设置为全部亮度值范围以内的最大值,而没有墨水流入的象素的亮度值即其渗开图形数据具有状态“停止”的象素的亮度值被设置为全部亮度值范围的内的最小值。假设在前面的描述中,亮度值愈大,则墨水量和墨水浓度愈大。但是处理也可以在亮度愈小,墨水量和墨水浓度愈大的情况下顺利进行。
在步骤ST5-41,渗开图形绘画单元50将在步骤ST5-40处设置的与每个象素相关的亮度数据传送给显示装置5。根据该亮度数据,显示装置5在显示装置5上显示渗开图形。
在上面描述的渗开图形绘画处理中,是在没有墨水从一个象素流向一个给定的、先前已经有墨水从其它象素向其流入的象素的假设前提下设定所述渗开图象数据的。就是说,当在步骤ST5-30检测由毛细管连接的象素时,先前已有墨水流入的任一象素,即其渗开图形数据状态为“流动”或“停止”的象素不被进行检测。
但事实上,墨水颗粒很容易从通过毛细管与一象素相连的另一个象素扩散至该象素,对该象素先前已有墨水从给定象素流入。
由此,渗开图象数据就可以在下述的前提下预以设置:即如果在除了从其开始有墨水流向象素P的象素外,还存在有一个或多个通过毛细管连接到先前已有墨水流入的象素P上的象素,并且墨水先前已经流向这样一个或多个通过毛细管与象素P互连的象素,即如果在象素P处的墨水流和在一个或多个通过毛细管连接到象素P上的象素处的墨水流相互冲突,那么,墨水颗粒将在象素P和该一个或多个象素之间扩散,并因此,需要在设置渗开图形数据时加以考虑。
下面参看图111来解释考虑到在这种墨水流相冲突而引起墨水颗粒扩散的情况下用于设定渗开图形数据的方法。
在图111所示的实施例中,存在有通过毛细管互连的一系列象素A1、A2、A31、A42和A52,通过毛细管互连的一系列象素B1、B2、B3、B42和B52以及通过毛细管互连的一系列象素A41、A51、A61、B51和B41。象素A3通过毛细管连接到象素A41,并且象素A3还连接到象素B41。墨水以象素A1、A2、A31、A42、A52的顺序流过A1、A2、A31、A42和A52并作为第一墨水流,这个墨水流在象素A3处被分流的流向象素A41、A51和A61。墨水还以象素B1、B2、B31、B42、B52的顺序流过象素B1、B2、B31、B42和B52并作为第二墨水流,该墨水流在象素B3处被分流以流向象素B51和B41。
在这种情况下,流向象素A61的墨水与流向象素B51的墨水相互冲突。为了在这种情况下设置与各象素有关的渗开图象数据,只要把位于朝象素A61的分流点处象素(即象素A3处)上的墨水流的压力和位于朝象素B51的分流点处的象素(即象素B3)上的墨水压力相比较并假定若两个压力彼此相等则没有墨水颗粒扩散,而若两个压力彼此不等,则在两个颗粒之间继续墨水扩散就足够了。
由于在两象素处的两个墨水流的压力在渗开扩散的初始阶段较大并随着渗开扩散的进展而变得较小,所以把在用于象素A3的渗开图形数据中设定的步骤数和在用于象素B3的渗开图形数据中设定的步骤数加以比较以作为在两个象素处的墨水流压力的比较就足够了。
若用于象素A3的渗开图形数据中设置的步骤数与用于象素B3的渗开图形数据中设置的步骤数彼此相等,在象素A41、A51、A61、B51和B41处就不会发生墨水颗粒的扩散。由此,对于这些象素A41、A51、A61、B51和B41来讲,就根据上述的流程设置渗开图形数据。
相反,若在用于A3的渗开图形数据中设定的步骤数小于在用于B3的渗开图形数据中设定的步骤数,那么,在象素A41、A51、A61、B51和B41处就会发生从象素A41到象素B41这个方向上的墨水颗粒扩散,直到第一墨水流停止为止。因此,对于与这些象素A41、A51、A61、B51和B41的渗开图形数据相关的墨水流停止步骤数,设定了与作为这些象素的墨水流分流点象素的象素A3相关的墨水流停止步骤数相同的值。
另一方面,若在用于象素B3的渗出图形数据中设定的步骤数小于在用于象素A3的渗出图形数据中设定的步骤数,那么,在象素A41、A51、A61、B51和B54处沿从象素B41到象素A41的方向会发生墨水颗粒的扩散,直到第二墨水流停止为止。因此,对于与这些象素A41、A51、A61、B51和B41的渗开图形数据相关的墨水流停止步骤数,设定了与作为这些象素墨水流分流点象素的象素A3相关的墨水流停止步骤数相同的值。
因此,在考虑不同墨水流相互冲突的情况下,用墨水颗粒的扩散可以设定渗开图形数据。
虽然在前面描述了来自两个方向的两个墨水流为例子,但是在来自三个不同方向的三个墨水流情况下,也可以通过比较在相对于墨水流发生冲突的象素是墨水流分流点的象素中设置的渗开图形数据步骤数,类似地设置与渗开图形数据相关的墨水流停止步骤数。(6)图形显示举例
图112示出了一个例子,在这个例子中,作为一个模糊的和渗开图形的例子在上述的图象显示系统中实际上显示了一个由10个笔划YU1到YU10构成的读作“Yume”(意思是“梦”)的日文汉字字符。
在图112所示的例子中,纸纤维结构数据形成处理器30形成纤维结构数据,而字体形成处理器30形成汉字字符“梦”。读作“Yume”的字体是由10个笔划数据YU1到YU10相对应的笔划数据构成的。
由纸纤维结构数据形成处理器30形成的纸纤维结构数据和由字体形成处理器20形成的读作“Yume”的字体被读入模糊图画绘图处理器4C,该处理器40然后在这些纸纤维结构数据和该汉字字符的字体基础上的汉字字符上,在各笔划YU1到YU10上执行模糊图形绘画处理,以设置在绘制各笔划YU1到YU10的时间点处笔划YU1到YU10中的墨水量和墨水浓度。
作为表示在写入各笔划YU1到YU10的时间点处毛笔状态的数据,毛笔数据的墨水浓度和墨水量假定与在毛笔上所有点处的相同。与笔划YU1到YU10相关的毛笔数据的墨水量和墨水浓度设置如下表5:
笔划YU1到YU10的模糊参数设置为如表6所示:
笔划 | 毛笔数据 | |
墨水量 | 墨水浓度 | |
YU1 | 0.50 | 0.45 |
YU2 | 0.43 | 0.45 |
YU3 | 0.10 | 0.45 |
YU4 | 0.15 | 0.45 |
YU5 | 0.47 | 0.45 |
YU6 | 0.47 | 0.45 |
YU7 | 0.15 | 0.45 |
YU8 | 0.15 | 0.45 |
YU9 | 0.10 | 0.45 |
YU10 | 0.30 | 0.45 |
表5
笔划 | ||||||||
C1 | C2 | C3 | C4 | C5 | C6 | C7 | ||
YU1 | 无模糊区域 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
YU2 | 第一模糊区域 | 0.56 | 0.70 | 0.00 | 11/28 | 0.07 | 1/10 | 1.00 |
第二模糊区域 | 4/5 | 1.00 | 0.00 | 1/2 | 0.00 | 1/10 | 0.29 | |
YU3 | 第一模糊区域 | 1/3 | 0.63 | 0.00 | 1.00 | 0.13 | 1/6 | 1/3 |
第二模糊区域 | 2/3 | 0.76 | 0.00 | 1/2 | 0.13 | 0.13 | 0.4 | |
YU4 | 第一模糊区域 | 0.56 | 0.70 | 0.00 | 11/28 | 0.07 | 1/10 | 1.00 |
第二模糊区域 | 4/5 | 1.00 | 1.00 | 1/2 | 0.00 | 1/10 | 0.29 | |
YU5 | 无模糊区域 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
YU6 | 无模糊区域 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
YU7 | 第一模糊区域 | 0.17 | 1/3 | 0.00 | 1.00 | 0.13 | 0.13 | 0.86 |
YU8 | 第一模糊区域 | 0.23 | 0.83 | 0.00 | 1/3 | 1/6 | 1/6 | 0.42 |
第二模糊区域 | 0.43 | 0.76 | 0.00 | 1/2 | 1/10 | 0.13 | 0.38 | |
YU9 | 第一模糊区域 | 0.44 | 0.60 | 0.00 | 5/6 | 0.07 | 0.10 | 1.00 |
第二模糊区域 | 9/10 | 1.00 | 0.00 | 8/15 | 0.00 | 0.13 | 1.00 | |
YU10 | 无模糊区域 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
表6
由纸纤维结构数据形成处理器30形成的纸纤维结构数据和在模糊图画绘图处理器40中设定的笔划YU1到YU10中的墨水量和墨水浓度被输入给模糊图形处理器50。模糊图形处理器50在汉字字符各笔划YU1到YU10上执行渗开图形处理,以在笔划YU1到YU10周围产生渗开,从而绘制被模糊和渗开的汉字字符“梦”,如图112所示。
由此,就可以利用本发明的图形显示系统去表示如同使用毛笔实际上去写会出现的模糊和渗开。
同时,可能发生下述情况,即当图形被放大并显示在显示装置上时,图形轮廓变得参差不齐,如图113所示。这样,在计算机图形中执行一个去阶梯处理以平滑图画轮廓,从而在显示设备上显示一个平滑的图画。
把上述渗开图形绘图处理作为这种去阶梯处理也是有效的。即,通过利用渗开图形绘画处理对轮廓部分的附近进行处理,图形轮廓可以被平滑化,如图114所示。另外,利用使用渗开图形绘画处理的去阶梯处理,在显示设备上可以显示图形轮廓,从而使得所述图形能够比利用仅能平滑图画轮廓的去阶梯处理所绘制的图形更象利用毛笔实际绘制的图形。其原因在于利用毛笔实际绘制的图的轮廓不是完全平滑的而是具有某些渗开。
Claims (48)
1、一种用于形成纸纤维结构数据的方法,包括:
形成表示构成纸张的多个纤维中的一个的纤维数据;
在包含多个象素的一个区域中排列多个所述纤维数据,以形成表示纤维分布的纤维分布数据;
根据所述的纤维分布数据基于象素来求取通过所述象素的每一个的纤维数量M;
形成包含通过所述各象素的基于象素的纤维数量M的纸纤维结构数据。
2、如权利要求1的纸纤维结构数据形成方法,其中,所述的纤维数据是由用于规定纤维的形状、位置和方向的数据构成的。
3、如权利要求2的纸纤维结构数据形成方法,其中,用于规定纤维形状的数据是由部分余弦函数表示的。
4、如权利要求2的纸纤维结构数据形成方法,其中,当形成所述的纸纤维数据时,用于规定纤维长度的纤维长度参数由一个输入装置输入,并且根据所述的纤维长度参数形成用于规定纤维形状的数据。
5、如权利要求1的纸纤维结构数据形成方法,其中,多个点被随机放置在由所述多个象素构成的区域内,所述各点的位置是通过弛豫处理而均匀提供的,每个以均匀提供的每一个点为中心的多个子区域被形成,并且在所述的子区域中以随机形式排列有与所述子区域数相同数量的纤维数据,以用于形成所述的纤维分布数据。
6、如权利要求5的纸纤维结构数据形成方法,其中,为了形成所述的纤维分布数据,从一个输入装置中输入用于规定纤维密度的纤维密度参数,并根据所述的纤维密度参数设定在所述子区域中排列的纤维数据的数。
7、如权利要求1的纸纤维结构数据形成方法,其中,根据所述纤维分布数据,对每个象素求取通过一个象素并还分别通过8个象素P1、P2、P3、P4、P5、P6、P7和P8的纤维M1、M2、M3、M4、M5、M6、M7和M8的数,并形成纸纤维结构数据,所述的纸纤维结构数据就是纤维M的数和纤维Mi的数(i=1到8)。
8、如权利要求7的纸纤维结构数据形成方法,其中,对于每个象素求取在纤维间隙中形成的从所述象素P朝各象素P1到P8方向延伸的毛细管S1、S2、S3、S4、S5、S6、S7和S8的数,且形成所述的纸纤维结构数据,所述的纸纤维结构数据就是所述纤维的数M、数Mi和毛细管Si(i=1到8)的数。
9、如权利要求8的纸纤维结构数据形成方法,其中,对于Mi的数量不小于2和小于2的情况,毛细管Si的数量分别被设定为1和0。
10、如权利要求8的纸纤维结构数据形成方法,其中,在与从所述象素P朝着所述象素Pi(i=1到8)延伸的Mi纤维相邻的一些纤维之间的交叉角度是随机设置的,且其中,对于至少有一个所设定交叉角度小于预定角度和所有所设定交叉角度都不小于预定角度的情况,所述数量Si被设定为1和0。
11、如权利要求1的纸纤维结构数据形成方法,其中,根据所述纤维的数M来求取在象素P处用以规定透光度的光透射系数I,且其中,所述的光透射系数I包括在纸纤维结构数据之中,以用于产生所述的纸纤维结构数据。
12、一种用于形成纸纤维结构数据的装置,包括:
用于形成表示构成纸张的多个纤维中一个的纤维数据的装置;
用于在由多个象素构成的一个区域内排列多个所述纤维数据,以形成表示纤维分布的纤维分布数据的装置;
用于根据由所述纤维分布数据形成装置形成的所述纤维分布数据,求取通过所述象素的每一个的纤维的数量M的装置;和
用于形成由通过所述象素的基于象素的纤维数量M所组成的纸纤维结构数据的装置。
13、如权利要求12的纸纤维结构数据形成装置,其中,由所述纤维数据形成装置形成的纤维数据包括用于规定纤维形状的数据,用于规定纤维位置的数据和用于规定纤维方向的数据。
14、如权利要求13的纸纤维结构数据形成装置,其中,用于规定纤维形状的数据是由部分余弦函数据表示的。
15、如权利要求13的纸纤维结构数据形成装置,还包括有用于输入规定纤维长度的纤维长度参数的纤维长度参数输入装置,所述的数据形成装置根据从所述纤维长度参数输入装置输入的纤维长度参数形成用于规定纤维形状的数据。
16、如权利要求12的纸纤维结构数据形成装置,其中,所述的纤维分布数据形成装置包括用于在包含多个所述象素的一个区域中随机排列多个点的装置;用于通过弛豫处理使由所述排列装置所排列的多个点均匀化的装置;用于形成其中的每一个都以由所述均匀化装置所均匀化的每个点为中心的多个子区域的装置;和用于在由所述子区域形成装置形成的每个子区域内排列相同数量纤维数据的装置,所述的纤维分布数据就是由所述排列装置排列的纤维数据。
17、如权利要求16的纸纤维结构数据形成装置,还包括有用于输入规定纤维密度的纤维密度参数的装置,所述的排列装置根据由所述纤维密度参数输入装置输入的纤维密度参数设定在所述子区域中排列的纤维数据的数。
18、如权利要求12的纸纤维结构数据形成装置,还包括有用于根据所述纤维分布数据,基于象素来计算通过象素P和分别通过与所述象素P相邻的8个象素P1、P2、P3、P4、P5、P6、P7和P8的纤维M1、M2、M3、M4、M5、M6、M7和M8的数,并形成包括由所述纤维数计算装置计算的纤维数M和由所述相邻纤维数计算装置计算的纤维数Mi(i=1到8)的纸纤维结构数据的装置。
19、如权利要求18的纸纤维结构数据形成装置,还包括用于基于象素来计算在纤维间隙内形成的从所述象素P朝各象素P1到P8方向延伸的毛细管S1、S2、S3、S4、S5、S6、S7和S8的数,并形成包括所述纤维数M、纤维数Mi和毛细管数Si(i=1到8)的纸纤维结构数据。
20、如权利要求19的纸纤维结构数据形成装置,其中,对于Mi的数量不小于2和小于2的情况,毛细管Si的数量分别被设置成1和0。
21、如权利要求19的纸纤维结构数据形成装置,其中,以随机的方式设置从所述P象素朝着Pi(i=1到8)延伸的Mi纤维中相邻的一些纤维间的交叉角度,且其中对于至少有一个所设定交叉角度小于预定角度和所有所设定交叉角度都不小于预定角度的情况,所述数Si被设定为1和0。
22、如权利要求12的纸纤维结构数据形成装置,其中,根据所述纤维数M求取在所述象素P处的用于规定透光度的光透射系数I,并且,其中所述的光透射系数I包括在纸纤维结构数据之中,以用于产生所述的纸纤维结构数据。
23、一种用于显示得自于基于象素的图象数据的图象的模糊图形绘制方法,包括:
第一步骤,在待被模糊的图形的轮廓上检测象素P;
第二步骤,对在所述第一步骤中检测出的象素P并利用在权利要求8至11中任何之一所述的纸纤维结构数据形成方法求取的对于像素P的纸纤维结构数据,基于毛细管Si(i=1到8)的数量,检测通过毛细管连接到所述象素P上的象素;和
第三步骤,把墨水存在规定数据设定为在由所述第二步骤检测到的象素中的图象数据;
使其中有在第三步骤中设定的图象数据的象素代替在所述第一步骤中检测到并在第二步骤中参考的象素P,并重复所述第二和第三步骤。
24、如权利要求23的模糊图形绘制方法,其中,若所述象素P的毛细管的数量不少于1,那么,与毛细管数Si相关的象素Pi被设定为连接到所述象素P的象素。
25、如权利要求23的模糊图形绘制方法,其中,若所述象素P毛细管的数不少于1,且与毛细管Si的数相关的象素Pi的毛细管Si(j=1或8)的数不少于1,那么,象素Pi被设定为连接到所述象素P的象素。
26、如权利要求23的模糊图形绘制方法,其中,在所述第三步骤中,对于已对其设定有所述图象数据的象素不设定新的图象数据。
27、如权利要求23的模糊图形绘制方法,其中,初始墨水数量U0被预先设定成在所述第一步骤中检测出的所述象素P中的图象数据,且其中,在所述第三步骤中,若所述初始墨水量U0不大于0,则不再为第二步骤中检测出的象素设定图象数据。
28、如权利要求27的模糊图形绘制方法,其中,在所述第三步骤中计算在所述第二步骤中检测到的象素中所吸收的墨水量U,且其中,被如此计算的吸收墨水量U被设定为图象数据。
29、如权利要求28的模糊绘图方法,其中,根据等式(1)来获得所吸收的墨水量U:
其中,S(θ)=2×q×{cos(θ/2)/sin(θ/2)+(θ-π)/2}
其中,n是利用权利要求8到11所述的纸纤维结构数据形成方法获得的纤维M的数,q是得自于墨水表面张力的一个常数,θi是随机设置的用于表示第i个纤维的方向的一个常数,α是一个可选设定的比例常数。
30、如权利要求28的模糊图形绘制方法,其中,在所述第三步骤中,在所述第二步骤中检测到的所有象素的吸收墨水量U相加,并且其中若相加之和达到了所述初始墨水量U0则结束重复所述的第二和第三步骤。
31、如权利要求28的模糊图形绘制方法,其中,从在所述第二步骤中检测到象素处的所述初始墨水量U0中连续减去所吸收的墨水量U,以连续求得所剩余的墨水量Urest,所述剩余的墨水量Urest被设定为一个新的初始墨水量U0,以用于在所述第一步骤中检测到的象素P,且其中,所述新的初始墨水量U0变得不大于0时,结束重复所述的第二和第三步骤。
32、如权利要求27的模糊图形绘制方法,其中,在所述和第三步骤,若在所述第一步骤检测到的相邻象素间的初始墨水量U0不同,那么具有较大初始墨水量的象素的初始墨水量U0减少,同时具有较小初始墨水量的象素的初始墨水量U0增加。
33、如权利要求28的模糊图形绘制方法,其中,初始墨水浓度V0被预先设定为所述图形轮廓上象素中的图象数据,且其中在所述第三步骤,为每个对其已经设定了用于规定数据的墨水存在的象素计算所述象素中的墨水浓度V,根据吸收墨水量U和墨水浓度V求得用于规定所述象素亮度的亮度数据,且所述的亮度数据被设定为图象数据。
34、如权利要求33的模糊图形绘制方法,其中,在所述第三步骤,根据偏微分方程(2)求得所述墨水浓度V:
其中,n(x,r,t)是一个表示墨水颗粒浓度的函数,V(r)是表示墨水颗粒扩散速度的函数,D0是一个表示墨水颗粒向毛细管壁表面扩散的扩散系数,r是毛细管内的径向位置,x是沿着毛细管内流动方向的位置,t是时间。
35、如权利要求34的模糊图形维绘制方法,其中,在所述第三步骤,根据等式(3)来获得墨水浓度V:
V=V0×V(x,t) ……(3)
其中,V0是初始墨水浓度V0,V(x,t)是在所述第二步骤中检测到的象素的数x及时间t的函数,所述的函数是根据等式(2)求得的。
36、一种用于显示得自于基于象素的图象数据的图象的模糊图形绘制装置,包括:
用于检测在将被模糊的图形的轮廓上的象素P的装置,
对于由所述轮廓象素检测装置检测到的像素P并使用权利要求8到11中任何之一的纸纤维结构数据形成方法所求得的纸纤维结构数据,基于毛细管Si(i=1到8)的数量检测由毛细管连接到所述象素P上的象素的装置;和
用于将墨水存在规定数据设定为在由所述连接象素检测装置检测到的象素中的图象数据的装置;
使在其中有由所述图象数据设定装置设定的图象数据的象素替换由所述轮廓象素检测装置所检测到的象素P,并重复所述连接象素检测装置和图象数据设定装置的操作,。
37、如权利要求36的模糊图形绘制装置,其中,若所述象素P的毛细管的数不少于1,那么,与毛细管的数Si相关的象素Pi被设定为连接到所述象素P的象素。
38、如权利要求36的模糊图形绘制装置,其中,若所述象素P的毛细管的数不少于1且与毛细管Si(j=1到8)的数相关的象素Pi的毛细管的数不少于1,那么,象素Pi被设定成连接到所述象素P的象素。
39、如权利要求36的模糊图形绘制装置,其中,在所述第三步骤中,对于已经对其设定有图象数据的象素不再设定新的图象数据。
40、如权利要求36的模糊图形绘制装置,还包括一个在由所述轮廓象素检测装置检测到的象素P中将初始的墨水量U0设定成图象数据的初始墨水量设定装置,若初始墨水量U0不大于0,则所述的图象数据设定装置对于在所述第二步骤中检测到的角素不设定图象数据。
41、如权利要求40的模糊图形绘制装置,其中,所述图象数据设定装置计算在由所述连接象素检测装置检测到的象素中的所吸收的墨水量U,且其中,如此计算的所吸收墨水量U被设定成图象数据。
42、如权利要求41的模糊图形绘图装置,其中,图象数据设定装置根据等式(4)设定所吸收的墨水量U:
其中:
S(θ)=2×q×{cos(θ/2)/sin(θ/2)+(θ-π)/2} ……(4)
其中,n是通过使用权利要求19到22的纸纤维结构数据形成装置求得为纤维M的数,q是得自于墨水表面张力的一个常数,θi是一个随机设置的用于表示第i个纤维的方向的常数,2是一个任意设定的比例常数。
43、如权利要求41的模糊图形绘制装置,还包括:用于对所有由所述图象数据设定装置计算的象素的吸收墨水量U进行求和,并当所求之和达到了所述初始墨水量U0时结束所述初始墨水量设定装置和所述图象数据设定装置的重复操作的控制装置。
44、如权利要求41的模糊图形绘制装置,还包括控制装置,用于从在所述初始墨水量设定装置中设定的所述初始墨水量U0中连续地减去由所述图象数据设定装置计算的吸收墨水量U,以连续获得剩余墨水量Urest,用于把所述剩余墨水量Urest设定成用于由所述轮廓象素检测装置检测到的象素的新的初始墨水量U0,并用于当所述新的初始墨水量U0不大于0时结束所述第二和第三步骤的重复操作。
45、如权利要求44的模糊图形绘制装置,还包括控制装置,用于管理控制,以使得在所述第三步骤,若在由所述图象数据设定装置检测到的相邻象素之间初始墨水量U0是不同的,那么,具有较大初始墨水量的象素的初始墨水量U0减少,同时具有较小初始墨水量的象素的初始墨水量U0增加。
46、如权利要求40的模糊图形绘制装置,还包括初始墨水浓度设定装置,用于将初始墨水浓度V0设定成所述图形轮廓上象素中的图象数据,所述图象数据设定装置为每一个对其已经设定了用于规定墨水存在的数据的象素计算所述象素中的墨水浓度V,根据吸收墨水量U和墨水浓度V求得用于规定所述象素亮度的亮度数据,并将所述的亮度数据设定成图象数据。
47、如权利要求46的模糊图形绘制装置,其中,所述图象数据设定装置根据偏微分方程(5)求得所述的墨水浓度V:
其中,n(x,r,t)是表示墨水颗粒浓度的函数,V(r)是表示墨水颗粒扩散速度的函数,D0是一个表示墨水颗粒向毛细管壁表面扩散的扩散系数,r是在毛细管内的径向位置,x是沿毛细管内流动方向的位置,t是时间。
48、如权利要求47的模糊图形绘图装置,其中,所述图形数据设定装置根据等式(6)求得墨水浓度V:
V=V0×V(x,t) ……(6)
其中,V0是最初墨水浓度V0,V(x,t)是由所述连接象素检测装置检测到的象素的数量x和时间(t)的函数,所述函数是根据等式(5)获得的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP011050/1995 | 1995-01-26 | ||
JP7011050A JPH08202850A (ja) | 1995-01-26 | 1995-01-26 | 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置 |
JP011050/95 | 1995-01-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1134572A CN1134572A (zh) | 1996-10-30 |
CN1104703C true CN1104703C (zh) | 2003-04-02 |
Family
ID=11767208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96101494A Expired - Fee Related CN1104703C (zh) | 1995-01-26 | 1996-01-26 | 纸纤维结构数据及产生方法和设备、绘渗开图方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5784301A (zh) |
JP (1) | JPH08202850A (zh) |
KR (1) | KR960030042A (zh) |
CN (1) | CN1104703C (zh) |
GB (1) | GB2297673B (zh) |
TW (1) | TW297877B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940081A (en) * | 1995-01-27 | 1999-08-17 | Sony Corporation | Method and apparatus for forming a font and the font produced method and apparatus for drawing a blurred figure |
GB2338160A (en) * | 1995-01-27 | 1999-12-08 | Sony Corp | Simulating a brush stroke with varying coverage |
US6198489B1 (en) * | 1997-02-21 | 2001-03-06 | University Of Washington | Computer generated watercolor |
US20030158786A1 (en) * | 1999-02-26 | 2003-08-21 | Skyline Software Systems, Inc. | Sending three-dimensional images over a network |
US6870550B1 (en) * | 1999-04-26 | 2005-03-22 | Adobe Systems Incorporated | Digital Painting |
US7710422B2 (en) * | 2004-07-26 | 2010-05-04 | Microsoft Corporation | Font representations |
US8296668B1 (en) * | 2008-08-15 | 2012-10-23 | Adobe Systems Incorporated | Paper texture for watercolor painting effects in a graphics editing program |
US20130002696A1 (en) * | 2011-07-01 | 2013-01-03 | Andrew James Sauer | Computer Based Models of Printed Material |
US9230514B1 (en) * | 2012-06-20 | 2016-01-05 | Amazon Technologies, Inc. | Simulating variances in human writing with digital typography |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4796020A (en) * | 1986-03-10 | 1989-01-03 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method and apparatus for drawing antialiased lines and polygons |
US5060169A (en) * | 1987-07-01 | 1991-10-22 | Ampex Corporation | Video simulation of an airbrush spray pattern |
US5245432A (en) * | 1989-07-31 | 1993-09-14 | Imageware Research And Development Inc. | Apparatus and method for transforming a digitized signal of an image to incorporate an airbrush effect |
JP3021547B2 (ja) * | 1989-09-29 | 2000-03-15 | セイコーエプソン株式会社 | 文字パターン発生方法 |
US5155813A (en) * | 1990-01-08 | 1992-10-13 | Wang Laboratories, Inc. | Computer apparatus for brush styled writing |
GB2244892B (en) * | 1990-06-08 | 1994-12-14 | Electronic Graphics Ltd | Computer graphics |
JPH06503663A (ja) * | 1990-11-30 | 1994-04-21 | ケンブリッジ アニメーション システムズ リミテッド | 動画作成装置 |
GB2256118A (en) * | 1991-05-21 | 1992-11-25 | Cambridge Animation Syst | Image synthesis and processing |
US5432896A (en) * | 1991-01-31 | 1995-07-11 | Axa Corporation | Watercolor simulation in computer graphics |
JPH06507742A (ja) * | 1991-05-21 | 1994-09-01 | ケンブリッジ アニメーション システムズ リミテッド | 動画作成装置 |
US5347620A (en) * | 1991-09-05 | 1994-09-13 | Zimmer Mark A | System and method for digital rendering of images and printed articulation |
US5592597A (en) * | 1994-02-14 | 1997-01-07 | Parametric Technology Corporation | Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics |
US5621868A (en) * | 1994-04-15 | 1997-04-15 | Sony Corporation | Generating imitation custom artwork by simulating brush strokes and enhancing edges |
-
1995
- 1995-01-26 JP JP7011050A patent/JPH08202850A/ja not_active Withdrawn
-
1996
- 1996-01-25 GB GB9601532A patent/GB2297673B/en not_active Expired - Fee Related
- 1996-01-26 CN CN96101494A patent/CN1104703C/zh not_active Expired - Fee Related
- 1996-01-26 KR KR1019960002191A patent/KR960030042A/ko active IP Right Grant
- 1996-01-26 US US08/592,190 patent/US5784301A/en not_active Expired - Fee Related
- 1996-02-23 TW TW085102076A patent/TW297877B/zh active
Also Published As
Publication number | Publication date |
---|---|
KR960030042A (ko) | 1996-08-17 |
GB9601532D0 (en) | 1996-03-27 |
JPH08202850A (ja) | 1996-08-09 |
US5784301A (en) | 1998-07-21 |
GB2297673A (en) | 1996-08-07 |
GB2297673B (en) | 1999-10-13 |
CN1134572A (zh) | 1996-10-30 |
TW297877B (zh) | 1997-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1140862A (zh) | 形成字形的方法和设备、所产生的字形及绘制渗开图的方法和设备 | |
CN1094422C (zh) | 图象信号供给装置 | |
CN1299239C (zh) | 图象处理装置和方法 | |
CN1112644C (zh) | 一种信息处理设备和方法 | |
CN1126025C (zh) | 窗口显示装置 | |
CN1104703C (zh) | 纸纤维结构数据及产生方法和设备、绘渗开图方法和设备 | |
CN1293518C (zh) | 具有割截与支援框线模式的三角形描绘方法与装置 | |
CN1835022A (zh) | 使用3d模型生成2d过渡 | |
CN1131495C (zh) | 特征信息赋予方法及装置 | |
CN1648848A (zh) | 布局调整方法和装置 | |
CN1653489A (zh) | 将单个命令转换成空间图像信息的图形引擎及合并有该图形引擎的电子装置和存储器 | |
CN1797432A (zh) | 生成图形目标的方法 | |
CN1731399A (zh) | 信息处理装置及其控制方法 | |
CN1795453A (zh) | 实时墨迹作图 | |
CN1795468A (zh) | 在基于扫描线的光栅图像处理器中跟踪深度的方法 | |
CN1705976A (zh) | 向量图形的标记语言和对象模型 | |
CN1749958A (zh) | 使用形状的公用图表 | |
CN101065784A (zh) | 计算机图形处理 | |
CN1912825A (zh) | 信息处理装置及其控制方法 | |
CN1141460A (zh) | 图像输出装置 | |
CN1159666C (zh) | 基于笔划中心线技术的曲线字形的还原显示方法 | |
CN1744027A (zh) | 布局处理方法和信息处理装置 | |
CN1465035A (zh) | 信息处理装置 | |
CN1083954A (zh) | 文字数据、词符-插图数据的输入输出装置及其方法 | |
CN1577237A (zh) | 印刷处理系统、方法及程序、印刷装置、印刷指示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |