JPH09270018A - Graphic plotting device - Google Patents

Graphic plotting device

Info

Publication number
JPH09270018A
JPH09270018A JP8079001A JP7900196A JPH09270018A JP H09270018 A JPH09270018 A JP H09270018A JP 8079001 A JP8079001 A JP 8079001A JP 7900196 A JP7900196 A JP 7900196A JP H09270018 A JPH09270018 A JP H09270018A
Authority
JP
Japan
Prior art keywords
arc
segment
line
coordinates
normal vector
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
Application number
JP8079001A
Other languages
Japanese (ja)
Other versions
JP3555316B2 (en
Inventor
Kazunori So
一憲 宋
Tatsuko Sakai
樹子 酒井
Shinjirou Inahata
深二郎 稲畑
Toshiro Shimada
利郎 島田
Yutaka Ueda
豊 植田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP07900196A priority Critical patent/JP3555316B2/en
Publication of JPH09270018A publication Critical patent/JPH09270018A/en
Application granted granted Critical
Publication of JP3555316B2 publication Critical patent/JP3555316B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a graphic plotting device capable of plotting a required line of high quality on any position of a circular arc or the like while holding its line width at a fixed value and plotting any line sort such as a broken line in a high quality state. SOLUTION: An initial value recognizing part 1 recognizes the size of a graphic such as a circle, circular arc, an ellipse, and an elliptic arc to be plotted and the width of its line. Then a circular arc segment scanning part 2 approximates a curve by a straight line, divides the straight line into plottable segments and stores the start and end points of respective segments in a segment start/end point storing part 3. A straight line coordinate generating part 4 generates a straight line passing from the start point of a certain segment up to its end point only by its line width and a normal vector generating part 5 rotates the generated straight line by 90 deg. to obtain a normal vector. On the other hand, a circular arc coordinate generating part 6 successively generates the coordinates of pixels on a circular arc in the segment and a plotting part 7 plots a normal vector started from the coordinates to be a start point and stores the plotted normal vector in a frame memory 9.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、図形描画装置に関
するものであり、特に線幅のある円、円弧、楕円および
楕円弧などを高品質に描画する図形太線描画装置に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic drawing apparatus, and more particularly to a graphic thick line drawing apparatus for drawing a circle, an arc, an ellipse and an elliptic arc having a line width with high quality.

【0002】[0002]

【従来の技術】近年、CAD(Computer Ai
ded Design)システムやコンピュータグラフ
ィックス等において、図形や文字を出力する装置である
プリンタやプロッタ等の解像度が高くなっている。解像
度が高くなればなるほど図形や文字はより美しく出力さ
れる。しかしながら、高解像度化に伴い1ドット幅の線
が非常に細くなり実用的でないため、2ドット以上の線
幅を有する線で描画する機能が必要になっている。ま
た、CADシステムにおいて円、円弧、楕円および楕円
弧はそれらを組み合せることで曲線を表現することもで
きる。さらに、実線だけでなく一点鎖線や点線、破線と
いった線種もよく使用される。
2. Description of the Related Art In recent years, CAD (Computer Ai)
In ded Design) systems, computer graphics, and the like, the resolution of printers and plotters, which are devices that output figures and characters, is increasing. The higher the resolution, the more beautiful the figures and characters will be output. However, as the resolution becomes higher, the line of 1-dot width becomes very thin, which is not practical. Therefore, a function of drawing with a line having a line width of 2 dots or more is required. Further, in the CAD system, a circle, a circular arc, an ellipse, and an elliptic arc can express a curved line by combining them. Furthermore, not only the solid line, but also line types such as the one-dot chain line, the dotted line, and the broken line are often used.

【0003】従来の図形描画装置は、線の太い円・円弧
を描画するときには、次に述べる方法がとられてきた。
図15は、従来の線分描画方法の描画手順の説明図であ
る。まず、図15(A)に示す描画方法では、公知のB
resenhamの円弧発生アルゴリズムによって線幅
1画素の円弧は高速に発生することができるため、この
円弧を数本重ねることによって太線を描画している。こ
の方式の具体例としては、例えば、直線についての例が
特開平5−233821号公報等に記載されている。
The conventional graphic drawing apparatus has taken the following method when drawing a thick circle / arc.
FIG. 15 is an explanatory diagram of a drawing procedure of a conventional line segment drawing method. First, in the drawing method shown in FIG.
Since a circular arc having a line width of 1 pixel can be generated at high speed by the arc generating algorithm of reshenham, a thick line is drawn by overlapping several circular arcs. As a concrete example of this method, for example, an example of a straight line is described in JP-A-5-233821.

【0004】次に、図15(B)に示す描画方法は、描
画したい円弧の輪郭線を予め描画して、その後、一般的
な塗りつぶし処理を用いて太線を描画している。この方
式の具体例としては、例えば、直線についての例が特開
平4−205575号公報、特開平4−77977号公
報、特開平5−67215号公報等に記載されている。
Next, in the drawing method shown in FIG. 15B, a contour line of an arc to be drawn is drawn in advance, and then a thick line is drawn by using a general filling process. As a specific example of this system, for example, an example of a straight line is described in JP-A-4-205575, JP-A-4-77977, and JP-A-5-67215.

【0005】さらに、図15(C)に示す描画方法は、
目的の線幅を直径とする円形の画素パターンを円弧の始
点から終点まで公知のBresenhamの円弧発生ア
ルゴリズムに基づいて1画素ずつ移動させ、画素パター
ン内を塗りつぶしていくことで描画する。
Further, the drawing method shown in FIG.
A circular pixel pattern having a target line width as a diameter is drawn by moving the pixel pattern from the starting point to the ending point of the circular arc one pixel by one pixel based on the known Bresenham's circular arc generation algorithm, and painting the inside of the pixel pattern.

【0006】また、図15(D)に示す描画方式は、曲
線を直線近似して描画する方法である。この方式の具体
例として、例えば、特開平4−128980公報等に示
されている。
The drawing method shown in FIG. 15D is a method of drawing a curve by linear approximation. A specific example of this method is disclosed in, for example, Japanese Patent Laid-Open No. 4-128980.

【0007】ところで、描画される円の画質または精度
は、円周上のどの位置においても線幅が一定であること
である。また破線等を描画する場合においても、破線の
線分長と線分間隔および線幅が円周上のどの位置におい
ても一定であることが画質または精度を決める。さらに
各線分の端点の形状を描画方向に直交した直線にそろえ
る必要がある。
By the way, the image quality or accuracy of the drawn circle is that the line width is constant at any position on the circumference. Also when drawing a broken line or the like, the image quality or accuracy is determined by the fact that the line segment length, line segment interval, and line width of the broken line are constant at any position on the circumference. Furthermore, it is necessary to align the shapes of the end points of each line segment with a straight line orthogonal to the drawing direction.

【0008】このような観点から従来の各描画方法を検
討すると、まず図15(A)に示す描画方法では、円周
上のどの位置においても線幅を一定にするために必要な
細線の本数を算出することは難しい。また、破線を描画
する場合、破線の各線分全ての端点を描画方向に直交し
た直線で切り取ってそろえるように細線の描画を制御す
ることは困難である。
Considering each of the conventional drawing methods from such a point of view, first, in the drawing method shown in FIG. 15A, the number of thin lines required to keep the line width constant at any position on the circumference. Is difficult to calculate. Further, when drawing a broken line, it is difficult to control drawing of a thin line so that all end points of each line segment of the broken line are cut and aligned with a straight line orthogonal to the drawing direction.

【0009】また、図15(B)に示す描画方法では、
破線を描画する場合は破線の各線分ごとに端点形状まで
含めた輪郭線を求める必要があり、既存の塗りつぶし方
式を用いた際に処理が複雑になることや、膨大なメモリ
を必要とする可能性があるなどの問題がある。また、特
に楕円の輪郭線を描画する場合は、ある楕円から内側ま
たは外側に線幅長離れた楕円の輪郭線を描画するために
必要なBresenhamの円弧発生アルゴリズムのパ
ラメータを特定することは困難である。
In the drawing method shown in FIG. 15B,
When drawing a broken line, it is necessary to find the contour line including the end point shape for each line segment of the broken line, which may complicate the process when using the existing filling method, or require a huge memory. There is a problem that there is a property. In particular, when drawing the contour line of an ellipse, it is difficult to specify the parameters of the Bresenham's arc generation algorithm necessary for drawing the contour line of an ellipse whose line width is inward or outward from a certain ellipse. is there.

【0010】図15(C)に示す描画方法では、円形の
画素パターンを用いているので、円、円弧、楕円、楕円
弧のどの位置においても線幅をほぼ一定にすることがで
きる。しかし、端点の形状は半円形状に限られ、例え
ば、破線を描画した場合には、端点の形状は画素パター
ンの半円の形状のままとなり、さらに画素パターンの直
径より短い長さの線分を描画しようとするとそのままで
は描画することができないという問題を有している。
Since the drawing method shown in FIG. 15C uses a circular pixel pattern, the line width can be made substantially constant at any position of a circle, a circular arc, an ellipse, and an elliptic arc. However, the shape of the end point is limited to a semicircular shape. For example, when a broken line is drawn, the shape of the end point remains the shape of a semicircle of the pixel pattern, and a line segment having a length shorter than the diameter of the pixel pattern is used. However, there is a problem in that it cannot be drawn as it is.

【0011】次に図15(D)に示す描画方法について
検討する。図16は、曲線を短い直線に近似して描画す
る従来の線分描画方法の描画手順の説明図である。図1
6に示すように、この方式は、発生させようとする曲線
のなかでX軸方向、Y軸方向、斜め方向だけに連続する
直線画素列を取り出し、その画素列を所望の線幅の線分
として元の画像にマッピングする方式である。図16
(A)に示すような曲線を3画素幅で発生させる場合、
図16(A)の周囲に示す5つの直線画素列に分割し、
それぞれを3画素幅として書き戻す。これにより図16
(B)に示す3画素幅の曲線を得ることができる。
Next, the drawing method shown in FIG. 15D will be examined. FIG. 16 is an explanatory diagram of a drawing procedure of a conventional line segment drawing method for drawing a curve by approximating it to a short straight line. FIG.
As shown in FIG. 6, in this method, a linear pixel row that is continuous only in the X-axis direction, the Y-axis direction, and the diagonal direction is extracted from the curve to be generated, and the pixel row is divided into line segments having a desired line width. Is a method of mapping to the original image. FIG.
When a curve as shown in (A) is generated with a width of 3 pixels,
It is divided into five linear pixel rows shown in the periphery of FIG.
Each is written back as 3 pixels wide. As a result, FIG.
It is possible to obtain the 3-pixel width curve shown in FIG.

【0012】この方式において、例えば、破線を描画し
ようとすると、各線分中の各画素または線分ごとに描画
するか否かを切り替えることによって可能であると思わ
れる。しかしこの方式では、斜めに描画する線分の線幅
が正確でないため、破線の画質が劣化し、さらに破線の
各線分は3種類の方向しか持たない直線によって成り立
つため常に各線分の切り口を描画方向に直交した直線に
そろえることが難しいという問題を有している。
In this method, for example, when it is attempted to draw a broken line, it is considered to be possible by switching whether or not to draw each pixel in each line segment or each line segment. However, in this method, since the line width of the line segment drawn diagonally is not accurate, the image quality of the broken line is deteriorated, and each line segment of the broken line is always formed by a straight line having only three kinds of directions, so that the line segment is always drawn. There is a problem that it is difficult to align with a straight line orthogonal to the direction.

【0013】以上のことから、従来の描画方法で円、円
弧、楕円、楕円弧の描画を高品質に行なうことは困難で
ある。また、破線や点線などを高品質に描画することに
対しては、ほとんど考慮されていないのが現状である。
From the above, it is difficult to perform high quality drawing of circles, arcs, ellipses, and elliptic arcs by the conventional drawing method. In addition, the present situation is that little consideration is given to high-quality drawing of broken lines and dotted lines.

【0014】[0014]

【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、円、円弧、楕円および楕円
弧のどの位置においても、所望の線幅を一定に保ちなが
ら高画質に描画を行ない、さらに鎖線や破線、点線な
ど、実線以外の線種についても、各線素の線分長と線分
間隔および線幅を一定に保ちながら高画質に描画を行な
うことのできる図形描画装置を提供することを目的とす
るものである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances, and draws a high quality image while keeping a desired line width constant at any position of a circle, an arc, an ellipse and an ellipse arc. In addition, a line drawing, broken line, dotted line, and other line types other than the solid line can be drawn with high quality while maintaining a constant line segment length, line segment interval, and line width for each line element. It is intended to be provided.

【0015】[0015]

【課題を解決するための手段】請求項1に記載の発明
は、円、円弧、楕円および楕円弧を描画する機能を有す
る図形描画装置において、入力された情報から描画する
円、円弧、楕円および楕円弧の大きさと線の太さを認識
する初期値認識手段と、該初期値認識手段で認識した
円、円弧、楕円および楕円弧の大きさと線の太さを基に
円、円弧、楕円および楕円弧を直線で近似して描画しう
る近似直線の線分長と等しい円弧長となる座標を順次生
成する円弧セグメント走査手段と、該円弧セグメント走
査手段が生成した座標を円、円弧、楕円および楕円弧を
近似する線分の始点と終点の座標として順次保持するセ
グメント始点・終点格納手段と、前記始点と終点間の円
弧上の座標を生成する円弧座標発生手段と、前記始点と
終点とを結ぶ直線上の座標を生成する直線座標発生手段
と、該直線座標発生手段が生成した座標を基に前記始点
と終点とを結ぶ直線に直交しかつ前記初期値認識手段で
認識された線幅と等しい長さを有する画素列を生成する
法線ベクトル生成手段と、該法線ベクトル生成手段で生
成された画素列を前記円弧座標発生手段が生成した座標
毎に発生させ描画を行なう描画手段を備えたことを特徴
とするものである。
According to a first aspect of the present invention, there is provided a graphic drawing device having a function of drawing a circle, an arc, an ellipse, and an elliptic arc, which is drawn from input information. Of the circle, arc, ellipse and elliptic arc recognized by the initial value recognizing means, and a circle, an arc, an ellipse and an elliptic arc as a straight line based on the size and the thickness of the line. Arc segment scanning means for sequentially generating coordinates having an arc length equal to the line segment length of an approximate straight line that can be drawn by approximation, and the coordinates generated by the arc segment scanning means are approximated to a circle, arc, ellipse and elliptic arc. A segment start point / end point storage means for sequentially holding the coordinates of the start point and the end point of a line segment, an arc coordinate generation means for generating coordinates on the arc between the start point and the end point, and a straight line connecting the start point and the end point A linear coordinate generating means for generating a mark, and a length equal to the line width recognized by the initial value recognizing means, which is orthogonal to the straight line connecting the start point and the end point based on the coordinates generated by the linear coordinate generating means. A normal vector generating means for generating a pixel row having the same, and a drawing means for generating a pixel row generated by the normal vector generating means for each coordinate generated by the arc coordinate generating means and performing drawing. It is what

【0016】請求項2に記載の発明は、請求項1に記載
の図形描画装置において、前記円弧セグメント走査手段
は、前記初期値認識手段で認識した円、円弧、楕円およ
び楕円弧の大きさと線の太さに基づいて円弧上の座標を
生成する円弧セグメント座標発生手段と、該円弧セグメ
ント座標発生手段が生成した座標の移動距離を演算する
距離演算手段と、前記初期値認識手段が認識した円、円
弧、楕円および楕円弧の大きさと線の太さを基に円、円
弧、楕円および楕円弧を直線で近似して描画しうる線分
長を算出するセグメントレングス算出手段と、該セグメ
ントレングス算出手段が求めた線分長を前記移動距離演
算手段が求めた移動距離が上回るか否かを判定するセグ
メント走査判定手段を備えていることを特徴とするもの
である。
According to a second aspect of the present invention, in the figure drawing apparatus according to the first aspect, the circular arc segment scanning means recognizes the size and line of the circle, circular arc, ellipse or elliptic arc recognized by the initial value recognizing means. An arc segment coordinate generation means for generating coordinates on an arc based on the thickness, a distance calculation means for calculating the moving distance of the coordinates generated by the arc segment coordinate generation means, and a circle recognized by the initial value recognition means, A segment length calculating means for calculating a line segment length that can be drawn by approximating a circle, an arc, an ellipse and an elliptic arc with a straight line based on the size of the arc, the ellipse and the elliptic arc and the thickness of the line, and the segment length calculating means The segment scanning determining means for determining whether or not the moving distance calculated by the moving distance calculating means exceeds the line segment length.

【0017】請求項3に記載の発明は、請求項1または
2に記載の図形描画装置において、前記描画手段は、前
記円弧座標発生手段が求めた円弧座標に基づいて画素抜
けの発生を判定する画素抜け判定手段と、円弧画素を始
点とした法線ベクトルに沿って描画する法線ベクトル描
画手段と、該法線ベクトル描画手段による描画が前記セ
グメントの終点まで終了したか否かを判定するセグメン
ト終了条件判定手段を備えていることを特徴とするもの
である。
According to a third aspect of the present invention, in the graphic drawing apparatus according to the first or second aspect, the drawing means determines the occurrence of pixel omission based on the arc coordinates obtained by the arc coordinate generation means. Pixel dropout determining means, normal vector drawing means for drawing along a normal vector starting from an arc pixel, and a segment for judging whether drawing by the normal vector drawing means is completed up to the end point of the segment It is characterized in that it is provided with an end condition judging means.

【0018】請求項4に記載の発明は、請求項1ないし
3のいずれか1項に記載の図形描画装置において、前記
円弧座標発生手段は、前記始点と終点間の円弧上の座標
を生成する際に、描画する線種に従って前記円弧上の少
なくとも一部の座標のみを生成することを特徴とするも
のである。
According to a fourth aspect of the present invention, in the figure drawing apparatus according to any one of the first to third aspects, the arc coordinate generating means generates coordinates on the arc between the start point and the end point. At this time, only at least a part of the coordinates on the circular arc is generated according to the line type to be drawn.

【0019】[0019]

【発明の実施の形態】図1は、本発明の図形描画装置の
第1の実施の形態を示すブロック図である。図中、1は
初期値認識部、2は円弧セグメント走査部、3はセグメ
ント始点・終点格納部、4は直線座標発生部、5は法線
ベクトル生成部、6は円弧座標発生部、7は描画部、8
は終了条件判定部、9はフレームメモリである。
1 is a block diagram showing a first embodiment of a graphic drawing apparatus of the present invention. In the figure, 1 is an initial value recognition unit, 2 is an arc segment scanning unit, 3 is a segment start point / end point storage unit, 4 is a linear coordinate generation unit, 5 is a normal vector generation unit, 6 is an arc coordinate generation unit, and 7 is Drawing part, 8
Is an end condition determination unit, and 9 is a frame memory.

【0020】初期値認識部1は、描画する円、円弧、楕
円および楕円弧の大きさと線の太さを認識する。円、円
弧の大きさとしては半径を、また楕円、楕円弧の場合は
X軸およびY軸の径を認識する。さらに円弧、楕円弧の
場合には、描画開始点と描画終了点の座標、あるいは描
画開始点または描画終了点の座標と中心角、または、描
画開始点および描画終了点の存在するある方向からの角
度等を認識する。これらは、キーボードやマウスなどの
入力装置から入力されたり、あるいはファイルや他の計
算機から与えられるページ記述言語等で記述された描画
データを解釈することで得られる。
The initial value recognition unit 1 recognizes the size and line thickness of a circle, an arc, an ellipse, and an elliptic arc to be drawn. The radius is recognized as the size of a circle or an arc, and the diameters of the X axis and the Y axis are recognized in the case of an ellipse or an elliptic arc. Furthermore, in the case of an arc or elliptical arc, the coordinates of the drawing start point and the drawing end point, the coordinates of the drawing start point or the drawing end point and the central angle, or the angle from a certain direction in which the drawing start point and the drawing end point exist Etc. are recognized. These can be obtained by interpreting drawing data input from an input device such as a keyboard or a mouse, or described in a file or a page description language given from another computer.

【0021】円弧セグメント走査部2は、円、円弧、楕
円、および楕円弧を直線で近似して描画するために最適
な線分長と等しい長さだけ、円弧上の座標を走査する。
この線分長の区間をセグメントと呼び、線分長をセグメ
ントレングスと呼ぶ。セグメントレングスは、円と円弧
の場合には半径と線幅から、また楕円と楕円弧の場合に
はX軸およびY軸の径、X軸の径とY軸の径の比および
線幅から求めることができる。円弧座標上をセグメント
レングスと等しい長さだけ走査することでセグメントの
始点と終点が求められる。セグメント始点・終点格納部
3は、円弧セグメント走査部2で求められたセグメント
の始点および終点の座標を一時保持する。
The circular arc segment scanning unit 2 scans the coordinates on the circular arc by a length equal to the optimum line segment length for approximating a circle, a circular arc, an ellipse, and an elliptic arc by a straight line.
This line segment length section is called a segment, and the line segment length is called a segment length. The segment length should be calculated from the radius and line width for circles and arcs, and from the X-axis and Y-axis diameters, the ratio of the X-axis diameter to the Y-axis diameter, and the line width for ellipses and elliptical arcs. You can The start point and end point of the segment are obtained by scanning the arc coordinates for a length equal to the segment length. The segment start point / end point storage unit 3 temporarily holds the coordinates of the start point and end point of the segment obtained by the arc segment scanning unit 2.

【0022】直線座標発生部4は、セグメント始点・終
点格納部3に保持されているセグメントの始点から終点
までの直線座標を、例えばDDA等によって発生する。
法線ベクトル生成部5は、直線座標発生部4で発生した
直線座標に対応する画素列を、線幅分のみ90°回転さ
せることによって、セグメントの始点と終点を結ぶ直線
に直交する法線ベクトルを生成する。円弧座標発生部6
は、セグメント始点・終点格納部3に保持されているセ
グメントの始点および終点間の円弧上の座標を発生す
る。円弧上の座標の発生には、例えばBresenha
mの円弧発生アルゴリズム等を用いることができる。
The linear coordinate generation unit 4 generates linear coordinates from the start point to the end point of the segment held in the segment start point / end point storage unit 3 by, for example, DDA or the like.
The normal vector generation unit 5 rotates the pixel row corresponding to the linear coordinates generated by the linear coordinate generation unit 4 by 90 ° only for the line width, and thereby the normal vector orthogonal to the straight line connecting the start point and the end point of the segment. To generate. Arc coordinate generation unit 6
Generates the coordinates on the arc between the start point and the end point of the segment held in the segment start point / end point storage unit 3. For example, Bresenha can be used to generate the coordinates on the arc.
For example, an arc generation algorithm of m can be used.

【0023】描画部7は、円弧座標発生部6で発生した
円弧上の各座標を法線ベクトル生成部5で生成した法線
ベクトルの始点として、法線ベクトルを構成する画素列
を描画する。このとき、隣り合う法線ベクトル間に描画
されない画素が生じる場合は、その画素の描画も行な
う。終了条件判定部8は、描画開始点から描画終了点ま
での描画が終了したか否かを判定し、描画終了点までの
描画が終了していない間は、円弧セグメント走査部2以
降の処理を繰り返し行なわせる。フレームメモリ9は、
描画部7で描画された画像を保持する。
The drawing unit 7 draws a pixel array forming a normal vector with each coordinate on the arc generated by the arc coordinate generation unit 6 as the starting point of the normal vector generated by the normal vector generation unit 5. At this time, if there is a pixel that is not drawn between adjacent normal vectors, that pixel is also drawn. The end condition determination unit 8 determines whether or not the drawing from the drawing start point to the drawing end point is completed, and while the drawing up to the drawing end point is not completed, the processing of the arc segment scanning unit 2 and thereafter is executed. Make it repeat. The frame memory 9 is
The image drawn by the drawing unit 7 is held.

【0024】図2は、本発明の図形描画装置の第1の実
施の形態における描画手順の一例の説明図である。ここ
では、描画開始点から描画終了点までのある線幅の円弧
を描画する場合を例にして説明する。初期値認識部1
は、描画する円弧の半径、描画開始点、描画終了点、線
幅などを認識する。
FIG. 2 is an explanatory diagram showing an example of a drawing procedure in the first embodiment of the graphic drawing apparatus of the present invention. Here, a case where an arc having a certain line width from the drawing start point to the drawing end point is drawn will be described as an example. Initial value recognition unit 1
Recognizes the radius of the arc to be drawn, the drawing start point, the drawing end point, the line width, and the like.

【0025】円弧セグメント走査部2は、円弧上の始点
から、円弧内で円弧上の画素の接線のなす角度がほぼ等
しいと見なせる最大の円弧長だけ走査し、セグメントの
終点を求める。図2では一部のセグメントについて示し
ており、例えば円弧上の点aを始点とし、走査して得た
セグメントの終点bを求める。求めたセグメントの始点
aと終点bの座標は、セグメント始点・終点格納部3に
一時保持される。
The arc segment scanning unit 2 scans from the start point on the arc for the maximum arc length that can be considered that the angles formed by the tangents of the pixels on the arc are substantially equal in the arc, and obtains the end point of the segment. FIG. 2 shows some of the segments. For example, a point a on an arc is used as a starting point, and an end point b of the segment obtained by scanning is obtained. The obtained coordinates of the start point a and the end point b of the segment are temporarily stored in the segment start point / end point storage unit 3.

【0026】次に、直線座標発生部4がセグメント始点
・終点格納部3に格納されているセグメントの始点aら
終点bを通過する直線上を線幅長だけ走査し、直線上の
画素の座標を発生する。法線ベクトル生成部5は、直線
座標発生部4で発生した座標を、セグメントの始点aを
中心に90゜回転させて法線ベクトルa−a’を生成す
る。
Next, the straight line coordinate generation unit 4 scans a straight line passing from the start point a to the end point b of the segment stored in the segment start point / end point storage unit 3 by the line width, and the coordinates of the pixels on the straight line are scanned. To occur. The normal vector generation unit 5 rotates the coordinates generated by the linear coordinate generation unit 4 by 90 ° around the segment start point a to generate a normal vector aa ′.

【0027】一方、円弧座標発生部6は、セグメント始
点・終点格納部3に格納されているセグメントの始点a
と終点bの間の円弧ab上の画素の座標を点aから順に
発生する。描画部7は、円弧座標発生部6で発生した円
弧ab上の各画素の座標について、その座標を法線ベク
トルの始点として、法線ベクトル生成部5で生成した法
線ベクトルa−a’を構成する画素列を描画する。図2
では、描画した法線ベクトルを細矢印で示している。こ
のとき、隣り合う法線ベクトル間に描画されない画素が
生じる場合は、その画素の描画も行なう。このようにし
て、始点aと終点bの間のセグメントの描画が終了す
る。
On the other hand, the circular-arc coordinate generating section 6 has a start point a of the segment stored in the segment start point / end point storage section 3.
The coordinates of the pixels on the arc ab between the end point b and the end point b are sequentially generated from the point a. The drawing unit 7 regards the coordinates of each pixel on the arc ab generated by the arc coordinate generation unit 6 as the starting point of the normal vector and sets the normal vector aa ′ generated by the normal vector generation unit 5. Draw the constituent pixel columns. FIG.
In, the drawn normal vector is indicated by a thin arrow. At this time, if there is a pixel that is not drawn between adjacent normal vectors, that pixel is also drawn. In this way, the drawing of the segment between the start point a and the end point b is completed.

【0028】終了条件判定部8は、終点bが描画終了点
でないことを確認し、点bを始点とする新たなセグメン
トの処理を開始させる。以下同様にして、順次セグメン
トへの分割と、各セグメントにおける描画処理が行なわ
れる。このようにして、描画開始点から描画終了点ま
で、指定された線幅の円弧がフレームメモリ9内に描画
される。
The end condition judging unit 8 confirms that the end point b is not the drawing end point, and starts the processing of a new segment having the point b as the start point. In the same manner, division into segments and drawing processing in each segment are performed in the same manner. In this way, an arc having the designated line width is drawn in the frame memory 9 from the drawing start point to the drawing end point.

【0029】このようにして描画された円弧の外周は、
円弧座標発生部6で発生した円弧上の画素がそのまま用
いられるため、画質の劣化が少ない。また、線幅は法線
ベクトルによって描画されるので、円周上のどの位置に
おいても正確で一定であり、端点形状は直線で描画方向
に直交する。
The outer circumference of the arc thus drawn is
Since the pixels on the arc generated by the arc coordinate generation unit 6 are used as they are, the deterioration of the image quality is small. Further, since the line width is drawn by the normal vector, it is accurate and constant at any position on the circumference, and the end point shape is a straight line and orthogonal to the drawing direction.

【0030】また、法線ベクトルを特定パターンに従っ
て描画と抑止を切り替えながら処理することにより、破
線や点線、鎖線などが高精度に描画可能となる。図3
は、本発明の図形描画装置の第1の実施の形態における
破線の描画の一例の説明図である。図3では簡単のた
め、それぞれのセグメントは6本の法線ベクトルを含む
ものとし、5ドットごとに描画と抑止を切り替えながら
処理するものとする。このような処理は、例えば円弧座
標発生部6が発生した円弧上の画素の座標を、描画部7
に5つ送った後の5つは送らずに捨てるように制御れば
よい。このような簡単な制御により、図3に示すよう
に、各線素の幅、長さ、線素間の間隔、線素の形状の揃
った、高品質の破線などを描画することができる。円弧
座標発生部6で発生した円弧上の画素の座標を描画部7
に送る規則(特定パターン)を変更するだけで、線素の
長さや線素間の間隔を変更でき、また、1点鎖線や2点
鎖線などの鎖線も描画可能である。この特定パターンは
数値によって予め与えておくほか、例えば関数を与えて
おき、線幅に従って決定したり、半径や曲率などに従っ
て動的に決定するように構成することも可能である。
Further, by processing the normal vector while switching between drawing and suppressing according to a specific pattern, a broken line, a dotted line, a chain line, etc. can be drawn with high accuracy. FIG.
FIG. 3 is an explanatory diagram of an example of drawing a broken line in the first embodiment of the graphic drawing apparatus of the present invention. In FIG. 3, for simplicity, each segment is assumed to include six normal vectors, and processing is performed while switching between drawing and inhibition every 5 dots. In such processing, for example, the coordinates of the pixels on the arc generated by the arc coordinate generation unit 6 are converted into the drawing unit 7
It is sufficient to control so that after sending five, the five are discarded without being sent. With such a simple control, as shown in FIG. 3, it is possible to draw a high-quality broken line in which the width and length of each line element, the interval between line elements, and the shape of line elements are uniform. The coordinates of the pixels on the arc generated by the arc coordinate generation unit 6 are drawn by the drawing unit 7.
It is possible to change the length of the line element and the interval between the line elements, and to draw the chain line such as the one-dot chain line and the two-dot chain line, simply by changing the rule (specific pattern) sent to the. This specific pattern may be given in advance by a numerical value, or may be given a function, for example, to be determined according to the line width or dynamically determined according to the radius or curvature.

【0031】また、法線ベクトルを生成した際に、画素
を抜くことによって2重線などの多重線を描くことも可
能である。このときの線の間の幅も一定となる。さらに
抜く画素を周期的に変化させることによって波線も可能
であり、これらと破線などの線種を組み合わせることも
可能である。
It is also possible to draw multiple lines such as double lines by removing pixels when the normal vector is generated. The width between the lines at this time is also constant. Further, wavy lines are possible by periodically changing the pixels to be removed, and it is also possible to combine these with line types such as broken lines.

【0032】図4は、本発明の図形描画装置の第2の実
施の形態を示すブロック図である。図中、図1と同様の
部分には同じ符号を付して説明を省略する。11はセグ
メントレングス算出部、12は円弧セグメント座標発生
部、13は移動距離演算部、14はセグメント走査判定
部である。この第2の実施の形態では、上述の第1の実
施の形態における円弧セグメント走査部2の具体例を示
している。この実施の形態を用いて、主にセグメントの
処理について詳述する。
FIG. 4 is a block diagram showing a second embodiment of the graphic drawing apparatus of the invention. In the figure, the same parts as those in FIG. Reference numeral 11 is a segment length calculation unit, 12 is an arc segment coordinate generation unit, 13 is a movement distance calculation unit, and 14 is a segment scanning determination unit. In the second embodiment, a specific example of the arc segment scanning unit 2 in the above-described first embodiment is shown. Processing of a segment will be mainly described in detail using this embodiment.

【0033】セグメントレングス算出部11は、初期値
認識部1で認識した描画する曲線の描画開始点と描画終
了点の座標、線幅、楕円の場合はX軸およびY軸の径に
基づいてセグメントの長さであるセグメントレングスを
算出する。円弧セグメント座標発生部12は、円弧上の
画素の座標を順次発生する。円弧上の画素の座標は、例
えば、公知のBresenhamの円弧発生アルゴリズ
ムを用いて発生させることができる。移動距離演算部1
3は、セグメントの始点となる画素の座標から、円弧セ
グメント座標発生部12が発生した画素の座標までの移
動距離を演算する。セグメント走査判定部14は、セグ
メントレングス算出部11で求めたセグメントレングス
と、移動距離演算部13で演算される移動距離を比較し
てセグメントの走査の終了を判定し、終了した場合は円
弧セグメント座標発生部12がセグメントの始点および
終点をセグメント始点・終点格納部3に送る。
The segment length calculation unit 11 calculates the segment based on the coordinates of the drawing start point and the drawing end point of the curve recognized by the initial value recognition unit 1, the line width, and in the case of an ellipse, the X-axis and Y-axis diameters. Calculate the segment length, which is the length of The arc segment coordinate generation unit 12 sequentially generates the coordinates of pixels on the arc. The coordinates of pixels on an arc can be generated using, for example, the well-known Bresenham arc generation algorithm. Moving distance calculation unit 1
3 calculates the moving distance from the coordinates of the pixel that is the start point of the segment to the coordinates of the pixel generated by the arc segment coordinate generation unit 12. The segment scanning determination unit 14 compares the segment length obtained by the segment length calculation unit 11 with the movement distance calculated by the movement distance calculation unit 13 to determine the end of the scanning of the segment. The generation unit 12 sends the start point and end point of the segment to the segment start point / end point storage unit 3.

【0034】次に、本発明の図形描画装置の第2の実施
の形態における動作について説明する。図5は、本発明
の第2の実施の形態におけるセグメントレングス算出部
の動作の一例を示すフローチャートである。S31にお
いて、描画する曲線が円または円弧か、あるいは楕円ま
たは楕円弧かを判定する。円または円弧であれば、初期
値認識部1の認識している半径を以下の最大近似直線長
の計算に用いる半径とする。また、楕円または楕円弧で
あれば、S32において、初期値認識部1が認識してい
る楕円の長軸および短軸の径の値から、最大近似直線長
の計算に用いる半径(以下この半径を、径に応じた半径
と呼ぶ)の算出を行なう。この処理は後述する。
Next, the operation of the graphic drawing apparatus according to the second embodiment of the present invention will be described. FIG. 5 is a flowchart showing an example of the operation of the segment length calculation unit according to the second embodiment of the present invention. In S31, it is determined whether the drawn curve is a circle or a circular arc, or an ellipse or an elliptic arc. If it is a circle or an arc, the radius recognized by the initial value recognition unit 1 is the radius used in the calculation of the maximum approximate straight line length below. If it is an ellipse or an elliptic arc, in S32, the radius used for the calculation of the maximum approximate straight line length from the values of the major axis and minor axis diameters of the ellipse recognized by the initial value recognition unit 1 (hereinafter, this radius is It is called the radius according to the diameter). This processing will be described later.

【0035】次に、S33において、円の半径、あるい
は楕円の場合はS32で算出された径に応じた半径に基
づき、直線近似しても画質劣化があまり認められない範
囲で最も長い近似直線長を求める。この処理についても
後述する。
Next, in S33, based on the radius of the circle, or in the case of an ellipse, the radius corresponding to the diameter calculated in S32, the longest approximate straight line length within a range in which image quality deterioration is not recognized even if linear approximation is performed. Ask for. This processing will also be described later.

【0036】そして、S34において、初期値認識部1
で認識された線幅と、S33で算出された最大の近似直
線長を比較し、小さい方をセグメントレングスとする。
すなわち、最大の近似直線長が線幅以上の場合にはS3
5においてセグメントレングスを線幅とし、線幅の方が
最大の近似直線長よりも長い場合にはS36においてセ
グメントレングスを最大近似直線長とする。このように
して、セグメントレングス算出部11においてセグメン
トレングスが算出される。
Then, in S34, the initial value recognition unit 1
The line width recognized in step S3 is compared with the maximum approximate straight line length calculated in step S33, and the smaller one is set as the segment length.
That is, if the maximum approximate straight line length is greater than or equal to the line width, S3
In 5 the segment length is the line width, and if the line width is longer than the maximum approximate straight line length, the segment length is set to the maximum approximate straight line length in S36. In this way, the segment length calculation unit 11 calculates the segment length.

【0037】図6は、本発明の第2の実施の形態におけ
るセグメントレングス算出時の径に応じた半径計算の動
作の一例の説明図である。この径に応じた半径を簡単に
求めるため、この例ではカーブの急な領域と緩やかな領
域に分け、それぞれの領域について便宜上の径に応じた
半径を決定している。図6に示すように、長軸との交点
およびその付近をカーブの急な領域2とし、短軸との交
点およびその付近をカーブの緩やかな領域1としてい
る。そして、2つの領域に分けるためのしきい値Th
は、長軸と短軸の径の比が4:1以下、すなわちA≦4
×Bの場合は短軸の半分(B/2)とし、4:1より大
きい、すなわちA>4×Bの場合は短軸の1/4(B/
4)とする。図6では第1象限のみしか示していない
が、他の象限についても同様である。
FIG. 6 is an explanatory diagram of an example of the operation of radius calculation according to the diameter at the time of segment length calculation in the second embodiment of the present invention. In order to easily obtain the radius according to this diameter, in this example, the region is divided into a sharp curve region and a gentle curve region, and a radius corresponding to the radius is determined for each region for convenience. As shown in FIG. 6, the intersection with the major axis and its vicinity are defined as the steep curve region 2, and the intersection with the minor axis and its vicinity are defined as the gentle curve region 1. Then, the threshold Th for dividing into two regions
Has a ratio of the major axis diameter to the minor axis diameter of 4: 1 or less, that is, A ≦ 4.
In the case of xB, it is half of the short axis (B / 2), and is larger than 4: 1.
4). Although only the first quadrant is shown in FIG. 6, the same applies to the other quadrants.

【0038】図7は、本発明の第2の実施の形態におけ
るセグメントレングス算出時の径に応じた半径の計算の
動作の一例を示すフローチャートである。図6に示した
方法による径に応じた半径の計算動作を図7に示してい
る。まずS41において、長軸と短軸の径の比(A/
B)が1.5未満の場合は円と見なし、S42において
半径は短軸Bの半径が採用される。
FIG. 7 is a flow chart showing an example of the operation of calculating the radius according to the diameter when calculating the segment length in the second embodiment of the present invention. The calculation operation of the radius according to the diameter by the method shown in FIG. 6 is shown in FIG. First, in S41, the ratio of the major axis and minor axis diameters (A /
If B) is less than 1.5, it is regarded as a circle, and the radius of the minor axis B is adopted as the radius in S42.

【0039】長軸と短軸の径の比(A/B)が1.5以
上については楕円と見なし、図6に示したように各象限
ごとに2つの領域に分けてそれぞれの領域ごとに半径を
算出する。S43において領域2に含まれるか否かを判
定し、領域2に含まれると判断された場合はS44にお
いて径の値に無関係に短軸の半分(B/2)を半径とす
る。領域1に含まれる場合は順にS45およびS47で
径の比によって判定される。S45において長軸と短軸
の径の比(A/B)が1.5以上2.5未満の場合に
は、S46において径に応じた半径を長軸の径Aと短軸
の径Bの和とする。また、S47において長軸と短軸の
径の比(A/B)が2.5以上3.5未満の場合には、
S48において径に応じた半径を長軸の径Aと短軸の径
Bの和の2倍とする。さらにそれ以上の場合には、S4
9において径に応じた半径を長軸の径Aと短軸の径Bの
和の3倍とする。これらの径に応じた半径の値は一例で
あって、他の値としてもよい。
When the ratio (A / B) of the diameters of the major axis and the minor axis is 1.5 or more, it is regarded as an ellipse, and each quadrant is divided into two regions as shown in FIG. Calculate the radius. In S43, it is determined whether or not it is included in the region 2. If it is determined that it is included in the region 2, in S44, the radius of half the short axis (B / 2) is set regardless of the value of the diameter. When it is included in the region 1, the diameter ratio is sequentially determined in S45 and S47. If the ratio (A / B) of the major axis diameter to the minor axis diameter is 1.5 or more and less than 2.5 in S45, the radius corresponding to the diameter is determined to be the major axis diameter A and the minor axis diameter B in S46. Be sum When the ratio (A / B) of the diameters of the major axis and the minor axis is 2.5 or more and less than 3.5 in S47,
In S48, the radius corresponding to the diameter is set to twice the sum of the diameter A of the major axis and the diameter B of the minor axis. If it is more than that, S4
In FIG. 9, the radius corresponding to the diameter is set to be three times the sum of the major axis diameter A and the minor axis diameter B. The value of the radius according to these diameters is an example, and may be another value.

【0040】描画する図形が楕円あるいは楕円の場合
に、上述のようにして径に応じた半径が算出された。ま
た、描画する図形が円または円弧の場合には、初期値認
識部1で半径が認識されている。これらの半径または径
に応じた半径に基づき、直線近似しても画質劣化があま
り認められない範囲で最も長い近似直線長を求める。図
8は、本発明の第2の実施の形態における半径に基づく
最大近似直線長の算出動作の一例を示すフローチャート
である。ここでは、径に応じた半径も単に半径と呼んで
いる。
When the figure to be drawn is an ellipse or an ellipse, the radius corresponding to the diameter was calculated as described above. If the figure to be drawn is a circle or a circular arc, the radius is recognized by the initial value recognition unit 1. Based on these radii or radii corresponding to the diameters, the longest approximated straight line length is obtained within a range in which the image quality deterioration is not so much recognized even if the linear approximation is performed. FIG. 8 is a flowchart showing an example of the operation of calculating the maximum approximate straight line length based on the radius in the second embodiment of the present invention. Here, the radius corresponding to the diameter is also simply called the radius.

【0041】最大近似直線長は半径によってS51およ
びS53によって3つに場合分けされ、それぞれS5
2、S54、S55に示す実験から導いた計算式によっ
て算出される。すなわち、S51において半径が400
より小さいか否かを判定し、400より小さい場合には
S52において最大近似直線長を5+0.0625×半
径とする。また、S53において半径が400以上10
00未満か否かを判定し、その範囲内の場合にはS54
において最大近似直線長を25+0.03125×半径
とする。半径が1000以上の場合には、最大近似直線
長を50+0.00781×半径とする。S52,S5
4,S55において用いた半径に乗ずる係数は、それぞ
れ2-4,2-5,2-7であり、計算機による2進の乗算を
シフトによって行なえる値として計算速度を向上させて
いる。このようにして求めた最大近似直線長は半径と比
較され、どちらか短い方がセグメントレングスとして採
用される。
The maximum approximate straight line length is divided into three cases by S51 and S53 depending on the radius, and S5 and S5 respectively.
It is calculated by the calculation formula derived from the experiments shown in 2, S54 and S55. That is, the radius is 400 in S51.
If it is smaller than 400, the maximum approximate straight line length is set to 5 + 0.0625 × radius in S52. Further, in S53, the radius is 400 or more and 10
It is determined whether it is less than 00, and if it is within the range, S54
In, the maximum approximate straight line length is 25 + 0.03125 × radius. When the radius is 1000 or more, the maximum approximate straight line length is 50 + 0.00781 × radius. S52, S5
4, the coefficients used to multiply the radius used in S55 are 2 −4 , 2 −5 , and 2 −7 , respectively, which improves the calculation speed by making the binary multiplication by the computer possible by the shift. The maximum approximate straight line length thus obtained is compared with the radius, and the shorter one is adopted as the segment length.

【0042】図9は、本発明の第2の実施の形態におい
て円弧セグメント座標発生部で発生される画素の座標と
円弧セグメントの一例の説明図である。円弧セグメント
座標発生部12は、例えば、公知のBresenham
の円弧発生アルゴリズムなどに基づいて、セグメントの
始点から順に図9に円で示した画素の座標を発生してゆ
く。図9では、セグメントの始点の画素を●で示し、順
次生成される画素を○にハッチングを施して示してい
る。また、セグメントの終点の画素を◎で示している。
FIG. 9 is an explanatory diagram showing an example of the coordinates of pixels generated by the arc segment coordinate generator and the arc segment in the second embodiment of the present invention. The arc segment coordinate generation unit 12 is, for example, a well-known Bresenham.
Based on the arc generation algorithm of 1), the coordinates of the pixels shown by circles in FIG. 9 are generated in order from the start point of the segment. In FIG. 9, the pixel at the starting point of the segment is indicated by ●, and the pixels that are sequentially generated are indicated by ◯. In addition, the pixel at the end point of the segment is indicated by ⊚.

【0043】セグメントの始点の画素●から、○にハッ
チングを施した画素の座標が順次生成されてゆく。その
都度、移動距離演算部13は、セグメントの始点の画素
からの移動距離を演算する。そしてセグメント走査判定
部14によってセグメントレングス算出部11で求めた
セグメントレングスと、移動距離演算部13で演算され
る移動距離を比較してセグメントの終点を判定する。図
9では、◎で示した画素の座標が発生された時点で、移
動距離演算部13で演算された移動距離がセグメントレ
ングスに達したとすると、セグメント走査判定部14は
これを検出し、◎で示した画素がセグメントの終点であ
ることを判定する。また、セグメント走査判定部14
は、移動距離がセグメントレングスに達する前に描画終
了点に達した場合には、その描画終了点をセグメントの
終点と判定する。セグメントの終点が検出された場合
は、円弧セグメント座標発生部12から、セグメントの
始点および終点の座標をセグメント始点・終点格納部3
に送る。
Coordinates of pixels hatched with ◯ are sequentially generated from the pixel ● at the start point of the segment. Each time, the movement distance calculation unit 13 calculates the movement distance from the pixel at the start point of the segment. Then, the segment scan determination unit 14 compares the segment length obtained by the segment length calculation unit 11 with the movement distance calculated by the movement distance calculation unit 13 to determine the end point of the segment. In FIG. 9, if the moving distance calculated by the moving distance calculating unit 13 reaches the segment length at the time when the pixel coordinates indicated by ⊚ are generated, the segment scanning determining unit 14 detects this and It is determined that the pixel indicated by is the end point of the segment. In addition, the segment scanning determination unit 14
If the drawing end point is reached before the movement distance reaches the segment length, the drawing end point is determined to be the end point of the segment. When the end point of the segment is detected, the coordinates of the start point and end point of the segment are calculated from the arc segment coordinate generation unit 12 and the segment start point / end point storage unit 3
Send to

【0044】図10は、移動距離演算部の動作の一例の
説明図である。この例では、移動距離の演算誤差を低減
するために、移動距離演算部23は、過去に発生した2
画素の座標までさかのぼり、これら2つの座標間の距離
を用いて演算を行なう。図10に示すように、現時点で
最後に発生した画素(以下現画素と呼ぶ)Pnからの次
に新しく発生する画素(以下次画素と呼ぶ)Pn+1が
発生されると、移動距離演算部13はまず次画素までの
暫定移動距離Pn〜Pn+1を演算する。このとき、隣
接する座標間の単位距離をx軸方向、y軸方向ともに1
とすると、画像は格子状に画素が存在するため暫定移動
距離は1.0または√2のいずれかである。さらに移動
距離演算部13が保持している現画素の前に発生した画
素(以下前画素と呼ぶ)からの移動距離Pn−1〜Pn
および先の暫定移動距離Pn〜Pn+1に基づいて新た
に次画素までの移動距離Pn〜Pn+1を算出する。す
なわち、連続する画素の移動距離の値が1.0および√
2または√2および1.0の場合のみ、これらをまとめ
てピタゴラスの定理により√5とする。
FIG. 10 is an explanatory diagram of an example of the operation of the moving distance calculating section. In this example, in order to reduce the calculation error of the movement distance, the movement distance calculation unit 23 uses the 2
The calculation is performed using the distance between these two coordinates as far back as the pixel coordinates. As shown in FIG. 10, when a pixel (hereinafter referred to as the next pixel) Pn that is newly generated from a pixel (hereinafter referred to as the current pixel) Pn that is generated last at the present time is generated, the movement distance calculation unit 13 First, the provisional movement distances Pn to Pn + 1 to the next pixel are calculated. At this time, the unit distance between adjacent coordinates is 1 in both the x-axis direction and the y-axis direction.
Then, since the image has pixels in a grid pattern, the provisional movement distance is either 1.0 or √2. Furthermore, the movement distances Pn-1 to Pn from the pixel (hereinafter referred to as the previous pixel) generated before the current pixel held by the movement distance calculation unit 13
And the moving distances Pn to Pn + 1 to the next pixel are newly calculated based on the previous temporary moving distances Pn to Pn + 1. That is, the moving distance values of consecutive pixels are 1.0 and √.
Only in the case of 2 or √2 and 1.0, these are collectively set to √5 by Pythagorean theorem.

【0045】図11に示す例では、Pn−1〜Pn=
1.0、Pn〜Pn+1=√2よりPn−1〜Pn+1
=√5となるように、新たにPn〜Pn+1=(√5−
1.0)を移動距離として出力する。移動距離の演算
後、Pn〜Pn+1の値(√5−1.0)は、Pn+1
からPn+2までの移動距離の算出のために、移動距離
演算部23内に保持される。
In the example shown in FIG. 11, Pn-1 to Pn =
1.0, Pn-Pn + 1 = √2, Pn-1 to Pn + 1
= √5, Pn to Pn + 1 = (√5-
1.0) is output as the movement distance. After the movement distance is calculated, the value of Pn to Pn + 1 (√5-1.0) is Pn + 1.
It is held in the moving distance calculation unit 23 for the calculation of the moving distance from to Pn + 2.

【0046】図11は、移動距離演算部の動作の一例を
示すフローチャートである。S61において、円弧セグ
メント座標発生部12が発生した次画素までの暫定移動
距離を入力する。以下この暫定移動距離の値をDnとす
る。また、移動距離演算部13内で保持している前画素
からの移動距離を入力する。以下、この移動距離の値を
Dpとする。
FIG. 11 is a flow chart showing an example of the operation of the moving distance calculating section. In S61, the provisional movement distance to the next pixel generated by the arc segment coordinate generation unit 12 is input. Hereinafter, the value of this provisional movement distance is Dn. Further, the movement distance from the previous pixel held in the movement distance calculation unit 13 is input. Hereinafter, the value of this moving distance is defined as Dp.

【0047】移動距離演算部13は、暫定移動距離Dn
および移動距離Dpの値に応じて場合分けを行ない、そ
れぞれの場合の加算距離を求める。S62において暫定
移動距離Dnが1であるか否かを判定する。暫定移動距
離Dnが1である場合には、さらにS63において移動
距離Dpが√2であるか否かを判定する。移動距離Dp
が√2でなければ、S64において、現座標Pnから次
座標Pn+1までの加算距離を1として、累積距離に加
算する。また、移動距離Dpが√2である場合には、S
65において、現座標Pnから次座標Pn+1までの加
算距離を√5−√2として、累積距離に加算する。S6
2において暫定移動距離Dnが1でないと判定された場
合には、さらにS66において移動距離Dpが1である
か否かを判定する。移動距離Dpが1であれば、S67
において、現座標Pnから次座標Pn+1までの加算距
離を√5−1として、累積距離に加算する。また、移動
距離Dpが1でない場合には、S68において、現座標
Pnから次座標Pn+1までの加算距離を√2として、
累積距離に加算する。
The moving distance calculation unit 13 determines the provisional moving distance Dn.
And, the case is divided according to the value of the moving distance Dp, and the added distance in each case is obtained. In S62, it is determined whether or not the provisional movement distance Dn is 1. When the provisional movement distance Dn is 1, it is further determined in S63 whether the movement distance Dp is √2. Moving distance Dp
Is not √2, in S64, the addition distance from the current coordinate Pn to the next coordinate Pn + 1 is set to 1 and added to the cumulative distance. If the moving distance Dp is √2, S
At 65, the addition distance from the current coordinate Pn to the next coordinate Pn + 1 is set to √5-√2 and added to the cumulative distance. S6
If it is determined in 2 that the provisional movement distance Dn is not 1, it is further determined in S66 whether the movement distance Dp is 1. If the moving distance Dp is 1, S67
In, the addition distance from the current coordinate Pn to the next coordinate Pn + 1 is set to √5-1 and added to the cumulative distance. If the moving distance Dp is not 1, in S68, the addition distance from the current coordinate Pn to the next coordinate Pn + 1 is set to √2,
Add to cumulative distance.

【0048】この第2の実施の形態は、第1の実施の形
態における円弧セグメント走査部2の構成の一例を示し
たものである。セグメント始点・終点格納部3にセグメ
ントの始点、終点の画素の座標が格納された後の処理は
上述の第1の実施の形態と同様であるのでここでは説明
を省略する。
The second embodiment shows an example of the configuration of the arc segment scanning unit 2 in the first embodiment. The processing after the coordinates of the pixel of the start point and the point of the end point of the segment are stored in the segment start point / end point storage unit 3 is the same as that of the above-described first embodiment, and therefore the description thereof is omitted here.

【0049】図12は、本発明の図形太線描画装置の第
3の実施の形態を示すブロック図である。図中、図1と
同様の部分には同じ符号を付して説明を省略する。21
は画素抜け判定部、22は法線ベクトル描画部、23は
セグメント終了条件判定部である。この第3の実施の形
態では、上述の第1の実施の形態における描画部7の具
体例を示している。この実施の形態を用いて、主に法線
ベクトルを用いた描画処理について詳述する。
FIG. 12 is a block diagram showing the third embodiment of the thick graphic line drawing apparatus of the present invention. In the figure, the same parts as those in FIG. 21
Is a pixel omission determination unit, 22 is a normal vector drawing unit, and 23 is a segment end condition determination unit. In the third embodiment, a concrete example of the drawing unit 7 in the above-described first embodiment is shown. A drawing process mainly using a normal vector will be described in detail using this embodiment.

【0050】画素抜け判定部21は、円弧座標発生部6
で発生した円弧上の画素の座標をもとに、法線ベクトル
生成部5で生成された法線ベクトルによる描画の際に画
素抜けが発生するか否かを判定し、円弧上の画素の座標
とともに判定結果を法線ベクトル描画部22に伝える。
The pixel omission determination unit 21 is provided with an arc coordinate generation unit 6
On the basis of the coordinates of the pixels on the arc generated in step 1, it is determined whether or not pixel omission occurs when drawing with the normal vector generated by the normal vector generation unit 5, and the coordinates of the pixels on the arc are determined. At the same time, the determination result is transmitted to the normal vector drawing unit 22.

【0051】法線ベクトル描画部22は、円弧座標発生
部6で発生した円弧上の画素の座標をもとに、その画素
を始点として、法線ベクトル生成部5で生成した法線ベ
クトルを描画する。また、画素抜け判定部21で画素抜
けが発生すると判定されている場合には、画素抜けの除
去も行なう。
The normal vector drawing unit 22 draws the normal vector generated by the normal vector generation unit 5 based on the coordinates of the pixel on the circular arc generated by the circular arc coordinate generation unit 6 with that pixel as the starting point. To do. If the pixel omission determination unit 21 determines that pixel omission occurs, the pixel omission is also removed.

【0052】セグメント終了条件判定部23は、円弧座
標発生部6によって発生された円弧上の画素がセグメン
トの終点に達したか否かを判定し、セグメントの終点に
達していない場合には、円弧座標発生部6に対して次の
円弧上の画素の座標の発生を指示する。
The segment end condition judging unit 23 judges whether or not the pixels on the circular arc generated by the circular arc coordinate generating unit 6 have reached the end point of the segment. The coordinate generation unit 6 is instructed to generate the coordinates of the pixel on the next arc.

【0053】次に、本発明の第3の実施の形態における
動作の一例について、具体例を用いながら説明する。こ
こでは、セグメント始点・終点格納部3にセグメントの
始点および終点の画素の座標が格納された後の処理につ
いて説明する。具体例として、図9に示すようにセグメ
ントの始点の画素●と終点の画素◎の座標がセグメント
始点・終点格納部3に格納されているものとする。
Next, an example of the operation in the third embodiment of the present invention will be described using a specific example. Here, a process after the pixel coordinates of the start point and the end point of the segment are stored in the segment start point / end point storage unit 3 will be described. As a specific example, it is assumed that the coordinates of the pixel  at the start point and the pixel ∘ at the end point of the segment are stored in the segment start point / end point storage unit 3 as shown in FIG.

【0054】図13は、本発明の第3の実施の形態にお
ける法線ベクトルの作成過程の説明図である。直線座標
発生部4は、セグメント始点・終点格納部3に保持され
ているセグメントの始点および終点の画素の座標に基づ
いて、図13に示すようにセグメントの始点から終点の
方向への直線上の画素の座標を発生する。図13では、
発生された画素を○に×を施して示している。セグメン
トの始点から発生した画素の座標までの距離の計算は上
述の第2の実施の形態における移動距離演算部13にお
ける処理と同様にして求めることができる。そして、計
算された距離と線幅とを比較することによって、線幅分
の直線上の画素が生成されたか否かを判定することがで
きる。
FIG. 13 is an explanatory diagram of a process of creating a normal vector according to the third embodiment of the present invention. The straight-line coordinate generation unit 4, based on the coordinates of the start point and end point pixels of the segment held in the segment start point / end point storage unit 3, as shown in FIG. Generate pixel coordinates. In FIG.
The generated pixels are indicated by circles and crosses. The distance from the start point of the segment to the coordinates of the generated pixel can be calculated in the same manner as the processing in the moving distance calculation unit 13 in the above-described second embodiment. Then, by comparing the calculated distance with the line width, it is possible to determine whether or not a pixel on a straight line corresponding to the line width has been generated.

【0055】法線ベクトル生成部5は、直線座標発生部
4において線幅分だけ発生された画素の座標をもとに、
それらをセグメントの始点を中心として90°回転し、
図13において●で示す画素列のように、セグメントの
始点から終点方向に直交し長さが線幅となる法線ベクト
ルを生成する。
The normal vector generating unit 5 calculates the line width based on the coordinates of the pixels generated by the linear coordinate generating unit 4.
Rotate them 90 ° around the start of the segment,
In FIG. 13, a normal vector that is orthogonal to the end point direction of the segment and has a length of the line width is generated as in the pixel row indicated by ●.

【0056】図14は、本発明の第3の実施の形態にお
ける法線ベクトルに基づくセグメントの描画過程の説明
図である。法線ベクトル生成部5において法線ベクトル
が生成された後に、円弧座標発生部6は、例えば、Br
esenhamの円弧発生アルゴリズム等を用いて、セ
グメントの始点から終点までの円弧上の画素の座標を順
次発生する。そして法線ベクトル描画部22は、円弧座
標発生部6で発生した座標を法線ベクトルの始点とし
て、法線ベクトル生成部5で生成した法線ベクトルの描
画を行なう。この法線ベクトルの描画を、円弧座標発生
部6で発生した座標ごとに行なってゆく。
FIG. 14 is an explanatory diagram of a segment drawing process based on a normal vector according to the third embodiment of the present invention. After the normal vector is generated in the normal vector generation unit 5, the circular-arc coordinate generation unit 6 uses, for example, Br.
The coordinates of pixels on the arc from the start point to the end point of the segment are sequentially generated using the esenham arc generation algorithm or the like. Then, the normal vector drawing unit 22 draws the normal vector generated by the normal vector generation unit 5 using the coordinates generated by the arc coordinate generation unit 6 as the starting point of the normal vector. The drawing of this normal vector is performed for each coordinate generated by the arc coordinate generation unit 6.

【0057】ただし、図14に示すように、円弧上の画
素が斜めに移動した場合は、図14に△で示す画素のよ
うに、画素抜けが生じる。そのため、画素抜け判定部2
1は、円弧座標発生部6で発生された円弧上の画素の座
標に基づいて、画素が斜めに移動したことを検出して画
素抜けと判定する。画素抜けとなる画素は法線ベクトル
描画部22において埋められ、画素抜けが除去される。
However, when the pixels on the arc move obliquely as shown in FIG. 14, pixel omission occurs like the pixels indicated by Δ in FIG. Therefore, the pixel omission determination unit 2
1 detects that the pixel has moved diagonally based on the coordinates of the pixel on the arc generated by the arc coordinate generation unit 6 and determines that the pixel is missing. Pixels with missing pixels are filled in the normal vector drawing unit 22 to remove missing pixels.

【0058】円弧座標発生部6による円弧上の画素の座
標の発生は、セグメント終了条件判定部23がセグメン
トの終点を判定するまで行なわれ、セグメントの終点に
達したらセグメント内の描画を終了する。これにより、
図14に示すように1つのセグメントにおける描画が行
なわれる。このとき、△で示す画素抜けの箇所も埋めら
れている。描画されたセグメントレングスだけの図形
は、円弧上の画素を始点として法線ベクトルを描画して
いるので、法線ベクトルの終点の画素が形成する図形の
形状も円弧となり、画質を向上させることができる。ま
た、線幅に応じた法線ベクトルを用いているため、線幅
は均一となる。
The generation of the coordinates of the pixel on the arc by the arc coordinate generation unit 6 is performed until the segment end condition determination unit 23 determines the end point of the segment, and when the end point of the segment is reached, the drawing in the segment is ended. This allows
Drawing in one segment is performed as shown in FIG. At this time, the pixel missing portion indicated by Δ is also filled. Since the drawn only segment length figure draws the normal vector starting from the pixel on the arc, the shape of the figure formed by the pixel at the end of the normal vector is also an arc, which improves the image quality. it can. Further, since the normal vector according to the line width is used, the line width is uniform.

【0059】さらに、終了条件判定部8が最終的な終点
を認識するまでセグメントごとに以上の処理を行ない、
描画開始点から描画終了点までの線が描画される。この
とき、各セグメントの境界部では、法線ベクトルを曲線
の内側となるように発生させることによって、2つのセ
グメントの端部が隣接あるいは多少重複するように描画
される。そのため、セグメント間で画素抜けなどは発生
しない。
Further, the above processing is performed for each segment until the end condition judging section 8 recognizes the final end point,
A line from the drawing start point to the drawing end point is drawn. At this time, at the boundary of each segment, a normal vector is generated so as to be inside the curve, so that the ends of the two segments are drawn so as to be adjacent to each other or slightly overlap. Therefore, no pixel dropout occurs between the segments.

【0060】上述の例では、法線ベクトルを曲線の内側
に発生させるため、円や楕円の中心の回りに反時計方向
に円弧や楕円弧の走査を行なうものとし、法線ベクトル
を生成する際にもセグメントの始点を中心に反時計方向
に90゜回転させている。もちろん、時計方向に円弧や
楕円弧を走査しまた法線ベクトルを回転させる構成でも
よい。また、円弧や楕円湖の走査方向と法線ベクトルの
回転方向を異ならせ、法線ベクトルの終点を円弧座標発
生部6で発生した円弧上の画素に合わせて描画するよう
に構成することもできる。
In the above-mentioned example, since the normal vector is generated inside the curve, it is assumed that the arc or elliptic arc is scanned in the counterclockwise direction around the center of the circle or ellipse, and when the normal vector is generated. Is rotated 90 ° counterclockwise around the start point of the segment. Of course, the configuration may be such that a circular arc or an elliptic arc is scanned in the clockwise direction and the normal vector is rotated. Further, the scanning direction of the arc or the elliptical lake and the rotation direction of the normal vector may be different, and the end point of the normal vector may be drawn according to the pixel on the arc generated by the arc coordinate generation unit 6. .

【0061】また、上述の第1の実施の形態で説明した
ように、本発明では特定のパターンに従って描画と抑止
を切り替えながら処理することにより、破線や点線、鎖
線などの描画が可能であるが、このような描画と抑止の
切換処理は、例えば、円弧座標発生部6において円弧上
の画素の座標を発生させる際に、描画部分の円弧上の画
素の座標のみを描画部7に渡すように構成するほか、描
画部7内の法線ベクトル描画部22において法線ベクト
ルを描画する際に特定のパターンに従って法線ベクトル
を描画するか否かを判定しながら描画を行なうように構
成することもできる。
Further, as described in the above-mentioned first embodiment, according to the present invention, it is possible to draw a broken line, a dotted line, a chain line, etc. by performing processing while switching drawing and suppression according to a specific pattern. In such a drawing / suppression switching process, for example, when the coordinates of the pixel on the arc are generated in the arc coordinate generation unit 6, only the coordinates of the pixel on the arc of the drawing portion are passed to the drawing unit 7. In addition to the configuration, the normal vector drawing unit 22 in the drawing unit 7 may also be configured to draw while drawing a normal vector while determining whether to draw the normal vector according to a specific pattern. it can.

【0062】なお、上述の第2の実施の形態では円弧セ
グメント走査部2の内部構成の一例を、また、第3の実
施の形態では描画部7の内部構成の一例をそれぞれ示し
たが、これらを組み合わせて構成してもよい。
In the second embodiment described above, an example of the internal configuration of the arc segment scanning unit 2 is shown, and in the third embodiment, an example of the internal configuration of the drawing unit 7 is shown. You may comprise combining.

【0063】[0063]

【発明の効果】以上の説明から明らかなように、本発明
によれば、円、円弧、楕円および楕円弧のどの位置にお
いても、所望の線幅を一定に保ち、しかも内外周とも円
弧上の画素が用いられるため、画質のよい図形を描画す
ることができる。また、端点形状は描画方向に直交した
直線で描画することができる。さらに、破線などを描画
させる場合にも、簡単な制御のみによって描画すること
ができるとともに、描画された破線などは各線素が揃
い、線素間の間隔も揃った、高画質の破線などを得るこ
とができるという効果がある。
As is apparent from the above description, according to the present invention, a desired line width is kept constant at any position of a circle, a circular arc, an ellipse, and an elliptic arc, and pixels on the inner and outer circumferences have a circular arc. Is used, it is possible to draw a graphic with good image quality. Further, the end point shape can be drawn by a straight line orthogonal to the drawing direction. Further, even when a broken line or the like is drawn, it is possible to draw only by simple control, and the drawn broken line or the like is obtained in which the line elements are aligned and the intervals between the line elements are aligned, and the like. The effect is that you can.

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

【図1】 本発明の図形描画装置の第1の実施の形態を
示すブロック図である。
FIG. 1 is a block diagram showing a first embodiment of a graphic drawing apparatus of the present invention.

【図2】 本発明の図形描画装置の第1の実施の形態に
おける描画手順の一例の説明図である。
FIG. 2 is an explanatory diagram of an example of a drawing procedure in the first embodiment of the graphic drawing apparatus of the present invention.

【図3】 本発明の図形描画装置の第1の実施の形態に
おける破線の描画の一例の説明図である。
FIG. 3 is an explanatory diagram of an example of drawing a broken line in the first embodiment of the graphic drawing apparatus of the present invention.

【図4】 本発明の図形描画装置の第2の実施の形態を
示すブロック図である。
FIG. 4 is a block diagram showing a second embodiment of a graphic drawing apparatus of the invention.

【図5】 本発明の第2の実施の形態におけるセグメン
トレングス算出部の動作の一例を示すフローチャートで
ある。
FIG. 5 is a flowchart showing an example of operation of a segment length calculation unit in the second embodiment of the present invention.

【図6】 本発明の第2の実施の形態におけるセグメン
トレングス算出時の径に応じた半径計算の動作の一例の
説明図である。
FIG. 6 is an explanatory diagram of an example of a radius calculation operation according to a diameter when calculating a segment length according to the second embodiment of the present invention.

【図7】 本発明の第2の実施の形態におけるセグメン
トレングス算出時の径に応じた半径の計算の動作の一例
を示すフローチャートである。
FIG. 7 is a flowchart showing an example of an operation of calculating a radius according to a diameter when calculating a segment length according to the second embodiment of the present invention.

【図8】 本発明の第2の実施の形態における半径に基
づく最大近似直線長の算出動作の一例を示すフローチャ
ートである。
FIG. 8 is a flowchart showing an example of an operation of calculating a maximum approximate straight line length based on a radius in the second embodiment of the present invention.

【図9】 本発明の第2の実施の形態において円弧セグ
メント座標発生部で発生される画素の座標と円弧セグメ
ントの一例の説明図である。
FIG. 9 is an explanatory diagram showing an example of pixel coordinates generated by an arc segment coordinate generation unit and an arc segment according to the second embodiment of the present invention.

【図10】 移動距離演算部の動作の一例の説明図であ
る。
FIG. 10 is an explanatory diagram of an example of an operation of a moving distance calculation unit.

【図11】 移動距離演算部の動作の一例を示すフロー
チャートである。
FIG. 11 is a flowchart showing an example of the operation of the movement distance calculation unit.

【図12】 本発明の図形太線描画装置の第3の実施の
形態を示すブロック図である。
FIG. 12 is a block diagram showing a third embodiment of the thick graphic line drawing apparatus of the present invention.

【図13】 本発明の第3の実施の形態における法線ベ
クトルの作成過程の説明図である。
FIG. 13 is an explanatory diagram of a process of creating a normal vector according to the third embodiment of the present invention.

【図14】 本発明の第3の実施の形態における法線ベ
クトルに基づくセグメントの描画過程の説明図である。
FIG. 14 is an explanatory diagram of a segment drawing process based on a normal vector according to the third embodiment of the present invention.

【図15】 従来の線分描画方法の描画手順の説明図で
ある。
FIG. 15 is an explanatory diagram of a drawing procedure of a conventional line segment drawing method.

【図16】 曲線を短い直線に近似して描画する従来の
線分描画方法の描画手順の説明図である。
FIG. 16 is an explanatory diagram of a drawing procedure of a conventional line segment drawing method for drawing a curve by approximating it to a short straight line.

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

1…初期値認識部、2…円弧セグメント走査部、3…セ
グメント始点・終点格納部、4…直線座標発生部、5…
法線ベクトル生成部、6…円弧座標発生部、7…描画
部、8…終了条件判定部、9…フレームメモリ、11…
セグメントレングス算出部、12…円弧セグメント座標
発生部、13…移動距離演算部、14…セグメント走査
判定部、21…画素抜け判定部、22…法線ベクトル描
画部、23…セグメント終了条件判定部。
1 ... Initial value recognition unit, 2 ... Arc segment scanning unit, 3 ... Segment start / end point storage unit, 4 ... Linear coordinate generation unit, 5 ...
Normal vector generation unit, 6 ... Arc coordinate generation unit, 7 ... Drawing unit, 8 ... End condition determination unit, 9 ... Frame memory, 11 ...
Segment length calculation unit, 12 ... Arc segment coordinate generation unit, 13 ... Moving distance calculation unit, 14 ... Segment scan determination unit, 21 ... Pixel omission determination unit, 22 ... Normal vector drawing unit, 23 ... Segment end condition determination unit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 島田 利郎 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 (72)発明者 植田 豊 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Toshiro Shimada 430 Sakai Nakai-cho, Ashigagami-gun, Kanagawa Green Tech Nakakai Fuji Xerox Co., Ltd. Within

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 円、円弧、楕円および楕円弧を描画する
機能を有する図形描画装置において、入力された情報か
ら描画する円、円弧、楕円および楕円弧の大きさと線の
太さを認識する初期値認識手段と、該初期値認識手段で
認識した円、円弧、楕円および楕円弧の大きさと線の太
さを基に円、円弧、楕円および楕円弧を直線で近似して
描画しうる近似直線の線分長と等しい円弧長となる座標
を順次生成する円弧セグメント走査手段と、該円弧セグ
メント走査手段が生成した座標を円、円弧、楕円および
楕円弧を近似する線分の始点と終点の座標として順次保
持するセグメント始点・終点格納手段と、前記始点と終
点間の円弧上の座標を生成する円弧座標発生手段と、前
記始点と終点とを結ぶ直線上の座標を生成する直線座標
発生手段と、該直線座標発生手段が生成した座標を基に
前記始点と終点とを結ぶ直線に直交しかつ前記初期値認
識手段で認識された線幅と等しい長さを有する画素列を
生成する法線ベクトル生成手段と、該法線ベクトル生成
手段で生成された画素列を前記円弧座標発生手段が生成
した座標毎に発生させ描画を行なう描画手段を備えたこ
とを特徴とする図形描画装置。
1. An initial value recognition for recognizing the size and line thickness of a circle, an arc, an ellipse or an elliptic arc drawn from input information in a graphic drawing device having a function of drawing a circle, an arc, an ellipse or an elliptic arc. And a line segment length of an approximate straight line that can be drawn by approximating a circle, an arc, an ellipse, and an elliptic arc with a straight line based on the size and thickness of the circle, arc, ellipse, and elliptic arc recognized by the initial value recognition means. Arc segment scanning means for sequentially generating coordinates having an arc length equal to and a segment for sequentially holding the coordinates generated by the arc segment scanning means as coordinates of a start point and an end point of a line segment approximating a circle, arc, ellipse, or ellipse arc. Start point / end point storage means, arc coordinate generation means for generating coordinates on the arc between the start point and end point, linear coordinate generation means for generating coordinates on a straight line connecting the start point and end point, and the straight line A normal vector generation means for generating a pixel row orthogonal to a straight line connecting the start point and the end point based on the coordinates generated by the coordinate generation means and having a length equal to the line width recognized by the initial value recognition means; A graphic drawing apparatus comprising: drawing means for generating a pixel array generated by the normal vector generation means for each coordinate generated by the arc coordinate generation means and performing drawing.
【請求項2】 前記円弧セグメント走査手段は、前記初
期値認識手段で認識した円、円弧、楕円および楕円弧の
大きさと線の太さに基づいて円弧上の座標を生成する円
弧セグメント座標発生手段と、該円弧セグメント座標発
生手段が生成した座標の移動距離を演算する距離演算手
段と、前記初期値認識手段が認識した円、円弧、楕円お
よび楕円弧の大きさと線の太さを基に円、円弧、楕円お
よび楕円弧を直線で近似して描画しうる線分長を算出す
るセグメントレングス算出手段と、該セグメントレング
ス算出手段が求めた線分長を前記移動距離演算手段が求
めた移動距離が上回るか否かを判定するセグメント走査
判定手段を備えていることを特徴とする請求項1に記載
の図形描画装置。
2. An arc segment coordinate generation means for generating coordinates on the arc based on the size of the circle, arc, ellipse and elliptic arc and the thickness of the line recognized by the initial value recognition means. A distance calculating means for calculating a moving distance of the coordinates generated by the arc segment coordinate generating means, and a circle, an arc based on the size and line thickness of the circle, arc, ellipse and elliptic arc recognized by the initial value recognizing means. A segment length calculating means for calculating a line segment length that can be drawn by approximating an ellipse and an elliptic arc with a straight line, and whether the moving distance calculated by the moving distance calculating means exceeds the line segment length calculated by the segment length calculating means. The graphic drawing apparatus according to claim 1, further comprising a segment scanning determining unit that determines whether or not the drawing is performed.
【請求項3】 前記描画手段は、前記円弧座標発生手段
が求めた円弧座標に基づいて画素抜けの発生を判定する
画素抜け判定手段と、円弧画素を始点とした法線ベクト
ルに沿って描画する法線ベクトル描画手段と、該法線ベ
クトル描画手段による描画が前記セグメントの終点まで
終了したか否かを判定するセグメント終了条件判定手段
を備えていることを特徴とする請求項1または2に記載
の図形描画装置。
3. The drawing means draws along a normal vector starting from an arc pixel and a pixel missing determination means for judging occurrence of pixel omission based on the arc coordinates obtained by the arc coordinate generation means. 3. The normal vector drawing means, and the segment end condition judging means for judging whether or not the drawing by the normal vector drawing means is completed up to the end point of the segment. Drawing device.
【請求項4】 前記円弧座標発生手段は、前記始点と終
点間の円弧上の座標を生成する際に、描画する線種に従
って前記円弧上の少なくとも一部の座標のみを生成する
ことを特徴とする請求項1ないし3のいずれか1項に記
載の図形描画装置。
4. The arc-coordinate generating means, when generating the coordinates on the arc between the start point and the end point, generates only at least a part of the coordinates on the arc according to the line type to be drawn. The graphic drawing apparatus according to any one of claims 1 to 3.
JP07900196A 1996-04-01 1996-04-01 Drawing device Expired - Fee Related JP3555316B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07900196A JP3555316B2 (en) 1996-04-01 1996-04-01 Drawing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07900196A JP3555316B2 (en) 1996-04-01 1996-04-01 Drawing device

Publications (2)

Publication Number Publication Date
JPH09270018A true JPH09270018A (en) 1997-10-14
JP3555316B2 JP3555316B2 (en) 2004-08-18

Family

ID=13677701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07900196A Expired - Fee Related JP3555316B2 (en) 1996-04-01 1996-04-01 Drawing device

Country Status (1)

Country Link
JP (1) JP3555316B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331209A (en) * 2005-05-27 2006-12-07 Mitsubishi Electric Corp Graphic drawing apparatus and program
JP2010286359A (en) * 2009-06-11 2010-12-24 Furuno Electric Co Ltd Signal processing apparatus, radar apparatus including the signal processing apparatus, and pixel missing detection method of the signal processing apparatus
US8581948B2 (en) 2009-05-15 2013-11-12 Ricoh Company, Ltd. Information processing apparatus, laser radiation device, render information generating method, control system, recording medium, and render information storage device
CN113029030A (en) * 2021-03-23 2021-06-25 深圳市梯易易智能科技有限公司 Curved surface imaging method and device for 3D glass

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331209A (en) * 2005-05-27 2006-12-07 Mitsubishi Electric Corp Graphic drawing apparatus and program
US8581948B2 (en) 2009-05-15 2013-11-12 Ricoh Company, Ltd. Information processing apparatus, laser radiation device, render information generating method, control system, recording medium, and render information storage device
JP2010286359A (en) * 2009-06-11 2010-12-24 Furuno Electric Co Ltd Signal processing apparatus, radar apparatus including the signal processing apparatus, and pixel missing detection method of the signal processing apparatus
CN113029030A (en) * 2021-03-23 2021-06-25 深圳市梯易易智能科技有限公司 Curved surface imaging method and device for 3D glass

Also Published As

Publication number Publication date
JP3555316B2 (en) 2004-08-18

Similar Documents

Publication Publication Date Title
JP3576611B2 (en) Character generator and method
US6201550B1 (en) Image forming apparatus and method of generating gradation pattern
JP3057935B2 (en) Character output device
JP3238580B2 (en) Thicker text generator
KR100317549B1 (en) How to Convert Bitmap Characters Using Chained Codes for Character Fill Processing
JP3555316B2 (en) Drawing device
CN101114378A (en) Device and method for rotating bitmap image
EP0811953B1 (en) Image processing apparatus and method
JP3498478B2 (en) Drawing device
JPH0263854A (en) Output device
JP2663857B2 (en) Approximation curve generator
JPH11175740A (en) Method and device for drawing thin line
JP3731221B2 (en) Thick line drawing apparatus and thick line drawing method
JP3496381B2 (en) Line drawing device
US20020141651A1 (en) System, method and computer program product for generic outline font compression
JP5479017B2 (en) Image drawing apparatus, image drawing method, and computer program
JP3791203B2 (en) Image processing device
JP2856136B2 (en) Printing equipment
JPH07262385A (en) Outline data generator
JP3615375B2 (en) Image processing method, apparatus, and storage medium
JP3338484B2 (en) Outline font transformation device
JP2861044B2 (en) Graphic processing unit
JP2895529B2 (en) Character generation method and device, and document creation device
JPH07334695A (en) Plotter and line width determination method
JP2965021B2 (en) Coating processing method, coating processing method, and recording medium storing coating processing program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040503

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080521

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090521

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees