JPH0969166A - 情報処理装置及び方法及び記憶媒体 - Google Patents

情報処理装置及び方法及び記憶媒体

Info

Publication number
JPH0969166A
JPH0969166A JP7223592A JP22359295A JPH0969166A JP H0969166 A JPH0969166 A JP H0969166A JP 7223592 A JP7223592 A JP 7223592A JP 22359295 A JP22359295 A JP 22359295A JP H0969166 A JPH0969166 A JP H0969166A
Authority
JP
Japan
Prior art keywords
information
line
polygonal line
coordinate
contour
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.)
Withdrawn
Application number
JP7223592A
Other languages
English (en)
Inventor
Takashi Shimooku
隆史 下奥
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP7223592A priority Critical patent/JPH0969166A/ja
Publication of JPH0969166A publication Critical patent/JPH0969166A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 折れ線における線分どうしの結合部分の形状
をより自然な状態にして得る。 【解決手段】 ポインタ操作装置13によって折れ線を
定義する線分の両端点を順次入力する。そして、各線分
の結合部分(折れ曲がり部分)に対しては、CPU19
は線分の幅、両端点に基づいてその折れ線の輪郭の座標
値を算出する。そして、算出された算出された輪郭の座
標値情報を1つの多角形を描画する情報として生成し、
表示装置15に表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は図形の表示や印刷を
行なわせるための装置、方法あるいはその処理を実現す
るためのプログラムを記憶した記憶媒体に関するもので
ある。
【0002】
【従来の技術】従来、線幅が1ピクセル以上の線を直接
ビットマップにラスタライズしない図形処理装置では、
線幅のある線の輪郭を算出し、この輪郭の内部を線属性
で指定されている色で塗ることで描画を実現していた。
【0003】そして、この図形が折れ線の場合、直線部
分の輪郭とジョインの部分の輪郭を別々に処理するか、
それらを図5のような一筆書の1つの多角形図形にまと
めて処理することで描画実現していた。
【0004】
【発明が解決しようとする課題】しかしながら、直線部
分とジョインの部分を別々に処理すると、接合部分に計
算の丸め誤差によって隙間が現われる可能性がある。ま
た図5に示した従来の一つの多角形図形にまとめる処理
では、入力された折れ線の線は場を考慮した折れ線の輪
郭の座標を算出し、これを結ぶことで1つの多角形を生
成しているために、これを点線破線に適用した場合には
図6で示される不自然な形状が発生してしまう。
【0005】
【課題を解決するための手段】本発明はかかる問題点に
鑑みなされたものであり、折れ線における線分どうしの
結合部分の形状をより自然な状態にして得ることを可能
ならしめる情報処理装置及び方法及び記憶媒体を提供し
ようとするものである。
【0006】この課題を解決するため、例えば本発明の
情報処理装置は以下に示す構成を備える。すなわち、所
定の座標入力装置により折れ線を入力する情報処理装置
であって、入力された折れ線データからそれぞれの線分
を特定するための情報を抽出する抽出手段と、該入力さ
れた折れ線の線幅と、前記抽出手段で抽出された情報に
基づいて、当該折れ線の輪郭の座標値を算出する算出手
段と、算出された輪郭の座標値情報と入力された折れ線
の頂点の座標情報を利用し、1つの多角形を描画する情
報を生成する生成手段とを備える。
【0007】また、更に、前記生成手段で生成された多
角形を描画する描画手段とを備えることが望ましい。こ
れによって、座標入力装置で入力された折れ線を視覚的
に確認することも可能になる。
【0008】
【発明の実施の形態】以下、添付図面に従って本発明に
係る実施形態を詳細に説明する。
【0009】<装置の説明>図1は本実施形態における
図形処理装置の構成を示すブロック図である。
【0010】図において、11はブートプログラム等を
記憶しているROM、12はOS、各アプリケーション
プログラムを格納したり、更にはワークエリアとしても
使用されるRAMである。13はポインタ装置であっ
て、例えばマウス等の座標入力装置である。14はデー
タ入力装置であって、例えばキーボード等である。15
は表示装置であり、図形編集に係る描画ウィンドウなど
を表示する。16は印刷装置、17はOS、アプリケー
ション、更にはデータファイル等を記憶しているハード
ディスクである。18は、可搬性記憶媒体の駆動装置で
あるフロッピーディスク装置、19は装置全体の制御を
司るCPUである。
【0011】本装置に電源が投入されると、CPU19
はROM11に格納されているブートプログラムに従っ
て起動し、ハードディスク17からOSをロードし、操
作者の操作待ち状態になる。そして、操作者からデータ
入力装置14はポインタ装置13から所定の指示を受け
た場合、もしくは自動的に起動する様設定されている場
合は、ハードディスク装置17に格納されている図形処
理プログラムがRAM12にロードされ、実行される。
【0012】図2は表示装置15に表示された描画ウィ
ンドウ、メニューパネルの表示レイアウトを示す図であ
る。
【0013】図において、21は表示画面に表示されて
いる作業エリアである。22はメニューパネルであり、
ポインタ操作装置13の操作し、カーソルをそのメニュ
ーパネル22の機能項目上に移動し、ポインタ操作装置
13に設けられたボタンを押下する操作(以下、シング
ルクリックという)を行う事で機能項目が選択される。
23は描画ウィンドウであり、24はキャンバスで描画
エリアの一部または全体を表示する。キャンバス24上
にカーソルを移動させて、クリック作業を行うことで図
形の座標データが入力される。25はカーソルで、ポイ
ンタ操作装置13の操作に連動して作業エリア内を移動
する。
【0014】図3は本発明の処理を行う際に利用する可
変長点列格納バッファのフォーマットを示している。
【0015】ここで、31はmax_npoints
で、点の登録可能最大個数を格納している。32はその
時点でバッファに登録されている点の数で、バッファに
点を登録する度に1つずつカウンタアップする。点の登
録手続では毎回カレントの点の数32とその最大数31
の値を比較し、必要に応じてmax_npoints3
1を増やし、点列格納部33を広げる。
【0016】図4は本実施形態で用いる図形処理装置の
内部データフォーマットである。図5は従来のジョイン
処理ルールを模式的に表した図面であり、図6はそのル
ールに従って点数を描画したときに現れる不具合を示す
ものである。図7はCPU19によって実行される制御
プログラムを示しフローチャートである。
【0017】以下、これらの図を基に、実施形態におけ
る動作の一部を説明する。
【0018】ポインタ操作装置13によって、表示レイ
アウト上のカーソル25を動かしてメニューパネル22
の「折れ線」の上に動かし、シングルクリック操作を行
うことで折れ線描画モードが選択される(ステップS
0,S1,S2)。
【0019】この後、CPU19はRAM12に図3に
示す可変長点列格納バッファを確保すると(ステップS
3)、ステップS0に戻って次のイベント待ち状態にな
る。折れ線描画モードでは次にキャンバス24上で発生
するポインタ操作装置13による操作イベント(クリッ
ク、及び2回続けてクリックするダブルクリック操作を
含む)による入力データが扱われる。
【0020】次に、ポインタ操作装置13によって、カ
ーソル25をキャンバス34に移動し、折れ線の頂点位
置でポインタ操作装置をシングルクリックを行うとそれ
によって折れ線データが入力される(ステップS0,S
1,S4)。
【0021】入力した折れ線データはRAM12に確保
された可変長点列格納バッファに登録し(ステップS
5)、ステップS0に戻って次のイベント待ち状態にな
る。この後キャンバス24上でシングルクリックを行う
動作の繰り返し回数によって折れ線の長さは決定され
る。
【0022】ここで可変長点列格納バッファへのデータ
登録の内部処理を図10のフローチャートに従って説明
する。
【0023】データを登録する手続は登録用関数によっ
て隠蔽されている。この関数に渡される引数は、可変長
点列格納バッファのポインタ(アドレス)と、登録する
点の座標値である。
【0024】ステップS90で、可変長点列格納バッフ
ァのアドレスと登録する点座標を入力し、ステップS9
1でカレントの点の数を記憶している領域(npoin
ts32)の値を1つだけカウントアップし、ステップ
S92でカウントアップした値が登録最大点数(max
_npoints31)に格納された値以上か否かを判
断する。登録最大点数に満たない場合には、ステップS
95に進み、新しい点座標をバッファに追加記録する。
【0025】また、登録最大数以上になったと判断した
場合には、その時点での登録最大数(max_npoi
nts31)に格納されている値に256足して(ステ
ップS93)、ステップS94でバッファをこの大きさ
でリサイズする。
【0026】再び図7の処理に戻って説明する。ポイン
タ操作装置13によって、カーソル25をキャンバス2
4に移動し、折れ線の頂点位置でポインタ装置13に設
けられたボタンを2回続けて押下する操作(ダブルクリ
ックという)を行うとステップS0の判断でステップS
6に移行する。
【0027】ステップS6では、CPU19は図4で示
した内部データ形式の領域をRAM12に確保し、ここ
に可変長点列格納データバッファの内容を複写する。複
写されるデータは図形種別番号42から線種44(線幅
や破線や実線等の種別情報で、不図示の操作メニューに
よりポインタ操作装置13により指定するものとす
る)、可変長点列格納データバッファに登録されている
点列の数48および可変長データバッファに登録されて
いる点列の数に相当する分の点列の座標データである。
【0028】ステップS7では、予めRAM12に確保
されている可変長点列格納バッファのバッファ1とバッ
ファ2をリセットし、点列未登録状態にする。バッファ
のリセットは、カレントの点の数32をゼロにすること
で完了する。
【0029】ステップS8では、CPU19は線種情報
の線幅、キャップスタイルとジョインスタイルを考慮し
た線の輪郭図形を算出する。
【0030】図8は、上述したステップS7における線
の輪郭図形を算出する処理のフローチャートである。ま
た、図9は、2直線a−b、b−cからなる折れ線a−
b−cを示しており、この折れ線を例にして図8のフロ
ーチャートを追っていくことにする。尚、図示におい
て、からはそれぞれ角点を示している。
【0031】ステップS11では、CPU19は内部デ
ータの折れ線図形情報の各線分の開始点と終了点を抽出
する。図9の折れ線では始めに開始点としてa点を、終
了点としてb点を抽出することになる。
【0032】ステップS12では、CPU19は開始点
と終了点の座標点と線幅を考慮した輪郭図形を算出す
る。図9の折れ線ではa−b直線に対しての矩
形が輪郭図形として抽出される。
【0033】ステップS13では、その線分が最初の線
分かどうかを判断して、ステップS18からステップ1
4に分岐する。線分a−bは最初の線分であるのでステ
ップS18に分岐する。
【0034】ステップS18では、可変長点列格納バッ
ファのバッファ1およびバッファ2に輪郭図形の頂点を
登録する。登録のルールは、最終的に袋閉じの図形にな
ることを考慮し、最終的に連続する2点を組にしてそれ
ぞれのバッファに登録する。振り分けは若い番号をバッ
ファ1の方に登録するルールに従う。線分a−bの場合
バッファ1にはを登録し、バッファ2にはを登
録する。
【0035】そしてステップS11に戻り、次の線分の
開始点と終了点を抽出する。図9の折れ線ではb−c直
線に対して、開始点としてb点を、終了点としてc点が
抽出される。
【0036】ステップS12では、CPU19は開始点
と終了点の座標点と線幅を考慮した輪郭図形を算出す
る。図9の折れ線ではb−c直線に対しての矩
形が輪郭図形として抽出される。
【0037】ステップS13では、その線分が最初の線
分かどうかを判断するが、今、着目している線分は2番
目の線分であるので、ステップS14に進むことにな
る。
【0038】ステップS14では、1つ前の線分と現在
の線分の間の角度を算出する。この時、座標軸の+Xか
ら+Yの方向を正の角度とし、求められる角度は−18
0度から+180度の間の値とする。図9の折れ線では
1つ前の線分はa−bで、現在の線分はb−cであるの
で、a−b,b−cの間がなす角度を算出する。この場
合−90度となる。
【0039】ステップS15では、ステップS14で求
められた確度が0度以上かどうかを判断し、真の場合ス
テップS19へ、偽の場合ステップS16へ分岐する。
図9の折れ線では偽であるので、ステップS16に分岐
する。
【0040】ステップS16では、現在参照している線
分の開始点をバッファ2に登録し、さらにそれに連続す
る2点を登録する。図9の折れ線では、b点点点の
3点を登録する。
【0041】ステップS17では、線種属性のジョイン
スタイルを処理する。図9の折れ線では、との間を
ジョイン形状で保管することになる。例えばそぎ接合(B
evelJoin)を採用すると、単純にの2点を登録する
ことで完了する。また斜め接合(Miter Join)を採用する
と、直線と直線との延長線の交点を求め、この
交点1点を登録することで完了する。本実施形態では、
操作環境設定でこれらのいずれを採用するかが予め設定
されているものとする。
【0042】全ての線分について輪郭図形を求めたら、
ステップS21においてバッファ1とバッファ2を結合
し、1つの袋閉じ図形を示す多角形の点列を生成する。
結合は、バッファ2の最後の点から最初の点に向かって
1点づつ抽出し、順次バッファ1に追加していくことで
行う。
【0043】図9の折れ線では、この時点でバッファ1
にの4点、バッファ2にbの5点がこ
の順序で格納されているので、結合後は、
bの9点がバッファ1に格納されることになる。
【0044】図7に戻って、ステップS9ではバッファ
1の点列を多角形として塗ることで描画を行ない、ステ
ップS0に戻る。
【0045】以上説明した様に、従来図5のような形状
を生成していたのに対し、本実施形態においては、11
に示すような形状を得ることができ、2本の線分の結合
部分を、より自然な状態にさせることが可能になる。
【0046】また、本発明の実施形態に従えば、座標入
力装置を備えた汎用装置に外部からプログラムを供給す
ることでも実現できる。
【0047】すなわち、本発明は装置あるいはシステム
にプログラムを格納した記憶媒体を装着し、そこから対
応するプログラムをメモリ上に読出して実行することも
できるわけであるから、かかるプログラムを記憶した、
フロッピーディスク、CD−ROM、メモリカード、着
脱自在のハードディスク等の記憶媒体自身にも本願発明
を適用できることは勿論である。
【0048】この場合、かかる記憶媒体には、図7、
8、10に相当するプログラムモジュールが格納される
ことになるが、少なくとも、図12に示すモジュールを
有することになる。
【0049】すなわち、入力された折れ線データからそ
れぞれの線分を特定するための情報を抽出する抽出モジ
ュール121、入力された折れ線の線幅と、抽出された
情報に基づいて、当該折れ線の輪郭の座標値を算出する
算出モジュール122、そして、算出された輪郭の座標
値情報を1つの多角形を描画する情報として生成する生
成モジュールである。
【0050】以上説明した様に本実施形態に従えば、折
れ線を点線破線で描画した際に、頂点の部分を自然な形
状で描画することができる。
【0051】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器からなる装置に適用
してもよい。また、先に説明した様に、本発明はシステ
ム或は装置にプログラムを供給することによって実施さ
れる場合にも適用できることは言うまでもない。この場
合、本発明にかかるプログラムを格納した記憶媒体が、
本発明を構成することになる。そして、該記憶媒体から
そのプログラムをシステム或は装置に読み出すことによ
って、そのシステム或は装置が、予め定められたし方で
動作する。
【0052】
【発明の効果】以上説明した様に本発明によれば、折れ
線における線分どうしの結合部分の形状を、より自然な
状態にして得ることが可能になる。
【0053】
【図面の簡単な説明】
【図1】実施形態における図形処理装置のブロック構成
図である。
【図2】表示装置15に表示された描画ウィンドウ、メ
ニューパネルの表示レイアウトを示す説明図である。
【図3】本実施形態で用いる可変長点列格納バッファの
データ形式を示す図である。
【図4】本発明実施形態で用いる内部データ形式を示す
図である。
【図5】従来技術における処理ルールを示す図である。
【図6】従来技術における処理ルールに従って点線破線
を描画した結果を示す図である。
【図7】本実施形態で用いたアプリケーションソフトの
処理のフローチャートである。
【図8】本発明の中核となる処理のフローチャートであ
る。
【図9】本発明の中核となる処理のルールである。
【図10】可変長点列格納バッファの扱いのフローチャ
ートである。
【図11】本発明の効果を示す図である。
【図12】実施形態における記憶媒体の格納モジュール
を示す図である。
【符号の説明】
11 ROM 12 RAM 13 ポインタ操作装置 14 データ入力装置 15 表示装置 16 印刷装置 17 HDD 18 FDD 19 CPU

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 所定の座標入力装置により折れ線を入力
    する情報処理装置であって、 入力された折れ線データからそれぞれの線分を特定する
    ための情報を抽出する抽出手段と、 該入力された折れ線の線幅と、前記抽出手段で抽出され
    た情報に基づいて、当該折れ線の輪郭の座標値を算出す
    る算出手段と、 算出された輪郭の座標値情報と入力された折れ線の頂点
    の座標データを利用し、1つの多角形を描画する情報を
    生成する生成手段とを備えることを特徴とする情報処理
    装置。
  2. 【請求項2】 更に、前記生成手段で生成された多角形
    を描画する描画手段とを備えることを特徴とする請求項
    第1項に記載の情報処理装置。
  3. 【請求項3】 所定の座標入力装置により折れ線を入力
    する情報処理方法であって、 入力された折れ線データからそれぞれの線分を特定する
    ための情報を抽出する抽出工程と、 該入力された折れ線の線幅と、前記抽出工程で抽出され
    た情報に基づいて、当該折れ線の輪郭の座標値を算出す
    る算出工程と、 算出された輪郭の座標値情報と入力された折れ線の頂点
    の座標情報を利用し、1つの多角形を描画する情報を生
    成する生成工程とを備えることを特徴とする情報処理方
    法。
  4. 【請求項4】 更に、前記生成工程で生成された多角形
    を描画する描画工程とを備えることを特徴とする請求項
    第3項に記載の情報処理方法。
  5. 【請求項5】 情報処理装置がメモリに読み込み実行す
    ることで、所定の座標入力手段を使用し、所定の座標入
    力装置により折れ線を入力させる記憶媒体であって、 入力された折れ線データからそれぞれの線分を特定する
    ための情報を抽出する抽出工程の手順コードと、 該入力された折れ線の線幅と、前記抽出工程で抽出され
    た情報に基づいて、当該折れ線の輪郭の座標値を算出す
    る算出工程の手順コードと、 算出された輪郭の座標値情報と入力された折れ線の頂点
    の座標情報を利用し、1つの多角形を描画する情報を生
    成する生成工程の手順コードとを備えることを特徴とす
    る記憶媒体。
  6. 【請求項6】 更に、前記生成工程で生成された多角形
    を描画する描画工程の手順コードとを備えることを特徴
    とする請求項第5項に記載の記憶媒体。
JP7223592A 1995-08-31 1995-08-31 情報処理装置及び方法及び記憶媒体 Withdrawn JPH0969166A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7223592A JPH0969166A (ja) 1995-08-31 1995-08-31 情報処理装置及び方法及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7223592A JPH0969166A (ja) 1995-08-31 1995-08-31 情報処理装置及び方法及び記憶媒体

Publications (1)

Publication Number Publication Date
JPH0969166A true JPH0969166A (ja) 1997-03-11

Family

ID=16800592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7223592A Withdrawn JPH0969166A (ja) 1995-08-31 1995-08-31 情報処理装置及び方法及び記憶媒体

Country Status (1)

Country Link
JP (1) JPH0969166A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293809A (ja) * 2005-04-13 2006-10-26 Zenrin Co Ltd 図形データ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293809A (ja) * 2005-04-13 2006-10-26 Zenrin Co Ltd 図形データ処理装置

Similar Documents

Publication Publication Date Title
JP3189870B2 (ja) 画像処理装置
JP3186241B2 (ja) 図形編集装置
JPH10188014A (ja) 画像編集方法及び装置
JP3599198B2 (ja) 図形編集装置
JPH0969166A (ja) 情報処理装置及び方法及び記憶媒体
JP2906202B2 (ja) 文字図形入力方法
JPH11102277A (ja) 情報機器、ユーザインターフェース、入出力操作方法および記憶媒体
JPH0962855A (ja) 情報処理装置及び方法及び記憶媒体
JPH0850602A (ja) 立体形状の自動生成方法および装置
JP3553249B2 (ja) 画像生成装置及び画像生成方法
JPH07271998A (ja) 立体表示方法および装置
JP3633011B2 (ja) 図形抽出方法
JP2002351451A (ja) アウトラインフォント情報に基づく文字処理方法及びその方法をコンピュータシステムに実行させるためのコンピュータソフトウエアプログラム製品
JP2634905B2 (ja) 図形ぬりつぶし方法
JP3610130B2 (ja) 情報処理方法及び装置及びコンピュータ制御装置
JP2667454B2 (ja) 作図装置
JP2827122B2 (ja) 図形処理方法
JPH06259507A (ja) 図形分割装置
JP3776416B2 (ja) 画像生成装置及び画像生成方法
JPH01134673A (ja) ブロック図のデータ表示処理装置
JPH06324795A (ja) 表示画面選択方法
JP2822672B2 (ja) 図形描画方法および装置
JPH0397081A (ja) 図形表示装置
JPH0535912B2 (ja)
JPH06110442A (ja) 文字図形処理装置、及び文字または図形の変形処理方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021105