JPH036785A - クリッピング回路 - Google Patents
クリッピング回路Info
- Publication number
- JPH036785A JPH036785A JP1142513A JP14251389A JPH036785A JP H036785 A JPH036785 A JP H036785A JP 1142513 A JP1142513 A JP 1142513A JP 14251389 A JP14251389 A JP 14251389A JP H036785 A JPH036785 A JP H036785A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- clipping
- boundary
- coordinates
- circuit
- 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
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明はグラフィック・デイスプレィ装置のクリッピン
グ回路に関し 特に多角形を表す頂点の座標系列を入力
とし クリッピング領域外部に存在する部分を除去し
内部に存在する部分のみからなる新たな多角形を構成す
る頂点の座標系列を出力するクリッピング回路に関すも 従来の技術 グラフィック・デイスプレィ装置において物体を表示す
る暇 ビューボートを越えて図形が現れる場合が生じつ
る。この場合表示図形がビューボート内に収まるように
物体のはみ出した部分を切り取る必要があム この処理
はクリッピングと呼ばれ 切り取るための境界はクリッ
ピング境界と呼ばれ 一般11:l−、表示物体が2次
元物体であるときはクリッピング境界は複数の2次元直
線で構成され 表示物体が3次元物体であるときはクリ
ッピング境界は複数の3次元平面で構成される。
グ回路に関し 特に多角形を表す頂点の座標系列を入力
とし クリッピング領域外部に存在する部分を除去し
内部に存在する部分のみからなる新たな多角形を構成す
る頂点の座標系列を出力するクリッピング回路に関すも 従来の技術 グラフィック・デイスプレィ装置において物体を表示す
る暇 ビューボートを越えて図形が現れる場合が生じつ
る。この場合表示図形がビューボート内に収まるように
物体のはみ出した部分を切り取る必要があム この処理
はクリッピングと呼ばれ 切り取るための境界はクリッ
ピング境界と呼ばれ 一般11:l−、表示物体が2次
元物体であるときはクリッピング境界は複数の2次元直
線で構成され 表示物体が3次元物体であるときはクリ
ッピング境界は複数の3次元平面で構成される。
人 表示物体は2次元物体の場合でも3次元物体の場合
でも多角形の集合として近似的に表現されることが多(
〜 従って、クリッピングの処理は物体を構成する各々
の多角形の不要な部分を複数のクリッピング境界面また
は境界線に対して切り取るという処理であると考えられ
る(以後、クリッピング境界面とクリッピング境界線を
まとめて「クリッピング境界」と呼ぶものとする)。こ
のクリッピング処理に対する有力な解法として(よ ア
イ・イー・サザーランドとジー・ダブリュー・ホッジマ
ン(1,E、5uther−1ancl anci G
、W、Hod geman)による「リエントラントボ
リゴンクリッピング」コミュニケーションズ・オブ・ジ
・エイ・シー・工な 第17@ 第1号(’Reen
trant Pol ygon CC11p−pin、
’CACM、 Vol、 17. No、 1)、p
p32−42.1974=L で示されている方法が
挙げられも この方法では クリッピングの対象となる
多角形を頂点の列として人力し クリッピング境界を構
成する直線または平面の1つの境界についてクリッピン
グ処理を行(X、1つの境界についての処理が終わると
、その処理結果として出力される頂点の列で構成される
多角形を新たな人力として次の境界についてのクリッピ
ング処理を行う。この方法の特徴は前記の1つ1つのク
リッピング境界ごとに順次処理を行うことに加えて、多
角形を頂点の系列と考えて2つの隣接する頂点を結ぶ線
分に対してクリッピング処理を行うということであム
ある1つのクリッピング境界と多角形を構成する2つの
隣接する頂点の位置関係を第8図に示す。第8図の(a
)〜(d)において801はクリッピング境界を、80
2はクリッピング境界801に対する内側を、803は
クリッピング境界801に対する外側を示す。な抵 ク
リッピング境界801そのもの(′!S 内側802ま
たは外側803のいずれか一方に含まれるものとすム
頂点P804と頂点Q805C& 先に頂点P804
が入力されその次に頂点Q805が入力されたものとす
も 第8図の(a)It2つの頂点P804とQ805
がともに内側802にある場合を示していも この場合
、線分PQ806もまた内側802にあム 第8図の(
b)(よ 2つの頂点P804とQ805がともに外側
803にある場合を示していも この場合、線分PQ8
06もまた外側にあム 第8図の(C)(表 頂点P8
04が内側802にありQ805が外側803にある場
合を示していも この場合、線分PQ806とクリッピ
ング境界801との交点をR807とすると線分PR8
08が内側にあム 第8図の(d)It 頂点Q80
5が内側802にありR804が外側803にある場合
を示していもこの場合、線分PQ806とクリッピング
境界801との交点をR807とすると線分RQ809
が内側にあム 従って第8図の各々の場合に応じて不要
な部分を切り取ることにより、入力された多角形の頂点
の系列に対するクリッピングされた多角形の頂点の系列
が生成されも 第9図へ 第8図の(a)〜(d)の各
々の場合に応じて出力すべき頂点を示す。順次入力され
たすべての頂点について、隣接する2つの頂点とクリッ
ピング境界との位置関係を判定し第9図に従って入力さ
れた頂点および/または交点の座標を出力することによ
り、そのクリッピング境界に対する1つの多角形のクリ
ッピング処理が完了すa 第10図に示した多角形A
B CD 1001について前記の方法を適用した場合
の具体的な処理の流れを以下に説明する。第10図にお
いて、1001はクリッピングの対象となる多角形AB
CDを、1002はクリッピング境界を、1003はク
リッピング境界1002に対する内側を、1004はク
リッピング境界1002に対する外側を示す。な耘 多
角形1001の頂点はA、B、C,Dの順に入力される
ものとすムまず最初に頂点A 1005が入力される。
でも多角形の集合として近似的に表現されることが多(
〜 従って、クリッピングの処理は物体を構成する各々
の多角形の不要な部分を複数のクリッピング境界面また
は境界線に対して切り取るという処理であると考えられ
る(以後、クリッピング境界面とクリッピング境界線を
まとめて「クリッピング境界」と呼ぶものとする)。こ
のクリッピング処理に対する有力な解法として(よ ア
イ・イー・サザーランドとジー・ダブリュー・ホッジマ
ン(1,E、5uther−1ancl anci G
、W、Hod geman)による「リエントラントボ
リゴンクリッピング」コミュニケーションズ・オブ・ジ
・エイ・シー・工な 第17@ 第1号(’Reen
trant Pol ygon CC11p−pin、
’CACM、 Vol、 17. No、 1)、p
p32−42.1974=L で示されている方法が
挙げられも この方法では クリッピングの対象となる
多角形を頂点の列として人力し クリッピング境界を構
成する直線または平面の1つの境界についてクリッピン
グ処理を行(X、1つの境界についての処理が終わると
、その処理結果として出力される頂点の列で構成される
多角形を新たな人力として次の境界についてのクリッピ
ング処理を行う。この方法の特徴は前記の1つ1つのク
リッピング境界ごとに順次処理を行うことに加えて、多
角形を頂点の系列と考えて2つの隣接する頂点を結ぶ線
分に対してクリッピング処理を行うということであム
ある1つのクリッピング境界と多角形を構成する2つの
隣接する頂点の位置関係を第8図に示す。第8図の(a
)〜(d)において801はクリッピング境界を、80
2はクリッピング境界801に対する内側を、803は
クリッピング境界801に対する外側を示す。な抵 ク
リッピング境界801そのもの(′!S 内側802ま
たは外側803のいずれか一方に含まれるものとすム
頂点P804と頂点Q805C& 先に頂点P804
が入力されその次に頂点Q805が入力されたものとす
も 第8図の(a)It2つの頂点P804とQ805
がともに内側802にある場合を示していも この場合
、線分PQ806もまた内側802にあム 第8図の(
b)(よ 2つの頂点P804とQ805がともに外側
803にある場合を示していも この場合、線分PQ8
06もまた外側にあム 第8図の(C)(表 頂点P8
04が内側802にありQ805が外側803にある場
合を示していも この場合、線分PQ806とクリッピ
ング境界801との交点をR807とすると線分PR8
08が内側にあム 第8図の(d)It 頂点Q80
5が内側802にありR804が外側803にある場合
を示していもこの場合、線分PQ806とクリッピング
境界801との交点をR807とすると線分RQ809
が内側にあム 従って第8図の各々の場合に応じて不要
な部分を切り取ることにより、入力された多角形の頂点
の系列に対するクリッピングされた多角形の頂点の系列
が生成されも 第9図へ 第8図の(a)〜(d)の各
々の場合に応じて出力すべき頂点を示す。順次入力され
たすべての頂点について、隣接する2つの頂点とクリッ
ピング境界との位置関係を判定し第9図に従って入力さ
れた頂点および/または交点の座標を出力することによ
り、そのクリッピング境界に対する1つの多角形のクリ
ッピング処理が完了すa 第10図に示した多角形A
B CD 1001について前記の方法を適用した場合
の具体的な処理の流れを以下に説明する。第10図にお
いて、1001はクリッピングの対象となる多角形AB
CDを、1002はクリッピング境界を、1003はク
リッピング境界1002に対する内側を、1004はク
リッピング境界1002に対する外側を示す。な耘 多
角形1001の頂点はA、B、C,Dの順に入力される
ものとすムまず最初に頂点A 1005が入力される。
頂点A 1005は内側1003にあム 次に頂点B
1006が入力されも頂点B 1006もまた内側10
03にあることか技 線分A B 1007には前記の
第8図または第9図の(a)の場合が適用され 頂点B
1006が出力されも 次に頂点C1008が人力さ
れも 頂点C1008は外側1004にあることか技
線分B C1009には前記の第8図または第9図の(
C)の場合が適用され 線分BC1009とクリッピン
グ境界1002との交点E 1010が出力され4 次
に頂点D 1011が入力されム 頂点D 1011は
外側1004にあることか収 線分CD 1012には
前記の第8図または第9図の(b)の場合が適用され頂
点は出力されな(−最後ζζ 再度頂点A 1005が
人力される力\ または最初に頂点A10Q5が入力さ
れたときに保持していたクリッピング境界1002に対
する頂点A1005の内外判定結果を参照すると、頂点
A 1005は内側1003にあることか仮 線分DA
1013には前記の第8図または第9図の(d)の場合
が適用され 線分D A 1013とクリッピング境界
1002との交点F 1014かまず出力され その後
に頂点A1005が出力されも 以上の結果 入力され
た多角形1001に対してクリッピング境界1002の
外側1004にある部分を取り除いた多角形の頂点の列
として、4つの頂点B、E、F、Aが出力される。な抵
第11図に以上の処理の流れを一覧にして示す。第1
1図において「位置関係」の欄(戴 「1つ前に人力さ
れた頂点」と「(今、)人力された頂点」でできる線分
とクリッピング境界1002との位置関係に対して、前
記の第8図または第9図の4通りのいずれの場合が適用
されたかを示していも 発明が解決しようとする課題 しかしなか収 以上に述べたクリッピング処理の方法に
基づくクリッピング回路において法 クリッピング境界
上に存在するような頂点を含んだ多角形を入力したとき
ベ クリッピング境界上の頂点が重複して出力されると
いう問題があっ九第12図に示す多角形A B CD
1201を用いて具体的に説明すも 第12図において
、1202はクリッピング境界を、1203はクリッピ
ング境界1202に対する内側を、1204はクリッピ
ング境界1202に対する外側を示も な抵 クリッピ
ング境界1202そのものは内側1203に含まれるも
のとすム また頂点B1206およびD 1210はク
リッピング境界1202上にあるものとナム な抵 多
角形1201の頂点はA、B、C1Dの順に入力される
ものとすム まず最初に頂点Al2O5が入力されも
頂点A 1205は内側1203ニあム 次に頂点B
1206が入力されも 頂点B 1206はクリッピン
グ境界1202上の頂点であa 従って、先の仮定から
頂点B 1206もまた内側1203にあることか技
線分A B 1207には前記の第8図または第9図の
(a)の場合が適用され 頂点B1206が出力される
。次に頂点C1208が゛入力されも 頂点C1208
は外側1204にあることか社 線分B C1209に
は前記の第8図または第9図の(C)の場合が適用さべ
線分B C1209とクリッピング境界1202との交
点が出力される力(この交点は頂点B 1206に等し
く、再度頂点B1206が出力されることになム 次に
頂点D1210が入力されも 頂点D 1210はクリ
ッピング境界1202上の頂点であム 従って、先の仮
定から頂点D 1210もまた内側1203にあること
か仮 線分CD 1211には前記の第8図または第9
図の(d)の場合が適用され 線分CD I211とク
リッピング境界1202との交点がまず出力され その
後に頂点D1210が出力される力士 この交点は頂点
D1210に等しく〜 従って、頂点D 1210が2
つ続けて出力されム 最後艮 再度頂点A 1205が
入力される力\ または最初に頂点A 1205が入力
されたときに保持していたクリッピング境界1202に
対する頂点A 1205の内外判定結果を参照すると、
頂点A 1205は内側1203にあることか仮 線分
D A 1212には前記の第8図または第9図の(a
)の場合が適用され 頂点Al2O5が出力されも 以
上の結果 入力された多角形1201に対してクリッピ
ング境界1202の外側I204にある部分を取り除い
た多角形の頂点の列として、5つの頂点B、B、D、D
、Aが出力されも 従って、クリッピング境界1202
上の頂点B 1206および頂点DI210が各々2度
ずつ出力されたことになも 第13図に以上の処理の流
れを一覧にして示九 以上の例で1よ クリッピング境
界そのものを内側に含まれるものとしてい九 逆にクリ
ッピング境界そのものが外側に含まれるものとした場合
を考えもこの場合に(上 第12図に示した多角形12
01を入力したとき、途中の経過を省略する力士 同様
に前記の第8図または第9図の各々の場合を適用して行
くと、第14図に示したようになり、クリッピングの結
果として3つの頂点の列B、D、Aが重複することなく
出力され 前記の問題点がないかのように思われる。し
かし クリッピング境界そのものが外側に含まれるとし
た場合にL やはりクリッピング境界上の頂点を含む多
角形を人力したとき(ミ クリッピング境界上にある頂
点が重複して出力される例を第15図に示も 第15図
において、1501はクリッピングの対象となる多角形
ABCDを、1502はクリッピング境界を、1503
はクリッピング境界1502に対する内側を、1504
はクリッピング境界l502に対する外側を示し 頂点
C1505がクリッピング境界1502上にあるものと
すム この場合に(よ 多角形1501を入力したとき
、途中の経過を省略する力士 同様に前記の第8図また
は第9図の各々の場合を適用して行くと、第16図に示
したようになり、クリッピングの結果として5つの頂点
の列B、C,C,D、Aが出力され 頂点C1505が
重複して出力されも 以上のようペ クリッピング境界
そのものが内側または外側のいずれの方に含まれるとし
て耘 クリッピング境界上にある頂点を含む多角形を入
力したとき、 この従来のクリッピング方法に基づくク
リッピング回路では クリッピング境界上にある頂点が
重複して出力されることは避けられなかっ九 一般鳳
クリッピングの処理は複数のクリッピング境界に対して
行われるたべ 1つのクリッピング境界に対して処理さ
れ出力された多角形の頂点の列を、次のクリッピング境
界に対する処理の入力として用いも 従って、途中のク
リッピングの処理において重複して出力された頂点に対
する処理(友 全く無駄な処理上なも このようζζ
従来のクリッピング回路で1よりリッピング境界上にあ
る頂点を含む多角形が入力された場合に処理量が増加す
るという問題点かあっ九 本発明はかかる点に鑑へ ク
リッピング境界上にある頂点を含む多角形に対してL
同一の頂点を重複して出力せず、無駄な処理の増加を招
かないようなりリッピング回路を提供することを目的と
すム 課題を解決するための手段 本発明は 前記の問題点を解決するために 人力された
多角形の頂点の座標を保持する頂点レジスタと、クリッ
ピング領域を表す境界面または境界線の方程式を保持す
る境界レジスタと、前記の境界レジスタの出力する境界
面または境界線の方程式と前記の入力された頂点の座標
とを入力としてその座標をもつ頂点が前記の境界面また
は境界線に対して内側に存在するか外側に存在するかも
しくは境界面または境界線の上に存在するかを判定する
内外判定回路と、前記の頂点レジスタの保持する頂点系
列における1つ前の頂点に対して前記の内外判定回路に
よって判定された結果を保持する内外判定結果レジスタ
と、前記の内外判定回路の出力する第1の内外判定結果
と前記の内外判定結果レジスタに保持された第2の内外
判定結果を入力としクリッピングの結果として出力すべ
き座標を判定するクリッピング判定回路と、前記の入力
された頂点の座標と前記の頂点レジスタの保持する座標
を2つの端点とする線分と前記の境界レジスタの出力す
る境界面または境界線の方程式を入力として前記の線分
と前記の境界面または境界線との交点の座標を前記のク
リッピング判定回路の出力に応じて計算する交点計算回
路と、前記の入力された頂点の座標と前記の交点計算回
路の出力する交点の座標から0ないし2つの座標を前記
のクリッピング判定回路の出力に応じて選択し順序付け
て出力する頂点出力回路とを具備することを特徴とする
クリッピング回路である。
1006が入力されも頂点B 1006もまた内側10
03にあることか技 線分A B 1007には前記の
第8図または第9図の(a)の場合が適用され 頂点B
1006が出力されも 次に頂点C1008が人力さ
れも 頂点C1008は外側1004にあることか技
線分B C1009には前記の第8図または第9図の(
C)の場合が適用され 線分BC1009とクリッピン
グ境界1002との交点E 1010が出力され4 次
に頂点D 1011が入力されム 頂点D 1011は
外側1004にあることか収 線分CD 1012には
前記の第8図または第9図の(b)の場合が適用され頂
点は出力されな(−最後ζζ 再度頂点A 1005が
人力される力\ または最初に頂点A10Q5が入力さ
れたときに保持していたクリッピング境界1002に対
する頂点A1005の内外判定結果を参照すると、頂点
A 1005は内側1003にあることか仮 線分DA
1013には前記の第8図または第9図の(d)の場合
が適用され 線分D A 1013とクリッピング境界
1002との交点F 1014かまず出力され その後
に頂点A1005が出力されも 以上の結果 入力され
た多角形1001に対してクリッピング境界1002の
外側1004にある部分を取り除いた多角形の頂点の列
として、4つの頂点B、E、F、Aが出力される。な抵
第11図に以上の処理の流れを一覧にして示す。第1
1図において「位置関係」の欄(戴 「1つ前に人力さ
れた頂点」と「(今、)人力された頂点」でできる線分
とクリッピング境界1002との位置関係に対して、前
記の第8図または第9図の4通りのいずれの場合が適用
されたかを示していも 発明が解決しようとする課題 しかしなか収 以上に述べたクリッピング処理の方法に
基づくクリッピング回路において法 クリッピング境界
上に存在するような頂点を含んだ多角形を入力したとき
ベ クリッピング境界上の頂点が重複して出力されると
いう問題があっ九第12図に示す多角形A B CD
1201を用いて具体的に説明すも 第12図において
、1202はクリッピング境界を、1203はクリッピ
ング境界1202に対する内側を、1204はクリッピ
ング境界1202に対する外側を示も な抵 クリッピ
ング境界1202そのものは内側1203に含まれるも
のとすム また頂点B1206およびD 1210はク
リッピング境界1202上にあるものとナム な抵 多
角形1201の頂点はA、B、C1Dの順に入力される
ものとすム まず最初に頂点Al2O5が入力されも
頂点A 1205は内側1203ニあム 次に頂点B
1206が入力されも 頂点B 1206はクリッピン
グ境界1202上の頂点であa 従って、先の仮定から
頂点B 1206もまた内側1203にあることか技
線分A B 1207には前記の第8図または第9図の
(a)の場合が適用され 頂点B1206が出力される
。次に頂点C1208が゛入力されも 頂点C1208
は外側1204にあることか社 線分B C1209に
は前記の第8図または第9図の(C)の場合が適用さべ
線分B C1209とクリッピング境界1202との交
点が出力される力(この交点は頂点B 1206に等し
く、再度頂点B1206が出力されることになム 次に
頂点D1210が入力されも 頂点D 1210はクリ
ッピング境界1202上の頂点であム 従って、先の仮
定から頂点D 1210もまた内側1203にあること
か仮 線分CD 1211には前記の第8図または第9
図の(d)の場合が適用され 線分CD I211とク
リッピング境界1202との交点がまず出力され その
後に頂点D1210が出力される力士 この交点は頂点
D1210に等しく〜 従って、頂点D 1210が2
つ続けて出力されム 最後艮 再度頂点A 1205が
入力される力\ または最初に頂点A 1205が入力
されたときに保持していたクリッピング境界1202に
対する頂点A 1205の内外判定結果を参照すると、
頂点A 1205は内側1203にあることか仮 線分
D A 1212には前記の第8図または第9図の(a
)の場合が適用され 頂点Al2O5が出力されも 以
上の結果 入力された多角形1201に対してクリッピ
ング境界1202の外側I204にある部分を取り除い
た多角形の頂点の列として、5つの頂点B、B、D、D
、Aが出力されも 従って、クリッピング境界1202
上の頂点B 1206および頂点DI210が各々2度
ずつ出力されたことになも 第13図に以上の処理の流
れを一覧にして示九 以上の例で1よ クリッピング境
界そのものを内側に含まれるものとしてい九 逆にクリ
ッピング境界そのものが外側に含まれるものとした場合
を考えもこの場合に(上 第12図に示した多角形12
01を入力したとき、途中の経過を省略する力士 同様
に前記の第8図または第9図の各々の場合を適用して行
くと、第14図に示したようになり、クリッピングの結
果として3つの頂点の列B、D、Aが重複することなく
出力され 前記の問題点がないかのように思われる。し
かし クリッピング境界そのものが外側に含まれるとし
た場合にL やはりクリッピング境界上の頂点を含む多
角形を人力したとき(ミ クリッピング境界上にある頂
点が重複して出力される例を第15図に示も 第15図
において、1501はクリッピングの対象となる多角形
ABCDを、1502はクリッピング境界を、1503
はクリッピング境界1502に対する内側を、1504
はクリッピング境界l502に対する外側を示し 頂点
C1505がクリッピング境界1502上にあるものと
すム この場合に(よ 多角形1501を入力したとき
、途中の経過を省略する力士 同様に前記の第8図また
は第9図の各々の場合を適用して行くと、第16図に示
したようになり、クリッピングの結果として5つの頂点
の列B、C,C,D、Aが出力され 頂点C1505が
重複して出力されも 以上のようペ クリッピング境界
そのものが内側または外側のいずれの方に含まれるとし
て耘 クリッピング境界上にある頂点を含む多角形を入
力したとき、 この従来のクリッピング方法に基づくク
リッピング回路では クリッピング境界上にある頂点が
重複して出力されることは避けられなかっ九 一般鳳
クリッピングの処理は複数のクリッピング境界に対して
行われるたべ 1つのクリッピング境界に対して処理さ
れ出力された多角形の頂点の列を、次のクリッピング境
界に対する処理の入力として用いも 従って、途中のク
リッピングの処理において重複して出力された頂点に対
する処理(友 全く無駄な処理上なも このようζζ
従来のクリッピング回路で1よりリッピング境界上にあ
る頂点を含む多角形が入力された場合に処理量が増加す
るという問題点かあっ九 本発明はかかる点に鑑へ ク
リッピング境界上にある頂点を含む多角形に対してL
同一の頂点を重複して出力せず、無駄な処理の増加を招
かないようなりリッピング回路を提供することを目的と
すム 課題を解決するための手段 本発明は 前記の問題点を解決するために 人力された
多角形の頂点の座標を保持する頂点レジスタと、クリッ
ピング領域を表す境界面または境界線の方程式を保持す
る境界レジスタと、前記の境界レジスタの出力する境界
面または境界線の方程式と前記の入力された頂点の座標
とを入力としてその座標をもつ頂点が前記の境界面また
は境界線に対して内側に存在するか外側に存在するかも
しくは境界面または境界線の上に存在するかを判定する
内外判定回路と、前記の頂点レジスタの保持する頂点系
列における1つ前の頂点に対して前記の内外判定回路に
よって判定された結果を保持する内外判定結果レジスタ
と、前記の内外判定回路の出力する第1の内外判定結果
と前記の内外判定結果レジスタに保持された第2の内外
判定結果を入力としクリッピングの結果として出力すべ
き座標を判定するクリッピング判定回路と、前記の入力
された頂点の座標と前記の頂点レジスタの保持する座標
を2つの端点とする線分と前記の境界レジスタの出力す
る境界面または境界線の方程式を入力として前記の線分
と前記の境界面または境界線との交点の座標を前記のク
リッピング判定回路の出力に応じて計算する交点計算回
路と、前記の入力された頂点の座標と前記の交点計算回
路の出力する交点の座標から0ないし2つの座標を前記
のクリッピング判定回路の出力に応じて選択し順序付け
て出力する頂点出力回路とを具備することを特徴とする
クリッピング回路である。
作用
本発明は前記の構成により、入力された多角形の頂点の
座標と、クリッピング境界との位置関係を内外判定回路
によって、内側か外側かまたは境界上にあるかのいずれ
であるか判定し この判定結果と先に入力され頂点レジ
スタに保持されている1つ前の頂点に対して得られ 内
外判定結果レジスタに保持されている内外判定結果とを
用いて、クリッピング判定回路によってこれら隣接する
2つの頂点を結ぶ線分と前記のクリッピング境界との位
置関係を判定し 必要に応じて交点計算回路で算出され
た前記の線分とクリッピング境界との交点の座標と、入
力された頂点の座標を、それぞれの位置関係に応じて頂
点出力回路を介して出力することにより、クリッピング
の処理を行う。
座標と、クリッピング境界との位置関係を内外判定回路
によって、内側か外側かまたは境界上にあるかのいずれ
であるか判定し この判定結果と先に入力され頂点レジ
スタに保持されている1つ前の頂点に対して得られ 内
外判定結果レジスタに保持されている内外判定結果とを
用いて、クリッピング判定回路によってこれら隣接する
2つの頂点を結ぶ線分と前記のクリッピング境界との位
置関係を判定し 必要に応じて交点計算回路で算出され
た前記の線分とクリッピング境界との交点の座標と、入
力された頂点の座標を、それぞれの位置関係に応じて頂
点出力回路を介して出力することにより、クリッピング
の処理を行う。
実施例
第1図(よ 本発明のクリッピング回路の一実施例の構
成を示すブロック図であも 第1図において101は順
次に入力される多角形の頂点の座標を、102は頂点レ
ジスタを、103は境界レジスタを、104は境界レジ
スタ103の出力するクリッピング境界の方程式を、1
05は内外判定回路を、106は内外判定回路105の
出力する内外判定結果を、107は内外判定結果105
を保持する内外判定結果レジスタを、108は内外判定
結果レジスタ107に保持されていゑ頂点系列における
1つ前の頂点に対する内外判定結果を、109はクリッ
ピング判定回路を、110はクリッピング判定回路10
9の出力する制御信号を、111は頂点レジスタ102
に保持されていべ 頂点系列における1つ前の頂点の座
標を、112は交点計算回路を、113は交点計算回路
112の出力する交点の座標を、114は頂点出力回路
を、115はクリッピング処理の結果として出力される
頂点の座標を示していも 以上のように構成された本発
明のクリッピング回路の動作を以下に説明する。まず、
多角形を構成する頂点の座標が図示しない外部回路から
順次1座標ずつ入力されも 入力された頂点の座標は頂
点レジスタ102に格納されるとともに 内外判定回路
105.交点計算回路112および頂点出力回路114
に供給されも 境界レジスタ103は少なくとも現在処
理の対象となっているクリッピング境界を含む複数のク
リッピング境界の方程式を保持しており、現在処理の対
象となっているクリッピング境界の方程式104を出力
し内外判定回路105および交点計算回路112に供給
すム 内外判定回路105は入力された頂点の座標10
1と、クリッピング境界の方程式から幾何学における公
知の技術を用いて、その頂点とクリッピング境界との位
置関係を判定すa 位置関係には第2図の(a)〜(C
)に示す3通りの場合があム 第2図で、201はクリ
ッピング境界を、202はクリッピング境界201に対
する内側を、203はクリッピング境界201に対する
外側を、204は入力された頂点をそれぞれ示していも
但し クリッピング境界201は内側202および外
側203のいずれにも含まれないものとすム 第2図の
(a)は頂点204がクリッピング境界201に対して
内側202にある場合を、(b)は頂点204がクリッ
ピング境界201上にある場合を、(C)は頂点204
がクリッピング境界201に対して外側203にある場
合を、それぞれ示していも 内外判定回路105は前記
の3通りのいずれであるかを示す信号を判定結果106
として出力し 内外判定結果レジスタ107に格納する
ととも置 クリッピング判定回路109に供給すム ク
リッピング判定回路1091:L 入力された頂点1
01に対する内外判定結果106と、内外判定結果レジ
スタ107に保持されていム 多角形の頂点系列におい
て1つ前の頂点に対する内外判定結果108を用いて、
現在入力された頂点とその1つ前の頂点とを結ぶ線分と
、クリッピング境界との位置関係を判定し クリッピン
グ処理の結果として出力すべき頂点の座標を決定し 頂
点出力回路114に対して制御信号110を供給すム
このとき、前記の線分とクリッピング境界との交点を出
力すべきであると判断した場合に(上 交点計算回路1
12に対しても交点113の計算を指示する制御信号1
10を供給すム 第3図の(a)〜(i)に前記の線分
とクリッピング境界との9通りのすべての位置関係を示
す。第3図において、201〜203(よ 第2図と同
一のものであム 301は1つ前に入力された頂点Pを
、302は現在人力f7いる頂点Qを、303は線分P
Qとクリッピング境界201との交点Rを、それぞれ示
していも 第4図番へ 第3図の各々の場合に対応し
て、入力された頂点の座標101に対する内外判定結果
106と、内外判定結果レジスタ107に保持されてい
る多角形の頂点系列において1つ前の頂点に対する内外
判定結果108と、クリッピング判定回路109におい
て出力すべきであると判定される頂点の関係を示す。第
4図に示した関係(戴 前記の第9図に示した関係を完
全に包含しているた教 クリッピング境界上にない頂点
については 従来のクリッピング回路と同様に処理でき
ることは保証される。交点計算回路112 にj入力さ
れた頂点の座標101と、頂点レジスタ102に保持さ
れている多角形の頂点系列において1つ前の頂点の座標
111と、境界レジスタ103に保持されてい& 現在
処理の対象となっているクリッピング境界の方程式10
4を用いて、現在入力された頂点とその1つ前の頂点と
を結ぶ線分とクリッピング境界との交点の座標を、クリ
ッピング判定回路■09の判定結果を示す制御信号11
0に応じて計算すム頂点出力回路114fi クリッ
ピング判定回路109の判定結果を示す制御信号110
に応じて(即ち第4図の関係に応じて)、交点計算回路
112で必要に応じて計算された交点の座標113と、
現在入力されている頂点の座標101か=0ないし2つ
の頂点の座標115を順序付けて出力すム 前記の第1
0@ 第12@および第15図の各々に示した多角形
に対して、本発明のクリッピング回路を用いてクリッピ
ング処理を行った場合の処理の流れを一覧にして、それ
ぞれ第5@ 第6@ および第7図に示す。前記の第1
0図の例の多角形に対して(友 4つの頂点の列B、E
、F、A力交 第12図の例の多角形に対しては3つの
頂点の列B、D、Aカ(第15図の例の多角形に対して
は4つの頂点の列B、C,D、Aカ(それぞれ頂点が重
複することなく出力されム な飄 本発明の実施例の構
成を示す際に用いた第1図で(よ各構成要素(回路およ
びレジスタ)を独立したノ)−ドウエアとして個別に表
している戟 通常のCPU(中央処理装置)を用いて、
各回路の機能をソフトウェアによって実現してもよく、
各レジスタを通常のメモリ装置やCPUのレジスタによ
って実現して杖 本発明のクリッピング回路を構成でき
ることを付は加えておく。
成を示すブロック図であも 第1図において101は順
次に入力される多角形の頂点の座標を、102は頂点レ
ジスタを、103は境界レジスタを、104は境界レジ
スタ103の出力するクリッピング境界の方程式を、1
05は内外判定回路を、106は内外判定回路105の
出力する内外判定結果を、107は内外判定結果105
を保持する内外判定結果レジスタを、108は内外判定
結果レジスタ107に保持されていゑ頂点系列における
1つ前の頂点に対する内外判定結果を、109はクリッ
ピング判定回路を、110はクリッピング判定回路10
9の出力する制御信号を、111は頂点レジスタ102
に保持されていべ 頂点系列における1つ前の頂点の座
標を、112は交点計算回路を、113は交点計算回路
112の出力する交点の座標を、114は頂点出力回路
を、115はクリッピング処理の結果として出力される
頂点の座標を示していも 以上のように構成された本発
明のクリッピング回路の動作を以下に説明する。まず、
多角形を構成する頂点の座標が図示しない外部回路から
順次1座標ずつ入力されも 入力された頂点の座標は頂
点レジスタ102に格納されるとともに 内外判定回路
105.交点計算回路112および頂点出力回路114
に供給されも 境界レジスタ103は少なくとも現在処
理の対象となっているクリッピング境界を含む複数のク
リッピング境界の方程式を保持しており、現在処理の対
象となっているクリッピング境界の方程式104を出力
し内外判定回路105および交点計算回路112に供給
すム 内外判定回路105は入力された頂点の座標10
1と、クリッピング境界の方程式から幾何学における公
知の技術を用いて、その頂点とクリッピング境界との位
置関係を判定すa 位置関係には第2図の(a)〜(C
)に示す3通りの場合があム 第2図で、201はクリ
ッピング境界を、202はクリッピング境界201に対
する内側を、203はクリッピング境界201に対する
外側を、204は入力された頂点をそれぞれ示していも
但し クリッピング境界201は内側202および外
側203のいずれにも含まれないものとすム 第2図の
(a)は頂点204がクリッピング境界201に対して
内側202にある場合を、(b)は頂点204がクリッ
ピング境界201上にある場合を、(C)は頂点204
がクリッピング境界201に対して外側203にある場
合を、それぞれ示していも 内外判定回路105は前記
の3通りのいずれであるかを示す信号を判定結果106
として出力し 内外判定結果レジスタ107に格納する
ととも置 クリッピング判定回路109に供給すム ク
リッピング判定回路1091:L 入力された頂点1
01に対する内外判定結果106と、内外判定結果レジ
スタ107に保持されていム 多角形の頂点系列におい
て1つ前の頂点に対する内外判定結果108を用いて、
現在入力された頂点とその1つ前の頂点とを結ぶ線分と
、クリッピング境界との位置関係を判定し クリッピン
グ処理の結果として出力すべき頂点の座標を決定し 頂
点出力回路114に対して制御信号110を供給すム
このとき、前記の線分とクリッピング境界との交点を出
力すべきであると判断した場合に(上 交点計算回路1
12に対しても交点113の計算を指示する制御信号1
10を供給すム 第3図の(a)〜(i)に前記の線分
とクリッピング境界との9通りのすべての位置関係を示
す。第3図において、201〜203(よ 第2図と同
一のものであム 301は1つ前に入力された頂点Pを
、302は現在人力f7いる頂点Qを、303は線分P
Qとクリッピング境界201との交点Rを、それぞれ示
していも 第4図番へ 第3図の各々の場合に対応し
て、入力された頂点の座標101に対する内外判定結果
106と、内外判定結果レジスタ107に保持されてい
る多角形の頂点系列において1つ前の頂点に対する内外
判定結果108と、クリッピング判定回路109におい
て出力すべきであると判定される頂点の関係を示す。第
4図に示した関係(戴 前記の第9図に示した関係を完
全に包含しているた教 クリッピング境界上にない頂点
については 従来のクリッピング回路と同様に処理でき
ることは保証される。交点計算回路112 にj入力さ
れた頂点の座標101と、頂点レジスタ102に保持さ
れている多角形の頂点系列において1つ前の頂点の座標
111と、境界レジスタ103に保持されてい& 現在
処理の対象となっているクリッピング境界の方程式10
4を用いて、現在入力された頂点とその1つ前の頂点と
を結ぶ線分とクリッピング境界との交点の座標を、クリ
ッピング判定回路■09の判定結果を示す制御信号11
0に応じて計算すム頂点出力回路114fi クリッ
ピング判定回路109の判定結果を示す制御信号110
に応じて(即ち第4図の関係に応じて)、交点計算回路
112で必要に応じて計算された交点の座標113と、
現在入力されている頂点の座標101か=0ないし2つ
の頂点の座標115を順序付けて出力すム 前記の第1
0@ 第12@および第15図の各々に示した多角形
に対して、本発明のクリッピング回路を用いてクリッピ
ング処理を行った場合の処理の流れを一覧にして、それ
ぞれ第5@ 第6@ および第7図に示す。前記の第1
0図の例の多角形に対して(友 4つの頂点の列B、E
、F、A力交 第12図の例の多角形に対しては3つの
頂点の列B、D、Aカ(第15図の例の多角形に対して
は4つの頂点の列B、C,D、Aカ(それぞれ頂点が重
複することなく出力されム な飄 本発明の実施例の構
成を示す際に用いた第1図で(よ各構成要素(回路およ
びレジスタ)を独立したノ)−ドウエアとして個別に表
している戟 通常のCPU(中央処理装置)を用いて、
各回路の機能をソフトウェアによって実現してもよく、
各レジスタを通常のメモリ装置やCPUのレジスタによ
って実現して杖 本発明のクリッピング回路を構成でき
ることを付は加えておく。
発明の効果
以上に説明してきたように 本発明によればクリッピン
グ境界上にある頂点を含むような多角形が入力されたと
きでk 同一の頂点を重複して出力することがないよう
なりリッピング回路が実現でき、無駄な処理の増大を防
ぐことができ、処理速度の向上が図れも
グ境界上にある頂点を含むような多角形が入力されたと
きでk 同一の頂点を重複して出力することがないよう
なりリッピング回路が実現でき、無駄な処理の増大を防
ぐことができ、処理速度の向上が図れも
第1図は本発明のクリッピング回路の一実施例の構成を
示すブロックは 第2図は1つの頂点とクリッピング境
界の位置関係@ 第3図は2つの頂点を結ぶ線分とクリ
ッピング境界の位置関係は第4図は第3図に示す位置関
係と出力すべき頂点の関係を示す対応云 第5図は第1
0図に示す多角形の例に対して本発明のクリッピング回
路を用いて処理した場合の処理の流れを示す@ 第6図
は第12図に示す多角形の例に対して本発明のクリッピ
ング回路を用いて処理した場合の処理の流れを示す医
第7図は第15図に示す多角形の例に対して本発明のク
リッピング回路を用いて処理した場合の処理の流れを示
す諷 第8図は従来のクリッピング回路において用いて
いた線分とクリッピング境界の位置関係医 第9図は第
8図に示す位置関係と出力すべき頂点の関係を示す対応
は 第10図はクリッピングの対象となる多角形の例を
示す平面は 第11図は第10図に示す多角形の例に対
して従来のクリッピング回路を用いて処理した場合の処
理の流れを示すに 第12図はクリッピングの対象とな
る多角形の例を示す平面@ 第13図は第12図に示す
多角形の例に対して、クリッピング境界そのものが内側
に含まれると仮定した上で、従来のクリッピング回路を
用いて処理した場合の処理の流れを示す文 第14図は
第12図に示す多角形の例に対して、クリッピング境界
そのものが外側に含まれると仮定した上で、従来のクリ
ッピング回路を用いて処理した場合の処理の流れを示す
又第15図はクリッピングの対象となる多角形の例を示
す平面@ 第16図は第15図に示す多角形の例に対し
て従来のクリッピング回路を用いて処理した場合の処理
の流れを示す図であム 101・・・・入力された頂点のJIHI 102・
・・・頂点レジス久 103・・・・境界レジス久 1
05・・・・内外判定口a107・・・・内外判定結果
レジス久 109・・・・クリッピング判定同区112
・・・・交点計算同区114・・・・頂点出力回胤
示すブロックは 第2図は1つの頂点とクリッピング境
界の位置関係@ 第3図は2つの頂点を結ぶ線分とクリ
ッピング境界の位置関係は第4図は第3図に示す位置関
係と出力すべき頂点の関係を示す対応云 第5図は第1
0図に示す多角形の例に対して本発明のクリッピング回
路を用いて処理した場合の処理の流れを示す@ 第6図
は第12図に示す多角形の例に対して本発明のクリッピ
ング回路を用いて処理した場合の処理の流れを示す医
第7図は第15図に示す多角形の例に対して本発明のク
リッピング回路を用いて処理した場合の処理の流れを示
す諷 第8図は従来のクリッピング回路において用いて
いた線分とクリッピング境界の位置関係医 第9図は第
8図に示す位置関係と出力すべき頂点の関係を示す対応
は 第10図はクリッピングの対象となる多角形の例を
示す平面は 第11図は第10図に示す多角形の例に対
して従来のクリッピング回路を用いて処理した場合の処
理の流れを示すに 第12図はクリッピングの対象とな
る多角形の例を示す平面@ 第13図は第12図に示す
多角形の例に対して、クリッピング境界そのものが内側
に含まれると仮定した上で、従来のクリッピング回路を
用いて処理した場合の処理の流れを示す文 第14図は
第12図に示す多角形の例に対して、クリッピング境界
そのものが外側に含まれると仮定した上で、従来のクリ
ッピング回路を用いて処理した場合の処理の流れを示す
又第15図はクリッピングの対象となる多角形の例を示
す平面@ 第16図は第15図に示す多角形の例に対し
て従来のクリッピング回路を用いて処理した場合の処理
の流れを示す図であム 101・・・・入力された頂点のJIHI 102・
・・・頂点レジス久 103・・・・境界レジス久 1
05・・・・内外判定口a107・・・・内外判定結果
レジス久 109・・・・クリッピング判定同区112
・・・・交点計算同区114・・・・頂点出力回胤
Claims (1)
- 入力された多角形の頂点の座標を保持する頂点レジスタ
と、クリッピング領域を表す境界面または境界線の方程
式を保持する境界レジスタと、前記の境界レジスタの出
力する境界面または境界線の方程式と前記の入力された
頂点の座標とを入力としてその座標をもつ頂点が前記の
境界面または境界線に対して内側に存在するか外側に存
在するかもしくは境界面または境界線の上に存在するか
を判定する内外判定回路と、前記の頂点レジスタの保持
する頂点系列における1つ前の頂点に対して前記の内外
判定回路によって判定された結果を保持する内外判定結
果レジスタと、前記の内外判定回路の出力する第1の内
外判定結果と前記の内外判定結果レジスタに保持された
第2の内外判定結果を入力としクリッピングの結果とし
て出力すべき座標を判定するクリッピング判定回路と、
前記の入力された頂点の座標と前記の頂点レジスタの保
持する座標を2つの端点とする線分と前記の境界レジス
タの出力する境界面または境界線の方程式を入力として
前記の線分と前記の境界面または境界線との交点の座標
を前記のクリッピング判定回路の出力に応じて計算する
交点計算回路と、前記の入力された頂点の座標と前記の
交点計算回路の出力する交点の座標から0ないし2つの
座標を前記のクリッピング判定回路の出力に応じて選択
し順序付けて出力する頂点出力回路とを具備することを
特徴とするクリッピング回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1142513A JPH0821085B2 (ja) | 1989-06-05 | 1989-06-05 | クリッピング回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1142513A JPH0821085B2 (ja) | 1989-06-05 | 1989-06-05 | クリッピング回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH036785A true JPH036785A (ja) | 1991-01-14 |
| JPH0821085B2 JPH0821085B2 (ja) | 1996-03-04 |
Family
ID=15317103
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1142513A Expired - Fee Related JPH0821085B2 (ja) | 1989-06-05 | 1989-06-05 | クリッピング回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0821085B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002529868A (ja) * | 1998-11-06 | 2002-09-10 | イマジネイション テクノロジーズ リミテッド | 3次元コンピュータ生成画像のシェーディング |
-
1989
- 1989-06-05 JP JP1142513A patent/JPH0821085B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002529868A (ja) * | 1998-11-06 | 2002-09-10 | イマジネイション テクノロジーズ リミテッド | 3次元コンピュータ生成画像のシェーディング |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0821085B2 (ja) | 1996-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Sheng et al. | Triangulation of trimmed surfaces in parametric space | |
| EP0240557B1 (en) | Computer graphics, parametric patch parallel subdivision processor | |
| US5488692A (en) | System and method for representing and manipulating three-dimensional objects on massively parallel architectures | |
| JP2004038630A (ja) | 混合格子型解適合格子法を用いた数値解析装置 | |
| JPH036785A (ja) | クリッピング回路 | |
| JP3337608B2 (ja) | 解析シミュレーション装置 | |
| JPH01193980A (ja) | クリッピング回路 | |
| JP2734649B2 (ja) | 曲面と直線の間の交点算出方式 | |
| JPH03209499A (ja) | アウトライン・フォントの形成方法およびその描画装置 | |
| JP3302768B2 (ja) | 有限要素分割装置 | |
| JP2734644B2 (ja) | 自由曲面間の交線算出方式 | |
| JPS63118982A (ja) | 多角形に対する点の内外判定演算処理方法 | |
| JPH10240790A (ja) | フィレット面の作成指示方法 | |
| JP2734643B2 (ja) | 自由曲線間の交点算出方式 | |
| JP3139431B2 (ja) | 接続判定装置、方法及び記録媒体 | |
| JP3886293B2 (ja) | 3次元曲面形状の集合演算方法 | |
| JP3057797B2 (ja) | ファジィ演算装置 | |
| JPH1049652A (ja) | 3次元cadにおけるb−スプライン曲線と直線との交点算出方法 | |
| JPH05120430A (ja) | 多角形と直線との交差判定・交点算出方式 | |
| JP2879831B2 (ja) | 図形要素抽出方式 | |
| JPS6081604A (ja) | Νcテ−プの図形指定方法 | |
| JP3681240B2 (ja) | 3次元形状の表示方法及び該方法を用いる3次元cadシステム | |
| JPH08287286A (ja) | 平面画像マッピング方法 | |
| JP2001092992A (ja) | 3次元形状処理方法およびその方法を実行するためのプログラムを記録した記録媒体 | |
| JPH01175682A (ja) | 多角形間交線算出方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |