绘制多边形等图形的方法及显示控制装置的制作方法

文档序号:6411773阅读:146来源:国知局
专利名称:绘制多边形等图形的方法及显示控制装置的制作方法
技术领域
本发明涉及绘制多边形等图形的方法及装置,尤其涉及进行判断所绘制的图形内部涂满色的多边形区域等的图形绘制处理方法及实施该方法的图形加速板等显示控制装置。
以往利用软件制图时,各象素是否位于多边形等有轮廓的图形内部的判断处理及对这样的多边形区域进行涂满色处理时,需要很大的工作量。
即现有的利用软件制图的方法是(1)先绘制图形的轮廓,(2)其次判断各点是否位于图形的轮廓内部,(3)然后判断是否绘制或不绘制各点(象素)。
当绘制各点(象素)时,包含着色信息的数据是处理的对象。
图9a~9c表示上述现有的利用软件绘图的方法。如图9a所示,如果采用该方法,通过依次连接多边形的6个顶点1到6的线段来绘制图形的轮廓。
其次,如图9b所示,将图形轮廓内部的点444涂满色。这时,要在判断该点是在形成多边形的各线段的内部还是在外部后,再涂满点444的色。即如下进行判断。一个点444是在连接顶点1到2的直线的内部还是外部,然后是在连接顶点2到3的直线的内部还是外部,然后是在连接顶点3到4的直线的内部还是外部,然后是在连接顶点4到5的直线的内部还是外部,然后是在连接顶点5到6的直线的内部还是外部,然后是在连接顶点6到1的直线的内部还是外部,按这样的顺序判断是在内部还是外部,如果断定是在图形内部时,则用规定的颜色涂满点444。
作为判断是在内部还是外部的一种方法,是例如从表示各轮廓的数据(x、y坐标等)中选择2点A、B的x或y坐标,判断各点的x或y坐标是否在所选择的2点的x或y坐标之间,如果是在两者之间,则可认为是在多边形内,对剩下的各线段的被选择的2个点反复进行上述步骤,直至得到该点在多边形内部的结论为止。其结果能得到如图9c所示的内部涂满了色的图形。


图10所示,这样通过CPU的计算获得的绘图数据与来自显示控制器114的写入信号同步,被写入存储二维排列的图形数据用的存储装置111(以下称帧存储器)中。
写入帧存储器111中的图形数据在显示控制器114内部被变换处理成RGB信号。被变换的RGB信号作为图象信号被送给显示监视器113,在监视器113上显示出图形。
如上所述,现有的绘图方法是先绘制图形的轮廓,其次判断是否将图形轮廓内部的点涂满色或不涂,然后再以象素为单位将数据写入帧存储器中,需要进行这样处理的许多处理步骤。因此,用现有的制图方法存在难以高速显示图形的问题。
因此,本发明的目的是提供一种高速确定多边形等的有轮廓的图形的内部的方法及实现该方法的显示控制装置。
与本发明的第1方面有关的确定多边形等的有轮廓的图形的内部的方法是使多个光栅扫描装置分别进行扫描,找到能被认为是形成构成图形轮廓的一部分的线段的至少一个象素,将该象素的1位数据及该象素后方的沿光栅扫描方向排列的象素的1位数据反相,将这些象素的反相后的1位数据写入单一位面的多个与存储位对应的位中,再次使多个光栅扫描装置分别进行扫描,找到能被认为是形成构成图形轮廓的一部分的另一线段的至少另一个象素,除已被反相时之外,将该象素的1位数据反相,再将该象素后方沿的光栅扫描方向排列的象素的1位数据反相,将这些象素的反相后的1位数据写入单一位面的与多个存储位对应的位中。
与本发明的第2方面有关的确定多边形等的有轮廓的图形的内部的方法是在第1及第2扫描步骤中的任意一个步骤中,求出指定能被认为是形成构成图形轮廓的一部分的线段的至少一个象素的起始地址,对应于指定各象素的地址和起始地址的比较结果,确定是否将多个光栅扫描装置各自扫描的各象素的1位数据反相。
与本发明的第3方面有关的确定多边形等的有轮廓的图形的内部的方法是使多个光栅扫描装置分别进行扫描,找到能被认为是在图形轮廓内部的至少一个连续象素串,将该象素串内包含的各象素的1位数据反相,将象素串内包含的各象素的反相后的1位数据写入单一位面的与多个存储位对应的位中。
与本发明的第4方面有关的确定多边形等的有轮廓的图形的内部的方法是在扫描步骤中,求出指定象素串的开头部分的象素的起始地址及指定象素串的后端部分的象素的接近最后的象素的结束地址,对应于指定各象素的地址和结束地址的比较结果,确定是否将多个光栅扫描装置各自扫描的各象素的1位数据反相。
与本发明的第5方面有关的显示控制装置包括至少含有分别存储表示各象素是否在多边形等的有轮廓的图形的内部的1位数据的多个存储位的工作存储器;使多个光栅扫描装置分别进行扫描,找到能被认为是形成构成图形轮廓的一部分的线段的至少一个象素,生成控制确定图形的内部的位反相用的控制信号的控制单元;接收从工作存储器依次送来的各象素的1位数据,将该1位数据反相,根据来自控制单元的控制信号,从原来的1位数据和反相后的1位数据中选择某一个,并输出所选择的数据的选择单元;以及将来自选择单元的所选择的数据写入工作存储器中的与多个存储位对应的一个位中的单元。
与本发明的第6方面有关的显示控制装置,其控制单元使多个光栅扫描装置反复进行2次扫描,2次扫描时对多个光栅扫描行中的每一行,除最初的扫描对象的行之外,找到能被认为是形成构成图形轮廓的一部分的另一线段的至少一个象素,生成控制信号后送给选择单元。
与本发明的第7方面有关的显示控制装置,其控制单元对多个光栅扫描行中的每一行,求出能被认为是图形内部的即应使1位数据反相、指定象素串的前端的象素的起始地址,对指定多个光栅扫描行中的每一行的各象素的地址和起始地址进行比较,输出比较结果作为控制信号,如果比较结果表明指定的地址在起始地址以上,则选择单元选择反相后的1位数据并输出。
与本发明的第8方面有关的显示控制装置,其控制单元对多个光栅扫描行中的每一行,求出能被认为是图形内部的即应使1位数据反相、指定象素串的前端象素的起始地址,再求出指定象素串的后端象素的下一个象素的结束地址,对指定多个光栅扫描行中的每一行的各象素的地址和起始及结束地址进行比较,输出比较结果作为控制信号,如果比较结果表明指定的地址在起始地址以上且比结束地址小时,则选择单元选择反相后的1位数据并输出。
图1是本发明的实施例1的显示控制装置的结构框图。
图2是由图1所示的显示控制装置涂满了色的多边形之一例图。
图3是表示起始地址以后的象素的1位数据被反相的图2所示的光栅扫描行521上的多个象素的1位数据的图。
图4是表示起始地址以后的象素的1位数据被再次反相的图2所示的光栅扫描行521上的多个象素的1位数据的图。
图5是本发明的实施例2的显示控制装置的寄存电路的结构框图。
图6是表示从起始地址到比结束地址小的地址的象素的位数据被反相的图2所示的光栅扫描行521上的多个象素的1位数据的图。
图7是必须使用2组起始地址及结束地址的多边形的例8是图5所示的上述实施例2的寄存电路的一变形例的框图。
图9是表示现有的利用软件进行的制图处理方法的图。
图10是采用图9所示的现有的制图处理方法的显示控制装置的结构框图。
以下说明本发明的一实施例。
实施例1图1是本发明的实施例1的显示控制装置的结构框图。显示控制装置包括执行软件等的CPU101;经由总线11、12与CPU101连接的寄存电路102;连接寄存电路102的输出端、将锁存电路105及反相器106的输出信号输入进来、选择该输入信号中的一个或任何一个也不选择的选择电路107;将选择电路107的输出锁存起来的锁存电路108;存储进行图形的内部判断的二维排列图形数据即单一位面(包括图象)用的由多个存储位构成的工作存储器103;将色信息等附加在工作存储器103中存储的数据上的位扩展器110;保持由位扩展器110进行了位扩展的图信数据的帧存储器111;对工作存储器103输入输出的数据进行控制的双向切换器109;根据来自CPU的控制信号控制工作存储器103及帧存储器111的存储控制装置104;以及将帧存储器111中存储的数据变换成送给监视器113的信号的显示输出装置112。监视器113接收到由显示输出装置112变换的信号后,在监视器113的画面上显示出图形。
以下说明本实施例的显示控制装置的工作情况。图2a~2g表示根据本发明绘制与参照图9a~9c说明过的用现有技术中的制图方法绘制相同的图形、并用规定的颜色涂满图形的过程。在图2b中,沿垂直方向排列的数字520、521、…、531、…分别表示包含沿水平方向排列的多个象素的行的坐标即象素的y坐标,沿水平方向排列的数字540、541、、542…、555、…分别表示包含沿垂直方向排列的多个象素的列的坐标即象素的x坐标。在图2a~2g所示例的情况下,绘制的图形的各顶点为(540、520)、(544、525)、(542、531)、(553、531)、(551、525)、(553、520),如图2a所示,连接各顶点的各线段为线段51、线段52、线段53、线段54、线段55、线段56。例如,线段51被定义为连接顶点的象素(540、520)、(544、525)的直线。另外,线段51与这些顶点一起由象素(541、521)、(542、522)、(543、523)、(543、524)近似得到。同样,能找到能被认为是形成其它各线段的象素。这里,如图2a所示,对各线段找到的象素未必在线段上,这是可以理解的。
首先说明判断多边形等图形的内部的方法。其顺序如下。
(1)将能被认为是形成构成将内部涂满规定颜色的多边形的轮廓的一个线段的各象素及该象素后方的沿光栅扫描方向排列的象素中位于与该线段的端部的2个象素(即2个顶点)中的1个相同的光栅扫描行上的象素除外的1位数据被反相成不判断各象素是否在多边形的内侧。如图2a~2g所示,对各光栅扫描行从左向右且从线段的一端到另一端横切光栅、依次进行该位的反相。可是,如果在该线段的2个端部的象素不同的光栅扫描行上,则与线段的另一端的象素为同一光栅扫描行上的象素在该步中不进行位反相。另外,已经进行过位反相(当然,在最初的位反相之前,全部象素不进行位反相)的线段上的象素不再次进行位反相。
(2)对通过顺序(1)中的上述对象线段的另一端连接着该线段的下一个相邻的线段进行同样的位反相。即能被认为是形成其一端与上述线段共有的该相邻的线段的象素的1位数据及沿光栅扫描方向在该象素后方排列的象素的1位数据被反相。但当成为对象的线段的2个端部在不同的光栅扫描行上时,将与成为对象的线段的另一端在同一光栅扫描行上的象素及已经进行过位反相的线段上的象素除外。
按照该顺序(2),再对其余的各线段进行反相。
在图2a~2g所示的例中,如图2b所示,首先对将与线段51的一端即顶点(544、525)在同一扫描行上的象素除外的线段51上的象素及线段51后方的沿光栅扫描方向排列的各象素进行位反相。当然,为了判断多边形的内部,在进行位反相之前,工作存储器103中的多个存储位被初始化,全部象素的1位数据被设定为例如“0”。位反相后的象素如该图所示,在斜线上用涂满色的圆表示。因此,局部含有线段51的各光栅扫描行上的各个象素依次被扫描,由二进制的0及表示对应的象素的1位数据反演的二进制的1构成的一系列二进制数据被写入工作存储器103中对应的存储位。
图3是图2a~2g所示的例中的工作存储器103中依次存储的用y坐标521表示的光栅扫描行上的象素的数据的示意图。扫描光栅上排列的一系列象素中最初被反相的象素的x坐标被称为起始地址。在图3中,黑点表示位反相后的象素,白点表示未进行位反相的象素。线段51的光栅扫描行521的起始地址为“541”,由图3可知,该起始地址以后的1位数据全部反相。所谓进行“数据反相”是指设定将图形涂满色用的数据,不一定指象字符那样“反相”。
其次,如图2C所示,对与线段52的一端的顶点(542、535)在同一光栅扫描行上的象素除外的线段52上象素及线段52后方的沿光栅扫描方向排列的各象素进行位反相。然后,如图2d所示,再对线段53上的象素及线段53后方的沿光栅扫描方向排列的各像素进行位反相。这时,顶点为(542、531)的象素及其后方的沿同一光栅扫描行排列的全部象素的1位数据被反相。其次,如图2e所示,再对线段54后方的沿光栅扫描方向排列的各象素进行反相。因此,光栅扫描方向上在线段54后方排列的象素即位于多边形外侧的象素的1位数据再次被反相,完成了多边形下半部分的处理。如图2f所示,再对线段55后方的沿光栅扫描方向排列的各象素进行位反相。因此,光栅扫描方向上的线段55后方排列的象素即位于多边形外侧的象素的1位数据再次被反相。图4是表示n个象素数据再次反相后的用坐标521表示的光栅扫描行上的象素数据的示意图。如图所示,起始地址“554”以后的象素数据再次被反相,依次被写入工作存储器103。
如图2g所示,再对线段56后方的沿光栅扫描方向排列的且已被反相的各象素进行位反相。这时,顶点(553、520)的后方且在同一光栅扫描行上排列的全部象素的1位数据被反相。其结果完成了对多边形的处理,结束了用现定的颜色涂满多边形的准备工作。即通过将有边界的多边形内的全部象素以适当的码、在上述情况下,变成二进制的“ 1”设定在工作存储器中,得到用直线51~56包围的实心图形的一种表现形式。
如上处理后,生成表示图2g所示的多边形内部的单一位面,存入图1所示的工作存储器中。因此,如果监视器有NxM光栅,则至少需要有NxM的存储位的数据区。该工作存储器103的大小对应于所使用的监视器的光栅尺寸可以变更,另外,帧存储器111的数据长度及容量可根据监视器的光栅尺寸及可利用的颜色的数量等变更。因此,能进行效率更高的最佳化的绘图、涂满色处理。
如上所述,通过沿光栅扫描方向将轮廓部分以后的数据反相的简单的处理,就能实现用现有的软件进行的是图形的内部还是外部的复杂的判断处理,因此用硬件也能实现判断处理的大部分。
另外,按照上述顺序反复进行同一步骤,能实现轮廓绘制和图形内部的判断处理,能大幅度减少判断和制图的步骤,想必是能理解的。
图形内部的全部1位数据反相后的单一位面存入工作存储器103后,进行将色信息等附加在工作存储器103中存储的二维排列的该图形数据上的位扩展。将与该数据是否被反相对应的色信息附加在从工作存储器103读出的各象素的数据上,存入帧存储器111。
附加了色信息的数据本身的信息量多,对其进行大量的数据处理时,需要与其成正比的处理时间。只对图形形状进行处理时,很少参照色信息,可对无色信息的二维图形数据直接进行高速数据处理,在获得上述单一位面后,最初附加色信息是极其有效的。
其次,说明使用至此说明过的制图方法的图1所示的显示控制装置的工作情况。
首先,为了将表示多边形等图形内部的工作存储器103中的单一位面初始化,CPU101通过存储控制装置104将2维排列的图形数据的初始值例如由多个二进制的"0"构成的矩阵写入工作存储器103。CPU101使各光栅扫描装置进行扫描,如果各次扫描包含构成图形的轮廓的一部分的至少一个线段的一部分,则算出表示最初进行位反相的象素的x坐标的如图3所示的起始地址,通过总线11送给寄存电路102。如果CPU101不能获得起始地址,则将比各次扫描的最后位的地址大的缺省的地址送给寄存电路102。在图2a~2g所示的例中,CPU101将x坐标556作为缺省地址送出。与缺省地址被送给寄存电路102的同时,从工作存储器103中存储的二维数据读出对应的数据所必要的控制信号被送给存储控制装置104。由传送方向被切换到锁存电路105一侧的双向切换器109根据控制信号依次读出工作存储器103中存储的单一位面上的各行的多个1位数据的初始值,经过上述处理后依次锁存在锁存电路105中。该锁存电路105中的各锁存数据成为选择电路107的第1输入。选择电路107的第2输入是将第1输入的反演信号作为其输入。即如果第1输入是非反相1位数据例如表示对应的象素不涂满色的二进制的"0",则第2输入是反相1位数据例如表示对应的象素涂满色的二进制的"1"。寄存电路102的输出端连接在选择电路107的控制端上,从寄存电路102输出的控制信号控制选择电路107的输出,使选择电路107选择输出第1输入或第2输入。选择电路107的选择动作是与绘制图形的动作相同的动作。寄存电路102对通过总线11施加的起始地址和通过总线12施加的表示位反相处理对象的光栅扫描行上的一个象素的x坐标的地址进行比较,如果与起始地址相等,则输出送给选择电路107的高电平状态的控制信号。收到高电平状态的控制信号的选择电路107从选择第1输入转换到选择第2输入。在同一光栅扫描期间,选择电路107继续维持该选择。即同一光栅扫描行上的起始地址以后的全部象素的位数据被反相。在各光栅扫描行的扫描开始时,选择电路107被复位,以便选择第1输入。
如图2b所示,对线段51进行反相时,选择电路107选择并输出第1输入,直至对各光栅扫描行进行扫描的地址变成寄存电路102中存储的起始地址为止。图2b~2d的情况表示各白圈选择了第1输出。另一方面,对各光栅扫描行进行扫描的地址变成寄存电路102中存储的起始地址后,选择电路107选择并输出第2输入。此后,如上所述,在CPU使下一个光栅扫描行的扫描开始之前,选择电路107维持该选择。图2b~2d的情况表示沿斜线涂满色的圈选择了第2输入。选择电路107的选择输出经由锁存电路108及双向切换器109与存储控制装置104输出的写入控制信号(写入信号)同步写回工作存储器103的对应的存储位。
如图2e~2g所示,在最下侧的光栅扫描行的扫描结束后,CPU再次开始进行从该最下侧的光栅扫描行至最上侧的光栅扫描行的扫描。与上述的从最上侧的光栅扫描行至最下侧的光栅扫描行的扫描一样,由传送方向被切换到锁存电路105一侧的双向切换器109根据控制信号依次从工作存储器103中存储的单一位面上的各行读出多个1位数据,经过上述处理后依次锁存在锁存电路105中。该锁存电路105中的各锁存数据成为选择电路107的第1输入。选择电路107的第2输入是将第1输入的反相信号作为其输入。用与从最上侧的光栅扫描行至最下侧的光栅扫描行的扫描不同的方法,求出进行各光栅扫描的起始地址。即如果是来自锁存电路105的能被认为是第1输入的线段上的象素的已反相的1位数据,则CPU101使选择电路107不选择反相输入即第2输入。因此,CPU101使各光栅扫描装置进行扫描,如果找到能被认为是位反相的下一个目标的线段上的象素、且该1位数据已被反相,则将该象素的地址加1,生成光栅扫描行的起始地址。在图2e的例中,CPU101对用y坐标531~526表示的光栅扫描行,生成起始地址554、554、553、553、553及552,这些地址处的象素及这些象素的光栅扫描方向的后方排列的1位数据再次被反相。
对应进行位反相的象素串中最初应进行位反相的象素进行处理时,以及对该应进行位反相的象素串中最后的象素的下一个象素进行处理时,CPU101也可以对各光栅扫描行不生成起始地址,而是将例如高电平状态的控制信号送给选择电路107。在各光栅扫描期间,高电平状态的控制信号最初从CPU101加到选择电路107上后,选择器从第1输入选择切换到第2输入选择。此后,在同一光栅扫描行的扫描期间,选择器维持该选择。另外,在各光栅扫描行的扫描开始时,选择电路107被复位,以便选择第1输入。
由每一象素有1个存储位的单一位面构成的图形数据在工作存储器1 03中展开后,为了附加由图形绘制指令等指定的色信息,与存储控制装置104的读出控制信号(读出信号)同步被送给位扩展器110。位扩展器110将各象素的1位数据展开,得到每一象素8位、16位、…等数据,将色信息加到该1位数据上。该位展开后的数据(附加了色信息的象素数据)与存储控制装置104的写入信号同步从起始地址按光栅扫描顺序写入帧存储器111。
显示输出装置112将帧存储器111中存储的带色信息的图形数据变换成3原色(红、绿、蓝、即RGB)的模拟信号。RGB信号被输出给监视画面113,例如显示出涂满了规定颜色的图形。
实施例2其次,说明本发明的实施例2的显示控制装置。如果采用该实施例,则CPU101除了生成在实施例1中说明过的起始地址以外,还生成表示多边形等图形内部的象素串后端的象素(即象素串右端的象素)中的下一个象素的地址的结束地址。因此,通过以下的说明,想必能理解可以进行更高速的绘图。
实施例2的寄存电路102的结构与实施例1的寄存电路不同。如图4所示,寄存电路102经由总线11、总线12及总线13连接在执行软件等的CPU上。总线11用于CPU101将至少一个起始地址送给各光栅扫描行。总线13用于CPU101将至少一个结束地址送给各光栅扫描行。也可以采用代替方式,即通过总线11将结束地址送给寄存器。指定成为位反相目标的象素的地址由CPU101通过总线12送给寄存器102。
其它结构、连接及基本动作与实施例1相同。例如其它的工作存储器103、位扩展器110及帧存储器111之间的数据的收发和RGB信号变换等动作与实施例1相同。相同部分的说明从略,只说明不同的部分。
首先说明位反相顺序。该顺序如下。
(1)CPU101对各光栅扫描行生成表示最初应反相的象素即图形内部的象素串前端(即该象素串的左端)的象素的地址即坐标x的起始地址。如果CPU不能找到这样的前端象素,则对各光栅扫描行将起始地址设定成比各光栅扫描行的最后的象素的地址大的缺省地址,例如设定为556。另外,CPU101对各光栅扫描行生成表示图形内部的上述象素串后端(即该象素串的右端)的象素中的下一个象素的地址。通过进行各光栅扫描行的扫描,探索能被认为是局部地构成图形轮廓的线段上的象素,能获得起始地址和结束地址。例如最初找到的一个能被认为是线段上的象素的x坐标是起始地址,同一光栅扫描时的另一线段上的能被认为是下一个找到的另一象素的地址加1后的地址是结束地址。因此,每次光栅扫描由从起始地址到比结束地址小1的地址范围内的地址指定的全部象素串的1位数据被反相。图6表示用本实施例的方法处理与图2a~2g所示例相同的图形时用y坐标521表示的光栅扫描行上的象素的数据的示意图。这样,从起始地址到比结束地址小1的地址中的多个象素的1位数据被反相。另外,在图7所示的多边形的情况下,对光栅扫描行523能得到2个起始地址和2个结束地址。
(2)从最上侧的光栅扫描行至最下侧的光栅扫描行的各光栅扫描反复按上述顺序进行。
其次,更具体地说明上述顺序。如果采用该实施例,根据需要,对各光栅扫描行设定结束地址。这是在实施例1中通过2次进行各光栅扫描行的扫描执行的动作,以便每一光栅扫描行进行扫描时只进行一次使全部线段反相的操作。
如果采用实施例1,例如在图2a~2g所示的例的情况下,对光栅扫描行521在线段51(起始地址"541")和线段55(起始地址"554")上进行2次反相操作。
如图2b所示,第1次的反相进行第1次从起始地址"541"到最后地址"555"的反相。然后在另一时间进行第2次反相,如图2f所示,进行从起始地址"554"到最后地址"555"的反相。
这里需注意的是对同一光栅扫描行521进行2次反相。在第1次反相操作中,如果不进行图4所示的第2次反相起始地址"554"以后的反相操作,用一次反相操作也能获得所希望的结果。
因此,如图6所示,设定了能获得所希望的结果的起始地址和结束地址。如果采用实施例2,除了设定起始地址、对设定的起始地址和指定位反相目标的象素的地址进行比较的机构外,在寄存电路102内还设有设定结束地址、对结束地址和指定位反演目标的象素的地址进行比较的机构,通过对加在寄存器上的地址和起始地址的比较,与控制选择电路107一样,对结束地址也通过加在寄存器上的地址和结束地址的比较,控制选择电路107。在指定应处理的象素的地址是结束地址以后的情况下,使选择电路107选择并输出"不反相的数据"。这样获得的图形数据被显示在进行位展开等的监视器上。
如图5所示,寄存电路102备有保持由CPU送出的起始地址的电路1020、保持由CPU送出的结束地址的电路1021、判断指定成为位反相处理对象的象素的地址是否等于起始地址、且判断该地址是否等于结束地址的电路1022。当地址等于起始地址或结束地址时,判断电路1022将高电平状态的控制信号输出给选择电路107。当地址到达起始地址时,选择电路107接收到高电平状态的控制信号后,从第1输入选择切换到第2输入选择。此后,在再次接收到高电平状态的控制信号之前,选择器维持该选择。另外,当地址到达结束地址时,选择电路107接收到高电平状态的控制信号后,从第2输入选择切换到第1输入选择。此后,在再次接收到高电平状态的控制信号之前,选择器维持该选择。另外,当各光栅扫描行的扫描开始时,选择电路107被复位到选择第1输入的状态。
如图8所示,代替这种结构的方法是,寄存电路102备有FIFO控制电路1023和转矩电路1024,每次与地址一致时,便生成送给选择电路107的控制信号。
如上所述,通过使图形轮廓上的及光栅扫描方向上的轮廓以后的1位数据反相的简单的处理,就能实现用现有的软件进行的是图形的内部还是外部的复杂的判断处理,而且即使有多个轮廓部分时,通过对每一轮廓部分进行反相,能完成每一光栅扫描行的处理。
其次,说明使用至此说明过的绘图方法的实施例2的显示控制装置的工作情况。
首先,为了将表示多边形等图形内部的工作存储器103中的单一位面初始化,CPU101通过存储控制装置104将二维排列的图形数据的初始值例如由多个二进制的"0"构成的矩阵写入工作存储器103。CPU101使各光栅扫描装置进行扫描,如果各次扫描包含构成图形的轮廓的一部分的至少一个线段的一部分,则算出表示应进行位反演的一系列象素的前端象素的x坐标的如图6所示的起始地址,通过总线11送给寄存电路102。同样,将该应进行位反相的象素串的另一端即后端的象素的地址加1,算出结束地址,通过总线13送给寄存电路102。如果CPU101不能获得起始地址,则将比各次扫描的最后位的地址大的缺省地址送给寄存电路102。采用本实施例的方法处理与图2a~2g所示的例同样的图形时,如果各光栅扫描找不到起始地址和结束地址,则CPU101将x坐标556作为起始地址和结束地址送出。在将起始地址送给寄存电路102的同时,还将进行对应的读出时所必要的控制信号送给存储控制装置104,从工作存储器103中存储的二维图形数据读出对应的数据。由传送方向被切换到锁存电路105一侧的双向切换器109根据控制信号依次从工作存储器103中存储的单一位面上的各行读出多个1位数据,经过上述处理后依次锁存在锁存电路105中。该锁存电路105中的各锁存数据成为选择电路107的第1输入。选择电路107的第2输入是将第1输入的反相信号作为其输入。即,如果第1输入是表示非反相1位数据例如表示对应的象素不涂满色的二进制的"0",则第2输入是反相1位数据例如表示对应的象素涂满色的二进制的"1"。寄存电路102的输出端连接在选择电路107的控制端上,从寄存电路102输出的控制信号控制选择电路107的输出,使选择电路107选择输出第1输入或第2输入。选择电路107的选择动作是与绘制图形的动作相同的动作。
由图6可知,在使各光栅扫描行进行扫描的地址变成寄存电路102中存储的起始地址之前,选择电路107选择在第1输入上加了来自锁存电路的1位数据,并将其输出。图6中的比起始地址541靠前的白圈表示由选择器选择的第1输入。另一方面,使各光栅扫描行进行扫描的地址变成寄存电路102中存储的起始地址后,选择电路107选择在第2输入上加了来自反相器106的反相1位数据,并将其输出。图6中斜线上涂满了色的圈表示由选择器选择第2输入后、对应的图象数据进行了位反相。
其次使各光栅扫描行进行扫描的地址变成寄存电路102中存储的结束地址时,选择电路107再次选择在第1输入上加了来自锁存电路的1位数据,并将其输出。图6中的结束地址554以后的白圈表示由选择器选择了第1输入。
选择电路107的选择输出经由锁存电路108及双向切换器109与存储控制装置104输出的写入控制信号(写入信号)同步写回工作存储器103的对应的存储位。
对各光栅扫描行进行了位反相后,与实施例1一样,由位扩展器110对工作存储器103中存储的全部1位数据进行位展开,图形被显示在监视器113的画面上。
如上所述,如果采用本发明的第1方面,则由于不附加图形内部的判断及图形的色信息,用1位/象素进行数据处理时,对光栅扫描方向上的每一图形轮廓部分进行图形数据的反相,不需要判断是图形的内部还是外部的处理,所以具有能高速绘图的效果。
如果采用本发明的第2方面,则由于设定与光栅扫描方向上的图形轮廓部分对应的起始地址,所以能通过一次光栅扫描绘制图形,具有能高速绘图的效果。
如果采用本发明的第3方面,则由于不附加图形内部的判断及图形的色信息,用1位/象素进行数据处理时,对光栅扫描方向上的每一图形轮廓部分进行图形数据的反演,不需要判断是图形的内部还是外部的处理,所以具有能高速绘图的效果。
如果采用本发明的第4方面,则由于设定与光栅扫描方向上的图形轮廓部分对应的起始地址及结束地址,所以能通过一次光栅扫描绘制图形,具有能高速绘图的效果。
如果采用本发明的第5及第6方面,则由于不附加图形内部的判断及图形的色信息,用1位/象素进行数据处理时,对光栅扫描方向上的每一图形轮廓部分进行图形数据的反相,不需要判断是图形的内部还是外部的处理,所以具有能高速绘图的效果。
如果采用本发明的第7方面,则由于设定与光栅扫描方向上的图形轮廓部分对应的起始地址,所以能通过一次光栅扫描绘制图形,具有能高速绘图的效果。
如果采用本发明的第8方面,则由于设定与光栅扫描方向上的图形轮廓部分对应的起始地址及结束地址,所以能通过一次光栅扫描绘制图形,具有能高速绘图的效果。
权利要求
1.一种确定多边形等有轮廓的图形的内部的方法,其特征在于将分别存储各象素的1位数据的由多个存储位构成的单一位面初始化,使多个光栅扫描装置分别进行扫描,找到能被认为是形成构成图形轮廓的一部分的线段的至少一个象素,将该象素的1位数据及该象素后方的沿光栅扫描方向排列的象素的1位数据反相,将这些象素的反相后的1位数据写入单一位面的多个与存储位对应的位中,再次使多个光栅扫描装置分别进行扫描,找到能被认为是形成构成图形轮廓的一部分的另一线段的至少另一个象素,除已被反相时之外,将该象素的1位数据反相,再将该象素后方沿的光栅扫描方向排列的象素的1位数据反相,将这些象素的反相后的1位数据写入单一位面的与多个存储位对应的位中。
2.根据权利要求1所述的方法,其特征在于在第1及第2扫描步骤中的任意一个步骤中,包含求出指定能被认为是形成构成图形轮廓的一部分的线段的至少一个象素的起始地址,对应于指定各象素的地址和起始地址的比较结果,确定是否将多个光栅扫描装置各自扫描的各象素的1位数据反相的步骤。
3.一种确定多边形等有轮廓的图形的内部的方法,其特征在于将存储多个象素的1位数据的由多个存储位构成的单一位面初始化,使多个光栅扫描装置分别进行扫描,找到能被认为是在图形轮廓内部的至少一个连续象素串,将该象素串内包含的各象素的1位数据反相,将象素串内包含的各象素的反相后的1位数据写入单一位面的与多个存储位对应的位中。
4.根据权利要求3所述的方法,其特征在于上述扫描步骤包括求出指定象素串的开头部分的象素的起始地址及指定象素串的后端部分的象素的接近最后的象素的结束地址,对应于指定各象素的地址和结束地址的比较结果,确定是否将多个光栅扫描装置各自扫描的各象素的1位数据反相的步骤。
5.一种显示控制装置,其特征在于包括至少含有分别存储表示各象素是否在多边形等的有轮廓的图形的内部的1位数据的多个存储位的工作存储装置;使多个光栅扫描装置分别进行扫描,找到能被认为是形成构成图形轮廓的一部分的线段的至少一个象素,生成控制确定图形的内部的位反相用的控制信号的控制装置;接收从工作存储器依次送来的各象素的1位数据,将该1位数据反相,根据来自控制单元的控制信号,从原来的1位数据和反相后的1位数据中选择某一个,并输出所选择的数据的选择装置;以及将来自选择单元的所选择的数据写入工作存储器中的与多个存储位对应的一个位中的装置。
6.根据权利要求5所述的显示控制装置,其特征在于上述控制装置对上述多个光栅扫描行反复进行2次扫描,第2次扫描时对上述多个光栅扫描行中的每一行,除最初的扫描对象的行之外,找到能被认为是形成构成图形轮廓的一部分的另一线段的至少一个象素,生成控制信号后送给上述选择装置。
7.根据权利要求6所述的显示控制装置,其特征在于上述控制装置对上述多个光栅扫描行中的每一行,求出能被认为是图形内部的即应使1位数据反相、指定象素串的前端的象素的起始地址,对指定上述多个光栅扫描行中的每一行的各象素的地址和起始地址进行比较,输出比较结果作为控制信号,如果比较结果表明指定的地址在起始地址以上,则上述选择装置选择反相后的1位数据并输出。
8.根据权利要求5所述的显示控制装置,其特征在于上述控制装置对上述多个光栅扫描行中的每一行,求出能被认为是图形内部的即应使1位数据反相、指定象素串的前端象素的起始地址,再求出指定象素串的后端象素的下一个象素的结束地址,对指定上述多个光栅扫描行中的每一行的各象素的地址和起始及结束地址进行比较,输出比较结果作为控制信号,如果比较结果表明指定的地址在起始地址以上且比结束地址小时,则上述选择装置选择反相后的1位数据并输出。
全文摘要
以绘制将图形内部涂满色的图形时,存在生成涂满色用的数据需要时间的问题。本发明提供了一种用二进制数值处理图形、同时在光栅扫描方向上进行位反相处理、绘制图形内部从而能高速绘制将图形内部涂满色的图形的装置。
文档编号G06T11/40GK1173666SQ9710237
公开日1998年2月18日 申请日期1997年1月29日 优先权日1996年8月9日
发明者植田直树, 野口忠幸, 坂井秀次, 田中邦明, 橘高义明 申请人:三菱电机半导体软件株式会社, 三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1