JPS62184576A - クリツピング回路 - Google Patents
クリツピング回路Info
- Publication number
- JPS62184576A JPS62184576A JP61026364A JP2636486A JPS62184576A JP S62184576 A JPS62184576 A JP S62184576A JP 61026364 A JP61026364 A JP 61026364A JP 2636486 A JP2636486 A JP 2636486A JP S62184576 A JPS62184576 A JP S62184576A
- Authority
- JP
- Japan
- Prior art keywords
- clipping
- boundary
- circuit
- point
- coordinate
- 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
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明はグラフィックφディスプレイ装置のクリッピン
グ回路に関し、特にクリッピング境界と交差する線分の
クリッピング境界の外部にある部分をクリッピングする
ようなりリッピング回路に関する。
グ回路に関し、特にクリッピング境界と交差する線分の
クリッピング境界の外部にある部分をクリッピングする
ようなりリッピング回路に関する。
従来の技術
グラフィック・ディスプレイ装置において対象物を表示
する際、ピユーポートを超えて図形が現われる場合が生
じうる。この場合表示図形がビュ3ページ 一ポート内に収まるように対象物のはみ出した部分を切
りとる必要がある。この処理は一般にクリッピング(ま
たはクリップ)と呼ばれ、切りとるための境界はクリッ
ピング境界と呼ばれている。
する際、ピユーポートを超えて図形が現われる場合が生
じうる。この場合表示図形がビュ3ページ 一ポート内に収まるように対象物のはみ出した部分を切
りとる必要がある。この処理は一般にクリッピング(ま
たはクリップ)と呼ばれ、切りとるための境界はクリッ
ピング境界と呼ばれている。
表示対象物が2次元物体であるときはクリッピング境界
は複数(一般には4つ)の2次元直線で構成され、表示
対象物が3次元物体であるときはクリッピング境界は複
数(一般には4つないし6つ)の3次元子面で構成され
る。一方、表示対象物は2次元物体の場合でも3次元物
体の場合でも多角形によって近似されることが多い。従
ってクリッピング処理は多角形の不要な部分を複数のク
リッピング境界線または境界面に対して切りとるという
処理であると考えられる。この処理に対する有力な解法
として、アイ・イー・サザーランドとジー e タフリ
:L @ ホック−r 7 (I@E@5uther
landand G@WIIHodgman)による「
リエントラント・ポリゴン・クリッピング」、コミュニ
ケーションズ・オプ・ジ・ニー・シー・エム、第17巻
、第1号(Reentrant Polygon CC
11ppin” 。
は複数(一般には4つ)の2次元直線で構成され、表示
対象物が3次元物体であるときはクリッピング境界は複
数(一般には4つないし6つ)の3次元子面で構成され
る。一方、表示対象物は2次元物体の場合でも3次元物
体の場合でも多角形によって近似されることが多い。従
ってクリッピング処理は多角形の不要な部分を複数のク
リッピング境界線または境界面に対して切りとるという
処理であると考えられる。この処理に対する有力な解法
として、アイ・イー・サザーランドとジー e タフリ
:L @ ホック−r 7 (I@E@5uther
landand G@WIIHodgman)による「
リエントラント・ポリゴン・クリッピング」、コミュニ
ケーションズ・オプ・ジ・ニー・シー・エム、第17巻
、第1号(Reentrant Polygon CC
11ppin” 。
CACM 、Vol−17,@1 )、pp32−42
.1974で述べられているアルゴリズムが挙げられる
。このアルゴリズムでは、多角形を頂点の列として入力
し、クリッピング境界を構成する直線または平面で順次
クリッピングを行う。1つの直線または平面についての
クリッピングが終わると、その処理結果として出力され
る頂点の列で構成される多角形を入力として次の直線ま
たは平面についてクリッピングを行っていく。このアル
ゴリズムの特徴は前記の1つ1つのクリッピング境界ご
とに順次クリッピングを行って行くことに加えて、多角
形を頂点の列と考えて隣接する2つの頂点を結ぶ線分に
対してクリッピングを行うということである。
.1974で述べられているアルゴリズムが挙げられる
。このアルゴリズムでは、多角形を頂点の列として入力
し、クリッピング境界を構成する直線または平面で順次
クリッピングを行う。1つの直線または平面についての
クリッピングが終わると、その処理結果として出力され
る頂点の列で構成される多角形を入力として次の直線ま
たは平面についてクリッピングを行っていく。このアル
ゴリズムの特徴は前記の1つ1つのクリッピング境界ご
とに順次クリッピングを行って行くことに加えて、多角
形を頂点の列と考えて隣接する2つの頂点を結ぶ線分に
対してクリッピングを行うということである。
ある1つのクリッピング境界(平面でも直線でもよい)
と、多角形を構成する隣接する2つの頂点の関係を第2
図に示す。第2図a % cにおいて201はクリッピ
ング境界を、202はクリッピング境界201に対する
内部を、203はクリッピング境界201に対する外部
を示す。但し、クリッピング境界201上は内部に含ま
れるものと5ページ する。第2図aは2つの頂点P1及びPiがともに内部
202にある場合を示す。この場合、線分PiPj 2
04もまた内部202にある。第2図すは2つの頂点p
i及びP5がともに外部203にある場合を示す。この
場合、線分PiPj204もまた外部にある。第2図C
は2つの頂点Pi、Pj のうち一方(本例ではPi
)が内部202にあり、他方(本例ではPj)が外部2
03にある場合を示す。
と、多角形を構成する隣接する2つの頂点の関係を第2
図に示す。第2図a % cにおいて201はクリッピ
ング境界を、202はクリッピング境界201に対する
内部を、203はクリッピング境界201に対する外部
を示す。但し、クリッピング境界201上は内部に含ま
れるものと5ページ する。第2図aは2つの頂点P1及びPiがともに内部
202にある場合を示す。この場合、線分PiPj 2
04もまた内部202にある。第2図すは2つの頂点p
i及びP5がともに外部203にある場合を示す。この
場合、線分PiPj204もまた外部にある。第2図C
は2つの頂点Pi、Pj のうち一方(本例ではPi
)が内部202にあり、他方(本例ではPj)が外部2
03にある場合を示す。
この場合、線分PiPi 204の一部のみが内部20
2にある。線分PiPj2o4とクリッピング境界20
1の交点をPk とすると線分PiPk205が内部
にある。従って前記第2図の各々の場合に応じて不要な
部分を切りとって行くことにより、入力された多角形の
頂点の列に対するクリッピングされた多角形の頂点の列
が生成される。
2にある。線分PiPj2o4とクリッピング境界20
1の交点をPk とすると線分PiPk205が内部
にある。従って前記第2図の各々の場合に応じて不要な
部分を切りとって行くことにより、入力された多角形の
頂点の列に対するクリッピングされた多角形の頂点の列
が生成される。
第3図にこのアルゴリズムを用いて2次元のクリッピン
グを行う場合の例を示す。第3図aにおいて、301は
クリッピングの対象となる多角形Po、Pl、P2を、
302はクリッピング境界x=x1を、303はクリッ
ピング境界!=x2を、3046ベ啼 はクリッピング境界y = yl を、3o6はクリ
ッピング境界y = y2 を示す。306は多角形3
01をクリッピング境界302〜306でクリッピング
した結果の多角形を示す。まずクリッピング境界302
に対して多角形301’iクリツピングする場合を例に
とって、1つのクリッピング境界に対するクリッピング
の手順を説明する。
グを行う場合の例を示す。第3図aにおいて、301は
クリッピングの対象となる多角形Po、Pl、P2を、
302はクリッピング境界x=x1を、303はクリッ
ピング境界!=x2を、3046ベ啼 はクリッピング境界y = yl を、3o6はクリ
ッピング境界y = y2 を示す。306は多角形3
01をクリッピング境界302〜306でクリッピング
した結果の多角形を示す。まずクリッピング境界302
に対して多角形301’iクリツピングする場合を例に
とって、1つのクリッピング境界に対するクリッピング
の手順を説明する。
多角形301は頂点の列P0.P1.P2として入力さ
れる。まず2点P。、Plはクリッピング境界302に
対してともに内部308にあるので2点P0.P1はそ
のままクリッピング結果の多角形309の頂点として出
力される。
れる。まず2点P。、Plはクリッピング境界302に
対してともに内部308にあるので2点P0.P1はそ
のままクリッピング結果の多角形309の頂点として出
力される。
次に2点P1.P2のうちP2は外部307にあるので
、線分P1P2とクリッピング境界302の交点P3が
出力される。最後にP2.PoのうちP2は外部307
に、Poは内部308にあるので線分P2Poとクリッ
ピング境界302の交点P4が出力される。以上の結果
、頂点の列P0.P1.P3.P4で示される多角形3
09がクリッピング境界302に対するクリッピング結
果となる。以下同様に、7ペーノ 順次クリッピング境界303に対するクリッピング結果
を第3図Cに、クリッピング境界304に対するクリッ
ピング結果を第3図dに、クリッピング境界306に対
するクリッピング結果を第3図eにそれぞれ示す。第3
図eの306が最終的に得られた多角形P99P6SP
79P89P3?P4gP1oを示す。
、線分P1P2とクリッピング境界302の交点P3が
出力される。最後にP2.PoのうちP2は外部307
に、Poは内部308にあるので線分P2Poとクリッ
ピング境界302の交点P4が出力される。以上の結果
、頂点の列P0.P1.P3.P4で示される多角形3
09がクリッピング境界302に対するクリッピング結
果となる。以下同様に、7ペーノ 順次クリッピング境界303に対するクリッピング結果
を第3図Cに、クリッピング境界304に対するクリッ
ピング結果を第3図dに、クリッピング境界306に対
するクリッピング結果を第3図eにそれぞれ示す。第3
図eの306が最終的に得られた多角形P99P6SP
79P89P3?P4gP1oを示す。
発明が解決しようとする問題点
しかしながら、以上で説明したアルゴリズムのハードウ
ェア化を考える場合、ある点がクリッピング境界に対し
て内部にあるか外部にあるかを判定するには、その点の
座標値とクリッピング境界を表わす何らかの値との大小
比較々どの簡単表処理でよいが、クリッピングの対象と
なる多角形の隣接する2点のうち一方がクリッピング境
界内部に、他方が外部にあるときのクリッピング境界と
2点を結ぶ線分の交点を求めるためには、乗算や除算が
必要でありハードウェア化には不利である。
ェア化を考える場合、ある点がクリッピング境界に対し
て内部にあるか外部にあるかを判定するには、その点の
座標値とクリッピング境界を表わす何らかの値との大小
比較々どの簡単表処理でよいが、クリッピングの対象と
なる多角形の隣接する2点のうち一方がクリッピング境
界内部に、他方が外部にあるときのクリッピング境界と
2点を結ぶ線分の交点を求めるためには、乗算や除算が
必要でありハードウェア化には不利である。
壕だ、直接的に交点を計算する代わりに、2点の中点を
求め、漸近的に交点を探索して行く[中点分割法」が、
アール・エフ・スプロールとアイ・イー拳すザーランド
(R,F、 5proul l and 1. E。
求め、漸近的に交点を探索して行く[中点分割法」が、
アール・エフ・スプロールとアイ・イー拳すザーランド
(R,F、 5proul l and 1. E。
5utherland)による「ア・クリッピング・デ
ィバイダ」、エフ・ジエー拳シー・シー、トンプソンブ
ックス発行(”CC11ppin Divider”、
FICC。
ィバイダ」、エフ・ジエー拳シー・シー、トンプソンブ
ックス発行(”CC11ppin Divider”、
FICC。
Thompson Books) pp765〜775
,1968において提案されている。「中点分割法」は
通常座標系で表わされている2点の中点の算出は加算と
シフト演算という簡単なハードウェアで実現できるため
有力な方法であるといえる。しかしながら、クリッピン
グに先立つ座標変換処理においては、変換の表現が容易
であり、変換の合成が変換行列の積で記述できるなどの
理由から、一般に通常座標系ではなく同次座標系での座
標表現が用いられている。また、演算の精度の問題(前
記「リエントラント・ポリゴン・クリッピング」による
)などから、同次座標系においてクリッピングを行うこ
とが望ましい。ところが後記の発明の実施例の項におい
て説明するように、同次座標系における座標値で与えら
れる2点の中点は単純な加算では求9 ページ まらないため、ハードウェア化における前記の「中点分
割法」の利点がなく々るという問題があった0 本発明はかかる点に鑑み、簡単な加減算やシフト演算の
みを用いて、同次座標系で表わされた2つの点を結ぶ線
分とクリッピング境界との交点を求めるようなりリッピ
ング回路を提供することを目的とする。
,1968において提案されている。「中点分割法」は
通常座標系で表わされている2点の中点の算出は加算と
シフト演算という簡単なハードウェアで実現できるため
有力な方法であるといえる。しかしながら、クリッピン
グに先立つ座標変換処理においては、変換の表現が容易
であり、変換の合成が変換行列の積で記述できるなどの
理由から、一般に通常座標系ではなく同次座標系での座
標表現が用いられている。また、演算の精度の問題(前
記「リエントラント・ポリゴン・クリッピング」による
)などから、同次座標系においてクリッピングを行うこ
とが望ましい。ところが後記の発明の実施例の項におい
て説明するように、同次座標系における座標値で与えら
れる2点の中点は単純な加算では求9 ページ まらないため、ハードウェア化における前記の「中点分
割法」の利点がなく々るという問題があった0 本発明はかかる点に鑑み、簡単な加減算やシフト演算の
みを用いて、同次座標系で表わされた2つの点を結ぶ線
分とクリッピング境界との交点を求めるようなりリッピ
ング回路を提供することを目的とする。
問題点を解決するための手段
本発明は前記問題点を解決するために、クリッピング境
界と交差する線分の2つの端点のうち前記クリッピング
境界に対して内部にある第1の端点の同次座標系におけ
る座標値を格納する第1のレジスタ群と、前記クリッピ
ング境界に対して外部にある第2の端点の同次座標系に
おける座標値を格納する第2のレジスタ群と、前記第1
のレジスタ群に格納されている第1の端点の座標値と前
記第2のレジスタ群に格納されている第2の端点の座標
値との桁合わせを行う桁合わせ回路と、前記桁合わせ回
路によって桁合わせされた前記第110ベー、 及び第2の端点の各々の座標値の対応する要素を加算す
る加算回路と、前記加算回路の出力値を同次座標系にお
ける座標値としてもつ第3の点が、前記クリッピング境
界に対して境界上にあるが、境界の内部にあるかまたは
境界の外部にあるかのいずれかを判定する判定回路と、
前記判定回路の出力に基づき、前記第3の点が前記クリ
ッピング境界に対して境界上にあるときには前記加算回
路の出力値をクリッピング境界と前記の線分との交点の
座標値として出力し、境界の内部にあるときには前記加
算回路の出力値を前記第1のレジスタ群に格納し、境界
の外部にあるときには前記加算回路の出力値を前記第2
のレジスタ群に格納する制御回路とを備えたクリッピン
グ回路である。
界と交差する線分の2つの端点のうち前記クリッピング
境界に対して内部にある第1の端点の同次座標系におけ
る座標値を格納する第1のレジスタ群と、前記クリッピ
ング境界に対して外部にある第2の端点の同次座標系に
おける座標値を格納する第2のレジスタ群と、前記第1
のレジスタ群に格納されている第1の端点の座標値と前
記第2のレジスタ群に格納されている第2の端点の座標
値との桁合わせを行う桁合わせ回路と、前記桁合わせ回
路によって桁合わせされた前記第110ベー、 及び第2の端点の各々の座標値の対応する要素を加算す
る加算回路と、前記加算回路の出力値を同次座標系にお
ける座標値としてもつ第3の点が、前記クリッピング境
界に対して境界上にあるが、境界の内部にあるかまたは
境界の外部にあるかのいずれかを判定する判定回路と、
前記判定回路の出力に基づき、前記第3の点が前記クリ
ッピング境界に対して境界上にあるときには前記加算回
路の出力値をクリッピング境界と前記の線分との交点の
座標値として出力し、境界の内部にあるときには前記加
算回路の出力値を前記第1のレジスタ群に格納し、境界
の外部にあるときには前記加算回路の出力値を前記第2
のレジスタ群に格納する制御回路とを備えたクリッピン
グ回路である。
作 用
本発明は前記の構成により、クリッピング境界と交差す
る線分の2つの端点の同次座標系における座標値を入力
データとして受けとり第1及び第2のレジスタ群に格納
し、桁合わせ回路により各々のレジスタ群に格納された
座標値に適当な数を11 ページ 乗じ(例えば加算またはシフト演算を行う)で各りのW
座標(2次元の場合には座標値の第3次元の要素、3次
元の場合には座標値の第4次元の要素)の絶対値の桁合
わせを行い、桁合わせした座標値を加算回路によって単
純に加算して得られた値を「擬似的な中点」の座標値と
見なし「中点分割法」と同様の処理を行う。すなわち、
前記の判定回路によって前記の点とクリッピング境界と
の位置関係を判定し、前記の制御回路は前記の点がクリ
ッピング境界の内部にあるときは加算回路の出力を前記
第1のレジスタ群に格納し、この値と既に前記第2のレ
ジスタ群に格納されている値とを新らたな線分の2つの
端点の座標値として前記の処理を繰り返し、また前記の
点がクリッピング境界の外部にあるときは加算回路の出
力を前記第2のレジスタ群に格納し、この値と既に前記
第1のレジスタ群に格納されている値とを新らたな線分
の2つの端点の座標値として前記の処理を繰シ返し、ま
た前記の点がクリッピング境界上にあるときには加算回
路の出力を求めている交点の座標値として出力し、1つ
の線分に対するクリッピング処理を終える。
る線分の2つの端点の同次座標系における座標値を入力
データとして受けとり第1及び第2のレジスタ群に格納
し、桁合わせ回路により各々のレジスタ群に格納された
座標値に適当な数を11 ページ 乗じ(例えば加算またはシフト演算を行う)で各りのW
座標(2次元の場合には座標値の第3次元の要素、3次
元の場合には座標値の第4次元の要素)の絶対値の桁合
わせを行い、桁合わせした座標値を加算回路によって単
純に加算して得られた値を「擬似的な中点」の座標値と
見なし「中点分割法」と同様の処理を行う。すなわち、
前記の判定回路によって前記の点とクリッピング境界と
の位置関係を判定し、前記の制御回路は前記の点がクリ
ッピング境界の内部にあるときは加算回路の出力を前記
第1のレジスタ群に格納し、この値と既に前記第2のレ
ジスタ群に格納されている値とを新らたな線分の2つの
端点の座標値として前記の処理を繰り返し、また前記の
点がクリッピング境界の外部にあるときは加算回路の出
力を前記第2のレジスタ群に格納し、この値と既に前記
第1のレジスタ群に格納されている値とを新らたな線分
の2つの端点の座標値として前記の処理を繰シ返し、ま
た前記の点がクリッピング境界上にあるときには加算回
路の出力を求めている交点の座標値として出力し、1つ
の線分に対するクリッピング処理を終える。
実施例
本発明の実施例を図面を用いて説明する前に、本発明の
依るところの原理についての説明並らびに証明を行う。
依るところの原理についての説明並らびに証明を行う。
以下の説明で用いる座標値はすべて3次元空間上の点を
示しているが、2次元子面上のクリッピングを考える場
合には座標値の次元を1つ減らせる(すなわち2座標を
省略する)ことにより容易に類推できる。なお座標値と
してアルファベット小文字を用いて表現されたもの〔例
えば(xtytz))を通常座標系の座標値とし、アル
ファベット大文字を用いて更に第4の座標Wを付加して
表現されたもの〔例えば(x、Y、Z。
示しているが、2次元子面上のクリッピングを考える場
合には座標値の次元を1つ減らせる(すなわち2座標を
省略する)ことにより容易に類推できる。なお座標値と
してアルファベット小文字を用いて表現されたもの〔例
えば(xtytz))を通常座標系の座標値とし、アル
ファベット大文字を用いて更に第4の座標Wを付加して
表現されたもの〔例えば(x、Y、Z。
w))を同次座標系の座標値とする。
クリッピング境界の条件は一般には次式で表現されるが
説明を簡単にするため次式13 ページ で考える。通常座標系における点(”yY、z)は同次
座標系において(xy Yp Zp ” )と表現され
る。但し、Wは0でないものとし、なる関係を満足する
。従ってクリッピング境界の条件を示す式(功は同次座
標系では次のように表わされる。
説明を簡単にするため次式13 ページ で考える。通常座標系における点(”yY、z)は同次
座標系において(xy Yp Zp ” )と表現され
る。但し、Wは0でないものとし、なる関係を満足する
。従ってクリッピング境界の条件を示す式(功は同次座
標系では次のように表わされる。
または、
同次座標系における座標値に0でないスカラーを14
ページ 乗じても対応する通常座標は変化しないので式(4)の
場合のみを考えるものとする。式(→かられかるように
クリッピング境界は次式(@に示す6つの平面からなる
。
ページ 乗じても対応する通常座標は変化しないので式(4)の
場合のみを考えるものとする。式(→かられかるように
クリッピング境界は次式(@に示す6つの平面からなる
。
いま、1つのクリッピング境界w−X=oに対して2点
P1(xl、Yl、Zl、Wl)とP2(X2.Y2,
222w2)を結ぶ線分をクリッピングを行う場合を考
える。
P1(xl、Yl、Zl、Wl)とP2(X2.Y2,
222w2)を結ぶ線分をクリッピングを行う場合を考
える。
但し、Wl、W2〉0とする。
式(4よりx1≦w1かつx2≦w2のときは2点P1
とP2 はともにクリッピング境界の内部にあり、従っ
て線分P1P2もまたクリッピング境界の内部にある。
とP2 はともにクリッピング境界の内部にあり、従っ
て線分P1P2もまたクリッピング境界の内部にある。
またxl〉Wlかつx2〉W2のときは2点P1とP2
はともにクリッピング境界の外部にあり、従って線分P
1P2もまたクリッピング境界の外部にある。またXl
> ’V11かつx2りW2のときまたはXl<wl
かつx2〉W2のときは2点のうち一方がクリッピング
境界の内部に、他方が外部にあるので線分P1P2のう
ちクリッピング境界の外部にある部分を切りとらなけれ
ばならない。いま点P1がクリッピング境界の内部にあ
り、点P2が外部にあるものとする。線分P1P2とク
リッピング境界w −X = Oとの交点ヲP3(X3
tY3tZ3y”3)とすると、点P3は次式(7)で
与えられる。
はともにクリッピング境界の外部にあり、従って線分P
1P2もまたクリッピング境界の外部にある。またXl
> ’V11かつx2りW2のときまたはXl<wl
かつx2〉W2のときは2点のうち一方がクリッピング
境界の内部に、他方が外部にあるので線分P1P2のう
ちクリッピング境界の外部にある部分を切りとらなけれ
ばならない。いま点P1がクリッピング境界の内部にあ
り、点P2が外部にあるものとする。線分P1P2とク
リッピング境界w −X = Oとの交点ヲP3(X3
tY3tZ3y”3)とすると、点P3は次式(7)で
与えられる。
前記の同次座標系の座標値の性質から式(7)は、とも
表わせる。しかしながら式(@を用いても交点P3の算
出には少なくとも6回の乗算が必要となる。一方、前記
の通常座標系における「中点分割法」を適用する場合を
考える。2点P1 及びP2に対応する通常座標系に
おける座標値は各々(x1/W1.Y1/W1.Z1/
W1)ト(x2/W2.Y2/W2゜Z2/W2)テあ
ルコトカラ中点P4(x4.Y4.Z4.W4)に対応
する通常座標系における座標値は、次式(9)%式% 前記の同次座標系における座標値の性質から式(時は、 とも表わせる。しかしながら式(1o)を用いても中点
P4の算出には少なくとも7回の乗算が必要となり、式
(F4に従って直接的に交点P3を求めるよりも処理が
複雑となり、「中点分割法」を適用することは無意味と
なる。
表わせる。しかしながら式(@を用いても交点P3の算
出には少なくとも6回の乗算が必要となる。一方、前記
の通常座標系における「中点分割法」を適用する場合を
考える。2点P1 及びP2に対応する通常座標系に
おける座標値は各々(x1/W1.Y1/W1.Z1/
W1)ト(x2/W2.Y2/W2゜Z2/W2)テあ
ルコトカラ中点P4(x4.Y4.Z4.W4)に対応
する通常座標系における座標値は、次式(9)%式% 前記の同次座標系における座標値の性質から式(時は、 とも表わせる。しかしながら式(1o)を用いても中点
P4の算出には少なくとも7回の乗算が必要となり、式
(F4に従って直接的に交点P3を求めるよりも処理が
複雑となり、「中点分割法」を適用することは無意味と
なる。
そこで中点P4に代わる点として次式(11)で表わさ
れる点PM(XM、YM、ZM9wM)を考える。
れる点PM(XM、YM、ZM9wM)を考える。
いま通常座標系において2点P1とPMを結ぶベクトル
P1PMは次式(12)で表わされる。
P1PMは次式(12)で表わされる。
18ベー、・
一方、2点P1とP2を結ぶベクトルP1P2は次式(
13)%式% 従って式(12)及び式(13)より、次式が導がれる
。
13)%式% 従って式(12)及び式(13)より、次式が導がれる
。
いまW1〜2 はともに正であるから、なる関係が成立
する。以上から点PMは線分P1P2上の端点P1
及びP2 の間にある点となる。
する。以上から点PMは線分P1P2上の端点P1
及びP2 の間にある点となる。
従って式(11)に従って点PMの座標?Wk求め、得
ら19 ベー、゛ れた座標値に対して式(→を用いてクリッピング境界と
の位置関係を判定し点PMがクリッピング境界の内部に
ある(XM<wM)ときは点P1 の座標値を点PM
の座標値で置き換えて線分PMP2に対して前記と同様
の処理を、また点PMがクリッピング境界の外部にある
( XM>”M)ときは点P2の座標値を点PMの座標
値で置き換えて線分P1PMに対して前記と同様の処理
を点PMがクリッピング境界上に来るまで繰り返す。
ら19 ベー、゛ れた座標値に対して式(→を用いてクリッピング境界と
の位置関係を判定し点PMがクリッピング境界の内部に
ある(XM<wM)ときは点P1 の座標値を点PM
の座標値で置き換えて線分PMP2に対して前記と同様
の処理を、また点PMがクリッピング境界の外部にある
( XM>”M)ときは点P2の座標値を点PMの座標
値で置き換えて線分P1PMに対して前記と同様の処理
を点PMがクリッピング境界上に来るまで繰り返す。
第1図は以上に説明した本発明のクリッピング処理を行
うクリッピング回路の実施例を示す図である。
うクリッピング回路の実施例を示す図である。
第1図において101はあるクリッピング境界と交差す
る線分の2つの端点のうちクリッピング境界の内部にあ
る第1の端点の座標値データを、102は座標値データ
101の要素を格納する第1のレジスタ群((,103
はクリッピング境界の外部にある第2の端点の座標値デ
ータを、1o4は座標値データ103の要素を格納する
第2のレジスタ群を、1o5はレジスタ群102とレジ
スタ群104に格納されている座標値データのW座標の
桁合わせを行う桁合わせ回路’i、106は桁合わせ回
路105によって補正された座標値データの対応する要
素の加算を行う加算回路を、107は加算回路106の
出力を座標値にもつ点と与えられたクリッピング境界と
の位置関係を判定する判定回路を、108は判定回路1
07の結果に応じて加算回路106の出力を第1のレジ
スタ群102に格納したり、第2のレジスタ群104に
格納したり、最終結果109として出力する制御回路を
示す。
る線分の2つの端点のうちクリッピング境界の内部にあ
る第1の端点の座標値データを、102は座標値データ
101の要素を格納する第1のレジスタ群((,103
はクリッピング境界の外部にある第2の端点の座標値デ
ータを、1o4は座標値データ103の要素を格納する
第2のレジスタ群を、1o5はレジスタ群102とレジ
スタ群104に格納されている座標値データのW座標の
桁合わせを行う桁合わせ回路’i、106は桁合わせ回
路105によって補正された座標値データの対応する要
素の加算を行う加算回路を、107は加算回路106の
出力を座標値にもつ点と与えられたクリッピング境界と
の位置関係を判定する判定回路を、108は判定回路1
07の結果に応じて加算回路106の出力を第1のレジ
スタ群102に格納したり、第2のレジスタ群104に
格納したり、最終結果109として出力する制御回路を
示す。
加算回路106、判定回路1o7、制御回路108の働
きについては前記の説明と重複するため再度の説明は省
略し、桁合わせ回路105の働きについてのみ補足説明
をする。
きについては前記の説明と重複するため再度の説明は省
略し、桁合わせ回路105の働きについてのみ補足説明
をする。
レジスタ群102及び104に格納されている座標値デ
ータのW座標の値の絶対値が非常に大きく異なる場合(
例えばWl(W2のとき)、前記式、 (14) は
、 21 ベー、゛ となり、加算回路106から出力される点PMの座標値
は、もとの端点P2の座標値に非常に近い値となる。従
って、点PMがなかなかクリッピング境界との交点に収
束しないという現象が生じる。
ータのW座標の値の絶対値が非常に大きく異なる場合(
例えばWl(W2のとき)、前記式、 (14) は
、 21 ベー、゛ となり、加算回路106から出力される点PMの座標値
は、もとの端点P2の座標値に非常に近い値となる。従
って、点PMがなかなかクリッピング境界との交点に収
束しないという現象が生じる。
極端な場合、加算回路106における加算の際に「情報
落ち」が生じ、点PMが永久に最初の2つの端点のいず
れかに留まり処理が終了しないことも起りうる。そこで
、前記の同次座標系における座標値の性質を利用して、
桁合わせ回路105によりレジスタ群102及び104
に格納されている座標値データの絶対値を比較し、絶対
値の桁がほぼ等しくなるようにいずれか一方または両方
の座標値データに対して適当な値を乗じて桁合わせを行
う。これにより式(16)のW2/(W1+W2)も%
に近づき点−も真の中点に近くなる。この桁合わせ処理
は、座標値データが固定小数点数で表現されているとき
には座標値データのシフト演算に\、−5−−1.−−
−、−、、、、−1、−7−1−一、、、7.。
落ち」が生じ、点PMが永久に最初の2つの端点のいず
れかに留まり処理が終了しないことも起りうる。そこで
、前記の同次座標系における座標値の性質を利用して、
桁合わせ回路105によりレジスタ群102及び104
に格納されている座標値データの絶対値を比較し、絶対
値の桁がほぼ等しくなるようにいずれか一方または両方
の座標値データに対して適当な値を乗じて桁合わせを行
う。これにより式(16)のW2/(W1+W2)も%
に近づき点−も真の中点に近くなる。この桁合わせ処理
は、座標値データが固定小数点数で表現されているとき
には座標値データのシフト演算に\、−5−−1.−−
−、−、、、、−1、−7−1−一、、、7.。
22 ヘ−ノ
れているときには座標値データの指数部に対する加減算
で実現できるため、実際には乗算回路を必要としない。
で実現できるため、実際には乗算回路を必要としない。
なお、実施例の説明においてはクリッピング境界として
w −X = Oを用いたが、判定回路107における
判定条件を変えることにより他のクリッピング境界に対
しても容易に適用できることは言うまでもない。
w −X = Oを用いたが、判定回路107における
判定条件を変えることにより他のクリッピング境界に対
しても容易に適用できることは言うまでもない。
発明の効果
以上のように本発明によれば、同次座標系におけるクリ
ッピング処理が乗除算回路を用いずに実現でき、ハード
ウェア化、特にLSI化に適しており、グラフィック・
ディスプレイ装置における画像生成の高速化並びにハー
ドウェア・コストの低減に対する寄与が犬である。
ッピング処理が乗除算回路を用いずに実現でき、ハード
ウェア化、特にLSI化に適しており、グラフィック・
ディスプレイ装置における画像生成の高速化並びにハー
ドウェア・コストの低減に対する寄与が犬である。
第1図は本発明のクリッピング回路の実施例の構成を示
すブロック図、第2図はクリッピングのアルゴリズムの
説明図、第3図は2つの端点を結ぶ線分とクリッピング
境界との位置関係図である。 23べ−7・ 102.LO4・・・・・・レジスタ群、106・曲・
桁合わせ回路、1o6・・・・・・加算回路、107・
・・・・・判定回路、108・・・・・・制御回路。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 第2図 (d) (C) 第3図 ttL) (dン (ど−ン
すブロック図、第2図はクリッピングのアルゴリズムの
説明図、第3図は2つの端点を結ぶ線分とクリッピング
境界との位置関係図である。 23べ−7・ 102.LO4・・・・・・レジスタ群、106・曲・
桁合わせ回路、1o6・・・・・・加算回路、107・
・・・・・判定回路、108・・・・・・制御回路。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 第2図 (d) (C) 第3図 ttL) (dン (ど−ン
Claims (1)
- クリッピング境界と交差する線分の2つの端点のうち前
記クリッピング境界に対して内部にある第1の端点の同
次座標系における座標値を格納する第1のレジスタ群と
、前記クリッピング境界に対して外部にある第2の端点
の同次座標系における座標値を格納する第2のレジスタ
群と、前記第1のレジスタ群に格納されている第1の端
点の座標値と前記第2のレジスタ群に格納されている第
2の端点の座標値との桁合わせを行う桁合わせ回路と、
前記桁合わせ回路によって桁合わせされた前記第1及び
第2の端点の各々の座標値の対応する要素を加算する加
算回路と、前記加算回路の出力値を同次座標系における
座標値としてもつ第3の点が、前記クリッピング境界に
対して境界上にあるか、境界の内部にあるかまたは境界
の外部にあるかを判定する判定回路と、前記判定回路の
判定に基づき前記第3の点が前記クリッピング境界に対
して境界上にあるときには前記加算回路の出力値をクリ
ッピング境界と前記の線分との交点の座標値として出力
し、前記第3の点が境界の内部にあるときには前記加算
回路の出力値を前記第1のレジスタ群に格納し、前記第
3の点が境界の外部にあるときには前記加算回路の出力
値を前記第2のレジスタ群に格納する制御回路とを具備
することを特徴とするクリッピング回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2636486A JPH0664618B2 (ja) | 1986-02-07 | 1986-02-07 | クリツピング回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2636486A JPH0664618B2 (ja) | 1986-02-07 | 1986-02-07 | クリツピング回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62184576A true JPS62184576A (ja) | 1987-08-12 |
| JPH0664618B2 JPH0664618B2 (ja) | 1994-08-22 |
Family
ID=12191443
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2636486A Expired - Lifetime JPH0664618B2 (ja) | 1986-02-07 | 1986-02-07 | クリツピング回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0664618B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6581087B1 (en) | 1999-12-17 | 2003-06-17 | Mitsubishi Denki Kabushiki Kaisha | Floating point adder capable of rapid clip-code generation |
-
1986
- 1986-02-07 JP JP2636486A patent/JPH0664618B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6581087B1 (en) | 1999-12-17 | 2003-06-17 | Mitsubishi Denki Kabushiki Kaisha | Floating point adder capable of rapid clip-code generation |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0664618B2 (ja) | 1994-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7970131B2 (en) | Elliptic curve cryptosystem apparatus, storage medium storing elliptic curve cryptosystem program, and elliptic curve cryptosystem arithmetic method | |
| JP2618951B2 (ja) | 三次元図形処理装置 | |
| JPH08329261A (ja) | パラメータ曲線発生器 | |
| JPH01124077A (ja) | 画素生成方法及びシステム | |
| JP2670875B2 (ja) | 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法 | |
| EP0349182B1 (en) | Method and apparatus for approximating polygonal line to curve | |
| JPS62184576A (ja) | クリツピング回路 | |
| JPH0585924B2 (ja) | ||
| JP2734649B2 (ja) | 曲面と直線の間の交点算出方式 | |
| CA2308249C (en) | Triangle strip length maximization | |
| JP3059739B2 (ja) | 曲線描画機能を備えた情報処理装置および処理方法 | |
| JP2507812B2 (ja) | 平方根計算方法 | |
| JP2959033B2 (ja) | 自由曲面と平面との間の交線算出装置 | |
| JPH0261779A (ja) | 座標データ処理装置 | |
| US4999797A (en) | Method of and device for circle generation | |
| JPH0368086A (ja) | 直線補間回路 | |
| JPS6114514B2 (ja) | ||
| EP0256488B1 (en) | Method of interpolating pixel values | |
| JP2889244B2 (ja) | 画像処理装置 | |
| JPH02213897A (ja) | 曲線発生回路 | |
| JP2650271B2 (ja) | 輪郭情報の格納方法 | |
| JPH1049652A (ja) | 3次元cadにおけるb−スプライン曲線と直線との交点算出方法 | |
| JPH064646A (ja) | ポリゴンデータ処理装置 | |
| JPH02281385A (ja) | 曲線の直線近似化装置 | |
| JPH05174152A (ja) | 画像処理装置 |