JPS60239825A - 図形表示システム - Google Patents

図形表示システム

Info

Publication number
JPS60239825A
JPS60239825A JP60003408A JP340885A JPS60239825A JP S60239825 A JPS60239825 A JP S60239825A JP 60003408 A JP60003408 A JP 60003408A JP 340885 A JP340885 A JP 340885A JP S60239825 A JPS60239825 A JP S60239825A
Authority
JP
Japan
Prior art keywords
region
list
line
clip
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60003408A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60239825A publication Critical patent/JPS60239825A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/22Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using plotters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は図形表示システム、特に装置内で作成されたイ
メージの出力装置としてペン・プロッタを含む図形表示
システムに関する。
〔従来技術〕
欧州特許公開第26266号において説明されているI
BM図形表示データ・マ不ジャ(GDDM)の図表ユー
ティリティのような対話型図形表示システムは、IBM
3279のようなディスプレイのスクリーン上に図形イ
メージを作成する能力をユーザーに与える(IBMは登
録商標である。′)6イメージはいったん作成されると
、多くの場合、そのハードコピーをとることが望ましく
、装置に接続されたペン・ブロックが一般に、この目的
に使用される。ペン・プロッタは、図形の、低価格で高
品質な・・−トコピー作成能力を提供する。
ハードコピーがCRT表示と異なる1つの重要な点は、
ハードコピーはいったん作成されると、消したり変更し
たりすることができないことである。この相違は、例え
ば、赤の正方形を、より大きい青の正方形の土に描く場
合に、問題を生じる。
ディスプレイ上では、下の青の正方形のベル(画素)は
簡単に赤のベルに変更されるが、プロッタの場合は、赤
を青に重ねて描くと、濁った褐色が生じる。それ故、ブ
ロックで良質の出力を得るには、上Kgなる領域の部分
をクリップして下の領域を描く必要がある。このように
クリップされた下地領域を描いて隈取りをすると、空白
の部分が残り、その部分に後から、土に重なる領域を描
けるので、ずっと良好な図形が生じる。
特定の領域をクリップする種々の方法が公開されている
。スクリーン上及びガリーW、ホツヂマンは凸面領域に
合わせて凹面多角形をクリップする簡単な方法を説明し
ている・これは、凸面多角形に分割される凹面クリップ
領域を必要とし、従って、計算がより複雑になる。また
、ケビン・ワイラー及びピータ−・アザ−トンは、開口
部を有する凹面多角形をクリップする別の方法を説明し
ているが、これは、多角形を右回りに、開口部を左回り
に定義する必要がある・ 〔発明が解決しようとする問題点〕 本発明の目的は、複雑に定義された領域を、もう1つの
複雑に定義された領域からクリップする方法を提供する
ことである。
〔問題点を解決するための手段〕
第1に、領域定義を表示リスト記憶装置に記憶している
図形表示システムにおいて、対象領域とクリップ領域の
一致を判定する方法であって、(a) 対象領域の、ク
リップ領域を通過しない少なくとも1つの連続する線の
部分ごとに別個の項目を含む対象領域部分リストを作成
・記憶し、(b) クリップ領域の、対象領域を通過す
る少なくとも1つの連続する線の部分ごとに別個の項目
を含むクリップ領域部分リストを作成・記憶し、(c)
 オーバラップする、対象領域とクリップ領域の1つの
線の部分ごとに別個の項目を含むオーバラップ部分リス
トを作成・記憶し、 (d) 対象領域部分リストの項目ごとに、第1に対象
領域部分リスト、第2VCクリツプ領域部分リスト、第
5にオーバラップ部分リストの未処理の項目を走査して
、処理中の部分の1つの終点定義と同じ終点定義を有す
る頂目を見つけ、見つかった部分と処理中の部分とを結
合することにより新しく・部分を作成し、作成した部分
を結果部分リストに書込み、結果部分リストの項目の処
理を、部分がな(なるまで反復し、それによって、結果
部分リストが、クリップ領域と一致しない、対象領域の
部分の定義を包み込む。
ステップを含む方法によって本発明の問題点が解決され
る。
第2′に1表示リスト・バッファに複合領域定義を記憶
し、対象領域とクリップ領域の一致を判定する方法を実
行するシステム動作を制御するのに適応した制御手段を
含む図形表示システムであって、 (a) 対象領域の、クリップ領域を通過しない少なく
とも1つの連続する線の部分ごとに別個の項目を含む対
象領域部分リストを作成・記憶し、゛(b) クリップ
領域の、対象領域を通過する少な(とも1つの連続する
線の部分ごとに別個の項目を含むクリップ領域部分リス
トを作成・記憶し、(C) オーバラップする、対象領
域とクリップ領域の1つの線の部分ごとに別個の項目を
含むオーバラップ部分リストを作成・記憶し、 (d) 対象領域部分リストの項目ごとに、第1に対象
領域部分リスト、第2にクリップ領域部分リスト、第3
にオーバラップ部分リストの未処理の項目を走査して、
処理中の部分の1つの終点定義と同じ終点定義を有する
項目を見つけ、見つかった部分と処理中の部分とを結合
することにより新しし・部分を作成し、作成した部分を
結果部分リストに書込み、結果部分リストの項目の処理
を、部分がなくなるまで反復し、それによって、結果部
分リストが、クリップ領域と一致しない、対象領域の部
分の定義を包み込む、 各ステップを実行する図形表示システムによって本発明
の問題点が解決される。
〔作用〕
本発明の方法では、領域定義を制限するものはない。対
象領域とクリップ領域はどちらも、複数の、オーバーラ
ツプし、自己交差する多角形から成ることがある。領域
内部は、領域境界を、それが直線に沿って無限に移動さ
れた場合、奇数回交差するすべての点として定義される
本発明を実施する方法により、対象領域をクリップ領域
に合わせてクリップし、対象領域の、クリップ領域の外
側のすべての部分を定義する領域が得られる。必要なら
、クリップする方法を変更して、クリップ領域内の対象
領域の部分を定義することも容易である。
領域定義の各々は、多角形定義リストによって表わされ
、多角形定義の各々は、頂点のリングによって表わされ
る。多角形定義リストによって合成された領域定義は、
必要なら、更の領域に合わせてクリップできるように同
じフォーマットを有する。
本発明の方法では、3つのリストの構築を゛含む。
第1のリスト(対象部分リスト)は、クリップ領域の外
側にある対象領域境界部分を含む。第2のリスト(クリ
ップ部分リスト)は、対象領域の内側にあるクリップ領
域境界部分を含む。第3のリスト(オーバラップ部分リ
スト)は、対象領域の境界線とオーバラップする、すべ
てのクリップ領域境界線部分を含む。
前記リストの各々は、領域内の各線を、他の領域の内側
または外側に合わせてクリップごとにより構築される。
そのためには、任意の領域定義に合わせて任意の線をク
リップできる線クリップールーチンが必要である。特に
、このルーチンは、多重にオーバラップしたり、自己交
差する多角形から成ることがある領域に頂点で交差した
り、または該領域の境界線の1つ(または2つ以上)と
オーバラップすることがある線をうまく処理しなければ
ならなし・。
結果領域定義は、前記3つのリストの部分を結合するこ
とにより生じ、多角形を形成する。
結合プロセスでは、対象部分をとり、それを、第1に、
非オーバラツプ部分と結合し、第2K、別の対象部分と
結合し、第3に、オーバラップ部分と結合する試みがな
される。
このようにして、対象部分は拡大され、部分の数の合計
は減少する。多角形が形成されると、形成された多角形
は対象部分リストから取除かれ、結果領域定義に加えら
れる。このプロセスは、対象部分ごとに、残りの部分が
なくなるまで続けられる。
最後に、残っているクリップ部分が、(可能な場合に)
結合され、より多ぐの多角形の形成が試みられる。これ
らの多角形は、もし、それらがオーバラップ部分だけか
ら形成されていないなら、結果領域定義に加えられる。
この場合、この(対象領域とクリップ領域に共通する)
多角形は、対象領域とクリップ領域と同じ方向(左回り
または右回り)で定義されるかどうかが判定される。多
角形は、もし、定義される方向が対象領域とクリップ領
域とでは異なるなら、結果領域定義にしか加えられない
共通な、すなわち対象領域境界にオーバラップする多く
の境界線を有する自己交差領域に合わせてクリップする
希有な状況では、種々の部分の結合後に行詰りを生じる
、すなわち結合すべき部分が発見できないことがある。
この状況は、2つ以上の、対象部分と結合できるオーバ
ラップ部分があって、間違った部分がたまたま選択され
る場合に生じるかもしれない。これは極めてまれにしか
起こらず、最も簡単な解決方法は、対象領域をXおよび
y方向に僅かにシフトしてからクリップφプロセスを再
開することであるO C実施例〕 第6図〜第6図は、本発明の方法による結合プロセスの
例を示す。第3図(a)に示すような複雑な多角形が表
示スクリーン士に表示されている。これは、例えばグラ
フの部分かもしれない。第3図(b)に示す別の領域が
第3図(a)の領域に重ねられ、第3図(e)に示す領
域を生じるものとする。この場合、第3図(b)の線形
部分を:第3図(a)の領域からクリップする必要があ
る。
第4図(a)および(b)は、対象部分リストの内容を
示す。
第5図(a)および(b)は、クリップ部分リストの内
容を示す。
第6図(a)および(b)は、オーバラップ部分リスト
の内容を示す。
もちろん、すべての線および部分は実際には終点座標の
形式で記憶される・本明細書に示す図面は説明のための
ものであって、実際に使用されるものではない。
一般に、最初のステップは、対象領域のすべての線を検
査し、それらがクリップ領域を通過するかどうかを判定
する。第3図(c)の左上の隅から始まる線10は−、
クリップ領域とオーバラップする部分11を有する。こ
の部分11は、オーバラップ部分リストに加えられる(
第6図(a) )0次に、部分12が対象部分リストに
加えられる(第4図(a))。
次いで、線13.14.15および16が検査され、対
象部分リストに加えられる。各線が前の線と共通の座標
を有するときは複合部分が生じる。
線18は、クリップ領域を通過する部分19と、クリッ
プ領域を通過しない部分17.20とを有する。部分1
7は、対象部分リストの複合部分に加えられる(第4図
(a) ) 0部分19は無視され、部分20は、対象
部分リストに新しい部分として加えられる。線21は、
対象部分リストの部分20に加えられ、線22は、オー
バラップ部分リストに加えられる(第6図(b))・ 次に、クリップ領域が、対象領域を通過する線と対象領
域内に含まれる線につし・て検査される・allは既に
オーバラップ部分リス)K加えられている。線23は2
つの部分を有し、部分24はクリップ部分リストに加え
られ、部分25は無視される0線26の部分27も無視
される・線26の部分28と線29の部分30はクリッ
プ部分リストに加えられる(第5図(b))。線29の
部分22は、既にオーバラップ部分リストに加えられて
し・る。
対象領域を、クリップ領域を除いて構築するためには、
対象部分リストの最初の項目を検査し。
続(・て、クリップ部分リストの残りの項目を検査し、
更に、オーバラップ部分リストを検査して、最初の項目
と終点座標を共有する部分を判定する〇見つかった部分
は対象部分に加えられ、その結果は結果部分リストに入
れられる。このプロセスは、結果部分リストの項目を用
いて反復され、結果部分と終点を共有する部分がなくな
るまで続けられる。いかなる場合にも、結果は閉じた多
角形である□次いで、対象部分リストの次の項目を検査
し、対象部分リストの部分がなくなるまでプロセスが反
復される。そして、結果部分リストには、クリップ領域
を除いた対象領域が含まれる・次に、本発明の方法の詳
細な説明を行なう・この方法は手順が細分され、細分さ
れた手順の関係が第1図に示されて(・る。
領域クリップ手順(第1図のステップ50)この手順は
領域クリップ・プロセス全体全制御する。対象領域はク
リップ領域に合わせてクリップされる。その結果、元の
対象仙域の、クリップ領域の外側のすべての部分を定義
する新しい対象領域が得られる。
動作の細部: 部分リスト構築手順を呼出し、 対象領域の、クリップ領域の外側のすべての部分を含む
対象部分リストを構築する0 部分リスト構築手順を呼出し、 クリップ領域の、クリップ領域の内側のすべての部分を
含むクリップ部分リストを構築する0 このリストはオーバラップ部分も含む。
下記の走査により、これらの部分リストを走査し、多角
形である部分を結果領域に移す0走査: (Do)対象部分リストが空になるまで対象部分の各々
につ(・て下記動作を行なう0 (IF)若し、合成する非オーバラッグ部分があるなら
、 %2つの部分の結合手順“を呼出し、 走査ループを反復する0 (ENDIF) (IF)若し、結合する対象部分があるなら、12つの
部分の結合手順rを呼出し、 走査ループを反復する・ (ENDIF) (IF)若し、結合するオーバラップ部分があるなら、 気2つの部分の結合手順′を呼出し、 走査ループを反復する。
(ENDIF) 若し、前記いずれの場合にも該当しな(・(行詰りに通
じる間違った分岐をきたしたことを意味する)場合は、 対象領域定義を走査し、それを1単位−だけシフトして
領域クリップ手順を再開する◇ (ENDDO) 対象部分リストはいま空であるので、下段の走査2によ
り残りのクリップ部分から更に多く、の多角形の構築を
試みる。
走査2: (DO)クリップ部分が空になるまで下記動作を行なう
最初のクリップ部分をとる@ (Do)それに続くクリップ部分ごとに下記動作を行な
う。
(IF)若し、それが最初のクリップ部分に結合される
なら、 電2つの部分の結合手順“を呼出し、 走査2ループを反復する・ (ENI)IF) (ENDDO) 最初のクリップ部分は多角形を形成しljいので削除す
る〇 (ENDDO) これで、クリップ動作は完了である。
元の対象領域を削除し、結果領域に置換える〇部分リス
ト構築手順(ステップ51) この手順で2つの領域定義がパスされ、対象領域は、ク
リップ領域の内側または外側にある部分に分割される。
用語1対象領斌′および1クリツプ領域“は、この手順
によって行なわれる処理に関連を有するが、領域クリッ
プ手順(ステップ50)で用いた同じ用語とは無関係で
ある。
(Doo)対象領域における多角形ごとに下記動作を行
なう。
(DO)多角形の頂点ごとに下記動作を行なう。
現在の頂点から次の頂点までの線を考慮し、ウィンドウ
手順(ステップ55)をIIγ出して、線を明白に拒絶
できるかどうかを検査する0(IF)若t、s 1Mヲ
拒絶できるなl−+(THEN)、(IF)部分がクリ
ップ領域の外側にあるべきなら(THEN)、 結果=現在の線 (ELSE)さもなければ、 結果=ナル (ELSE)さもなければ、 1領域に合った線のクリップ手順#(ステップ55)を
呼出して線をクリップする。
(END I F ) (DO)結果の線ごとに下記動作を行なう。
(IF)若し、この線のオーバラップ−フラグがセット
されないなら(THEN)、 1部分リストへの線付加手順l(ステップ52)を吐出
す。
(ELSE) さもなければ、 クリップ領域の内側にある部分のリストを構築する場合
にのみオーバラップする線を処理する。
(IP)若し、部分がクリップ領域の内側にあるべきな
ら、 各オーバラップ線は更に、その包含領域に合わせてクリ
ップされ、若し、それがそれ自身の境界によって交差さ
れるならば、分割される。
1領域に合った線のクリップ手順”(ステップ55)を
呼出し、分割された結果を生じさせる。
(DO)分割された結果の線ごとに下記動作を行なう。
1部分リストへの線付加手順″(ステップ52を呼出い
分割された結果から線を削除する。
(ENDDO) (ENI) I F ) (ENDIF) (ENDDO) 結果から線を削除する。
(ENDDO) (ENDDO) (IF)#:初の部分の最初の頂点が、最後の部分の最
後の頂点と同じであり、(AND)かつどの部分のオー
バラップ・フラグもセットされていないなら、 ′″2つの部分の結合手順′(ステップ54)を呼出し
て、最初の部分と最後の部分とを結合する。
(END I F ) 部分リストへの線付加手順(ステップ52)部分リスト
に1つの線を付加する。オーバラップ・フラグがセット
された線は、部分リストにおいて個々に保持される。他
の線は、可能なら、現在の部分の終点に付加される。
(IF)部分が空であるか (OR)また番ま現在の部分のオーバ・フラグがセット
されているか (OR)または線のオーバラップ・フラグがセットされ
ているか (OR)または現在の部分の最後の頂点が線の最初の頂
点と異なるなら(THEN)、 新しい部分を開始し、 線の部分と最後の頂点を新しし・部分にコピーする。
(ELSE) さもなければ、 線の最後の頂点を現在の部分に加える。
(ENDIF) ウィンドウ手順(ステップ53) この手順は、線と領域をとり、線が完全に領域の投射長
方形の外側にあるかどうかを表わすフラグをセットする
。これは、線のクリップを明白に拒絶することを可能に
する。
2つの部分の結合手順(ステップ54)この手順は、2
つの部分(部分1と部分2)をとり、結合する。吐出者
は、部分1の最後の頂点が部分2の端の頂点の1つと同
じである、すなわち部分2を部分1の端に結合できると
判定したものと仮定する。
部分2は、その包含リストから取除かれて1部分1に付
加され、若し、部分1がここで多角形を定義するなら、
部分1はそのリストから除去され、結果頭載定義に加え
られる。
(IF)若し、部分1の於後の頂点=部分2の最後の頂
点なら、 部分2における頂点の順序を逆にする〇(ENDIF) 部分1の最後の頂点を削除し、部分2を部分1の端に移
動する。
(IF)若し、最後の頂点が部分1の最後の頂点と同じ
なら、 (THEN)多角形は形成されている。
部分1をそのリストから除去する。
(IF)若し、多角形のすべての線のオーバラップ・フ
ラグがセットされるなら、 (THEN) この多角形は両方の領域に共通であるので、その方向を
決めなければならない。
多角形の投射長方形を2等分する水平線、すなわち点(
Xmin、(yrnaX−ymln)/2)と点(x 
+(y −y 、)/2) を結ぶ線を定義max m
ax mtn する。
゛領域に合った線のクリップ手順″(ステラ55)を呼
出し、対象鎖酸の内側の線をクリソする。
1領域に合った線のクリップ手順′(ステラ:55)を
呼出し、クリップ領域の内側の線をり1ツ7述、これら
の2つの結果を比較する。
(IF)若し、各結果の最初の点が異なる。
(OR)または結果の中の1つだけがナルなら、(TH
EN)多角形は異なった方向を有する(〕なわち、一方
は左回りであり、他方は右回りで七る)。
多角形を結果領域定義に移す。
(ELSE)さもなければ、 多角形を削除する。
(ELSE)さもなければ、 多角形を結果領域定義に移す。
(END I F ) (FJNDIF) 領域に合った線のクリップ手順(ステップ55)グ こ
の手順は、領域の内側または外側に合わせてグ 1つの
対象線をクリップする・結果は、偶数個の順序づけられ
た点を含むリストニよって表わされ′° たい(っがの
線である。点の各奇偶対は、線の2j つの終点を定義
する・ 線の主軸を決定する。
(IF)若し、主軸に沿って終点1〉終点2なら、線の
2つの終点をスワップし、 線が逆になったことを記憶する。
(ENDIF) 1交差リスト作成“手順(ステップ56)を呼出し、 (両方向に無限に伸ばされた)線と領域とのすべての交
差のリストを作成する。゛1交差リスト処理′手I@(
ステップ57)を呼出し、 クリップされた線を表わす頂点のリストを作成する。
(IF)元の線が逆になって(・たなら、線の2つの終
点をスワップする。
交差リスト作成手順−(ステップ56)無限に伸ばされ
た線と領域境界とのすべての交差を見つける。
対象線と各境界線の交差を計算し、若し、°交差が境界
線の範囲内なら1.交差リストに加える。
対象線と共線関係の境界線を共線境界線リストに加える
。このリストは1オ一バラツグ線識別1手順によって用
いられ、境界線にオーバラップするクリップされた線の
部分をフラグ表示する。
いったん分類されると、交差リスト−は、延長された対
象線が領域に出入りする各点を定義するので、交差リス
トを走査する場合、奇数番の交差から偶数番の交差への
線は領域内にあり、偶数番の交差から奇数番の交差への
線は領域外にある。
対象線が頂点と交差するか、または境界線と共線関係に
ある(第6図参照)場合、確実に正しい交差数を交差リ
ストに加えることが重要である。
これは、平行線処理手順(ステップ60)と交差付加手
順(ステップ59)によって処理される□(DO)領域
の多角形ごとに下記動作を行なう。
(DO)多角形の頂点ごとに下記動作を行な5゜現在の
頂点から次の頂点への境界線pi−p2を考慮する。
(IP)境界線が対象線に平行なら (THEN、)平行線処理手順(ステップ60)を呼出
す〇 (ELSE)さもなければ、 (IF)交差が境界線の範囲内にあるなら、(T)(E
N、)交差付加手順を呼出す。
(END I F ) (END I F ) (ENDDO) (ENDDO) 交差リスト処理子J@ (ステップ57)この手順は、
交差リストを分類・走査して、どノ交差カ、クリップさ
れた線定義を構成するのに必要であるかを判定する。対
象線の範囲外の交差は除去される。
主軸に沿って交差リストを分類する。
対象線の第1の終点、またはその前での交差での交差を
削除し、カウントする。
若し、カウントが奇数なら、対象線の第1の終点は領域
内にあり、さもなければ領域外にある。
下記の第1表によって対象線の第1の終点を、交差リス
トの先頭に加える。
第1表 交差リストを走査しカウントして、対象線の第2、の終
点の前にある最後の交差を見つける。
(IF)若し、カウントが奇数なら、 対象線の第2の終点を交差リストの終りに付加する・ (END I F ) 第2の終点の後の残りの交査を削除する。
(IF)対象線が交差リスト作成手順(ステップ56)
によって逆にされていたなら、 交差の順序を逆にする。
(END I F ) ここで、交差リストは、クリップされた対象線を定義す
る。
オーバラップ線識別手順を呼出し、 領域境界線とオーバラップする結果の部分をフラグ表示
する。
オーバラップ線識別手順(ステップ58)この手順は、
結果のクリップ線定義における線と間隙を共線境界線リ
ストの境界線と比較する。
境界線とオーバラップする線は、オーバラップしている
ことをフラグ表示される。また、境界線とオーバラップ
する間隙は、オーバラップ線どして、クリップされた線
定義に加えられる。
(Do)クリップされた線定義における奇数番の点ごと
に下記動作を行なう・ (IF)現在の点から次の点への線が、共線境界線リス
トの境界線の1つとオーバラップするなら、この線をオ
ーバラップしているものとしてフラグ表示する。
(END I F ) (IF)次の点からその次の点への線かオーバラップす
るなら、 現在の点の後にこれらの2つの点を加え、間隙を設けて
線を部分し、 新たにできた線を、オーバラップしているものとしてフ
ラグ表示する◇ (END I F ) (EN、DDO) (IF)対象線の第1の終点が、クリップされた結果の
中にないなら(THEN)、 (IF)対象線の第1の終点から、クリップされた線の
第1の点への線がオーバラップしているなら、 (THEN)これらの2つの点を現在の点の後に加えて
線を部分し、新たにできた線を、オーバラップしている
ものとしてフラグ表示する。
(END r F ) (END I F’ ) (IF)対象線の第2の終点が、クリップされた結果の
中にないなら(THEN)、。
(IF)クリップされた結果の中の最後の点から、対象
線の第2の終点への線がオーバラップしているなら、 (THEN )これらの2つの点を現在の点の後に加え
、間隙を設けて線を部分し、新たにできた線を、オーバ
ラップしているものとしてフラグ表示する。
(END I F ) (END I F ) 交差付加手順(ステップ59) この手順は、交差リストに加えるべき交差が0.1つ、
または2つのいずれかであるかを決定する。
若し、交差がPlで生じるなら、この特定の交差は、前
の線のP2として処理されるので、交差リストに加えな
くてもよし・。若し、線がP2で交差するなら、対象線
が領域に接しているかどうかを判定し、若しそうなら、
P2の2つの交差を加え、さもなければ、P2の1つの
交差を加える。若し、交差がPlでもP2でもないなら
、実際の交差を計算し、交差リストに加える・ (IF)若し、交差がPlで生じるなら(THENバ何
もしない。
(ELSE)さもなければ、 (IF)若し、交差がP2で生じるなら(THEN)、
PlからP7)(P2後の次の頂点)への線を考える。
(IF)対象線が、Pl−P!lの範囲内の線P1−P
ろに交差するなら、 (THEN) 対象線は領域に接していない。
点P2を交差リストに2回加える。
(ENDIF) (ELSE) さもなければ、 交差の座標を計算し、 交差点の交差リストに加える・ (ENDIF) (END I F ) 平行線処理手順(ステップ60) この手順は、現在の境界線P 1−P 2に平行な対象
線を処理する0若し、2つめ線が共線でないなら、交差
は付加されない。若し、それらが共線なら、交差付加手
順(ステップ59〕に類似の処理がなされ、対象線が領
域に接しているかどうかを判定する・ 境界線Pi−P2の副軸を決定する。
副軸(C沿ってPlに1を加え、P2から1を引くこと
により線を回転する。
(IF)対象線が、回転した境界線に中心で交差するな
ら、 (THEN) 線は共線である。
PO(Plへの前の頂点)からの線とP3・(P2後の
次の頂点)を考える・ (IF)対象線が、PO−P’3の線内で線po−P3
に交差するなら、 (THEN) 対象線は領域に接していない。
点P2を交差リストに加える。
(ELSE) さもなければ、 対象線は領域に接している・ 点P2を交差リストに二重加える。
(END I F ) (ENDIF) 実行上の注意 線交差の計算 下記の技法を用いて2つの線の交差を計算する。
一定の点計算がずっと使用できるので、丸めの誤差が回
避される。また、どちらかの線に関する交差位置は、実
際の交差の計算を要せずにAtまたはBtを形成する部
分の上部と下部を比較することにより、発見できる。
終点(Axl、Ayl)、(Aa2、Al1)および(
Bxl、By1バ(Bx2、By2)VCよって定義さ
れた2つの線AおよびBを想定し、 Aa = A)’I A)’2 Ab = AX2−AxI Ba = Byl−By2 Bb = Bx2−Bxl bot = (Ab・Ba)−(Aa+1Ba)と置(
若し、bot=oなら、2つの線は平行である。
また、 AtopミBb(Byl−Ayl)+Ab(Byl−A
yl)At = Atop/bot と置く。
若し、Q<モAt〈−1なら、 交差は線Aの範囲内にある。
若し、At(0なら、 交差は点(Axl、Ayl)の側にある。
若し、At>なら、 交差は点(Aa2、Al1)の側にある。
また、 Btop = Aa(Bxl−Axl)Bt = Bt
op/bot と置く。
若し、0(=Bt<=1なら、 交差は線Bの範囲内にある。
若し、Bt(0なら、 交差は点(Bxl、Byl)の側にある。
若し、Bt>1なら、 交差は点(By2、By 2 )の側にある。
点1x、Iyは下記のように、BtまたはAtを用いて
計算できる。
Ix=Ab−At+Ax1=Bb@Bt+BxIIy=
Aa@At+Ayl=Ba@Bt+Bylデータ構造 領域定義は、多角形のリストから成る簡単なデータ構造
で、各多角形は点(頂点)のリングとして表わされる。
領域定義は、領域に関するすべての情報、例えば、領域
投射長方形(x、yの値O最小、最大)、カラー、線形
パターンを含む。
多角形属性は、多角形投射長方形、頂点カウントを含む
ことがある。
魚屑性は、点の座標、ならびに、この点から次の点への
線に関する属性、例えば、X座標、Y座標、カラー、線
の種類、オーバラップ・フラグを含む・ 線定義は、単に2つ以上の点定義の連結であるので、1
つの境界線は、現在の多角形の頂点を渡すだけで、クリ
ップ・ルーチン眞渡される。クリップの結果は、点定義
リストである。線は、各々の奇数番の点とその次の点の
間に存在し、間隙は各々の偶数番の点とその次の点の間
に存在する・第7図に前述の種々の定義の関係を示す。
図中の略語の意味を次に示す。
pap : 多角形アンカーポインタ nxtp : 次のポインタ prvp : 前のポインタ vap : 頂点アノ力・ポインタ 前述の方法は、第2図の概要図に示すよ5なシステムで
実行できる。ホストCPU61は、゛表示制御装置62
に接続されている。表示制御装置62は表示装置63を
制御し、キーボード64とカーソル制御装置65からの
入力信号を受取る。カーソル制御装置65には、例えば
、ライトペン、タプレツ゛ト、またはマウスを使用でき
る。表示装置65のスクリーンに表示されたイメージの
ノ・−トコビーはプロッタ66によって供給される0プ
ロツタ66も表示制御装置62によって制御される。図
形イ、メージは、ユーザが対話的に表示スクリーン上に
作成し、ホストCPU61に記憶して後に使用できるが
、代りに、前述のプロセスを用いて、ハードコピーをプ
ロッタ66によって作成することもある0 該プロセスを実行するシステムの動作を制御する制御方
法は、CPUに記憶された制御ルーチンか、またはディ
スケットに記憶され、表示制御装置のRAMにロードさ
れた制御ルーチンであるかも知れな(・。更に、別の実
施態様は、表示制御装置に、該プロセスを実行するルー
チンを記憶1−ているプログラマブルROMを含む。
〔発明、の効果〕
本発明の方法により、 背景線の各々を、ペンの2倍の幅の細い領域として作成
し、オーバラップするイメージの部分からクリップし、 任意の領域を定義するのに、その領域の境界の回りにペ
ン幅の2倍の細い領域を定義し、この領域を元の領域か
らクリップするという最も簡単な方法を用いて、ホイル
上に作図する際に、例えば、2つの領域が隣接し、それ
ぞれに異なる色が使用される場合に生じる一般的な問題
−インキの乾燥て長い時間がかかるので、インキが流れ
て2つの色が互いに境界沿いに混合されるーを、これら
の領域の1つのペン幅ずつの縮小により解決する、 ことによって良質の作図を行なうことができる。
【図面の簡単な説明】
第1図は本発明の方法を構成する手順を示す図、第2図
は本発明を実行できるシステムのブロック図、 第3図〜第6図は本発明の方法によりオーツ(ラップす
る2つの領域の結合プロセスの例を示す図、第7図は領
域定義その他のデータ構造の関係を示す図である。 61・・・・ホス)CPU、62・・・・表示制御装置
、66・・・・表示装置、64・・・・キーボード、6
5・・・・カーソル制御装置、66・・・・ブロック。 出願人 インターナシタカル・ビジネス・マシニング・
コーポレーション復代理人 弁理士 篠 1) 文 雄 第1図 第2図 第3図 (a) (b) (c) (a) (b) 第4図 第5図 (a) (b) 第6図

Claims (1)

  1. 【特許請求の範囲】 表示リスト記憶装置に領域定義を記憶し、対象領域とク
    リップ領域の一致を判定する図形表示システムであって
    、 (a) 対象領域のクリップ領域を通過しない、少なく
    とも1つの連続する線の部分ごとに別個の項目を含む対
    象領域部分リストを作成・記憶し、(b) クリップ領
    域の対象領域を通過する少なくとも1つの連続する線の
    部分ごとに別個の項目を含むクリップ領域部分リストを
    作成・記憶し、(cl オーバラップする、対象領域と
    クリップ領域の1つの線の部分ごとに別個の項目を含む
    オーバラップ部分リストを作成・記憶し、 (d) 対象領域部分リストの項目ごとに、第1に対象
    領域部分リスト、第2にクリップ領域部分リスト、第3
    にオーバラップ部分リストの未処理の項目を走査して、
    処理中の部分の1つの終点定義と同じ終点定義を有する
    項目を見つけ、見つかった部分と処理中の部分とを結合
    することにより新しい部分を作成し、作成した部分を結
    果部分リストに書込み、結果部分リストの項目の処理を
    、部分がなくなるまで反復し、それによって、結果部分
    リストが、クリップ領域と一致しない、対象領域の部分
    の定義を包み込む、 各ステップを含むことを特徴とする対象領域とクリップ
    領域の一致を判定する図形表示システム。
JP60003408A 1984-05-05 1985-01-14 図形表示システム Pending JPS60239825A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB848411579A GB8411579D0 (en) 1984-05-05 1984-05-05 Graphic display systems
GB8411579 1984-05-05

Publications (1)

Publication Number Publication Date
JPS60239825A true JPS60239825A (ja) 1985-11-28

Family

ID=10560553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60003408A Pending JPS60239825A (ja) 1984-05-05 1985-01-14 図形表示システム

Country Status (6)

Country Link
US (1) US4698779A (ja)
EP (1) EP0163852B1 (ja)
JP (1) JPS60239825A (ja)
CA (1) CA1219377A (ja)
DE (1) DE3587129T2 (ja)
GB (1) GB8411579D0 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63311574A (ja) * 1987-06-15 1988-12-20 Hitachi Ltd 図形処理方法及び装置
JPH0187463U (ja) * 1987-12-02 1989-06-09
JPH0612463A (ja) * 1993-01-14 1994-01-21 Hitachi Ltd 図形選択表示方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853971A (en) * 1985-03-18 1989-08-01 Dainippon Screen Mfg. Co., Ltd. Method and apparatus for processing image data
FR2586838B1 (fr) * 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
US5003498A (en) * 1986-01-13 1991-03-26 Hitachi, Ltd. Graphic display method
US4829446A (en) * 1986-12-12 1989-05-09 Caeco, Inc. Method and apparatus for recording and rearranging representations of objects in a model of a group of objects located using a co-ordinate system
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4958305A (en) * 1987-11-04 1990-09-18 General Electric Company Polygon edge clipping
US5040130A (en) * 1988-09-20 1991-08-13 International Business Machines Corporation Computer graphics boundary--defined area clippping and extraneous edge deletion method
EP0372810A3 (en) * 1988-12-02 1991-07-10 Spectra-Physics, Inc. Inkjet printers
US4980843A (en) * 1988-12-02 1990-12-25 Spectra-Physics Ink saving method for plotters
US5247609A (en) * 1988-12-08 1993-09-21 Thermo Separation Products (California) Inc. Line density control for plotters
DE69033514D1 (de) * 1989-02-08 2000-05-31 Canon Kk Figurverarbeitungsgerät
US5060170A (en) * 1989-08-09 1991-10-22 International Business Machines Corp. Space allocation and positioning method for screen display regions in a variable windowing system
US5146554A (en) * 1989-09-29 1992-09-08 Eastman Kodak Company Page memory control in a raster image processor employed for digital halftoning
US5131049A (en) * 1989-12-08 1992-07-14 Xerox Corporation Identification, characterization, and segmentation of halftone or stippled regions of binary images by growing a seed to a clipping mask
US5231695A (en) * 1990-08-29 1993-07-27 Xerox Corporation Generalized clipping in an extended frame buffer
US6005574A (en) * 1991-07-05 1999-12-21 International Business Machines Corporation Data processing system including method and apparatus for performing graphics clipping operations
EP0521210B1 (en) * 1991-07-05 2000-03-22 International Business Machines Corporation Graphics clipping
DE69132007T2 (de) * 1991-07-05 2000-09-14 Ibm Graphisches Verarbeitungsgerät, -verfahren und -computerprogram
KR940003044B1 (ko) * 1991-09-13 1994-04-11 삼성전자 주식회사 영상합성 방법 및 장치
US5563990A (en) * 1992-10-30 1996-10-08 International Business Machines Corporation Method and apparatus for processing a pick event
US5668931A (en) * 1993-03-31 1997-09-16 Dermer; Richard A. Method for automatic trap selection for correcting for plate misregistration in color printing
US5613046A (en) * 1993-03-31 1997-03-18 Miles Inc. Method and apparatus for correcting for plate misregistration in color printing
US5313570A (en) * 1993-03-31 1994-05-17 Miles, Inc. Method for determining color boundaries for correcting for plate misregistration in color printing
US5613052A (en) * 1993-09-02 1997-03-18 International Business Machines Corporation Method and apparatus for clipping and determining color factors for polygons
US5546524A (en) * 1993-12-15 1996-08-13 International Business Machines Corp. Method and apparatus for interlocking graphical objects
US5574802A (en) * 1994-09-30 1996-11-12 Xerox Corporation Method and apparatus for document element classification by analysis of major white region geometry
US5757963A (en) * 1994-09-30 1998-05-26 Xerox Corporation Method and apparatus for complex column segmentation by major white region pattern matching
US5555556A (en) * 1994-09-30 1996-09-10 Xerox Corporation Method and apparatus for document segmentation by background analysis
US5699453A (en) * 1994-09-30 1997-12-16 Xerox Corporation Method and apparatus for logically tagging of document elements in the column by major white region pattern matching

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816726A (en) * 1972-10-16 1974-06-11 Evans & Sutherland Computer Co Computer graphics clipping system for polygons
US3889107A (en) * 1972-10-16 1975-06-10 Evans & Sutherland Computer Co System of polygon sorting by dissection
US4319339A (en) * 1976-06-11 1982-03-09 James Utzerath Line segment video display apparatus
JPS5326534A (en) * 1976-08-25 1978-03-11 Hitachi Ltd Vi deo display device
FR2451069B1 (fr) * 1979-03-05 1986-04-18 Texas Instruments Inc Procede et dispositif de calcul numerique avec affichage visuel
US4492956A (en) * 1980-02-29 1985-01-08 Calma Company Graphics display system and method including preclipping circuit
US4328550A (en) * 1980-08-08 1982-05-04 Weber John M Programmer unit with composite calculation capability
US4412296A (en) * 1981-06-10 1983-10-25 Smiths Industries, Inc. Graphics clipping circuit
US4622545A (en) * 1982-09-30 1986-11-11 Apple Computer, Inc. Method and apparatus for image compression and manipulation
US4531120A (en) * 1983-01-20 1985-07-23 International Business Machines Corporation Superposing graphic patterns

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63311574A (ja) * 1987-06-15 1988-12-20 Hitachi Ltd 図形処理方法及び装置
JPH0187463U (ja) * 1987-12-02 1989-06-09
JPH0612463A (ja) * 1993-01-14 1994-01-21 Hitachi Ltd 図形選択表示方法

Also Published As

Publication number Publication date
CA1219377A (en) 1987-03-17
GB8411579D0 (en) 1984-06-13
EP0163852A2 (en) 1985-12-11
EP0163852A3 (en) 1990-03-21
US4698779A (en) 1987-10-06
DE3587129T2 (de) 1993-09-16
DE3587129D1 (de) 1993-04-08
EP0163852B1 (en) 1993-03-03

Similar Documents

Publication Publication Date Title
JPS60239825A (ja) 図形表示システム
US4806919A (en) Multi-window display system with modification or manipulation capability
US4855939A (en) 3D Dimensioning in computer aided drafting
JPH0251786A (ja) 走査変換方法
JP2707175B2 (ja) 図形処理システム
JPH0325792B2 (ja)
JPH0336668A (ja) Cadシステムにおける形状生成方式
JP3740193B2 (ja) 画像処理方法及び画像処理装置及びコンピュータ制御装置
JPS6247095A (ja) ボツクス・カ−ソル表示方法
JPH07220115A (ja) 3次元cadシステム
JPH0350686A (ja) 図形処理方式
JP2643617B2 (ja) 建築図等における壁または梁の作図方法およびその装置
JP2782904B2 (ja) 多角形塗りつぶし方式
CN115457166A (zh) 一种不规则圆角多边形绘制方法
JPH04199367A (ja) パラメトリック設計cadシステム
JPH0445487A (ja) 合成表示方法およびその装置
JP2895885B2 (ja) チラシ・カタログ類の割付装置
JPS59171990A (ja) 画像表示装置の画像修正方式
JPH03136173A (ja) 図形編集装置
JPH103471A (ja) 画像処理方法および画像処理装置
JPH0550031B2 (ja)
JPS63289686A (ja) 画像の陰影付与装置
JPH01320583A (ja) 作図エディタ
JPS623293A (ja) ライン移動描画装置
JPS62264091A (ja) 表示パタ−ン移動表示方式