JPH0721397A - Paint-out plotting method for polygon - Google Patents

Paint-out plotting method for polygon

Info

Publication number
JPH0721397A
JPH0721397A JP5191960A JP19196093A JPH0721397A JP H0721397 A JPH0721397 A JP H0721397A JP 5191960 A JP5191960 A JP 5191960A JP 19196093 A JP19196093 A JP 19196093A JP H0721397 A JPH0721397 A JP H0721397A
Authority
JP
Japan
Prior art keywords
position data
polygon
vertices
pixels
plotting
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.)
Pending
Application number
JP5191960A
Other languages
Japanese (ja)
Inventor
Mitsuto Miyata
光人 宮田
Mamoru Kubo
守 久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP5191960A priority Critical patent/JPH0721397A/en
Publication of JPH0721397A publication Critical patent/JPH0721397A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To provide the paint-out plotting method for polygon capable of making high-speed of plotting time without using a special device for plotting. CONSTITUTION:In the paint-out plotting method for polygon performing the plotting of polygon by painting out the pixel corresponding to the graphic pattern on the display screen with plural pixels arranged, the polygon for plotting is divided along one direction of the display screen and position data on the boundary of the polygon obtained by the division are obtained. In the same division in one direction, a group of position data is formed (S1) by two position data holding between the polygon inside. By making a dot on the pixel which is held between by the group of position data (S3). Thus the plotting of polygon is performed, thus painting-out of polygon is made.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、表示装置上において図
形を表示するための描画方法に関し、特に閉曲線により
形成される多角形の内部を塗りつぶして表示を行なう多
角形の塗りつぶし描画方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing method for displaying a figure on a display device, and more particularly to a polygonal drawing method for displaying a polygon formed by a closed curve.

【0002】[0002]

【従来の技術】一般に、CRT等の表示装置上に内部を
塗りつぶした図形を描画する場合がある。例えば、産業
用工作機械等に用いられる数値制御において、工作機械
による加工を行なう前に制御装置の画面上で切削状況の
シミュレーションを行い、加工プログラムの妥当性を検
証する場合がある。この切削状況のシミュレーションに
おいて、工具をアニメーション表示する際には、通常工
具刃先を単一色で塗りつぶして描画する場合が多い。
2. Description of the Related Art In general, there is a case where a graphic with a filled inside is drawn on a display device such as a CRT. For example, in numerical control used for industrial machine tools and the like, there is a case in which the validity of a machining program is verified by simulating a cutting situation on the screen of a control device before machining by a machine tool. In the simulation of the cutting situation, when the animation of the tool is displayed, it is often the case that the cutting edge of the tool is normally filled with a single color and drawn.

【0003】従来、この種の描画においては、特殊なグ
ラフィックアクセラレータにより描画を行なうか、また
は線で囲んだ閉領域内のピクセルを計算してそのピクセ
ルを塗りつぶすといった方法がとられている。
Conventionally, in this type of drawing, a method of drawing by a special graphic accelerator or calculating a pixel in a closed area surrounded by a line and filling the pixel is adopted.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、前記の
従来の塗りつぶし描画方法においては、以下のような問
題点を有している。
However, the above-described conventional fill-drawing method has the following problems.

【0005】(1)従来のグラフィックアクセラレータ
による塗りつぶし描画方法では、特殊なグラフィックア
クセラレータ等の装置が必要であるという問題点があ
り、またそのためにコストが上昇するという問題点も有
している。
(1) The conventional paint-drawing method using a graphic accelerator has a problem in that a special device such as a graphic accelerator is required, and this also causes a problem in that the cost is increased.

【0006】(2)また、従来の図形を表す線により囲
まれた閉領域内のピクセルを計算してそのピクセルを塗
りつぶすという描画方法では、図形の移動の度に表示装
置上のピクセルの内、図形閉領域内のドットを打つピク
セルを再度計算する必要があり、その演算時間のために
描画処理が長時間化するという問題点がある。
(2) Further, in the conventional drawing method in which a pixel in a closed area surrounded by a line representing a figure is calculated and the pixel is filled, among the pixels on the display device every time the figure is moved, There is a problem in that it is necessary to recalculate a pixel that hits a dot in the closed area of the figure, and the drawing process becomes long due to the calculation time.

【0007】また、この描画処理の長時間化により、ア
ニメーション表示を行なう際には、アニメーション自体
の速度が低下するという二次的な問題点も有している。
Further, due to the lengthening of the drawing process, there is a secondary problem that the speed of the animation itself decreases when displaying the animation.

【0008】そこで、本発明は前記した従来の塗りつぶ
し描画方法の問題点を解決し、描画のため特殊な装置を
用いることなく、また描画時間の高速化を可能とする多
角形の塗りつぶし描画方法を提供することを目的とす
る。
Therefore, the present invention solves the above-mentioned problems of the conventional fill drawing method, and provides a polygon fill drawing method which enables speeding up of drawing time without using a special device for drawing. The purpose is to provide.

【0009】[0009]

【課題を解決するための手段】本発明は、前記目的を達
成するために、複数のピクセルを配列してなる表示画面
上で、多角形の図形パターンに対応する前記ピクセルを
塗りつぶすことにより図形の描画を行なう多角形の塗り
つぶし描画方法において、描画を行なう多角形を表示画
面の一方向に沿って分割し、その分割により得られる図
形の境界における位置データを求め、その一方向上の同
一分割において、多角形を内側にはさむ二つの位置デー
タによって位置データの組を形成し、その位置データの
組ではさまれるピクセルにドットを打つことにより多角
形の描画を行なうことによって、多角形の塗りつぶしを
行なうものである。
In order to achieve the above-mentioned object, the present invention provides a graphic by filling the pixels corresponding to a polygonal graphic pattern on a display screen in which a plurality of pixels are arranged. In the polygonal filling drawing method for drawing, the polygon to be drawn is divided along one direction of the display screen, position data at the boundary of the figure obtained by the division is obtained, and in the same division for improvement, Forming a set of position data with two position data that sandwich a polygon inside, and drawing a polygon by hitting dots on the pixels sandwiched by the set of position data to fill the polygon. Is.

【0010】また、多角形を特定する位置データを、多
角形の頂点を表す位置データと頂点間結ぶ線分上の位置
データとし、その頂点を表す位置データは、分割により
得られる位置データの中から隣接する位置データを一方
向の順に三つ選択し、その選択した位置データによって
形成される隣接する二つのベトクルの外積が正、または
ベクトルのY成分の積が正となる場合の中央の位置デー
タであり、また、頂点間を結ぶ線分上の位置データは、
前記線分が前記一方向上に存在しない場合の位置データ
であり、この位置データにより前記位置データの組を形
成し、その位置データの組ではさまれるピクセルにドッ
トを打つことにより多角形の描画を行なうことによっ
て、多角形の塗りつぶしを行なうものである。
Further, the position data specifying a polygon is position data representing a vertex of the polygon and position data on a line segment connecting the vertices, and the position data representing the vertex is included in the position data obtained by the division. Select three adjacent position data in order from one direction, and the center position when the outer product of two adjacent vectors formed by the selected position data is positive or the product of the Y components of the vector is positive The position data on the line segment connecting the vertices is
It is position data when the line segment does not exist in the one-sided improvement, the position data set is formed by this position data, and a polygon is drawn by hitting dots on the pixels sandwiched by the position data set. By doing this, the polygon is filled.

【0011】なお、本発明において、描画を行なう多角
形を表示画面において分割する一方向は、X軸方向ある
いはY軸方向とすることができる。
In the present invention, one direction that divides the polygon to be drawn on the display screen may be the X-axis direction or the Y-axis direction.

【0012】なお、本発明において、ピクセルにドット
を打つということは、ピクセルの濃度や色等の表示状態
を変化させることにより、ドットを打たない他のピクセ
ルとの間で表示上での差を生じさせることをいう。
In the present invention, forming a dot on a pixel means changing the display state such as the density and color of the pixel so as to make a difference in display from other pixels on which no dot is formed. Is caused.

【0013】[0013]

【作用】本発明によれば、複数のピクセルを配列してな
る表示画面上で、多角形に対応する前記ピクセルを塗り
つぶすことにより多角形の描画を行なう多角形の塗りつ
ぶし描画方法において、はじめに描画を行なう多角形を
表示画面の一方向に沿って分割し、その分割により得ら
れる多角形の境界における位置データを求める。そし
て、その位置データの中から一方向上の同一分割におい
て、多角形を内側にはさむ二つの位置データを選択し、
その選択した二つの位置データで位置データの組を形成
する。そして、その位置データの組ではさまれるピクセ
ルにドットを打つことにより多角形の描画を行なうもの
であり、これにより多角形の塗りつぶしを行なうことが
できる。
According to the present invention, in a polygonal filled drawing method for drawing a polygon by filling the pixels corresponding to the polygon on a display screen having a plurality of pixels arranged, the drawing is first performed. The polygon to be performed is divided along one direction of the display screen, and position data at the boundary of the polygon obtained by the division is obtained. Then, from the position data, in the same division of the one-sided improvement, two position data sandwiching the polygon inside are selected,
A pair of position data is formed by the selected two position data. Then, a polygon is drawn by hitting dots on the pixels sandwiched by the set of position data, whereby the polygon can be filled.

【0014】また、多角形を特定する位置データを求め
るには、分割により得られる位置データの中から隣接す
る位置データを一方向の順に三つ選択し、その選択した
位置データによって形成される隣接する二つのベトクル
の外積が正、またはベクトルのY成分の積が正となる場
合の中央の位置データを求めて、この位置データを多角
形の頂点を表す位置データとし、また、頂点間を結ぶ線
分が一方向のの直線上に存在しない場合の位置データを
求めて、この位置データを多角形の線分を表す位置デー
タとし、これらの位置データから位置データの組を形成
し、その位置データの組ではさまれるピクセルにドット
を打つことにより多角形の描画を行なうことによって、
多角形の塗りつぶしを行なうものである。
Further, in order to obtain the position data that specifies the polygon, three adjacent position data are selected in order in one direction from the position data obtained by division, and the adjacent position data formed by the selected position data are selected. When the outer product of the two vectors is positive or the product of the Y components of the vector is positive, the central position data is obtained, and this position data is used as position data representing the vertices of the polygon, and the vertices are connected. The position data when the line segment does not exist on a straight line in one direction is obtained, and this position data is used as position data representing a polygonal line segment, and a set of position data is formed from these position data, and the position By drawing a polygon by hitting dots on the pixels sandwiched by the data set,
It is used to fill polygons.

【0015】[0015]

【実施例】以下、本発明の実施例を図を参照しながら詳
細に説明するが、本発明は実施例に限定されるものでは
ない。
Embodiments of the present invention will now be described in detail with reference to the drawings, but the present invention is not limited to the embodiments.

【0016】(実施例の構成)図2は、実施例を実施す
る場合の表示画面上の状態を示す図である。図2におい
て、CRT等の表示装置は複数のピクセルを有し、その
複数のピクセルの中から多角形に対応するピクセルを選
択し、その選択ピクセルにドットを打つことにより多角
形の描画を行なう。図中では、X軸方向にX1からX3
2に区分され、またY軸方向にY1からY23に区分さ
れた複数のピクセルにより構成され、そのピクセルの中
から図形の輪郭に対応するピクセル、およびその多角形
の内側のピクセルにドットを打つことによって、目的と
する多角形の塗りつぶし描画を行なうことができる。図
では、ドットを●で表している。なお、ピクセルにドッ
トを打つということは、ピクセルの濃度や色等の表示状
態を変化させることにより、ドットが打たれていない他
のピクセルとの間で表示上での差を形成することをい
う。
(Structure of Embodiment) FIG. 2 is a diagram showing a state on a display screen when the embodiment is carried out. In FIG. 2, a display device such as a CRT has a plurality of pixels, a pixel corresponding to a polygon is selected from the plurality of pixels, and a dot is applied to the selected pixel to draw the polygon. In the figure, X1 to X3 in the X-axis direction
It is composed of a plurality of pixels which are divided into two and which are also divided into Y1 to Y23 in the Y-axis direction, and a dot is applied to a pixel corresponding to the outline of the figure and a pixel inside the polygon from the pixels. With this, it is possible to perform the target polygonal filled drawing. In the figure, dots are indicated by ●. Note that hitting a dot on a pixel means forming a difference on the display with other pixels on which dots are not hit by changing the display state such as the density and color of the pixel. .

【0017】本発明の多角形の塗りつぶし描画方法にお
いては、例えばX軸方向(水平線向)に多角形を分割
し、その分割したX軸方向の両端のピクセルの位置デー
タの組により多角形の形状を特定する。例えば、図2に
おいて、多角形をX軸方向に分割すると、図形はY軸の
Y11の座標からY15までの座標内にあり、Y軸の値
がY11の部分においてはX軸の値がX6からX23ま
であり、その両端のピクセルの位置データ(X6,Y1
1)と(X23,Y11)である。また、Y軸の値がY
15の部分においてはX軸の値がX12からX23まで
あり、その両端のピクセルの位置データ(X12,Y1
5)と(X23,Y15)である。
In the polygonal filled drawing method of the present invention, for example, the polygon is divided in the X-axis direction (horizontal line direction), and the shape of the polygon is determined by the set of position data of pixels at both ends of the divided X-axis direction. Specify. For example, in FIG. 2, when the polygon is divided in the X-axis direction, the figure is within the coordinates from Y11 to Y15 on the Y-axis, and in the portion where the Y-axis value is Y11, the X-axis value is from X6. Up to X23, and the position data (X6, Y1
1) and (X23, Y11). Also, the value on the Y-axis is Y
In the portion of 15, the X-axis value is from X12 to X23, and the position data (X12, Y1
5) and (X23, Y15).

【0018】このX軸方向の両端のピクセルの位置デー
タの組(X6,Y11)と(X23,Y11),(X
7,Y11)と(X23,Y11),・・・(X12,
Y15)と(X23,Y15)により多角形の輪郭を特
定する。そして、本発明の多角形の塗りつぶし描画方法
では、この位置データで表されるピクセルと位置データ
の組ではさまれるピクセルにドットを打つことによっ
て、多角形の塗りつぶし描画を行なうものである。
Position data sets (X6, Y11) and (X23, Y11), (X) of the pixel position data at both ends in the X-axis direction.
7, Y11) and (X23, Y11), ... (X12,
The polygonal outline is specified by (Y15) and (X23, Y15). In the polygonal filled drawing method of the present invention, the polygonal filled drawing is performed by forming dots on the pixels sandwiched between the pixel represented by the position data and the position data set.

【0019】なお、図2に示す実施例においては、X軸
方向(水平線方向)に図形を分割しているが、Y軸方向
(垂直線方向)に図形を分割することも可能であり、そ
の分割したY軸方向の両端のピクセルの位置データの組
により多角形の形状を特定することも可能である。この
多角形の分割の方向およびその分割方向での位置データ
の組の形成は、ピクセルのドットを走査方向に対応して
設定することができる。
Although the figure is divided in the X-axis direction (horizontal line direction) in the embodiment shown in FIG. 2, it is also possible to divide the figure in the Y-axis direction (vertical line direction). It is also possible to specify a polygonal shape by a set of the position data of the divided pixels at both ends in the Y-axis direction. The direction of division of this polygon and the formation of a set of position data in the direction of division can be set by corresponding the dots of pixels to the scanning direction.

【0020】(実施例を実施するための装置構成)図3
は、実施例の多角形の塗りつぶし描画方法を実施するた
めの一装置構成図である。
(Apparatus configuration for carrying out the embodiment) FIG. 3
FIG. 1 is a device configuration diagram for implementing a polygonal filled drawing method according to an embodiment.

【0021】図3において、プロセッサ11は、ROM
12に格納されたシステムプログラムに従って装置全体
を制御する。ROM12のシステムプログラムによって
実行されるソフトウエアは、図形記憶等の各種の機能を
有している。このROM12には、EPROMあるいは
EEPROMが使用される。RAM13にはSRAM等
が使用され、入出力信号等の一時的なデータが格納され
る。不揮発性メモリ14には図示されないバッテリによ
ってバックアップされたCMOSが使用される。また、
不揮発性メモリ14には電源切断後も保存すべきパラメ
ータ、加工プログラム等の各種データ等が格納される。
In FIG. 3, the processor 11 is a ROM
The entire apparatus is controlled according to the system program stored in 12. The software executed by the system program of the ROM 12 has various functions such as graphic storage. EPROM or EEPROM is used for the ROM 12. An SRAM or the like is used as the RAM 13, and temporary data such as input / output signals is stored therein. For the non-volatile memory 14, a CMOS backed up by a battery (not shown) is used. Also,
The non-volatile memory 14 stores various data such as parameters and machining programs to be saved even after the power is turned off.

【0022】グラフィック制御回路15はガイダンス情
報や入力された指定形状等を表示可能な信号に変換し、
表示装置16に与える。表示装置16にはCRTあるい
は液晶表示装置が使用される。
The graphic control circuit 15 converts the guidance information and the input designated shape into a displayable signal,
It is given to the display device 16. A CRT or a liquid crystal display device is used as the display device 16.

【0023】また、プロセッサ11、RAM13等への
入力はMDI17により行なわれる。このMDI17と
して、例えばキーボードやマウス等の入力装置を用いる
ことができる。なお、前記装置構成は、そのROM12
に数値制御装置全体を制御するシステムプログラムを格
納する等によって、通常の数値制御装置に適用すること
ができるが、数値制御装置に限定されるものではなく、
他の図形表示を行なう装置に適用することができるもの
である。
Input to the processor 11, RAM 13, etc. is performed by the MDI 17. As the MDI 17, an input device such as a keyboard or a mouse can be used. It should be noted that the device configuration is based on the ROM 12
By storing a system program for controlling the entire numerical control device in, it can be applied to a normal numerical control device, but is not limited to the numerical control device,
The present invention can be applied to other devices that display graphics.

【0024】〔実施例の作用〕 (描画の手順)次に、本発明の実施例の描画方法の手順
について、前記図2の描画図、および図1の本発明の多
角形の塗りつぶし描画方法の手順を説明するフローチャ
ートを用いて説明する。なお、以下の説明においては、
ステップSの符号を用いて説明する。
[Operation of Embodiment] (Drawing Procedure) Next, regarding the procedure of the drawing method of the embodiment of the present invention, the drawing drawing of FIG. 2 and the polygonal filled drawing method of the present invention of FIG. 1 will be described. The procedure will be described with reference to the flowchart. In the following explanation,
A description will be given using the reference numeral of step S.

【0025】ステップS1:はじめに、表示装置16上
において表示する描画する多角形の描画用の位置データ
を求める。こ の位置データは、例えば図2に示したよ
うに角形のX軸方向(水平線方向)に多角形を分割し、
その分割したX軸方向の多角形を形成する境界部分のピ
クセルを特定する位置データであり、これによって多角
形の形状を特定する。
Step S1: First, position data for drawing a polygon to be displayed on the display device 16 is obtained. This position data is obtained by dividing a polygon in the X-axis direction (horizontal direction) of a polygon as shown in FIG.
It is position data that specifies the pixels at the boundary that form the divided polygon in the X-axis direction, and the shape of the polygon is specified by this.

【0026】さらに、この工程においては、求めた多角
形の位置データの順番を変更して、描画に適した順序に
ソートする。例えば、描画における主走査方向がX軸方
向であり副走査方向がY軸方向の場合には、はじめに位
置データを副走査方向の順となるように例えばYの値の
小さい順に並ベ替え、次にその並び替えた位置データの
内で同一のYの値を持つ位置データがある場合には、主
走査方向の順となるように例えばXの値の小さい順に並
べることによりソートを行なう。
Further, in this step, the order of the obtained polygon position data is changed, and the polygon position data is sorted in an order suitable for drawing. For example, when the main scanning direction in drawing is the X-axis direction and the sub-scanning direction is the Y-axis direction, first the position data is rearranged so that the position data is in the order of the sub-scanning direction. If there is position data having the same Y value in the rearranged position data, the sorting is performed by arranging in order from the smallest X value so as to be in the main scanning direction.

【0027】そして、このソートした位置データによっ
て、同一の主走査方向線上(同一のYの値を有する)の
二つの位置データの組を形成する。なお、この二つの位
置データの組を形成において、同一の主走査方向線上
(同一のYの値を有する)に3個以上の位置データがあ
る場合には、位置データの組が描画図形の内側をはさむ
組み合わせとなるものを選択し、また、頂点を形成する
場合には、同一の位置データにより1つの位置データの
組を形成する。
Then, two sets of position data on the same line in the main scanning direction (having the same Y value) are formed by the sorted position data. In addition, in forming these two sets of position data, if there are three or more position data on the same line in the main scanning direction (having the same Y value), the set of position data is inside the drawing figure. In the case of selecting a combination that sandwiches between the two, and when forming a vertex, one set of position data is formed from the same position data.

【0028】そして、この位置データの組を形成し、表
示装置に対してその位置データの組を指定することによ
り、その位置データの組にはさまれた全てのピクセルを
指定することができる。したがって、ドットを打つ複数
のピクセルを位置データの組によって特定することがで
きる。この位置データの組は、例えば図3のRAM13
に記憶しておく。
By forming this set of position data and designating the set of position data to the display device, all the pixels sandwiched by the set of position data can be designated. Therefore, a plurality of pixels that strike a dot can be specified by a set of position data. This position data set is, for example, the RAM 13 of FIG.
Remember.

【0029】なお、この位置データは多角形の形状を特
定するためのデータであり、図形が移動する場合にはこ
の位置データを移動に対応して変更し、移動中および移
動後の位置データを求めることになる。
Note that this position data is data for specifying the shape of a polygon, and when a figure moves, this position data is changed according to the movement, and the position data during and after the movement is changed. Will ask.

【0030】このステップの詳細については、後述する
(位置データを求める手順)の項において、図4のフロ
ーチャートを用いて説明する。
Details of this step will be described later in the section (Procedure for obtaining position data) with reference to the flowchart of FIG.

【0031】ステップS2:前記ステップS1の工程で
求めた位置データの組をRAM13から読み出す。この
位置データの組の読み出しの順は、ステップS1の工程
でソートした順とすることができる。
Step S2: The set of position data obtained in the step S1 is read from the RAM 13. The order of reading the sets of position data can be the order sorted in the process of step S1.

【0032】ステップS3:ステップS2で読み出した
位置データの組の間にはさまれたピクセルにドットを打
つ。これにより多角形の一部が形成される。例えば、読
み出された位置データの組が(X6,Y11),(X2
3,Y11)である場合には、この位置データの組は図
2において描画する多角形の最下部の線を示すものであ
り、この位置データの組にはさまれるピクセルの全ての
ドットを打つことにより、この多角形の最下部の線を表
示装置16上に表示することができる。
Step S3: A dot is printed on the pixel sandwiched between the sets of position data read out at step S2. This forms part of a polygon. For example, the set of read position data is (X6, Y11), (X2
3, Y11), this set of position data indicates the bottom line of the polygon drawn in FIG. 2 and strikes all dots of the pixels sandwiched by this set of position data. As a result, the bottom line of this polygon can be displayed on the display device 16.

【0033】ステップS4:前記ステップS2とステッ
プS3の工程を全ての位置データについて繰り返して行
なうことにより、多角形を表示装置16上に表示するこ
とができる。
Step S4: By repeating the steps S2 and S3 for all the position data, a polygon can be displayed on the display device 16.

【0034】(位置データを求める手順)次に、前記ス
テップS1の工程の詳細について、図4の多角形の描画
用位置データを求めるフローチャートと、図5〜図11
の多角形の描画用位置データを求める方法を説明する図
を用いて説明する。
(Procedure for Obtaining Position Data) Next, regarding the details of the process of step S1, a flowchart for obtaining polygonal drawing position data in FIG. 4 and FIGS.
The method for obtaining the drawing position data of the polygon will be described with reference to the drawings.

【0035】以下のフローチャートの説明においては、
描画する多角形を図5に示すような三角形の形状の場合
について説明するものであり、このフローより最終的に
求める位置データは、図5の(b)の斜線で示したピク
セルの位置データの組を求めるものである。
In the following description of the flow chart,
The case where the drawn polygon has a triangular shape as shown in FIG. 5 will be described. The position data finally obtained from this flow is the position data of the pixel indicated by the diagonal lines in FIG. It seeks a set.

【0036】なお、以下のフローチャートにおいては、
ステップS11〜ステップS21の符号を用いて説明す
る。
In the following flow chart,
Description will be given using the reference numerals of steps S11 to S21.

【0037】ステップS11:はじめに、描画する多角
形の頂点の座標をRAM13等の記憶装置に入力する。
例えば、図5に示す三角形の図形において、1〜3(あ
るいは(1)〜(3))で示される頂点の位置データを
求める。この位置データは、XY座標の位置データその
ものとすることも、あるいはそのXY座標の位置データ
に対応するピクセルの位置データを変換したものとする
こともできる。以下の説明では、この工程で求めた多角
形の頂点の位置データは、ピクセルの位置データである
とし、XY座標の位置データそのものの場合には、この
フローの何れかの段階において対応するピクセルの位置
データに変換することができる。
Step S11: First, the coordinates of the vertices of the polygon to be drawn are input to a storage device such as the RAM 13.
For example, in the triangular figure shown in FIG. 5, the position data of the vertices indicated by 1 to 3 (or (1) to (3)) is obtained. The position data may be the XY coordinate position data itself, or may be the position data of a pixel corresponding to the XY coordinate position data converted. In the following description, it is assumed that the position data of the vertices of the polygon obtained in this step is the position data of the pixel, and in the case of the position data of the XY coordinates itself, the position data of the corresponding pixel at any stage of this flow. Can be converted to position data.

【0038】位置データは描画図形に対して、時計回り
あるいは反時計回りとならなければならない。図5にお
いて、反時計回りの場合には、1,2,3の順となり、
時計回りの場合には、(1),(2),(3)の順とな
る。以下、反時計回りの場合について説明する。
The position data must be clockwise or counterclockwise with respect to the drawn figure. In FIG. 5, in the case of counterclockwise rotation, the order is 1, 2, 3.
In the case of clockwise rotation, the order is (1), (2), (3). The case of counterclockwise rotation will be described below.

【0039】ステップS12:前記工程で求められた位
置データに基づいて、求められた順の頂点の位置データ
間でベクトルvを形成する。例えば、図6において、反
時計回りに頂点がi−1,i,i+1である場合には、
頂点i−1とiの間でベクトルvi-1 を形成し、頂点i
とi+1の間でベクトルvi を形成する。なお、ここで
頂点iの位置座標を(Xi ,Yi )とする。
Step S12: A vector v is formed between the position data of the vertices in the obtained order based on the position data obtained in the above step. For example, in FIG. 6, when the vertices are i−1, i, i + 1 counterclockwise,
Form a vector v i-1 between vertices i-1 and i,
And i + 1 form a vector v i . The position coordinate of the vertex i is (X i , Y i ).

【0040】ステップS13:前記工程で求めた頂点i
を終点とするベクトルvi-1 と頂点iを始点とするベク
トルvi とによって、外積vi-1 ×vi を求める。な
お、この外積vi-1 ×vi において、ベクトルvi-1
ベクトルvi のなす角度は図6および図7において、θ
によって表されている。
Step S13: vertex i obtained in the above process
By the vector v i that starts a vector v i-1 and the vertex i to end point, obtaining an outer product v i-1 × v i. In this outer product v i-1 × v i , the angle formed by the vector v i-1 and the vector v i is θ in FIGS.
Represented by.

【0041】ステップS14:前記工程で求めた外積v
i-1 ×vi が正であるか、あるいは0または負であるか
の判定を行なう。例えば、図6は外積vi-1 ×vi が正
である場合を示しており、図7は外積vi-1 ×vi が負
である場合を示している。
Step S14: Outer product v obtained in the above process
i-1 × v or i is positive, or it is determined whether a 0 or negative. For example, FIG. 6 shows a case where the outer product v i-1 × v i is positive, and FIG. 7 shows a case where the outer product v i-1 × v i is negative.

【0042】ステップS16:外積vi-1 ×vi が正で
ある場合には、その頂点iの位置データを例えばRAM
13等の記憶装置に記憶し、描画図形の水平線を求める
ための位置データとしてセットされる。図6において、
この記憶する頂点iを●によって表示している。
Step S16: If the outer product v i-1 × v i is positive, the position data of the vertex i is stored in the RAM, for example.
It is stored in a storage device such as 13 and is set as position data for obtaining the horizontal line of the drawn figure. In FIG.
This stored vertex i is indicated by ●.

【0043】ステップS15:一方、外積vi-1 ×vi
が0または負である場合には、i番目のベクトルvi
Y成分とi−1番目のベクトルvi-1 のY成分の積が正
となるか0または負となるかの判定を行なう。i番目の
ベクトルvi のY成分とi−1番目のベクトルvi-1
Y成分の積が正である場合には、ステップS16により
その頂点iの位置データを記憶する。
Step S15: On the other hand, the outer product v i-1 × v i
Is 0 or negative, it is determined whether the product of the Y component of the i- th vector v i and the Y component of the i−1 th vector v i−1 is positive or 0 or negative. . If the product of the Y component of the i- th vector v i and the Y component of the i−1 th vector v i−1 is positive, the position data of the vertex i is stored in step S16.

【0044】一方、前記積が0または負の場合には、そ
の頂点iの位置データは記憶せず、描画図形の水平線を
求めるための位置データとしてセットしない。これは、
点iが水平線の途中の点であり、水平線を求めるための
位置データとしては必要がないためである。図7におい
て、この記憶しない頂点iを白抜きの○印によって表示
している。
On the other hand, when the product is 0 or negative, the position data of the vertex i is not stored and is not set as the position data for obtaining the horizontal line of the drawing figure. this is,
This is because the point i is a point in the middle of the horizontal line and is not necessary as position data for obtaining the horizontal line. In FIG. 7, the vertex i which is not stored is indicated by a white circle.

【0045】なお、図8に示すように、始点の頂点がY
軸方向に対して鋭角である場合には、始点は二度重複し
てセットすることによって水平線の情報として記憶す
る。この始点の頂点がY軸方向に対して鋭角であるか否
かの判定は、例えばi番目のベクトルのY成分とi−1
番目のnのベクトルのY成分との積が負であるか否かに
よって行なうことができる。図8において、この記憶す
る頂点iを●によって表示している。
As shown in FIG. 8, the start point vertex is Y.
In the case of an acute angle with respect to the axial direction, the starting points are set twice so as to be stored as horizontal line information. Whether or not the vertex of the starting point is an acute angle with respect to the Y-axis direction is determined by, for example, the Y component of the i-th vector and i−1.
This can be done depending on whether the product of the nth vector with the Y component is negative. In FIG. 8, the stored vertex i is indicated by ●.

【0046】ステップS17:前記ステップS14〜ス
テップS16の工程を全てのベクトルについて行なう。
これによって、多角形の描画において水平線の情報とし
て必要な頂点の位置データが求められる。
Step S17: The steps S14 to S16 are performed for all the vectors.
As a result, the position data of the vertices, which is necessary as horizontal line information in drawing the polygon, is obtained.

【0047】ステップS18:次に、多角形の描画にお
いて水平線の情報として必要な頂線分上の位置データを
求める。前記ステップS14〜ステップS17におい
て、多角形の描画において水平線の情報として必要な頂
点の位置データは求められているが、この工程では、そ
の頂点を結ぶ線分間での水平線の情報として必要な位置
データを求める。
Step S18: Next, position data on the top line segment required as horizontal line information in drawing a polygon is obtained. In the steps S14 to S17, the position data of the vertices necessary as the information of the horizontal line in the drawing of the polygon is obtained, but in this step, the position data necessary as the information of the horizontal line in the line segment connecting the vertices is obtained. Ask for.

【0048】前記ステップS13で求めたベクトルvi
に対応する直線をiとし、その直線iが水平線か否かの
判定を行なう。頂点間を結ぶ直線iが水平線の場合に
は、この水平線の直線部分は、その直線の両端である頂
点によって描画に必要な位置データが既にセットされて
いるため、水平線を求めるための位置データとしては必
要がない。そのため、この直線iの位置データはセット
しない。
Vector v i obtained in step S13
The straight line corresponding to is defined as i, and it is determined whether or not the straight line i is a horizontal line. When the straight line i connecting the vertices is a horizontal line, the straight line portion of this horizontal line has position data necessary for drawing already set by the vertices at both ends of the straight line. Is not necessary. Therefore, the position data of this straight line i is not set.

【0049】一方、頂点間を結ぶ直線iが水平線でない
場合には、次のステップS19において、水平線を求め
るための位置データをセットする。
On the other hand, if the straight line i connecting the vertices is not a horizontal line, the position data for obtaining the horizontal line is set in the next step S19.

【0050】ステップS19:直線iの位置データを求
めて、記憶装置に記憶する。
Step S19: The position data of the straight line i is obtained and stored in the storage device.

【0051】この直線iは、例えば図9において太い実
線で示されており、その直線iにおける位置データは、
破線で示されるX軸方向の水平線の両端の位置データと
して求められ、図中において●によって示されている。
そして、水平線の部分は前記工程で説明したように水平
線を求めるための位置データとしては必要がないため、
この直線iの位置データはセットしない。
This straight line i is shown by, for example, a thick solid line in FIG. 9, and the position data on the straight line i is
It is obtained as position data at both ends of a horizontal line in the X-axis direction indicated by a broken line, and is indicated by ● in the figure.
Since the horizontal line portion is not necessary as position data for obtaining the horizontal line as described in the above step,
The position data of this straight line i is not set.

【0052】図10に示される多角形においても、同様
に直線iにおける位置データは、●によって示されてお
り、水平線の中間にある頂点の内白抜きの○印によって
表される点は、前記したように水平線を求めるための位
置データとしては不要であるめ、セットされない。
Also in the polygon shown in FIG. 10, similarly, the position data on the straight line i is indicated by ●, and the point represented by the white circle inside the apex in the middle of the horizontal line is the above-mentioned point. As described above, it is not set because it is unnecessary as position data for obtaining the horizontal line.

【0053】また、多角形が図11に示されるような場
合には、多角形をはさむ水平線以外の二本の直線によっ
て必要な位置データが求められる。例えば、図11にお
いて、直線を時計方向にi〜i+4により表すと、直線
iと直線i+1によってはさまれる多角形は、その直線
iと直線i+1の位置データによって描画のための水平
線が定められ、また直線i+2と直線i+4の位置デー
タによって描画のための水平線が定められる。なお、直
線i+1と直線i+2の交点部分の頂点は、ベクトルの
外積が負で、かつY成分の積が0または負となるので位
置データとしてセットされない。
In the case where the polygon is as shown in FIG. 11, the necessary position data can be obtained by two straight lines other than the horizontal lines that sandwich the polygon. For example, in FIG. 11, when a straight line is represented by i to i + 4 in the clockwise direction, a polygon sandwiched by the straight line i and the straight line i + 1 has a horizontal line for drawing defined by the position data of the straight line i and the straight line i + 1. A horizontal line for drawing is determined by the position data of the straight line i + 2 and the straight line i + 4. The vertex at the intersection of the straight line i + 1 and the straight line i + 2 is not set as position data because the vector outer product is negative and the Y component product is 0 or negative.

【0054】ステップS20:前記ステップS18及び
ステップS19の工程を全てのiについて行なう。これ
によって、描画に必要な位置データを全て求められる。
Step S20: The steps S18 and S19 are performed for all i. As a result, all position data necessary for drawing can be obtained.

【0055】ステップS21:前記ステップS11〜ス
テップS20によって入力された位置データを描画に適
した順序にソートする。このソートについては、前記ス
テップS1において説明しているため、ここでは説明を
省略する。
Step S21: The position data input in steps S11 to S20 are sorted in an order suitable for drawing. Since this sort has been described in step S1, the description is omitted here.

【0056】そして、このソートにより位置データの組
が形成され、表示装置に対してその位置データの組を指
定することにより、その位置データの組にはさまれた全
てのピクセルを指定することができ、ドットを打つ複数
のピクセルを位置データの組によって特定することがで
きる。
A position data set is formed by this sorting, and by specifying the position data set to the display device, all the pixels sandwiched by the position data set can be specified. Yes, multiple pixels that hit a dot can be identified by a set of position data.

【0057】〔変形例〕前記実施例において、多角形を
分割する一方向としてX軸方向に代えて、Y軸方向とす
ることもできる。
[Modification] In the above-described embodiment, the Y-axis direction may be used instead of the X-axis direction as one direction for dividing the polygon.

【0058】[0058]

【発明の効果】以上説明したように、本発明によれば、
高速な機械語命令が容易に利用することができ、高速な
図形の描画を行なうことができる。
As described above, according to the present invention,
High-speed machine language instructions can be easily used, and high-speed graphic drawing can be performed.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の多角形の塗りつぶし描画方法の手順を
説明するフローチャートである。
FIG. 1 is a flowchart illustrating a procedure of a polygonal filled drawing method according to the present invention.

【図2】本発明の実施例を実施する場合の表示画面上の
状態を示す図である。
FIG. 2 is a diagram showing a state on a display screen when implementing an embodiment of the present invention.

【図3】本発明の実施例の多角形の塗りつぶし描画方法
を実施するための一装置構成図である。
FIG. 3 is a diagram showing the configuration of an apparatus for carrying out the polygonal fill drawing method according to the embodiment of the present invention.

【図4】本発明の多角形の描画用位置データを求めるフ
ローチャートである。
FIG. 4 is a flowchart for obtaining polygonal drawing position data according to the present invention.

【図5】本発明の多角形の描画用位置データを求める方
法を説明する図である。
FIG. 5 is a diagram illustrating a method of obtaining position data for drawing a polygon according to the present invention.

【図6】本発明の多角形の描画用位置データを求める方
法を説明する図である。
FIG. 6 is a diagram illustrating a method for obtaining polygonal drawing position data according to the present invention.

【図7】本発明の多角形の描画用位置データを求める方
法を説明する図である。
FIG. 7 is a diagram illustrating a method for obtaining polygonal drawing position data according to the present invention.

【図8】本発明の多角形の描画用位置データを求める方
法を説明する図である。
FIG. 8 is a diagram illustrating a method of obtaining position data for drawing a polygon according to the present invention.

【図9】本発明の多角形の描画用位置データを求める方
法を説明する図である。
FIG. 9 is a diagram illustrating a method of obtaining position data for drawing a polygon according to the present invention.

【図10】本発明の多角形の描画用位置データを求める
方法を説明する図である。
FIG. 10 is a diagram illustrating a method of obtaining position data for drawing a polygon according to the present invention.

【図11】本発明の多角形の描画用位置データを求める
方法を説明する図である。
FIG. 11 is a diagram illustrating a method of obtaining position data for drawing a polygon according to the present invention.

【符号の説明】[Explanation of symbols]

11 プロセッサ 12 ROM 13 RAM 14 不揮発性メモリ 15 グラフィック制御回路 16 表示装置 17 MDI 11 processor 12 ROM 13 RAM 14 non-volatile memory 15 graphic control circuit 16 display device 17 MDI

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数のピクセルを配列してなる表示画面
上で、図形パターンに対応する前記ピクセルを塗りつぶ
すことにより多角形の描画を行なう塗りつぶし描画方法
において、(a)前記多角形を前記表示画面の一方向に
沿って分割し、(b)前記分割により得られる多角形の
境界における位置データを求め、(c)前記一方向上の
同一分割において、前記多角形を内側にはさむ二つの位
置データによって位置データの組を形成し、(d)前記
位置データの組ではさまれる前記ピクセルにドットを打
つことにより多角形の描画を行なうことを特徴とする多
角形の塗りつぶし描画方法。
1. A filled drawing method for drawing a polygon by filling the pixels corresponding to a graphic pattern on a display screen formed by arranging a plurality of pixels, wherein (a) the polygon is displayed on the display screen. Dividing along one direction, (b) obtaining position data at the boundary of the polygon obtained by the division, (c) in the same division of the one-sided improvement, by two position data sandwiching the polygon inside. A method of drawing a polygon by forming a set of position data, and (d) drawing a polygon by hitting dots on the pixels sandwiched by the set of position data.
【請求項2】 前記位置データは、前記多角形の頂点を
表す位置データと該頂点間を結ぶ線分上の位置データと
からなり、(a)前記頂点を表す位置データは、前記分
割により得られる位置データの中から隣接する位置デー
タを一方向の順に三つ選択し、選択した位置データによ
って形成される隣接する二つのベトクルの外積が正、又
はベクトルのY成分の積が正となる場合の中央の位置デ
ータであり、(b)前記頂点間を結ぶ線分上の位置デー
タは、前記線分が前記一方向上に存在しない場合の位置
データであることを特徴とする請求項1記載の多角形の
塗りつぶし描画方法。
2. The position data comprises position data representing vertices of the polygon and position data on a line segment connecting the vertices, and (a) the position data representing the vertices is obtained by the division. If three adjacent position data are selected in the unidirectional order from the position data that are set, and the outer product of two adjacent vectors formed by the selected position data is positive, or the product of the Y components of the vector is positive 2. The position data at the center of the line segment, and (b) the position data on the line segment connecting the vertices is the position data when the line segment does not exist in the one-sided improvement. Polygon fill drawing method.
【請求項3】 前記一方向は、X軸方向である請求項
1,又は2記載の多角形の塗りつぶし描画方法。
3. The polygonal solid drawing method according to claim 1, wherein the one direction is an X-axis direction.
JP5191960A 1993-07-05 1993-07-05 Paint-out plotting method for polygon Pending JPH0721397A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5191960A JPH0721397A (en) 1993-07-05 1993-07-05 Paint-out plotting method for polygon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5191960A JPH0721397A (en) 1993-07-05 1993-07-05 Paint-out plotting method for polygon

Publications (1)

Publication Number Publication Date
JPH0721397A true JPH0721397A (en) 1995-01-24

Family

ID=16283314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5191960A Pending JPH0721397A (en) 1993-07-05 1993-07-05 Paint-out plotting method for polygon

Country Status (1)

Country Link
JP (1) JPH0721397A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163665A (en) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd Plotting device
CN103406960A (en) * 2013-07-08 2013-11-27 中南林业科技大学 Efficient flame-retardant treatment method of wood-bamboo material

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163665A (en) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd Plotting device
JP4541533B2 (en) * 2000-11-24 2010-09-08 パナソニック株式会社 Drawing device
CN103406960A (en) * 2013-07-08 2013-11-27 中南林业科技大学 Efficient flame-retardant treatment method of wood-bamboo material

Similar Documents

Publication Publication Date Title
US4529978A (en) Method and apparatus for generating graphic and textual images on a raster scan display
WO2001009842A1 (en) System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
US5261030A (en) Real-time digital computer graphics processing method and apparatus
JP3547250B2 (en) Drawing method
JPH0721397A (en) Paint-out plotting method for polygon
JPH04188192A (en) Method and device for producing multigradation character
JP3154343B2 (en) How to fill in polygonal shapes
JP2562540B2 (en) Figure processing method
JP2762768B2 (en) Outline data drawing device
JP3473079B2 (en) Image display position determining method and apparatus
JP3025739B2 (en) Character pattern generation device and character pattern generation method
JPH0350686A (en) Graphic processing system
JP2915413B2 (en) Character processing method and apparatus
JPS63224965A (en) Character generator
JP3099556B2 (en) Data converter
JPH07117823B2 (en) Color display
JPH01159776A (en) Line drawing system
JP3214722B2 (en) Stroke character generator
JP3051818B2 (en) Segment drawing method and output device using the method
JPH05114030A (en) Area painting-out display system for polygon
JPH06124076A (en) Outline data processor
JPH08305865A (en) Figure drawing device
JPH0950272A (en) Method and device for outline font generation
JPH0916787A (en) Start point/end point plotting method for frame line for graphic painting-out
JPH06274141A (en) Character display system