CN1205492A - 椭圆填充图形的方法 - Google Patents
椭圆填充图形的方法 Download PDFInfo
- Publication number
- CN1205492A CN1205492A CN98106671A CN98106671A CN1205492A CN 1205492 A CN1205492 A CN 1205492A CN 98106671 A CN98106671 A CN 98106671A CN 98106671 A CN98106671 A CN 98106671A CN 1205492 A CN1205492 A CN 1205492A
- Authority
- CN
- China
- Prior art keywords
- ellipse
- summit
- pixel
- respect
- point
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
一种椭圆填充图形的方法,在椭圆的内部通过将彩色数据写入到由对应于在椭圆中的像素的地址表示的存储器位置而填充单一的颜色,该方法包括有步骤(a)选择包括在该椭圆中的一个矩形;(b)把彩色数据写入到由对应于在所选矩形的内部的像素地址指定的存储器的位置;和(c)把彩色数据写入到由对应于在该椭圆之内但在所选矩形之外的像素地址指定的存储器的位置。对于一个椭圆,相对于传统的操作,本填充方法要求的划线少了2a(a)行,而对于一个圆则少了0.8r行。
Description
本发明涉及一种椭圆填充图形的方法,尤其是涉及通过将预定的彩色数据写入到对应于在作为基本图形椭圆中的像素的存储器位置用单一彩色填充一个椭圆图形内部的方法。
通常图形显示用在广泛的领域,例如用于计算机的图形用户接口。当在这一领域中表示一个目标时,图形就分成点、线、三角形、矩形、圆和椭圆。尤其是圆和椭圆需要更多的处理时间。此外,用彩色填充圆和椭圆内部需要很多的时间。
图1示出了一种传统的圆的填充的方法。为了方便起见,假定图1的圆心是在一个坐标系统的原点(0,0)。首先,当着圆周被分成8份时,通过在一个时间把一个像素从一点(0,r)移到x等于y的一点,使用了公知的中点圆周的算法。在第一段八分圆线上从点(x,y)算出点(-x,y)、(y,x)、(-y,x)、(y,-x)、(-y,-x)、(x,-y)和(-x,-y)。然后,相对于y轴对称位置的点由直线彼此相连接,从而该圆被填充。就是说,每一对点(x,y)和(-x,y)、(y,x)和(-y,x)、(y,-x)和(-y,-x)、(x,-y)和(-x,-y)以直线彼此连接,从点(0.r)到x等于y的点重复操作这一过程。
一个椭圆的情况对应于一个圆的扩展。图2示出了一个椭圆的传统的填充的办法。该椭圆圆周被分成四个象限,以便利用椭圆的对称性。为了方便起见,假设图2中的椭圆原点是与图1中的情况一样是在点(0,0)。当椭圆的长轴是a而短轴是b时,则第一象限的圆周上的点(x,y)是通过在一个时间上从一个点(0,b)到一个点(a,0)的像素的移动获得的。从点(x,y)得到点(-x,y)、(x,-y)和(-x,-y)。其中的点(x,y)和(-x,y)以及点(x,-y)和(-x,-y)是通过直线彼此连接的。在点(0,b)和(a,0)之间重复这一过程。
但是在这种画出圆或椭圆的方法中,圆或椭圆中内部分别是通过画出2r和2b的直线填充的。这需要很多的处理时间。
本发明的目的是提供一种提高处理速度的椭圆填充图形的方法,借助于快速存储器数据块的复制和只在剩余的部分画出直线,对一个圆或椭圆内的矩形进行填充。
为了实现上述的目的,本发明提供了一种椭圆填充图形的方法,其中椭圆的内部是通过将颜色数据写入到由对应于在椭圆中的像素的地址表示的存储器位置而填充单一的颜色,该方法包括有步骤(a)选择包括在该椭圆中的一个矩形;(b)把彩色数据写入到由对应于在所选矩形的内部的像素地址指定的存储器的位置;和(c)把彩色数据写入到由对应于在该椭圆之内但在所选矩形之外的像素地址指定的存储器的位置。
通过结合附图对于本发明的最佳实施例的详细描述,本发明的目的和优点将变得显见。
图1示出传统的圆的填充图形的方法;
图2示出传统的椭圆的填充图形的方法;
图3示出表示根据本发明的一个椭圆填充图形方法的流程图;和
图4示出图3的椭圆填充的方法。
在图3中考虑了一个在一个椭圆之内的一个矩形,矩形的角(顶点)在该椭圆的圆周上。
在根据本发明的椭圆填充方法中,首先选择包括在该椭圆内部的一个矩形。彩色数据被写入到对应于在所选矩形之内的像素的存储器位置。随后,彩色数据写入到对应于在所选矩形区之外的椭圆的剩余部分的存储器位置,从而完成该椭圆的内部的填充。
参考图3,椭圆的填充方法包括下列的步骤:(300)计算在椭圆圆周上的矩形的不同的顶点;(302)填充该矩形的内部;(304)计算椭圆的圆周;和(306)填充椭圆的剩余的部分。其中,一个圆对应于椭圆的一个特殊的区域,所以先讨论一个椭圆区。
首先在步骤300中计算和椭圆的圆周接触的矩形的顶点。根据存储器的二维矩阵的结构,该矩形能够通过同时地以相同值填充相邻存储器单元的预定的数目而被填充。所以,通过存储块的复制,内接矩形的分别的顶点被计算,以便将彩色数据同时地写入到对应于所有的矩形内部像素的存储器的位置。根据图4示出的椭圆,假设该椭圆是以公式
表示,椭圆的长轴等于a而短轴等于b,而原点是(0,0)。则矩形顶点定义在点A,其切线 对于该椭圆的此切线是在第一象限,并具有相交于该椭圆的斜率是-1。注意到X轴对应于该椭圆的主轴而Y轴对应于该椭圆的次轴。椭圆在第一象限的交点是
。对于一个圆,这里(x,y)和(x,-y)、(x,-y)和(-x,-y)的每一对被水平地彼此连接,并且彩色数据被写入到由对应于水平连接线的不同像素的地址指定的存储器的位置。以此方式,图4的部分402在其余的矩形之外的剩余部分中被填充。随着一个像素点(x,y)从点(a,0)在一个时刻增加到点
(x,y)和(x,-y)、(-x,y)和(-x,-y)的每一对被垂直地彼此连接,并且彩色数据被写入到由对应于垂直连接线的不同像素的地址指定的存储器的位置。以此方式,图4的404部分被填充。
对于圆的情况也是一样,一个像素点(x,y)从点(0,r)在一个时刻增加到点 并且由此在步骤304计算在圆周上的该点(x,y),该(x,y)和(-x,y)、(x,-y)和(-x,-y)的每一对被水平地彼此连接,并且在步骤306中彩色数据被写入到由对应于水平连接线的不同像素的地址指定的存储器的位置。该像素点(xy)从点(r,0)在一个时刻增加到点
并且由此在步骤304计算在圆周上的该点(x,y)。点(x,y)和(x,-y)、(-x,y)和(-x,-y)的每一对被垂直地彼此连接,并且在步骤306中彩色数据被写入到由对应于垂直连接线的不同像素的地址指定的存储器的位置。
本发明涉及到采用给定的色彩对于属于基本图形是一个圆或椭圆的内部进行快速填充的方法。本方法广泛地用于图形加速器板/芯片和图形库。根据本发明的椭圆填充方法要求一个数据块的复制操作和 的划线操作。就是说,与传统的划线操作相比减少
。在一个圆周的情况下,由于a和b的值都是等于r,所以根据本发明的圆的填充方法需要一个数据块的复制操作和大约是1.2*r的划线操作。就是说,和传统的方法相比,划线操作的数目减少大约0.8r。所以,圆和椭圆被更快地填充。
Claims (6)
1.一种椭圆填充图形的方法,其中在椭圆的内部是通过将彩色数据写入到由对应于在该椭圆中的像素的地址表示的存储器位置而填充单一的颜色,所说的方法包括有步骤:
(a)选择包括在该椭圆中的一个矩形;
(b)把彩色数据写入到由对应于在所选矩形内部的像素地址指定的存储器的位置;和
(c)把彩色数据写入到由对应于在该椭圆之内但在所选矩形之外的像素地址指定的存储器的位置。
2.根据权利要求1的椭圆填充图形的方法,其中,在步骤(a)中所说的矩形的顶点是在所说的椭圆的圆周上。
3.根据权利要求1的椭圆填充图形的方法,其中,在步骤(a)中所说的矩形的顶点是通过按照下列的次序选择的点而得到的;在所说的椭圆圆周上选一个点作为第一顶点,将相对于所说的椭圆的次轴和所说的第一顶点对称的点作为第二顶点,将相对于所说的椭圆的主轴和所说的第二顶点对称的点作为第三顶点,将相对于所说的椭圆的次轴和所说的第三顶点对称的点作为椭圆的第四顶点,并按次序将第一到第四顶点连接。
4.根据权利要求3的椭圆填充图形的方法,其中,所说的第一顶点是具有梯度为-1的切线和所说的椭圆相切的点。
5.一种椭圆填充图形的方法,其中在椭圆的内部是通过将彩色数据写入到由对应于在椭圆中的像素的地址表示的存储器位置而填充单一的颜色,所说的方法包括有步骤:
(a)选择在所说的椭圆圆周上的一个点作为在椭圆之内的矩形的第一顶点,将相对于所说的椭圆的次轴和所说的第一顶点对称的点作为第二顶点,将相对于所说的椭圆的主轴和所说的第二顶点对称的点作为第三顶点,将相对于所说的椭圆的次轴和所说的第三顶点对称的点作为第四顶点;
(b)把彩色数据写入到由对应于通过步骤(a)的第一至第四顶点的连接形成的矩形内部的像素地址指定的存储器的位置;
(c)通过将一个像素在一时刻从所说的椭圆与次轴相交处移动到所说的第一顶点的同时,从所说的椭圆的圆周上选择一些点,把彩色数据写入到由对应于通过连接这些选择的点到相对于次轴而对称的其相对的不同点形成的直线上的像素的地址所指定的存储器的位置,以及把彩色数据写入到由对应于通过连接相对于主轴对称的分别的选择点到相对于次轴而对称的点形成的直线上的像素的地址所指定的存储器的位置;和
(d)通过将一个像素在一时刻从所说的椭圆与主轴相交处移动到所说的第一顶点的同时,从所说的椭圆的圆周上选择一些点,把彩色数据写入到由对应于通过连接这些选择的点到相对于主轴而对称的其相对的不同点形成的直线上的像素的地址所指定的存储器的位置,以及把彩色数据写入到由对应于通过连接相对于次轴对称的分别的选择点到相对于主轴而对称的点形成的直线上的像素的地址所指定的存储器的位置;
6.根据权利要求5的椭圆填充图形的方法,其中,所说的第一顶点是所说的椭圆和具有梯度为-1的所说的椭圆的一条切线的交点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR32938/1997 | 1997-07-15 | ||
KR32938/97 | 1997-07-15 | ||
KR1019970032938A KR100243224B1 (ko) | 1997-07-15 | 1997-07-15 | 그래픽에서 타원 메꿈방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1205492A true CN1205492A (zh) | 1999-01-20 |
CN1108589C CN1108589C (zh) | 2003-05-14 |
Family
ID=19514590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98106671A Expired - Fee Related CN1108589C (zh) | 1997-07-15 | 1998-04-20 | 填充椭圆图形的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6226014B1 (zh) |
JP (1) | JP2977155B2 (zh) |
KR (1) | KR100243224B1 (zh) |
CN (1) | CN1108589C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103213404A (zh) * | 2012-01-17 | 2013-07-24 | 株式会社理光 | 信息处理设备、信息处理方法和系统 |
CN104809752A (zh) * | 2015-04-20 | 2015-07-29 | 广东工业大学 | 非规则区域的矩形块填充方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9465835B2 (en) * | 2012-06-25 | 2016-10-11 | Sap Se | Columnwise spatial aggregation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6272078A (ja) | 1985-09-25 | 1987-04-02 | Casio Comput Co Ltd | 円内塗りつぶし描画装置 |
JPH07122905B2 (ja) * | 1987-10-21 | 1995-12-25 | ダイキン工業株式会社 | 多角形ぬりつぶし制御装置 |
JPH0683971A (ja) * | 1992-06-11 | 1994-03-25 | Nec Corp | 図形表示装置 |
US5463723A (en) * | 1993-09-20 | 1995-10-31 | International Business Machines Corporation | Method and apparatus for filling polygons |
-
1997
- 1997-07-15 KR KR1019970032938A patent/KR100243224B1/ko not_active IP Right Cessation
-
1998
- 1998-04-20 CN CN98106671A patent/CN1108589C/zh not_active Expired - Fee Related
- 1998-04-30 US US09/069,976 patent/US6226014B1/en not_active Expired - Fee Related
- 1998-05-27 JP JP10146086A patent/JP2977155B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103213404A (zh) * | 2012-01-17 | 2013-07-24 | 株式会社理光 | 信息处理设备、信息处理方法和系统 |
CN104809752A (zh) * | 2015-04-20 | 2015-07-29 | 广东工业大学 | 非规则区域的矩形块填充方法 |
CN104809752B (zh) * | 2015-04-20 | 2016-02-24 | 广东工业大学 | 一种非规则区域的矩形块填充方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100243224B1 (ko) | 2000-02-01 |
US6226014B1 (en) | 2001-05-01 |
CN1108589C (zh) | 2003-05-14 |
KR19990010240A (ko) | 1999-02-05 |
JP2977155B2 (ja) | 1999-11-10 |
JPH1139498A (ja) | 1999-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0356103B1 (en) | Scan-conversion process and processor | |
US5461712A (en) | Quadrant-based two-dimensional memory manager | |
US4648049A (en) | Rapid graphics bit mapping circuit and method | |
US5841447A (en) | System and method for improving pixel update performance | |
EP0218984A2 (en) | Computer graphics processing apparatus and method | |
JPH0762794B2 (ja) | グラフイツク表示装置 | |
US4779081A (en) | Graphics in display unit | |
US5068802A (en) | Graphic drawing method and system with input coordinates automatically adjustable | |
US5321805A (en) | Raster graphics engine for producing graphics on a display | |
EP0881598B1 (en) | Method for filling a polygon and image processing system | |
CN1108589C (zh) | 填充椭圆图形的方法 | |
CN1130666C (zh) | 图形涂抹装置 | |
KR101039132B1 (ko) | 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법 | |
US5640499A (en) | Method of editing a drawing displayed on a display unit of a computer by simultaneously moving plural elements included in an editing area | |
US6473091B1 (en) | Image processing apparatus and method | |
CN110807113B (zh) | 可视化布局中的矩形图元重叠的非迭代消除方法 | |
EP0817128A2 (en) | Method and apparatus for drawing polygons | |
US5670981A (en) | Method for mapping a source pixel image to a destination pixel space | |
US5798763A (en) | Object referenced memory segmentation | |
EP0817127A2 (en) | Memory mapping method and apparatus | |
US7667714B2 (en) | Patterned polygon rendering apparatus | |
US5093905A (en) | Inclined rectangular pattern generating system | |
JPS61138375A (ja) | 図形情報処理装置 | |
JPH1063866A (ja) | グラフィックスプロセッサ、画素グリッド内にポリゴンをレンダリングする方法およびコンピュータシステム | |
JPH0350686A (ja) | 図形処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030514 |