JPH061492B2 - ビットマップディスプレイ装置における円描画方法 - Google Patents

ビットマップディスプレイ装置における円描画方法

Info

Publication number
JPH061492B2
JPH061492B2 JP60131748A JP13174885A JPH061492B2 JP H061492 B2 JPH061492 B2 JP H061492B2 JP 60131748 A JP60131748 A JP 60131748A JP 13174885 A JP13174885 A JP 13174885A JP H061492 B2 JPH061492 B2 JP H061492B2
Authority
JP
Japan
Prior art keywords
point
line style
circle
points
data
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.)
Expired - Lifetime
Application number
JP60131748A
Other languages
English (en)
Other versions
JPS61290575A (ja
Inventor
尚哉 池田
啓一 中根
佳弘 横山
浩行 是枝
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60131748A priority Critical patent/JPH061492B2/ja
Publication of JPS61290575A publication Critical patent/JPS61290575A/ja
Publication of JPH061492B2 publication Critical patent/JPH061492B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ビットマップディスプレイ装置において円を
描画するための円描画方式に関し、特に破線・1点鎖線
などの線種を属性として持つ円を描画するのに好適な円
描画方式に関するものである。
〔発明の背景〕
グラフィックスの分野では、多色表示や塗りつぶしなど
表現力が豊かなビットマップディスプレイ方式が多く用
いられている。
第2図は一般的なブットマップディスプレイ方式による
描画装置(以下、これをビットマップディスプレイ装置
と称す)の構成を示すブロック図である。
第2図において、1は演算処理装置(以下、これをCP
Uと称す)、2は描くべき絵を点に分解するプログラム
と、そのために必要なテーブルなどを記憶するための記
憶領域(以下、これをCPU用メモリと称す)、3は表
示用の記憶領域(以下、これをフレームバッファと称
す)、4は表示スクリーン、5は映像信号発生回路、で
ある。
先ず第2図に示すCPU1が、CPU用メモリ2内に格
納されているプログラムに従って、表示スクリーン4上
に描こうとしている絵をCPU用メモリ2内のテーブル
を用いながら点に分解し、その点情報をフレームバッフ
ァ3内に書き込む。このフレームバッファ3は記憶の最
小単位であるビットがあらかじめ表示用スクリーン4上
の各画素に対応するように配列(マップ)されている。
その後、フレームバッファ3中に配列されたビットに点
画として記憶された絵は、映像信号発生回路5によって
読み出され、表示スクリーン4上に表示される。
ここで、第2図に示す装置を用いて円を表示することを
考えてみる。先ず、円を表示するためには、CPU1が
表示すべき円の円周を点に分解することが必要である。
従来、円周を点に分解する方法はいくつか考えられてき
た。たとえばBresenhamの方法やMichenerの方式などが
あり、これらはFoleyとVan damの共著である“Fundamen
tals of Computer Graphics”(81.8)の11章4節にま
とめられている。これら2つの円周を点に分解する方式
は、円周上の点座標と、整数座標すなわち離散的な点座
標との間の誤差を最小にするように、円周を整数座標上
の点に分解することを行なっており、両者は演算の最適
化に関して多少の差異がある程度である。また、これら
2つの方式には、8方向円描画方式が用いられている。
この8方向円描画方式とは、円の対称性を利用したもの
で、円周を8等分し、そのうちの1区間(即ち、一円
弧)だけについて円から点に分解する計算を行ない、他
の7区間についてはこの計算値を用いて点を相似的に求
めて、それにより、円周上の全ての点の点座標を高速に
求めて円を描画する方式である。
以下、この8方向円描画方式によって円を描画する場合
の動作について第3図を用いて具体的に説明する。
第3図は8方向円描画方式による円描画動作を説明する
ための説明図である。
先ず、CPU1は、表示スクリーン4上に描くべき円を
規定するパラメータ(中心座標、半径など)をCPU用
メモリ2内のデータテーブルより求め、それに従って描
き得る円周を第3図に示す様に8等分する、次に、CP
U1は、そのうちのひとつの区間A1について、円から
点に分解する計算を行い分解した点の点座標を求める。
次に、CPU1は、区間A1の分解して得た点の点座標
から、その他の区間A2〜A8の対応する点の点座標を求
め、それらの点座標(区間A1の点の点座標も含む)に
対応するフレームバッファ3内の各メモリ位置に同時に
点情報を書き込む。即ち、例えば、第3図において分解
して得た点がP1で、その点座標が(x,y)であると
すると、次の区間A2〜A8の対応する点は、P2
(y,x)、P3は(y,−x)、P4は(x,−y)、
5は(−x,−y)、P6は(−y,−x)、P7
(−y,x)、P8は(−x,y)、という具合に求め
られ、これら8つの点P1〜P3の点座標に対応するフレ
ームバッファ3内の各メモリ位置にそれぞれ、8箇所同
時に点情報が書きこまれるわけである。以下、同様に次
の点Q1に対しては点Q2〜Q8が求められ、それらにつ
いてもフレームバッファ3内に点情報が8箇所同時に書
き込まれ、また更に次の点R1についても同様となる。
この様に、区間A1を分解して得た点に関し、矢印の方
向に順次、点O1から点S1に至るまで同様の動作を行う
ことにより、他の区間A2〜A8における各点も矢印の方
向に順次求められ、そして、これらの動作が全て終了し
たとき、フレームバッファ3には、描くべき円の円周の
点情報がすべて書き込まれることになる。尚、ここで、
前述した点O1及びその座標から求められる点O2〜O8
を以下、描画開始点と言い、又、各区間における矢印の
方向を以下、その区間における描画方向と言うことにす
る。
さて、この様にして、フレームバッファ3内に書き込ま
れた点情報は、前述した様に、映像信号発生回路5によ
って読み出され、表示スクリーン4上に表示される。
この様な方法により、円周を点に分解し表示した例を第
4図に示す。
以上の様に、8方向円描画方式を用いて、円描画を行う
場合は、円から点に分解するための計算は区間A1につ
いてだけ行えば良く、他の区間A2〜A8の内の各点は区
間A1の点から直ちに求めることができるので、処理時
間が短時間で済む。
ところで、円の表示についてはこの様な単純な実線表示
ばかりでなく、実際の段階においては破線や一点鎖線な
ど多彩な線種による表示も必要となってくる。
しかし、前述のBresenhamの方式やMichenerの方式など
においては円の線種表現までは考慮されていなかった。
そこで、直線描画における破線や一点鎖線の処理を円描
画に適用することを考えてみる。
第5図は一点鎖線の直線を描画する際の処理動作を説明
するための説明図、第6図は一点鎖線の円描画列を示し
た説明図である。
先ず、一点鎖線の直線を描画する際の処理について説明
する。
第5図において、ラインスタイルデータエリア6は、線
種表現をビット単位に分解したラインスタイルデータを
格納しておくCPU用メモリ2に含まれるエリアであ
る。
第5図ではラインスタイルデータエリア6は8ビットで
構成されており、一点鎖線パターン7に相当するライン
スタイルデータとして(11111010)2が格納されてい
る。そこで、このパターンを繰り返して、点を描画して
いくと一点鎖線の直線8が描ける。
さて、この様な直線描画の場合の処理を円描画に適応し
た場合の動作について以下詳細に説明する。
先ず、前述したと同じく、CPU1は、描くべき円の円
周を点に分解し、分解して得られた点の点座標を求め
る。次に、CPU1はCPU用メモリ2内のラインスタ
イルデータエリア6(第5図)を参照しながら、前記点
座標と対応するフレームバッファ3内のメモリ位置に点
情報を順次書き込んでいく。このとき、ラインスタイル
データエリア6内に格納されたラインスタイルデータの
1ビットの点情報は、書き込むべき点の1点と対応して
おり、その為、CPU1は、書き込むべき点がラインス
タイルデータの何ビット目と対応するかということを、
カウントすることにより常に把握しながら、書き込むべ
き点の点座標に対応するフレームバッファ3内のメモリ
位置に、そのビットの点情報を書き込んでいく。書き込
んだ点情報が1であれば、表示スクリーン4上に表示さ
れるときには、それは対応する画面位置に点として描か
れ、φであれば、対応する画面位置には点は描かれな
い。
更に、具体的に述べるなら、CPU1は、ラインスタイ
ルデータを第5図下方に示す如く、フレームバッファ3
内に点情報を書き込む毎に、左へ1ビットシフトし、最
上位ビット(MSB)にあった内容は最下位ビット(L
SB)に格納するようにしており、書き込むべき点の点
情報は常にラインスタイルデータの最上位ビット(MS
B)から得るようにしている。この様にすることによ
り、第5図に示す様な一点鎖線パターン7が繰り返し現
われることになり、表示スクリーン4上には円として描
画される。
しかしながら、この様な従来の円描画方式において、前
述した高速のために良く用いられる8方向円描画方式を
導入した場合には、以下に述べる様な問題があった。即
ち、一点鎖線の円描画において8方向円描画方式を導入
した場合の動作は次の如くになる。
第3図に示した様に、例えば、区間41の分解した点と
してP1を得た場合、CPU1はその点座標(x,y)
から他の区間A2〜A8の対応する点P2〜P8の点座標を
求める。そして、CPU1は、各点P1〜P8の点座標に
対応するフレームバッファ3内の各メモリ位置に、前述
したラインスタイルデータの最上位ビット(MSB)の
点情報を8箇所同時に書き込む。即ち、8箇所とも同じ
点情報が書き込まれることになる。次に、CPU1は、
ラインスタイルデータを前述した如くシフトすると共
に、次の点Q1の点座標から他の点Q2〜Q8の点座標を
求める。そして、CPU1は、各点Q1〜Q8の点座標に
対応するフレームバッファ3内の各メモリ位置に、シフ
トされたラインスタイルデータの最上位ビットの点情報
を8箇所同時に書き込む。以下、同様の動作が繰り返さ
れ、そのようにしてフレームバッファ3内に全ての点情
報が書き込まれると、それによって表示される表示スク
リーン4上の画像は第6図(b)に示す如くになる。
即ち、従来の円描画方式では、一点鎖線の円描画を8方
向円描画方式にて行うと、第6図(b)に示す様に、各区
間において矢印で示す方向、即ち描画方向に一点鎖線パ
ターンはそれぞれ描画されていくため、隣り合う区間同
士では描画方向が互いに逆向きになり、その接続点、つ
まり丸印で示す8点においては、表示される一点鎖線は
不整合となってしまう。従って、第6図(a)で示す様な
正常な一点鎖線による円は得られない。
この様に従来の円描画方式においては、破線・一点鎖線
などの多彩な線種による円描画を行う際に8方向円描画
方法を用いると、描画された円は、描画方向の接続点
(以下、描画接続点と称す)において線種が乱れてしま
うという問題があった。
〔発明の目的〕
本発明の目的は、上記した従来技術の問題点を解決し、
8方向円描画方式を用いて円周を点に分解する処理の高
速性を保ちながら、破線・一点鎖線などの線種を8点の
描画接続点において乱すことなく、円を描画することが
できる円描画方式を提供することにある。
〔発明の概要〕
本発明では、上述した目的を達成するために、演算処理
装置は、CPU用メモリ内のプログラムに従い、スクリ
ーン画面上に表示せんとする円を規定するパラメータを
前記CPU用メモリ内の第1のデータテーブルから求
め、それに従って描きうる円周を8つに分割し、そのう
ちの1つの円弧を離散的な点画として分解した後、分解
して求められたそれら各点画の点座標から他の円弧上の
点画の点座標を求めると共に、分解された一円弧上の離
散的な点画の数を計算し、破線・一点鎖線などの画面表
示の元になるラインスタイルデータを前記cpu用メモ
リ内の第1のデータテーブルより取り出して、該データ
と該データを前記計数値の2倍、4倍、6倍にあたる回
数だけシフトしたデータとをそれぞれ前記CPU用メモ
リ内の第2のデータテーブルに格納し、又、これら格納
かた4種のデータの他に、この4種のデータに対して上
位、下位を逆順に並べたデータも併わせて格納し、該第
2のデータテーブルを参照しながら、フレームバッファ
内における前記点座標に対応するメモリ位置に点情報を
8つ同時に格納し、その後、該フレームバッファ内に格
納された前記点情報を映像信号発生回路が読み出して前
記スクリーン画面上に表示するようにしたものである。
〔発明の実施例〕
以下、本発明の一実施例を第1図及び第7図乃至第10図
を用いて説明する。
本実施例は、本発明による円描画方式を、第2図に示し
たビットマップグラフィク装置に新たに他の装置を付加
することなく、CPU1が処理するプログラムとして実
現した例であり、装置の全体構成については、第2図を
そのまま用いることとする。
第1図は本発明による円描画方式を実施するために用い
られる処理プログラムを示すフローチャートである。
又、第7図は本発明において用いられる入力パラメータ
テーブルを示す模式図、第8図は同じくラインスタイル
データテーブルを示す模式図、である。
これら図において、100は円描画処理プログラム、150は
円描画入力パラメータテーブル、200はラインスタイル
データテーブル、である。尚、プログラム100及びテー
ブル150,200はそれぞれ第2図に示すCPU用メモリ2
内に格納されている。
また、第9図は描画方向とラインスタイルデータとの関
係を示した説明図であり、第8図に示すラインスタイル
データテーブル200の各フィールドを参照しながら各描
画方向に個別のラインスタイルデータで描画することを
表わしている。尚、以下の説明では、円周の時計回り方
向を順方向とし、その反対方向を逆方向として説明する
ものとする。即ち、第9図においては、描画方向prot
1,prot3,prot5,prot7が順方向であり、描画方向prot
2,prot4,prot6,prot8が逆方向である。
さて、本実施例の動作の概略は次の通りである。即ち、
先ず、第2図に示すCPU1が、CPU用メモリ2内に
格納された第1図に示す円描画処理プログラム100に従
って動作し、その結果として、フレームバッファ3内に
描くべき円のデータを書き込む。次に、書き込んだデー
タを映像信号発生回路5は読み出して表示スクリーン4
上に映像として表示する。
では、CPU1の動作について第1図に示す円描画処理
プログラム100に従って以下に詳細に説明する。
まず、CPU1は、CPU用メモリ2に格納されている
円描画入力パラメータテーブル150から、描くべき円の
中心座標151と半径152を求め、それを参照して、それに
よって描き得る円周を8等分に分割する。そして、さら
にそのうちの1つの円弧を点に分解し、その点の個数を
カウントする(ブロック110)。点に分解する方法とし
ては例えば従来例で述べたBresenhamの方式やMichener
の方式などを用いることとする。但し、このブロック11
0では、分解した点の個数をカウントするだけで、フレ
ームバッファ3に点情報を書き込んだりはしない。次
に、カウントして得たこの計数値をCPU1はCPU用
メモリ2内に格納されている第8図に示すラインスタイ
ルデータテーブル200中の点カウンタフィールドに201に
登録する。
次に、cpu1は、ブロック120に示すように、点カウ
ンタフィールド201に登録した計数値を用いて、順方向
描画の4つの描画開始点O1,O3,O5,O7(第9図参
照)におけるラインスタイルデータの値をそれぞれ計算
して求め、ラインスタイルデータテーブル200中の対応
するラインスタイルフィールド210,230,250,270に格
納する。描画開始点におけるラインスタイルデータの値
というのは、その描画開始点が属する区間におけるライ
ンスタイルデータの初期値のことである。例えば、描画
開始点O3におけるラインスタイルデータの値が(11101
011)2であったとすると、前述した様にその点O3に対
してはそのラインスタイルデータの値の最上位ビット
(MSB)、即ち、下線を施した「1」が点情報として
フレームバッファ3内の対応するメモリ位置に格納され
る。そして、prot3における点O3の次の点では、点O3
におけるラインスタイルデータの値を第5図下方で述べ
たごとく1回シフトして、それにより得たラインスタイ
ルデータの値(11010111)2の最上位ビット(MSB)
を点情報とする。即ち、描画開始点O3におけるライン
スタイルデータの値を初期値として順次シフトしていけ
ば、描画方向Prot3に沿って各点に対する点情報が全て
求められるわけである。
さて、そこで、順方向描画のうち、第9図に示すprot1
は円全体に対するラインスタイルパターンの開始点から
描画するため、円描画入力パラメータテーブル150中の
ラインスタイルパターン163をそのままprot1の描画開始
点O1におけるラインスタイルデータの値、即ち、prot1
におけるラインスタイルデータの初期値として用いるこ
とができる。
また、prot3描画開始点O3は、第9図に示す様に描画開
始点O1から順方向に円周の4分の1進んだ点であるの
で、O1からO3までの円弧上には、先に求めた8分割円
周上の点の個数を2倍にした数の点が存在するはずであ
る。したがって、prot3の描画開始点O3におけるライン
スタイルデータの値は、点カウンタフィールド201の内
容(即ち、先に格納した計数値)を2倍し、この回数だ
けprot1におけるラインスタイルデータの初期値を第5
図にて述べた如くシフトすることにより得られる。また
prot5,prot7の描画開始点O5,O7におけるラインスタ
イルデータの各値についても、prot3と同様に、点カウ
ンタフィールド201の内容をそれぞれ4倍、6倍にし、
その回数だけprot1におけるラインスタイルデータの初
期値をシフトして得られる。
以上のようにして、CPU1は、第9図に示す4つの順
方向描画であるprot1,prot3,prot5,prot7におけるラ
インスタイルデータの初期値を求めることができ、これ
らをそれぞれ、ラインスタイルデータテーブル200中の
対応するラインスタイルフィールド210,230,250,270
に格納する。
さらに、CPU1は、後述するprot8におけるラインス
タイルデータの初期値を定めるために、点カウンタフィ
ールド201の内容を8倍にし、その回数だけprot1におけ
るラインスタイルデータの初期値をシフトして得た値
を、ラインスタイルデータテーブル200中のラインスタ
イルフールド9(第8図の290)に登録しておく。
次に、ブロック130の処理について説明する。この処理
では、CPU1は、逆方向の円描画(すなわち、第9図
に示すprot2,prot4,prot6,prot8)の4つの描画開始
点O2,O4,O6,O8におけるラインスタイルデータの
値を求め、ラインスタイルデータテーブル200中の対応
するラインスタイルフィールド220,240,260,280にそ
れぞれ格納する。
以下に、逆方向描画prot2におけるラインスタイルデー
タと順方向描画prot3におけるラインスタイルデータと
の関係を利用して、prot2におけるラインスタイルデー
タの初期値を求める処理を、第10図を用いて説明する。
尚、以下の説明では、逆方向の円描画prot2と順方向の
円描画prot3が描画開始点で接続されており、かつ、ラ
インスタイルが連続している場合を例としている。
第10図(a)は、prot3におけるラインスタイルデータの初
期値とprot2におけるラインスタイルデータの初期値と
の関係を説明するための説明図、第10図(b)は、prot3に
おけるラインスタイルデータの初期値からprot2におけ
るラインスタイルデータの初期値を導き出す方法を説明
するための説明図、第10図(c)は、prot2,prot3の各ラ
インスタイルデータの初期値を展開して各点に対する点
情報を得ている様子を模式的に示した説明図、である。
尚、第10図(c)において、上部に示した横方向の点列
は、順方向及び逆方向に描画される点を表し、又、下部
に示した縦方向の点列は、ある描画時tnのときのライン
スタイルフィールド220,230の内容を表している。
さて今、仮に第10図(a)の上部に示す様なprot3における
ラインスタイルデータ(以下、データ3と略して述べ
る。)の初期値のみしか与えられていないとした場合に
ついて考えて見る。この様な場合、prot3における各点
に対する点情報は容易に推察できる。例えば、点O3
対しては、データ3の初期値の27ビット(MSB)目
の内容がその点情報となり、点P3に対しては26ビット
目が、点Q3に対しては25ピット目が、と言った具合に
である。又、prot2における各点に対する点情報につい
ても同様に容易に推察できる。例えば、点O2に対して
は、データ3の初期値の20ビット(LSB)目の内容
がその点情報となり(何故なら、シフト動作によりMS
Bの内容はLSBにシフトされているからである。)点
2に対しては21ビット目が、点Q2に対しては22ビッ
ト目が、と言った具合にである。
さて、そこで、ラインスタイルデータに対し第5図下部
に示した様なシフト動作を行いながら、逆方向に円描画
を行っていく為には、prot2におけるラインスタイルデ
ータ(以下、データ2と略して述べる。)の初期値はい
かにあるべきかを考えて見る。
prot2において、点O2,P2,Q2,R2,…の順に点情
報をフレームバッファ2内に書き込んでいく為には、第
10図(a)下部に示す様に、データ2の初期値として、先
ず27ビット(MSB)目には、当然点O2に対する点情
報が来る。そして、次の26ビット目には点P2に対する
点情報が、25ビット目には点Q2に対する点情報がそれ
ぞれ来る必要がある。即ち、前述したデータ3の初期値
から考えてみると、データ2の初期値としては、27
ット(MSB)目に、データ3の初期値の20ビット
(LSB)の内容が、又、26ビット目にはデータ3の
初期値の21ビット目の内容が、25ビット目にはデータ
3の初期値の22ビット目の内容がそれぞれ来ると言い
換えても差し支えない。
以上の考察からわかる通り、ラインスタイルフィールド
220に格納されるprot2におけるラインスタイルデータの
初期値は、ラインスタイルフィールド230に格納されて
いるprot3におけるラインスタイルデータの初期値に対
し、第10図(b)に示す如く、上位・下位を逆順に並べ換
えることにより得ることができる。
そして、prot3におけるラインスタイルデータの初期値
と、上記した方法により得たprot2におけるラインスタ
イルデータの初期値とを、第10図(c)の下部に示す如く
順次シフトして矢印の通りに展開して行くことにより、
各描画時t1,t2,…におけるそれぞれのラインスタイ
ルデータを得、それらラインスタイルデータの最上位ビ
ット(MSB)の内容を第10図(c)の上部に示す如く点
情報として書き込んで行くことにより連続した一点鎖線
のパターンを得ることができる。
この様にして、ブロック130において、CPU1は、pro
t3におけるラインスタイルデータの初期値の上位・下位
を逆順に並べ換えることにより、prot2におけるライン
スタイルデータの初期値を求め、ラインスタイルフィー
ルド220に格納する。又、他のものについても同様にし
て、prot4についてはprot5,prot6についてはprot7のラ
インスタイルデータの初期値を参照してそれぞれのライ
ンスタイルデータの初期値を求め、ラインスタイルフィ
ールド240,260に格納する。
また、prot8については、本実施例では先に求めたライ
ンスタイルフィールド9(第8図の290)内の値を参照
してラインスタイルデータの初期値を求め、ラインスタ
イルフィールド280に格納している。これは、prot7とpr
ot8のそれぞれのラインスタイルを両者の接続点におい
て連続にするためである。なお、prot8におけるライン
スタイルデータの初期値をprot1におけるラインスタイ
ルデータの初期値から求めるようにした場合は、prot8
とprot1の接続点においてラインスタイルは連続となる
が、反面、prot7とprot8の接続点ではラインスタイルは
不連続となる。
最後に、ブロック140の処理について説明する。
この処理では、CPU1は、従来例において述べた8方
向円描方式を用いて、描くべき円の円周を点に分解し、
分解して得られた点の点座標を求め、前述の各ラインス
タイルフィールドを参照しながら、求められ各点座標に
対応するフレームバッファ3内のメモリ位置に点情報を
書き込む。
即ち、先ず、CPU1は、前述の円描画入力パラメータ
テーブル150から、再度、描くべき円の中心座標151と半
径152を求め、それによって描き得る円周を8等分に分
割し、更にそのうちの1つの円弧を点に分解して、それ
ら点の点座標を求める。次に、CPU1は、分解した点
のうち描画開始点、例えば、それを第9図に示すprot1
における描画開始点O1とすると、その点座標から、他
の7つの円弧、即ち、prot2〜8における描画開始点O2
〜O8の各点座標を、円の対称性を利用して求める。そ
して、CPU1は、フィールドバッファ3に対し、得ら
れた8つの描画開始点O1〜O8の各点座標に対応するメ
モリ位置をそれぞれ指定する。
次に、CPU1は、第8図に示すラインスタイルデータ
テーブル200中のラインスタイルフィールド210〜280か
ら、それぞれに格納されているラインスタイルデータの
最上位ビット(MSB)の内容を各々取り出す。そし
て、CPU1は、取り出したそれら8つの点情報を、指
定したフィールドバッファ3内の各メモリ位置に、それ
ぞれ対応する様に、一度に書き込む。
次に、CPU1は、各ラインスタイルフィールド210〜2
80内に格納されているラインスタイルデータをそれぞれ
第5図下部に示した如く1回シフトする。以下、同様に
して、CPU1は更に描画開始点の次の書き込むべき点
の点座標をそれぞれ求め、各点座標に対応するフィール
ドバッファ3内のメモリ位置に、シフトした各ラインス
タイルデータの最上位ビット(MSB)の内容をそれぞ
れ書き込む。こうして、第9図に示す各円弧のそれぞれ
の描画方向に沿って、対応する点情報が次々に書き込ま
れて行き、描画終了点Sに到達するまで続けられる。
本実施例では、このブロック140の処理において、再
度、8分割した円周の一円弧を点に分解するため、従来
例に比べ、主にブロック110の処理にかかる時間だけ処
理速度が遅くなるわけであるが、ブロック110ではCP
U1はフレームバッファ3に対するアクセスは行なって
いないため、全体処理時間に対して問題にならない程度
の遅延となる。
以上のように、本実施例では、8方向円描画方式を用い
て高速性を保ちつつ、ラインスタイルの表現について
は、prot1の描画開始点O1からprot8の描画開始点O8
至るまであたかも1方向に描画しているように連続性を
保つことを可能とした。
〔発明の効果〕
本発明によれば、8方向円描画方式を用いて高速処理を
維持しながら、破線・一点鎖線などの線種を8点の描画
接続点において乱すことなく、悪くとも描画始点と描画
終点とが接続する1接続点だけの乱れに抑え、あたかも
1方向の描画のごとき整合性で描画することができるの
で、ビットマップディスプレイ装置において円形の多彩
な表現が実現できるという効果がある。
【図面の簡単な説明】
第1図は本発明を実施するために用いられる処理プログ
ラムを示すフローチャート、第2図は一般的なビットマ
ップディスプレイ装置の構成を示すブロック図、第3図
は8方向円描画方式による円描画動作を説明するための
説明図、第4図は8方向円描画方式により円周を点に分
解し表示した例を示す説明図、第5図は一点鎖線の直線
を描画する際の処理動作を説明するための説明図、第6
図は一点鎖線の円描画例を示す説明図、第7図は本発明
において用いられる入力パラメータテーブルを示す模式
図、第8図は同じくラインスタイルテーブルを示す模式
図、第9図は描画方向とラインスタイルデータとの関係
を示す説明図、第10図は本発明における逆方向描画のラ
インスタイルデータの初期値を求める処理動作を説明す
るための説明図、である。 符号説明 1……CPU 2……CPU用メモリ 3……フレームバッファ 4……表示スクリーン 5……映像信号発生回路 6……ラインスタイルデータエリア 100……円描画処理プログラム 150……円描画入力パラメータテーブル 200……ラインスタイルデータテーブル 201……点カウンタフィールド 210,220,230,240,250,260,270,280 290……ラ
インスタイルフィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 横山 佳弘 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 是枝 浩行 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】描画データ処理のための演算処理装置と、
    演算処理装置用のメモリと、前記演算処理装置によって
    得られた描画データを記憶するフレームバッファメモリ
    と、該バッファメモリのデータを表示する表示手段を有
    し、円(楕円を含む)を複数の円弧に分割して表示する
    ビットマップディスプレイ装置における円描画方法にお
    いて、 該メモリに線種を表す線種データを基準線種データとし
    て記憶しておき、前記演算処理装置は該基準線種データ
    に基づいて、各円弧間の該線種の接続の連続をとるよう
    に分割された複数の前記円弧毎に対応した該線種データ
    の初期値を求め、該初期値を用いて前記円弧を描画する
    ことを特徴とするビットマップディスプイレイ装置にお
    ける円描画方法。
JP60131748A 1985-06-19 1985-06-19 ビットマップディスプレイ装置における円描画方法 Expired - Lifetime JPH061492B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60131748A JPH061492B2 (ja) 1985-06-19 1985-06-19 ビットマップディスプレイ装置における円描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60131748A JPH061492B2 (ja) 1985-06-19 1985-06-19 ビットマップディスプレイ装置における円描画方法

Publications (2)

Publication Number Publication Date
JPS61290575A JPS61290575A (ja) 1986-12-20
JPH061492B2 true JPH061492B2 (ja) 1994-01-05

Family

ID=15065267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60131748A Expired - Lifetime JPH061492B2 (ja) 1985-06-19 1985-06-19 ビットマップディスプレイ装置における円描画方法

Country Status (1)

Country Link
JP (1) JPH061492B2 (ja)

Also Published As

Publication number Publication date
JPS61290575A (ja) 1986-12-20

Similar Documents

Publication Publication Date Title
JP2797435B2 (ja) 表示コントローラ
GB2226481A (en) Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system
JPH061492B2 (ja) ビットマップディスプレイ装置における円描画方法
JP3092154B2 (ja) ディジタル描画装置
JPS642953B2 (ja)
JP2904994B2 (ja) 座標間接続表示方法
JP2623592B2 (ja) 表示制御装置
JP2940294B2 (ja) 製図装置
JPS61130991A (ja) 図形処理方法及び装置
JPS59178492A (ja) 表示方式
JPH01189778A (ja) 陰影づけ図形表示装置
JPS6169094A (ja) 図形処理方法及び装置
JPS62127972A (ja) 線分描画におけるクリツピング方式
JPS6084588A (ja) 図形処理装置
JPH05159006A (ja) Cad装置
JPS62144196A (ja) カラ−表示画面上での線分描画方式
JPS61267096A (ja) 多角形図形のぬりつぶし描画表示装置
JPH05159067A (ja) 図形描画装置
JPS61183784A (ja) 図形処理装置
JPS60173578A (ja) ドツトパタ−ン画像平滑化装置
JPH0355870B2 (ja)
JPH07192061A (ja) 表計算装置および表計算装置のデータ管理方法
JPH0281179A (ja) ピッキング回路
JPS62100787A (ja) カ−ソルスム−ズ移動装置
JPS58203489A (ja) 表示装置