JP2000285247A - 扇形図形の描画システムおよび描画方法 - Google Patents

扇形図形の描画システムおよび描画方法

Info

Publication number
JP2000285247A
JP2000285247A JP9365399A JP9365399A JP2000285247A JP 2000285247 A JP2000285247 A JP 2000285247A JP 9365399 A JP9365399 A JP 9365399A JP 9365399 A JP9365399 A JP 9365399A JP 2000285247 A JP2000285247 A JP 2000285247A
Authority
JP
Japan
Prior art keywords
coordinates
straight line
outline
data
horizontal
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
JP9365399A
Other languages
English (en)
Other versions
JP3512670B2 (ja
Inventor
Ryuichi Ono
隆一 尾野
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.)
Schneider Electric Japan Holdings Ltd
Original Assignee
Digital Electronics 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 Digital Electronics Corp filed Critical Digital Electronics Corp
Priority to JP9365399A priority Critical patent/JP3512670B2/ja
Publication of JP2000285247A publication Critical patent/JP2000285247A/ja
Application granted granted Critical
Publication of JP3512670B2 publication Critical patent/JP3512670B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 扇形図形の塗り込み描画を高速で行うととも
に、扇形図形の上書きをちらつきなく行うことを実現
し、任意の中心角で描画が可能な基本図形として扇形図
形を描画する。 【解決手段】 エディタ51で入力された扇形図形に関
するデータ、すなわち中心の座標、半径、円弧部分の両
端の座標、円弧部分のドット生成方向等を基に、ランタ
イム52の境界線生成部52aによって、扇形図形の境
界線(外形線)を構成するドットの座標を1/8円高速
描画アルゴリズムを用いて求める。また、ランタイム5
2の描画実行部52bにて、上記の境界線における水平
走査線毎の座標を検出し、その座標によって得られた水
平方向のベクトルデータで定まる長さの直線をエディタ
51で指定された色で各水平走査線毎に順次描画する。
このように、水平直線の描画の繰り返しによって、塗り
込み扇形図形が高速で形成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、表示画面上に扇形
図形を指定された色によって塗り込んで描画する扇形図
形の描画システムおよび描画方法に関するものである。
【0002】
【従来の技術】従来、画像表示装置において描画された
任意の図形内を所望の色に着色する場合、着色すべき領
域を閉空間とする境界線(外形線)の色を指定し、塗り
込みを開始する座標を1点だけ指定する方法が一般的で
あった。
【0003】このような方法で色の塗り込みを行う場
合、描画ソフトウェアのエディタ(描画エディタ)で、
境界色、塗り込み色、塗り込み開始座標を主なデータと
して入力すると、実際の塗り込みの処理時には、これら
のデータがランタイムに渡される。ランタイムは、これ
らのデータに基づいて、塗り込み開始座標から、境界色
を検出しながら塗り込みを行っていく。
【0004】このような描画は、各方面で利用されてい
る。例えば、FA(Factory Automation)を始めとして各
種の施設の監視、制御等に利用される表示機器としての
プログラマブル表示器にも上記のような描画機能が備え
られている。
【0005】プログラマブル表示器は、ドット表示画
面、操作用入力スイッチ、ホストコントローラ(PL
C)とのインタフェース、画面上での操作入力のような
制御のためのプログラムメモリなどを備えた操作用表示
器である。一般に、プログラマブル表示器は、グラフィ
ック表示を行うので、操作盤、スイッチ、表示灯などの
機能を備えることができる他、制御対象機器の稼働状況
や作業指示のような管理のための各種のモニタ、機器に
対する設定値を入力する端末としての機能を備えてい
る。
【0006】このようなプログラマブル表示器で表示さ
れる制御画面は、画面作成ソフトウェアを用いてユーザ
独自で作成できるようになっている。画面作成に際して
は、ユーザが、パーソナルコンピュータ等において作画
ソフトによって提供されるスイッチ、テンキー、メータ
表示器、グラフ表示器等の部品、描画機能等を用いて所
望の制御画面を構成する。
【0007】作成された制御画面は、画面データとして
プログラマブル表示器に転送されて記憶される。そし
て、ホストコントローラの稼働時には、ホストコントロ
ーラとの間でやりとりされるデータに基づいてプログラ
マブル表示器の表示部に表示される制御画面上の各部品
や図形を動的に表示させる。例えば、制御画面上でメー
タ表示器を表現する場合、図11(a)および(b)に
示すような半円中に着色された扇形図形(メータ部分)
の大きさを計測データに応じて変化させる。
【0008】
【発明が解決しようとする課題】上記のような描画エデ
ィタでは、基本図形として、円、四角形、三角形、ポリ
ゴン等が用意されているものの、前記のようにメータ表
示器に適した扇形は基本図形として用意されていない。
一部のソフトウェアでは、例えば、中心角が90°とい
うような特定の角度の扇形を用意しているものもある
が、このようなソフトウェアでは、中心角を任意に設定
して扇形を描画することはできない。
【0009】一方、上記のような塗り込み領域検出型の
図形描画方法では、境界の検出と塗り込みとを繰り返す
ため、処理が遅いという欠点もある。前述のようなメー
タ表示器において、表す数値が高くなることによって、
メータ部分が図11(a)に示す状態から同図(b)に
示すように大きくなる場合、そのまま上書きによって再
描画することで表示画面上でちらつきは生じない。とこ
ろが、図12(a)に示すようにメータ部分が大きい状
態から、同図(b)に示すメータ部分が小さくなるよう
に変化する場合は、そのまま同図(b)のメータ部分を
上書きしても前のメータ部分が一部残ってしまう。この
ため、同図(a)の図形を一旦すべて消去してから、同
図(b)のメータ部分を再描画しなければならず、この
消去によって表示画面上でちらつきが生じるという不都
合がある。
【0010】これに対し、ちらつきを少なくするには、
再描画による図形の変化において単なる上書きで残る部
分のみを消去して、消去部分を少なくすることが考えら
れる。しかしながら、上記の図形描画方法では、再描画
される図形の座標位置や計測データに応じた中心角が前
の図形と異なるので、再描画による塗り込みを行う位置
を決定することが困難になる。したがって、領域全体を
境界色で枠取りして、その内側における同図(a)の図
形を初期色で一旦すべて消去してから、同図(b)に示
す図形を再描画するという処理が必要になる。
【0011】本発明は、上記の事情に鑑みてなされたも
のであって、扇形図形の塗り込み描画を高速で行うとと
もに、このような扇形図形の上書をちらつきなく行うシ
ステムおよび方法を提供することを目的としている。
【0012】
【課題を解決するための手段】本発明の扇形図形の描画
システムは、上記の課題を解決するために、請求項1に
記載のように、扇形図形の外形線のうちの円弧部分を構
成するドットの座標を1/8円高速描画アルゴリズムを
用いて生成するとともに、上記外形線のうちの直線部分
を構成するドットの座標を上記円弧部分の両端の座標と
扇形図形の中心の座標とに基づいて生成する外形線生成
手段と、各水平走査線上の上記外形線の座標を検出し、
この座標から水平方向のベクトルデータを生成するデー
タ生成手段と、上記ベクトルデータによって定まる長さ
の直線を指定された色で各水平走査線毎に順次描画する
直線描画手段とを備えていることを特徴としている。
【0013】また、本発明の扇形図形の描画方法は、上
記の課題を解決するために、請求項2に記載のように、
扇形図形の外形線のうちの円弧部分を構成するドットの
座標を1/8円高速描画アルゴリズムを用いて生成する
とともに、上記外形線のうちの直線部分を構成するドッ
トの座標を上記円弧部分の両端の座標と扇形図形の中心
の座標とに基づいて生成する外形線生成ステップと、各
水平走査線上の上記外形線の座標を検出し、この座標か
ら水平方向のベクトルデータを生成するデータ生成ステ
ップと、上記ベクトルデータによって定まる長さの直線
を指定された色で各水平走査線毎に順次描画する直線描
画ステップとを備えていることを特徴としている。
【0014】上記のシステムおよび方法では、まず、外
形線生成手段および外形線生成ステップによって、扇形
図形の外形線が生成される。このとき、1/8円高速描
画アルゴリズムを用いて扇形図形の外形線を構成するド
ットの座標が生成されるので、高速で上記の外形線を生
成することができる。1/8円高速描画アルゴリズム
は、後述するように、円を1/8の象限に分割してお
き、それぞれの象限の対称性を利用して、1つの象限で
ドットを算出した結果を基準にして各象限のドットを決
定する手法であり、これによって高速で1/8円の描画
を行うことができる。ここでは、実際に円を描画しない
が、これを利用して外形線の円弧部分のドットの座標を
決定する。また、外形線のうち2本の直線部分は、円弧
部分の両端点の座標と中心とのそれぞれ2点が決定され
れば、一般的な直線描画方法を利用して直線部分を構成
するドットの座標が求められる。
【0015】上記のように、外形線が求められると、デ
ータ生成手段およびデータ生成ステップによって、その
図形が存在する領域の座標が図形の外形線の座標から得
られ、その座標(2点の座標)で定まる水平方向のベク
トルデータが生成される。さらに、直線描画手段および
直線描画ステップによって、上記のベクトルデータを用
いて水平直線描画が順次行われると、扇形の塗り込み図
形が形成される。
【0016】このように、本発明では、図形をベクトル
型のオブジェクトとして扱っているので、高速に扇形図
形を描画することができる。
【0017】
【発明の実施の形態】本発明の実施の一形態について図
1ないし図10に基づいて説明すれば、以下の通りであ
る。
【0018】本実施の形態に係る図形描画システムは、
図1に示すように、CPU1、メモリ部2、入力部3、
表示部4およびアプリケーション部5を備えている。
【0019】CPU1は、メモリ部2に記憶されたシス
テムプログラムにしたがって、システム全体を制御する
他、アプリケーション部5のプログラムおよびデータに
したがって描画処理を行うようになっている。
【0020】メモリ部2は、上記のシステムプログラム
を格納するROM、後述する描画処理に必要なデータを
一時的に格納するためのメモリ(RAMなど)といった
メモリ装置を含んでいる。
【0021】入力部3は、描画に必要なデータ入力を始
めとする各種の操作を行うために利用できるマウス、キ
ーボードなどの入力装置である。表示部4は、描画図形
を表示するためのCRT、LCDなどの表示装置であ
る。
【0022】アプリケーション部5は、上記のCPU1
によって実行される描画機能を実現するためのソフトウ
ェアの集合体であって、図示しないハードディスクドラ
イブなどの記憶装置に格納されている。このアプリケー
ション部5は、エディタ51と、ランタイム52とを有
している。
【0023】エディタ51は、描画に必要な境界線(外
形線)、塗り込み色、塗り込み開始座標などのデータを
入力する。このエディタ51としては、既存の描画ソフ
トウェア(描画ソフト)のエディタ機能を利用してもよ
い。また、エディタ51としては、FA(Factory Autom
ation)の分野などで幅広く活用されているプログラマブ
ル表示器用の画面作成ソフトウェア(作画ソフト)が備
えるエディタ機能や作画ソフトに予め用意されている基
本図形を利用してもよい。
【0024】プログラマブル表示器は、ドット表示画
面、操作用入力スイッチ、ホストコントローラとのイン
タフェース、画面上での操作入力のような制御のための
プログラムメモリなどを備えた操作用表示器である。一
般に、プログラマブル表示器は、グラフィック表示を行
うので、操作盤、スイッチ、表示灯などの機能を備える
ことができる他、制御対象機器の稼働状況や作業指示の
ような管理のための各種のモニタ、機器に対する設定値
を入力する端末としての機能を備えている。
【0025】このようなプログラマブル表示器で表示さ
れる画面は、上記の作画ソフトを用いてユーザ独自で作
成できるようになっている。画面作成に際しては、ユー
ザが、作画ソフトによって提供されるスイッチ、テンキ
ー、メータ表示器、グラフ表示器等の部品、描画機能な
どを用いて所望の画面を構成する。その描画機能をエデ
ィタ51として利用できる。
【0026】ランタイム52は、境界線生成部52a
と、描画実行部52bとを有している。外形線生成手段
としての境界線生成部52aは、エディタ51で入力さ
れた後述する描画に関するデータに基づいて扇形図形の
境界線を構成するドットの座標値を算出する。データ生
成手段および直線描画手段としての描画実行部52b
は、本発明による扇形図形の塗り込み描画を行うための
後述する水平直線の両端の座標を上記のドットの座標に
基づいて算出し、その座標で定まる水平直線をエディタ
51にて指定された色で順次描画する。あるいは、ラン
タイム52は、エディタ51からのデータ以外に、外部
で作成された描画データに基づいて上記のように水平直
線を描画してもよい。
【0027】本実施の形態に係る扇形図形の描画方法
は、扇形図形の境界線を決定するステップと、その境界
線で特定される領域に水平直線を描画するためのベクト
ルデータを作成するステップと、このベクトルデータに
基づいて多数の水平直線を連続的に描画するステップと
を含んでいる。
【0028】境界線の決定ステップは、実際に境界線を
描画する処理ではなく、境界線を構成するドットの座標
値を算出してメモリ部2に記憶させるまでの処理であ
る。境界線は、図2に示すように、円弧部Rおよびこの
円弧部Rの両端と中心(原点)Oとを結ぶ2本の直線部
1 ・L2 からなる。円弧部Rは、例えば、特開平10
−116347号公報に開示されている円弧描画方法を
用いて求めることができる。この円弧描画方法は、円周
を8等分し、それぞれを第1象限ないし第8象限と
して、円弧が存在しうる各象限を求めて、1/8円高速
描画アルゴリズムによって円弧部Rを構成するドットの
座標を算出する。
【0029】1/8円高速描画アルゴリズムは、円を高
速でドット描画するために本願出願人が案出した描画ア
ルゴリズムであって、上記公開公報にも開示されてい
る。
【0030】1/8円高速描画アルゴリズムは、円を1
/8の象限に等分割し、各象限の対称性を利用してドッ
トを決定している。例えば、第1象限において、1/
8円高速描画アルゴリズムによって1/8円を構成すべ
き1つのドットの座標値が決定されると、このドットが
第2象限ないし第8象限と対称的な関係で対応する
7つのドットの座標値が上記のドットの座標値の符号の
反転やx座標値とy座標値との入替えのみによって得ら
れる(図5(a)ないし(d)参照)。
【0031】また、1/8円高速描画アルゴリズムは、
円の関数であるx2 +y2 =r2 (rは半径)における
2 およびy2 の2回微分が一定値(=2)となること
を利用して、ドットの座標値の増減を計算している。例
えば、第3象限において反時計方向に1/8円を描画
する場合、x座標値xxが始点座標値(例えば、原点
(0,0))から1ずつ減少するときの隣接する2つの
xxの2乗値xx2 の差分Δ(xx2 )をrdx1 と定
義するとともに、y座標値yyが始点座標値(例えば、
座標(0,r))から1ずつ減少するときの隣接する2
つのyyの2乗値yy2 の差分Δ(yy2 )をrdx2
と定義すると、rdx1 およびrdx2 は、次のように
表される。
【0032】 rdx1 =Δ(xx2 )=−(2xx−1) rdx2 =Δ(yy2 )=2yy−1 また、ドット描画の過程で、ドットのx座標値xxを1
ずつ減少させながら、y座標値yyも必要に応じて変化
させるが、そのときのy座標値yyについては、1だけ
減少させるか否かの判断に際して、比較基準となるrx
dif(rdx2の変化に応じて更新される)の値とr
dx1 の値とを比較して、rxdifの値がrdx1
値より小さくなったとき、yyを1だけ減じる。
【0033】なお、yyを減じる際には、rdx1 の値
とrdx2 の値とを比較し、rdx 1 の値がrdx2
値より大きくなったとき、1/8円の描画を終了する。
また、ドットの座標値が算出される毎に、前述のように
7つのドットの座標値を決定する。
【0034】このように、1/8円高速描画アルゴリズ
ムでは、1/8円単位で行われる簡易な演算処理によっ
て円を高速で描画することができる。
【0035】続いて、境界線決定ステップのうちの円弧
部Rを構成するドットの座標値の決定手順を図3のフロ
ーチャートを参照して説明する。
【0036】処理に先立って、エディタ51により入力
される扇形図形のデータ(描画データ)、すなわち中心
の座標、中心角、半径、円弧部Rの始点・終点の座標お
よび円弧部Rのドット生成方向(dir)のデータが入
力される。また、予め、図4に示すように、16ビット
からなるフラグを設定しておく。16ビットのうち、下
位8ビットに第1象限ないし第8象限についてのド
ットの有無を表し、上位8ビットのうち、3ビットで始
点Sの存在する象限を表し、3ビットで終点Eの存在す
る象限を表し、1ビットで円弧部Rの描画方向dirを
表す。
【0037】まず、入力された中心の座標、中心角およ
び半径のデータに基づいて描画される円弧が存在しうる
円を決定し(S1)、その円周における円弧の始点Sお
よび終点Eの存在する象限を調査する(S2)。このと
き、入力された中心O(xo, yo )、始点Sの座標値
(xs ,ys )、終点Eの座標値(xe ,ye )および
描画方向dir(時計回り方向:cw)のデータに基づ
いて、図2の扇形図形において円弧部Rが存在する第2
象限、第3象限および第4象限が求められる。
【0038】次いで、求められた上記の各象限を図4に
示すフラグの上位8ビットに反映させる(S3)。この
とき、フラグの下位8ビットをリセットしておく。
【0039】その後、前述の1/8高速描画アルゴリズ
ムによって1/8円における1つのドットの座標値を決
定するとともに、そのドットの座標値を基準として、対
称関係にある7つのドット(対称ドット)の位置(相対
座標)を求めて、それらのドットの座標値をメモリ部2
に記憶する(S4)。
【0040】具体的には、図5(a)に示すように、最
初に第1象限においてドットD1が決定されている場
合、以下の7つの相対座標が決定される。すなわち、こ
れらの相対座標は、ドットD1 のx座標x1 の符号のみ
を負にした第4象限におけるドットD4 、ドットD1
のy座標y1 の符号のみを負にした第8象限における
ドットD8 、x1 およびy1 の符号をともに負にした第
5象限におけるドットD5 、x1 とy1 とを入れ替え
た第2象限におけるドットD2 、x1 とy1とを入れ
替えてy1 の符号のみを負にした第3象限におけるド
ットD3 、x1とy1 とを入れ替えてx1 の符号のみを
負にした第7象限におけるドットD7およびx1 とy
1 とを入れ替えて双方の符号を負にした第6象限にお
けるドットD6 である。
【0041】続いて、S4の処理が1/8円を構成する
全てのドットについて1/8円の終点に達したか否かを
判定する(S5)。ここで、NOと判定した場合は、象
限の値nを初期値である“1”として(S6)、象限値
nが8以下であるか否かを判定し(S7)、8以上であ
るときは、その象限が始点Sの属する象限か否かを判定
する(S8)。ここで、YESと判定した場合、始点S
の座標値(xs ,ys)とドットD1 の座標値(x1
1 )とを比較して、両者が一致するか否かを判定する
(S9)。両者が一致した場合は、図4のフラグの下位
8ビットのうち、象限と対応するビットをセットして
(S10)、S11に移行する。S8およびS9でNO
と判定した場合も、S11に移行する。
【0042】S11では、その象限が終点Eの属する象
限か否かを判定する。ここで、YESと判定した場合、
終点Eの座標値(xs ,ys )とドットD1 の座標値
(xe,ye )とを比較して、両者が一致するか否かを
判定する(S12)。両者が一致した場合は、図4のフ
ラグの下位8ビットのうち、象限と対応するビットをセ
ットして(S13)、S14に移行する。S11および
S12でNOと判定した場合も、S14に移行する。
【0043】S14では、フラグの上位8ビットを参照
して、その象限が1/8円である円弧が存在する象限で
あるか否かを判定する。ここでYESと判定した場合、
フラグの象限と対応するビットをセットし(S15)、
象限を1だけカウントアップして(S16)、処理をS
7に戻す。また、S14でNOと判定した場合は、S1
6に移行する。
【0044】S7ないしS16の処理を繰り返した後、
S7でNOと判定すると、第1象限ないし第8象限
についてのドット決定処理が終了したものとして、処理
をS4に戻し、フラグの下位8ビットをリセットした上
で、次のドットについて前述のようなドット決定処理が
繰り返される。
【0045】そして、S5で、1/8円を構成する全て
のドットについての処理が終点に達した(YES)と判
定すると、円弧部Rの全てのドットの座標値が決定した
ことになり、処理を終える。
【0046】上記のような一連の手順によって、図5
(a)ないし(d)に示すように、円弧部Rの全てのド
ット(ハッチングにて示すドット)の座標値が決定され
ていく。
【0047】このように、上記の手順にしたがうことに
よって、各象限において、1/8円高速描画アルゴリズ
ムによって円弧部Rを構成するドットの座標値を高速で
決定することができる。
【0048】一方、境界線決定ステップのうちの直線部
1 ・L2 を構成するドットの座標値の決定は、一般的
な直線描画方法を用いて行う。つまり、始点Sおよび中
心Oの座標値を両端とする直線部L1 を構成するドット
の座標値を生成するとともに、終点Eおよび中心Oの座
標値を両端とする直線部L2 を構成するドットの座標値
を生成して、それぞれの座標値をメモリ部2に記憶させ
る。
【0049】描画実行部52bは、エディタ51で入力
された描画に関するデータを本発明による水平直線描画
を行うためのデータに変換する。あるいは、描画実行部
52bは、エディタ51からのデータ以外に、外部で作
成された描画データを上記のデータに変換してもよい。
その変換は、図形における水平方向の境界線の座標を水
平走査線毎に検出し、その座標により定まる水平方向の
ベクトルデータを生成することによって行われる。
【0050】描画実行部52bは、上記のようにして得
られた水平描画データ(ベクトルデータ)と、エディタ
51からの色データとを用いて表示画面上で水平直線描
画を行う。
【0051】続いて、メモリ部2への座標データの格納
について説明する。ここでは、図2に示すような扇形図
形を描画表示する場合について例示する。
【0052】例えば、表示部4の表示画面において図6
に示すように、ドットDA ・DB を通る水平走査線につ
いては、描画実行部52bによって、その水平走査線と
直線部L1 ・L2 との交点である2つのドットDA ′・
B ′の座標値、すなわち(xA ′,yA ),
(xB ′,yA )が検出される。また、y座標(水平走
査線)によっては、後述するように、水平走査線と円弧
部Rおよび直線部L2 との2つの交点や、水平走査線と
円弧部Rとの2つの交点が求める座標であることもあ
る。
【0053】メモリ部2では、図7に示すような形式で
座標のデータが格納される。具体的には、16ビットの
うち、上位4ビットにx座標かy座標かを判別するコー
ドを割り当て、下位12ビットにそれぞれの座標のデー
タを割り当てる。このようなコードとしては、例えば、
fがy座標を表し、0がx座標を表すものが用いられ
る。あるいは、4ビットのうち最上位ビットでx座標と
y座標とを識別するようなコードであってもよい。
【0054】また、メモリ部2においては、y座標の値
であるyA が最も先に格納され、続いて、ベクトルデー
タの始点となるx座標の値であるxB ′が格納され、最
後にベクトルデータの終点となるx座標の値である
A ′が格納される。すなわち、メモリ部2において
は、2つのx座標値がそれぞれベクトルデータの始点と
終点として必ず対をなしている。
【0055】メモリ部2においては、座標データに12
ビットが割り当てられるので、最大4095ドットの座
標を記憶することができる。これは、1024×768
ドットのXGA(eXtended Graphics Array) や1247
×1023ドットのSXGA(Super eXtended Graphics
Array) において図形を描画する場合でも充分対応でき
る容量を確保できる。また、2つのx座標値に対し1つ
のy座標値が共通していることから、そのy座標値を1
つだけ格納すればよいので、メモリ容量を節約できる。
【0056】なお、メモリ部2は、エディタ51からの
色データも記憶する。
【0057】続いて、上記のようなベクトルデータの生
成ステップの手順について図8のフローチャートを参照
にして説明する。
【0058】ここで、描画すべき水平直線の両端が境界
線の円弧部Rまたは直線部L1 ・L 2 のいずれにおける
ドットであるかをフラグで表している。初期状態では、
水平直線の左端が直線部L1 上のドットであり、水平直
線の右端が直線部L2 上のドットであるとみなして、両
端のフラグは“0”にリセットされている。また、水平
直線の両端のいずれかが円弧部R上のドットである場合
は、フラグが“1”にセットされる。
【0059】まず、前述の円弧部Rを決定するステップ
におけるS4と同様にして1つの象限の1/8円弧にお
いてドットを1つ算出し、そのドットを基準にして各象
限の対称ドット(相対座標)の座標値を決定する(S2
1)。次いで、各対称ドットの座標値から描画に関係す
る象限を決定する(S22)。例えば、図6に示す扇形
図形の場合は、扇形図形が存在する第2象限ないし第
4象限と、水平直線のy座標値を決定するためのドッ
トDA が存在する第1象限も関係する象限として決定
される。
【0060】さらに、S21で求めたドットを含む水平
走査線上で描画すべき水平直線の左端が円弧部R上のド
ットであるか否かを判定し(S23)、そうである場合
は、水平直線の左端のフラグを“1”にセットする(S
24)。S23でNOと判定された場合は、水平直線の
右端が円弧部R上のドットであるか否かを判定し(S2
5)、そうである場合は、水平直線の右端のフラグを
“1”にセットする(S26)。S25でNOと判定さ
れた場合は、S27に移行する。
【0061】S27では、上記のフラグに基づいて、両
端の座標に応じた水平直線の以下のタイプから、描画す
べき水平直線が(1)ないし(4)のタイプのいずれか
であるかを判別する。
【0062】
【表1】
【0063】続いて、S21で求めたドットに基づいて
水平直線のタイプに応じてその両端の座標値を算出し、
この座標値に基づいて水平直線を描画する(S28)。
このとき、併せて上記の座標値をメモリ部2に記憶して
おき、扇形図形の描画データとして保存しておく。
【0064】タイプ(1)の水平直線の場合、求めたド
ットを一端として、このドットに対称なドットを前述の
円弧部Rのドットを決定する処理のS4と同様にして求
め、このドットを他端する。一方、タイプ(2)ないし
(4)の水平直線の場合、両端または一端が直線部上の
ドットであるので、そのドットの座標値を算出する必要
がある。例えば、図6に示すように、タイプ(4)の水
平直線を描画する領域では、水平直線の両端のドットD
A ′・DB ′を決定する必要がある。この場合、前述の
円弧部Rを決定するステップにおけるS4と同様にし
て、S22で決定した描画に関係する象限について1/
8円上のドットを算出し、そのとき得られたy座標値に
対する直線部L1 ・L2 のx座標値を算出する。
【0065】具体的には、第1象限におけるドットD
A が決定されると、そのy座標の値であるyA に基づい
てメモリ部2に記憶されている直線L1 ・L2 のドット
の座標値をサーチして、y座標の値がyA であるドット
A ′・DB ′を抽出する。これによって、ドットDA
・DB とを結ぶ水平直線において扇形図形を構成する部
分、すなわちドットDA ′・DB ′の座標値が決定され
る。
【0066】なお、図9に示すような扇形図形の場合
は、第5象限ないし第8象限において、描画領域が
左側と右側とに分かれるので、タイプ(2)および
(3)の2本の水平直線H1 ・H2 を描画する必要があ
る。したがって、S26においては、2本の水平直線H
1 ・H2 のそれぞれの両端のドットの座標値を求める。
この場合、メモリ部2には、図7に示す前述の形式にし
たがって、1つの共通のy座標値と4つのx座標値がま
とめて格納される。
【0067】S28までの処理が終了すると、すべての
相対座標を求めたか否かを判定し(S29)、求めてい
ない場合はS22に戻る。一方、求めた場合は、S22
で求めた描画の関係する象限について1/8円弧を全て
算出したか否かを判定する(S30)。ここで、YES
と判定した場合は処理を終える一方、NOと判定した場
合は次の1/8円弧について上記の一連の処理を行うた
め、S21に戻る。
【0068】上記の処理では、1/8円弧上におけるド
ットのy座標値に基づいて算出された水平直線の両端の
座標値で定まるベクトルデータに基づいて水平直線を順
次描画していくことによって塗り込み扇形図形を形成
し、扇形図形全体をベクトル図形として扱っている。
【0069】なお、エディタ51において、オペレータ
による描画指示の入力は、オペレータが表示画面上で入
力部3を介して行うが、例えば、図10に示すように、
予めプルダウンメニューに設けられた扇形塗り込み図形
の項目を選択することによって行うようにしてもよい。
このようにすれば、扇形を円や四角形などの一般的な基
本図形と同様に扱うことができる。
【0070】以上に述べたように、本実施の形態に係る
図形描画システムでは、エディタ51で入力された描画
データに基づいて、境界線生成部52aによって、1/
8円高速描画アルゴリズムを用いて境界線のデータを作
成し、描画実行部52bによって、水平方向のベクトル
データを抽出し、かつそのベクトルデータを用いて水平
描画を行う。このように、水平直線の描画を繰り返すこ
とによって得られる水平直線の集合が図形(閉空間)を
形成するので、高速で扇形の塗り込み描画を行うことが
できる。具体的には、水平直線が4バイト(32ビッ
ト)単位で描画されていくので、塗り込み描画を速くす
ることが可能である。
【0071】しかも、扇形塗り込み図形を円や四角形な
どと同様に基本図形として扱うことができるので、任意
の中心角の指定して扇形図形を描画することができる。
その結果、図形の大きさや位置が決定しているベクトル
データによって図形を描画するので、塗り込み漏れがな
くなるとともに、従来の描画方法のように領域全体を境
界色(指定された色で描かれた境界線)で枠取りし、そ
の内側を初期色で消去する必要がなくなる。それゆえ、
図11(a)に示すような2つの扇形図形を含む半円図
形を同図(b)に示すように書き替える場合には、2つ
の扇形図形をそれぞれ前述のように再描画するだけでよ
いので、消去によるちらつきをなくすことができる。こ
れは、図12(a)に示すような2つの扇形図形を含む
半円図形を同図(b)に示すように書き替える場合でも
同様である。
【0072】
【発明の効果】以上のように、本発明の扇形図形の描画
システムは、扇形図形の外形線のうちの円弧部分を構成
するドットの座標を1/8円高速描画アルゴリズムを用
いて生成するとともに、上記外形線のうちの直線部分を
構成するドットの座標を上記円弧部分の両端の座標と扇
形図形の中心の座標とに基づいて生成する外形線生成手
段と、各水平走査線上の上記外形線の座標を検出し、こ
の座標から水平方向のベクトルデータを生成するデータ
生成手段と、上記ベクトルデータによって定まる長さの
直線を指定された色で各水平走査線毎に順次描画する直
線描画手段とを備えている。
【0073】また、本発明の扇形図形の描画方法は、扇
形図形の外形線のうちの円弧部分を構成するドットの座
標を1/8円高速描画アルゴリズムを用いて生成すると
ともに、上記外形線のうちの直線部分を構成するドット
の座標を上記円弧部分の両端の座標と扇形図形の中心の
座標とに基づいて生成する外形線生成ステップと、各水
平走査線上の上記外形線の座標を検出し、この座標から
水平方向のベクトルデータを生成するデータ生成ステッ
プと、上記ベクトルデータによって定まる長さの直線を
指定された色で各水平走査線毎に順次描画する直線描画
ステップとを備えている。
【0074】上記のシステムおよび方法により、1/8
円高速描画アルゴリズムを用いて短時間のうちに扇形図
形の外形線を構成するドットの座標を生成する一方、ベ
クトルデータを用いた水平直線描画の連続によって扇形
の塗り込み図形を形成するので、扇形図形の描画速度を
高めることができる。また、図形をベクトル型のオブジ
ェクトとして扱っているので、任意の中心角で描画され
る扇形図形を基本図形として用意することができる。し
たがって、扇形図形を高速で描画するとともに、大きさ
の異なる扇形図形を書き替える(上書きする)場合のち
らつきをなくすことができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の一形態に係る図形描画システム
の構成を示すブロック図である。
【図2】円と扇形図形の境界線との関係を示す説明図で
ある。
【図3】ランタイムによる円弧部を構成するドットの座
標の生成手順を示すフローチャートである。
【図4】上記ドットの座標を生成するために必要なフラ
グの構成を示す説明図である。
【図5】(a)ないし(d)は1/8円高速描画アルゴ
リズムを用いた円弧部を構成するドットの座標を算出す
る方法を示す説明図である。
【図6】上記ランタイムによって境界線からベクトルデ
ータを生成する方法を示す説明図である。
【図7】上記ランタイムで検出された座標のメモリ部に
おける格納形式を示す説明図である。
【図8】上記ランタイムによる水平直線の両端の座標の
決定およびその水平直線の描画の手順を示すフローチャ
ートである。
【図9】同じy座標値に対して2本の水平直線の描画が
必要な扇形図形を示す説明図である。
【図10】描画を実行する際に図形を選択するプルダウ
ンメニューを示す説明図である。
【図11】(a)および(b)はメータ表示器を表す半
円図形の再描画(上書き)において消去が必要でない場
合の例を示す説明図である。
【図12】(a)および(b)はメータ表示器を表す半
円図形の再描画(上書き)において消去が必要である場
合の例を示す説明図である。
【符号の説明】
2 メモリ部 4 表示部 52a 境界線生成部(外形線生成手段) 52b 描画実行部(データ生成手段、直線描画手
段) R 円弧部(外形線) L1 ・L2 直線部(外形線)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】扇形図形の外形線のうちの円弧部分を構成
    するドットの座標を1/8円高速描画アルゴリズムを用
    いて生成するとともに、上記外形線のうちの直線部分を
    構成するドットの座標を上記円弧部分の両端の座標と扇
    形図形の中心の座標とに基づいて生成する外形線生成手
    段と、 各水平走査線上の上記外形線の座標を検出し、この座標
    から水平方向のベクトルデータを生成するデータ生成手
    段と、 上記ベクトルデータによって定まる長さの直線を指定さ
    れた色で各水平走査線毎に順次描画する直線描画手段と
    を備えていることを特徴とする扇形図形の描画システ
    ム。
  2. 【請求項2】扇形図形の外形線のうちの円弧部分を構成
    するドットの座標を1/8円高速描画アルゴリズムを用
    いて生成するとともに、上記外形線のうちの直線部分を
    構成するドットの座標を上記円弧部分の両端の座標と扇
    形図形の中心の座標とに基づいて生成する外形線生成ス
    テップと、 各水平走査線上の上記外形線の座標を検出し、この座標
    から水平方向のベクトルデータを生成するデータ生成ス
    テップと、 上記ベクトルデータによって定まる長さの直線を指定さ
    れた色で各水平走査線毎に順次描画する直線描画ステッ
    プとを備えていることを特徴とする扇形図形の描画方
    法。
JP9365399A 1999-03-31 1999-03-31 扇形図形の描画システムおよび描画方法 Expired - Fee Related JP3512670B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9365399A JP3512670B2 (ja) 1999-03-31 1999-03-31 扇形図形の描画システムおよび描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9365399A JP3512670B2 (ja) 1999-03-31 1999-03-31 扇形図形の描画システムおよび描画方法

Publications (2)

Publication Number Publication Date
JP2000285247A true JP2000285247A (ja) 2000-10-13
JP3512670B2 JP3512670B2 (ja) 2004-03-31

Family

ID=14088352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9365399A Expired - Fee Related JP3512670B2 (ja) 1999-03-31 1999-03-31 扇形図形の描画システムおよび描画方法

Country Status (1)

Country Link
JP (1) JP3512670B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007142805A (ja) * 2005-11-18 2007-06-07 Sony Corp 動画記録装置、動画記録方法
JP2017034061A (ja) * 2015-07-31 2017-02-09 大日本印刷株式会社 パターン編集プログラム、ショットデータ作成プログラム、パターン編集装置、ショットデータ作成装置、パターン編集方法
CN109859287A (zh) * 2019-01-15 2019-06-07 昆明理工大学 一种自动生成矢量扇形的方法
CN111583360A (zh) * 2020-06-04 2020-08-25 长沙景嘉微电子股份有限公司 扇形图形的生成方法、装置及计算机存储介质、电子设备
CN111583361A (zh) * 2020-06-04 2020-08-25 长沙景嘉微电子股份有限公司 圆环图形的生成方法、装置及计算机存储介质、电子设备
CN112416953A (zh) * 2020-10-22 2021-02-26 浩亚信息科技有限公司 基于数据库表格的复杂多边形要素更新方法、设备、介质
CN113487695A (zh) * 2021-06-30 2021-10-08 青岛海信商用显示股份有限公司 图形生成方法及终端设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007142805A (ja) * 2005-11-18 2007-06-07 Sony Corp 動画記録装置、動画記録方法
JP4561606B2 (ja) * 2005-11-18 2010-10-13 ソニー株式会社 動画記録装置、動画記録方法
JP2017034061A (ja) * 2015-07-31 2017-02-09 大日本印刷株式会社 パターン編集プログラム、ショットデータ作成プログラム、パターン編集装置、ショットデータ作成装置、パターン編集方法
CN109859287A (zh) * 2019-01-15 2019-06-07 昆明理工大学 一种自动生成矢量扇形的方法
CN109859287B (zh) * 2019-01-15 2023-04-11 昆明理工大学 一种自动生成矢量扇形的方法
CN111583360A (zh) * 2020-06-04 2020-08-25 长沙景嘉微电子股份有限公司 扇形图形的生成方法、装置及计算机存储介质、电子设备
CN111583361A (zh) * 2020-06-04 2020-08-25 长沙景嘉微电子股份有限公司 圆环图形的生成方法、装置及计算机存储介质、电子设备
CN112416953A (zh) * 2020-10-22 2021-02-26 浩亚信息科技有限公司 基于数据库表格的复杂多边形要素更新方法、设备、介质
CN113487695A (zh) * 2021-06-30 2021-10-08 青岛海信商用显示股份有限公司 图形生成方法及终端设备

Also Published As

Publication number Publication date
JP3512670B2 (ja) 2004-03-31

Similar Documents

Publication Publication Date Title
AU745720B2 (en) A reference based parametric dimensioning method and system
AU2010200591A1 (en) Graph display control apparatus and graph display control method
JP2000285247A (ja) 扇形図形の描画システムおよび描画方法
US20100309227A1 (en) Map display device
JPH0757073A (ja) 関心領域の形状変更方法
JPS6111810A (ja) 自動プログラミング方法
JP2829692B2 (ja) オペレーションマクロ方式cad装置
JP2010066920A (ja) 3次元位置指定装置、3次元位置指定方法および3次元位置指定用プログラム、ならびにボクセルモデリング装置、ボクセルモデリング方法およびボクセルモデリング用プログラム
JP2786098B2 (ja) 図形拡大編集方法
JPH07134779A (ja) 掃引体図形生成装置
JPH10105334A (ja) タッチパネルによる2点選択図形移動方法
JP2003336119A (ja) 仮想型紙表示装置、仮想型紙表示プログラム
JP2004030135A (ja) Cadシステムにおける円の一部の描画方法及びプログラム
JPH10188009A (ja) グラフ作成装置およびグラフ作成方法
KR20010068351A (ko) 전개도 자동 생성 프로그램 제품
JP2004280543A (ja) 構造解析条件設定方法
JP2575636B2 (ja) グラフイツク表示装置
JPH0765151A (ja) 図形編集装置
JPH08202341A (ja) 図形編集装置
JPH08335277A (ja) 図形処理装置
JPH05266162A (ja) 図形入出力装置
JPH07129788A (ja) 図形描画装置
JPH0944692A (ja) 図形処理装置
JPH01220070A (ja) 正規化図形入力装置
JPH06250777A (ja) 3次元位置指示装置

Legal Events

Date Code Title Description
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: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040107

R150 Certificate of patent or registration of utility model

Ref document number: 3512670

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees