JP3180478B2 - セグメント生成装置 - Google Patents
セグメント生成装置Info
- Publication number
- JP3180478B2 JP3180478B2 JP33152292A JP33152292A JP3180478B2 JP 3180478 B2 JP3180478 B2 JP 3180478B2 JP 33152292 A JP33152292 A JP 33152292A JP 33152292 A JP33152292 A JP 33152292A JP 3180478 B2 JP3180478 B2 JP 3180478B2
- Authority
- JP
- Japan
- Prior art keywords
- edge pair
- pair data
- scan line
- active
- polygon
- 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 - Fee Related
Links
Landscapes
- Image Generation (AREA)
Description
【0001】
【産業上の利用分野】本発明は3次元空間上に定義され
た形状を、ラスタスキャン型ディスプレイ装置の2次元
スクリーン上に投影して表示する3次元コンピュータグ
ラフィックスにおけるセグメント生成装置に関するもの
である。
た形状を、ラスタスキャン型ディスプレイ装置の2次元
スクリーン上に投影して表示する3次元コンピュータグ
ラフィックスにおけるセグメント生成装置に関するもの
である。
【0002】
【従来の技術】近年、コンピュータグラフィックス技術
において、3次元形状を水平方向にスキャンしながら2
次元スクリーン上に表示する処理を、小量のハードウェ
アで高速に行なうための試みや研究が盛んに行なわれて
いる。
において、3次元形状を水平方向にスキャンしながら2
次元スクリーン上に表示する処理を、小量のハードウェ
アで高速に行なうための試みや研究が盛んに行なわれて
いる。
【0003】以下図面を参照しながら、上記した従来の
セグメント生成装置の一例について説明する。3次元形
状を2次元スクリーン上に投影して表示する3次元コン
ピュータグラフィックス装置では、ラスタスキャンの順
にポリゴンデータから各画素のデータを生成し表示装置
に出力する処理が必要となる。図14は従来のセグメン
ト生成装置の構成図を示すものである。
セグメント生成装置の一例について説明する。3次元形
状を2次元スクリーン上に投影して表示する3次元コン
ピュータグラフィックス装置では、ラスタスキャンの順
にポリゴンデータから各画素のデータを生成し表示装置
に出力する処理が必要となる。図14は従来のセグメン
ト生成装置の構成図を示すものである。
【0004】図14において、141は3次元形状を構
成するポリゴンのデータを入力するポリゴンデータ入力
部、142はポリゴンデータからセグメントデータを生
成するセグメントデータ生成部、143はセグメントデ
ータを格納するセグメントメモリ、144はスキャンラ
イン単位ごとにセグメントデータを出力するセグメント
出力部である。
成するポリゴンのデータを入力するポリゴンデータ入力
部、142はポリゴンデータからセグメントデータを生
成するセグメントデータ生成部、143はセグメントデ
ータを格納するセグメントメモリ、144はスキャンラ
イン単位ごとにセグメントデータを出力するセグメント
出力部である。
【0005】以上のように構成されたセグメント生成装
置について、図2、図3を参照しながら以下その動作に
ついて説明する。図2はワールド座標における3次元形
状を構成するポリゴンの図である。図3はスクリーン座
標におけるポリゴンの図である。図2および図3におい
て、21、31はポリゴン、22、32は現在有効なス
キャンライン平面(アクティブスキャンライン)、2
3、33は次に有効なスキャンライン平面(次アクティ
ブスキャンライン)、24、34はセグメントである。
置について、図2、図3を参照しながら以下その動作に
ついて説明する。図2はワールド座標における3次元形
状を構成するポリゴンの図である。図3はスクリーン座
標におけるポリゴンの図である。図2および図3におい
て、21、31はポリゴン、22、32は現在有効なス
キャンライン平面(アクティブスキャンライン)、2
3、33は次に有効なスキャンライン平面(次アクティ
ブスキャンライン)、24、34はセグメントである。
【0006】まず、ポリゴンデータ入力部141にワー
ルド座標系で定義されたポリゴン21の各頂点座標デー
タを入力する。次に、セグメントデータ生成部142は
ポリゴンデータ入力部141から得たポリゴンデータの
Y座標の最大値(Ymax)およびY座標の最小値(Y
min)を求め、YminからYmaxまでアクティブ
スキャンライン22毎に、ポリゴン21とアクティブス
キャンライン22との交線であるセグメント24の始点
と終点を計算し、座標変換を施すことにより、スクリー
ン座標系におけるセグメント34のデータを生成する。
ルド座標系で定義されたポリゴン21の各頂点座標デー
タを入力する。次に、セグメントデータ生成部142は
ポリゴンデータ入力部141から得たポリゴンデータの
Y座標の最大値(Ymax)およびY座標の最小値(Y
min)を求め、YminからYmaxまでアクティブ
スキャンライン22毎に、ポリゴン21とアクティブス
キャンライン22との交線であるセグメント24の始点
と終点を計算し、座標変換を施すことにより、スクリー
ン座標系におけるセグメント34のデータを生成する。
【0007】同様に3次元形状を構成する全ポリゴンデ
ータについて、セグメントデータを生成し、各々のスキ
ャンラインのセグメントデータとそのY座標情報をセグ
メントデータメモリ144に格納する。さらに、スキャ
ンラインカウンタを有するセグメント出力部144で
は、セグメントデータメモリ144に格納された全ポリ
ゴンのセグメントデータからアクティブスキャンライン
と同じY座標情報を持つセグメントデータを検索し順次
出力する(例えば、特開平3―206580号公報)。
ータについて、セグメントデータを生成し、各々のスキ
ャンラインのセグメントデータとそのY座標情報をセグ
メントデータメモリ144に格納する。さらに、スキャ
ンラインカウンタを有するセグメント出力部144で
は、セグメントデータメモリ144に格納された全ポリ
ゴンのセグメントデータからアクティブスキャンライン
と同じY座標情報を持つセグメントデータを検索し順次
出力する(例えば、特開平3―206580号公報)。
【0008】
【発明が解決しようとする課題】しかしながら上記のよ
うな従来の構成では、まず、全ポリゴンデータをセグメ
ントデータに変換するために、全セグメントデータを格
納しておく大量のセグメントメモリを必要とし、実際に
扱えるポリゴンデータ量が著しく制限されるという問題
点を有していた。さらに、セグメントメモリに格納され
た全セグメントデータの中から現在有効なセグメントデ
ータの検索が必要なために、処理の高速化に限界がある
という問題点を有していた。
うな従来の構成では、まず、全ポリゴンデータをセグメ
ントデータに変換するために、全セグメントデータを格
納しておく大量のセグメントメモリを必要とし、実際に
扱えるポリゴンデータ量が著しく制限されるという問題
点を有していた。さらに、セグメントメモリに格納され
た全セグメントデータの中から現在有効なセグメントデ
ータの検索が必要なために、処理の高速化に限界がある
という問題点を有していた。
【0009】本発明は上記問題点に鑑み、スキャンライ
ン上で有効なポリゴン情報の検索や大量なハードウェア
を必要とすることなく、スキャンライン毎に、セグメン
トデータを高速に生成するセグメント生成装置を提供す
ることを目的とする。
ン上で有効なポリゴン情報の検索や大量なハードウェア
を必要とすることなく、スキャンライン毎に、セグメン
トデータを高速に生成するセグメント生成装置を提供す
ることを目的とする。
【0010】
【課題を解決するための手段】上記目的を達するため、
本発明のセグメント生成装置は、ポリゴンを構成するエ
ッジペアデータをエッジペアデータ蓄積部に出力するエ
ッジペアデータ入力部と、アクティブスキャンラインと
交差するアクティブポリゴンの前記エッジペアデータを
蓄積するエッジペアデータ蓄積部と、前記エッジペアデ
ータ蓄積部から順次前記エッジペアデータを読み出すエ
ッジペアデータ読み出し部と、前記エッジペアデータ読
み出し部から得られる前記エッジペアデータに演算を施
すことにより前記アクティブポリゴンと前記アクティブ
スキャンラインとの交線を構成するセグメントデータを
算出するセグメントデータ生成部と、前記エッジペアデ
ータ読み出し部から得られる前記エッジペアデータに演
算を施すことにより前記次アクティブスキャンラインに
おける更新エッジペアデータを算出するエッジペアデー
タ更新部と、前記エッジペアデータ更新部から得られる
前記更新エッジペアデータが前記次アクティブスキャン
ラインにおいて有効な場合には前記更新エッジペアデー
タを前記エッジペアデータ蓄積部に入力するアクティブ
エッジペアデータ判断部という構成を備えたものであ
る。
本発明のセグメント生成装置は、ポリゴンを構成するエ
ッジペアデータをエッジペアデータ蓄積部に出力するエ
ッジペアデータ入力部と、アクティブスキャンラインと
交差するアクティブポリゴンの前記エッジペアデータを
蓄積するエッジペアデータ蓄積部と、前記エッジペアデ
ータ蓄積部から順次前記エッジペアデータを読み出すエ
ッジペアデータ読み出し部と、前記エッジペアデータ読
み出し部から得られる前記エッジペアデータに演算を施
すことにより前記アクティブポリゴンと前記アクティブ
スキャンラインとの交線を構成するセグメントデータを
算出するセグメントデータ生成部と、前記エッジペアデ
ータ読み出し部から得られる前記エッジペアデータに演
算を施すことにより前記次アクティブスキャンラインに
おける更新エッジペアデータを算出するエッジペアデー
タ更新部と、前記エッジペアデータ更新部から得られる
前記更新エッジペアデータが前記次アクティブスキャン
ラインにおいて有効な場合には前記更新エッジペアデー
タを前記エッジペアデータ蓄積部に入力するアクティブ
エッジペアデータ判断部という構成を備えたものであ
る。
【0011】または、エッジペアデータ入力部と、アク
ティブスキャンラインと交差するアクティブポリゴンの
垂直方向(y方向)における高さ(dY)または前記ア
クティブポリゴンに含まれる点の垂直座標(y座標)の
最大値(Ymax)と前記アクティブポリゴンのスキャ
ンライン平面に非平行な左稜線の垂直座標(y座標)が
大きい方の端点Aの水平座標(x座標)(X)と前記左
稜線のy方向に対するx座標変位(dX/dY)と前記
端点Aの長さまたは前記端点Aを端点とするスキャンラ
イン平面に平行な辺の長さ(Len)と前記Lenのy
方向に対する増分(dLen/dY)と前記端点Aの奥
行き座標(z座標)(Z)と前記左稜線のy方向に対す
るz座標変位(dZ/dY)と前記アクティブポリゴン
の水平方向(x方向)に対するz座標変位(dZ/d
X)とを前記アクティブポリゴンのエッジペアデータと
して蓄積し、全データを1サイクルで出力する構成であ
る。
ティブスキャンラインと交差するアクティブポリゴンの
垂直方向(y方向)における高さ(dY)または前記ア
クティブポリゴンに含まれる点の垂直座標(y座標)の
最大値(Ymax)と前記アクティブポリゴンのスキャ
ンライン平面に非平行な左稜線の垂直座標(y座標)が
大きい方の端点Aの水平座標(x座標)(X)と前記左
稜線のy方向に対するx座標変位(dX/dY)と前記
端点Aの長さまたは前記端点Aを端点とするスキャンラ
イン平面に平行な辺の長さ(Len)と前記Lenのy
方向に対する増分(dLen/dY)と前記端点Aの奥
行き座標(z座標)(Z)と前記左稜線のy方向に対す
るz座標変位(dZ/dY)と前記アクティブポリゴン
の水平方向(x方向)に対するz座標変位(dZ/d
X)とを前記アクティブポリゴンのエッジペアデータと
して蓄積し、全データを1サイクルで出力する構成であ
る。
【0012】または、前記dYまたは前記Ymaxを1
サイクルおよび前記Xと前記dX/dYとを1サイクル
および前記Lenと前記dLen/dYとを1サイクル
および前記Zと前記dZ/dYとを1サイクルおよび前
記dZ/dXを1サイクルで出力するエッジペアデータ
蓄積部と、前記エッジペアデータ蓄積部から1サイクル
毎に順次前記エッジペアデータを読み出すエッジペアデ
ータ読み出し部と、前記エッジペアデータ読み出し部か
ら得られる前記Xと前記dX/dYとの加算結果
(X’)および前記Zと前記dZ/dYとの加算結果
(Z’)および前記Lenと前記dLen/dYとの加
算結果(Len’)および前記dZ/dXを前記アクテ
ィブポリゴンと前記アクティブスキャンラインとの交線
を構成するセグメントデータとして算出するセグメント
データ生成部と、前記エッジペアデータ読み出し部から
得られる前記Ymaxまたは前記dYをデクリメントし
た結果(dY’)および前記dX/dYおよび前記Xと
前記dX/dYとの加算結果(X’)および前記dZ/
dYおよび前記Zと前記dZ/dYとの加算結果
(Z’)および前記dLen/dYおよび前記Lenと
前記dLen/dYとの加算結果(Len’)および前
記dZ/dXを前記次アクティブスキャンラインにおけ
る更新エッジペアデータとして算出するエッジペアデー
タ更新部と、前記アクティブスキャンラインのy座標
(Ycur)と前記エッジペアデータ更新部から得られ
る前記更新エッジペアデータの前記Ymaxとを比較し
前記更新エッジペアデータが前記次アクティブスキャン
ラインで有効な場合には前記更新エッジペアデータを前
記エッジペアデータ蓄積部に入力し前記Ycurをイン
クリメントするアクティブエッジペアデータ判断部、ま
たは、前記エッジペアデータ更新部から得られる更新エ
ッジペアデータの前記dY’が定義された定数と異なる
場合には前記更新エッジペアデータを前記エッジペアデ
ータ蓄積部に入力するアクティブエッジペアデータ判断
部という構成を備えたものである。
サイクルおよび前記Xと前記dX/dYとを1サイクル
および前記Lenと前記dLen/dYとを1サイクル
および前記Zと前記dZ/dYとを1サイクルおよび前
記dZ/dXを1サイクルで出力するエッジペアデータ
蓄積部と、前記エッジペアデータ蓄積部から1サイクル
毎に順次前記エッジペアデータを読み出すエッジペアデ
ータ読み出し部と、前記エッジペアデータ読み出し部か
ら得られる前記Xと前記dX/dYとの加算結果
(X’)および前記Zと前記dZ/dYとの加算結果
(Z’)および前記Lenと前記dLen/dYとの加
算結果(Len’)および前記dZ/dXを前記アクテ
ィブポリゴンと前記アクティブスキャンラインとの交線
を構成するセグメントデータとして算出するセグメント
データ生成部と、前記エッジペアデータ読み出し部から
得られる前記Ymaxまたは前記dYをデクリメントし
た結果(dY’)および前記dX/dYおよび前記Xと
前記dX/dYとの加算結果(X’)および前記dZ/
dYおよび前記Zと前記dZ/dYとの加算結果
(Z’)および前記dLen/dYおよび前記Lenと
前記dLen/dYとの加算結果(Len’)および前
記dZ/dXを前記次アクティブスキャンラインにおけ
る更新エッジペアデータとして算出するエッジペアデー
タ更新部と、前記アクティブスキャンラインのy座標
(Ycur)と前記エッジペアデータ更新部から得られ
る前記更新エッジペアデータの前記Ymaxとを比較し
前記更新エッジペアデータが前記次アクティブスキャン
ラインで有効な場合には前記更新エッジペアデータを前
記エッジペアデータ蓄積部に入力し前記Ycurをイン
クリメントするアクティブエッジペアデータ判断部、ま
たは、前記エッジペアデータ更新部から得られる更新エ
ッジペアデータの前記dY’が定義された定数と異なる
場合には前記更新エッジペアデータを前記エッジペアデ
ータ蓄積部に入力するアクティブエッジペアデータ判断
部という構成を備えたものである。
【0013】または、エッジペアデータ入力部と、アク
ティブスキャンラインと交差するアクティブポリゴンの
垂直方向(y方向)における高さ(dY)と前記アクテ
ィブポリゴンの前記スキャンライン平面に非平行な左稜
線の垂直座標(y座標)が大きい方の端点Aの水平座標
(x座標)(X)と前記左稜線のy方向に対するx座標
変位(dX/dY)と前記端点Aの長さまたは前記端点
Aを端点とする前記スキャンライン平面に平行な辺の長
さ(Len)と前記Lenのy方向に対する増分(dL
en/dY)と前記端点Aの奥行き座標(z座標)
(Z)と前記左稜線のy方向に対するz座標変位(dZ
/dY)と前記アクティブポリゴンの水平方向(x方
向)に対するz座標変位(dZ/dX)とを前記アクテ
ィブポリゴンの前記エッジペアデータとして蓄積し前記
dYを1サイクルおよび前記Xと前記dX/dYとを1
サイクルおよび前記Lenと前記dLen/dYとを1
サイクルおよび前記Zと前記dZ/dYと前記dZ/d
Xとを1サイクルで出力するエッジペアデータ蓄積部
と、前記エッジペアデータ蓄積部から1サイクル毎に順
次前記エッジペアデータを読み出すエッジペアデータ読
み出し部と、前記エッジペアデータ読み出し部から得ら
れる前記dYをデクリメントした結果(dY’)および
前記Xと前記dX/dYとの加算結果(X’)および前
記Zと前記dZ/dYとの加算結果(Z’)および前記
Lenと前記dLen/dYとの加算結果(Len’)
を算出する加算器と前記加算結果および前記エッジペア
データ読み出し部から得られるエッジペアデータを保存
するレジスタから構成され、前記X’および前記Z’お
よび前記Len’および前記エッジペアデータ読み出し
部から得られるdZ/dXを前記アクティブポリゴンと
前記アクティブスキャンラインとの交線を構成するセグ
メントデータとして算出し前記dY’および前記X’お
よび前記Z’および前記Len’および前記エッジペア
データ読み出し部から得られる前記dZ/dXと前記d
X/dYと前記dZ/dYと前記dLen/dYとを前
記次アクティブスキャンラインにおける更新エッジペア
データとして算出するセグメントデータ生成・エッジペ
アデータ更新部と、前記エッジペアデータ更新部から得
られる更新エッジペアデータの前記dY’が定義された
定数と異なる場合には前記更新エッジペアデータを前記
エッジペアデータ蓄積部に入力するアクティブエッジペ
アデータ判断部とを備えた構成である。
ティブスキャンラインと交差するアクティブポリゴンの
垂直方向(y方向)における高さ(dY)と前記アクテ
ィブポリゴンの前記スキャンライン平面に非平行な左稜
線の垂直座標(y座標)が大きい方の端点Aの水平座標
(x座標)(X)と前記左稜線のy方向に対するx座標
変位(dX/dY)と前記端点Aの長さまたは前記端点
Aを端点とする前記スキャンライン平面に平行な辺の長
さ(Len)と前記Lenのy方向に対する増分(dL
en/dY)と前記端点Aの奥行き座標(z座標)
(Z)と前記左稜線のy方向に対するz座標変位(dZ
/dY)と前記アクティブポリゴンの水平方向(x方
向)に対するz座標変位(dZ/dX)とを前記アクテ
ィブポリゴンの前記エッジペアデータとして蓄積し前記
dYを1サイクルおよび前記Xと前記dX/dYとを1
サイクルおよび前記Lenと前記dLen/dYとを1
サイクルおよび前記Zと前記dZ/dYと前記dZ/d
Xとを1サイクルで出力するエッジペアデータ蓄積部
と、前記エッジペアデータ蓄積部から1サイクル毎に順
次前記エッジペアデータを読み出すエッジペアデータ読
み出し部と、前記エッジペアデータ読み出し部から得ら
れる前記dYをデクリメントした結果(dY’)および
前記Xと前記dX/dYとの加算結果(X’)および前
記Zと前記dZ/dYとの加算結果(Z’)および前記
Lenと前記dLen/dYとの加算結果(Len’)
を算出する加算器と前記加算結果および前記エッジペア
データ読み出し部から得られるエッジペアデータを保存
するレジスタから構成され、前記X’および前記Z’お
よび前記Len’および前記エッジペアデータ読み出し
部から得られるdZ/dXを前記アクティブポリゴンと
前記アクティブスキャンラインとの交線を構成するセグ
メントデータとして算出し前記dY’および前記X’お
よび前記Z’および前記Len’および前記エッジペア
データ読み出し部から得られる前記dZ/dXと前記d
X/dYと前記dZ/dYと前記dLen/dYとを前
記次アクティブスキャンラインにおける更新エッジペア
データとして算出するセグメントデータ生成・エッジペ
アデータ更新部と、前記エッジペアデータ更新部から得
られる更新エッジペアデータの前記dY’が定義された
定数と異なる場合には前記更新エッジペアデータを前記
エッジペアデータ蓄積部に入力するアクティブエッジペ
アデータ判断部とを備えた構成である。
【0014】
【作用】本発明は、現在有効なスキャンライン平面と交
差するポリゴン情報を蓄積するエッジペアデータ蓄積部
と更新したポリゴン情報が次のスキャンラインで有効な
場合には更新ポリゴン情報をエッジペアデータ蓄積部に
入力するアクティブエッジペアデータ判断部とを設け、
スキャンライン上で有効なポリゴン情報を管理すること
により、現在有効なポリゴン情報の検索を必要とするこ
となく高速にセグメントデータを生成することが可能と
なる。
差するポリゴン情報を蓄積するエッジペアデータ蓄積部
と更新したポリゴン情報が次のスキャンラインで有効な
場合には更新ポリゴン情報をエッジペアデータ蓄積部に
入力するアクティブエッジペアデータ判断部とを設け、
スキャンライン上で有効なポリゴン情報を管理すること
により、現在有効なポリゴン情報の検索を必要とするこ
となく高速にセグメントデータを生成することが可能と
なる。
【0015】また、現在有効なエッジペアデータから更
新エッジペアデータおよびセグメントデータを算出する
加算器とレジスタから構成されるセグメントデータ生成
・エッジペアデータ更新部を設けることにより、大量な
ハードウェア資源を必要とすることなく高速なセグメン
トデータ生成処理を実現することが可能となる。
新エッジペアデータおよびセグメントデータを算出する
加算器とレジスタから構成されるセグメントデータ生成
・エッジペアデータ更新部を設けることにより、大量な
ハードウェア資源を必要とすることなく高速なセグメン
トデータ生成処理を実現することが可能となる。
【0016】
【実施例】以下本発明の第1の実施例のセグメント生成
装置について、図面を参照しながら説明する。図1は本
発明の第1の実施例におけるセグメント生成装置の構成
図を示すものである。
装置について、図面を参照しながら説明する。図1は本
発明の第1の実施例におけるセグメント生成装置の構成
図を示すものである。
【0017】図1において、11は次に有効となるスキ
ャンライン平面(以下次アクティブスキャンラインとい
う)と交差するポリゴンのエッジペアデータを入力しエ
ッジペアデータ蓄積部12に出力するエッジペアデータ
入力部、12は現在有効なスキャンライン平面(以下ア
クティブスキャンラインという)と交差するポリゴン
(以下アクティブポリゴンという)のエッジペアデータ
を蓄積するエッジペアデータ蓄積部、13はエッジペア
データ蓄積部12からエッジペアデータを読み出すエッ
ジペアデータ読み出し部、14はエッジペアデータ読み
出し部13から得たエッジペアデータに演算を施しセグ
メントデータを算出するセグメントデータ生成部、15
はエッジペアデータ読み出し部13から得たエッジペア
データに演算を施し次アクティブスキャンラインにおけ
る更新エッジペアデータを算出するエッジペアデータ更
新部、16はエッジペアデータ更新部15から得た更新
エッジペアデータが次アクティブスキャンラインで有効
な場合には、更新エッジペアデータをエッジペアデータ
蓄積部12に入力するアクティブエッジペアデータ判断
部、17はセグメント生成・エッジペアデータ更新部1
7である。
ャンライン平面(以下次アクティブスキャンラインとい
う)と交差するポリゴンのエッジペアデータを入力しエ
ッジペアデータ蓄積部12に出力するエッジペアデータ
入力部、12は現在有効なスキャンライン平面(以下ア
クティブスキャンラインという)と交差するポリゴン
(以下アクティブポリゴンという)のエッジペアデータ
を蓄積するエッジペアデータ蓄積部、13はエッジペア
データ蓄積部12からエッジペアデータを読み出すエッ
ジペアデータ読み出し部、14はエッジペアデータ読み
出し部13から得たエッジペアデータに演算を施しセグ
メントデータを算出するセグメントデータ生成部、15
はエッジペアデータ読み出し部13から得たエッジペア
データに演算を施し次アクティブスキャンラインにおけ
る更新エッジペアデータを算出するエッジペアデータ更
新部、16はエッジペアデータ更新部15から得た更新
エッジペアデータが次アクティブスキャンラインで有効
な場合には、更新エッジペアデータをエッジペアデータ
蓄積部12に入力するアクティブエッジペアデータ判断
部、17はセグメント生成・エッジペアデータ更新部1
7である。
【0018】本発明の実施例では、ポリゴンとは、スキ
ャンライン平面に平行な2辺からなる台形またはスキャ
ンライン平面に平行な1辺を底辺とする三角形を意味
し、任意の3次元多面体は前記ポリゴンを用いて表現す
ることが可能である。
ャンライン平面に平行な2辺からなる台形またはスキャ
ンライン平面に平行な1辺を底辺とする三角形を意味
し、任意の3次元多面体は前記ポリゴンを用いて表現す
ることが可能である。
【0019】以上のように構成されたセグメント生成装
置について、以下図1、図4、図5、図6、図7、図8
及び図9を用いてその動作を説明する。図4はワールド
座標系におけるポリゴンの図で、図5は図4をXY平面
に投影した図、図6は図4をYZ平面に投影した図、図
7は図4をZX平面に投影した図である。
置について、以下図1、図4、図5、図6、図7、図8
及び図9を用いてその動作を説明する。図4はワールド
座標系におけるポリゴンの図で、図5は図4をXY平面
に投影した図、図6は図4をYZ平面に投影した図、図
7は図4をZX平面に投影した図である。
【0020】図4、図5、図6、図7において、41、
51、61は、ポリゴンABCD、42、52、62、
71は、セグメント43、53、63は、アクティブス
キャンラインである。図8はセグメントデータの概念図
である。図8において、81はセグメント、82はポリ
ゴン、83はアクティブスキャンラインである。
51、61は、ポリゴンABCD、42、52、62、
71は、セグメント43、53、63は、アクティブス
キャンラインである。図8はセグメントデータの概念図
である。図8において、81はセグメント、82はポリ
ゴン、83はアクティブスキャンラインである。
【0021】図9は本実施例におけるエッジペアデータ
蓄積部のデータの並びを示した図である。本実施例で
は、エッジペアデータは、図4〜図7に示されるよう
に、ポリゴンABCDのY方向の大きさdY、頂点Aの
x座標値X、左稜線ABのXのYに対する増分dX/d
Y、辺ADの長さLenと、そのYに対する増分dLe
n/dY、頂点Aのz座標値Z、左稜線ABのZのYに
対する増分dZ/dY、およびZのXに対する増分dZ
/dYによって構成され、セグメントデータは、図8に
示されるように、セグメント81の左端点のx座標X’
およびz座標Z’、セグメント81のXに対するZの増
分dZ/dXによってセグメントのX方向の長さをスク
リーン上の画素数で表したLen’によって構成され
る。ただし、ポリゴンは三角形の場合は、Lenが1で
ある。
蓄積部のデータの並びを示した図である。本実施例で
は、エッジペアデータは、図4〜図7に示されるよう
に、ポリゴンABCDのY方向の大きさdY、頂点Aの
x座標値X、左稜線ABのXのYに対する増分dX/d
Y、辺ADの長さLenと、そのYに対する増分dLe
n/dY、頂点Aのz座標値Z、左稜線ABのZのYに
対する増分dZ/dY、およびZのXに対する増分dZ
/dYによって構成され、セグメントデータは、図8に
示されるように、セグメント81の左端点のx座標X’
およびz座標Z’、セグメント81のXに対するZの増
分dZ/dXによってセグメントのX方向の長さをスク
リーン上の画素数で表したLen’によって構成され
る。ただし、ポリゴンは三角形の場合は、Lenが1で
ある。
【0022】エッジペアデータからスキャンラインデー
タの生成(スキャン変換)処理は、以下のような繰り返
し計算により実現される。
タの生成(スキャン変換)処理は、以下のような繰り返
し計算により実現される。
【0023】
【数1】
【0024】以上の計算によるスキャン変換処理を実現
するために、本実施例において、まず、エッジペアデー
タ入力部11は、次アクティブスキャンラインと交差す
るポリゴンを構成するエッジペアデータをエッジペアデ
ータ蓄積部12に出力する。エッジペアデータ蓄積部1
2は、図9に示すようなデータ並びで、1列ごとに1ス
キャンライン分のエッジペアデータを格納し、1サイク
ルで1列の全データを出力する。エッジペアデータ読み
出し部13から1サイクルで読み出したデータからセグ
メントデータ生成部14は、以下の(数2)を用いてセ
グメントデータX’、Z’およびLen’を生成する。
するために、本実施例において、まず、エッジペアデー
タ入力部11は、次アクティブスキャンラインと交差す
るポリゴンを構成するエッジペアデータをエッジペアデ
ータ蓄積部12に出力する。エッジペアデータ蓄積部1
2は、図9に示すようなデータ並びで、1列ごとに1ス
キャンライン分のエッジペアデータを格納し、1サイク
ルで1列の全データを出力する。エッジペアデータ読み
出し部13から1サイクルで読み出したデータからセグ
メントデータ生成部14は、以下の(数2)を用いてセ
グメントデータX’、Z’およびLen’を生成する。
【0025】
【数2】
【0026】さらに、エッジペアデータ更新部15は、
エッジペアデータ読み出し部13から1サイクルで読み
出したデータから
エッジペアデータ読み出し部13から1サイクルで読み
出したデータから
【0027】
【数3】
【0028】で算出されるdY’と、(数2)から求め
られるX’、Z’、Len’と読み出したデータdX/
dY、dZ/dY、dLen/dYおよびdZ/dXを
更新エッジペアデータとして出力する。さらにアクティ
ブエッジペアデータ判断部16において、エッジペアデ
ータ更新部15から出力された更新エッジペアデータの
dY’の値を参照し、0と異なる場合には、更新エッジ
ペアデータが次アクティブスキャンラインにおいても有
効と見なし、更新エッジペアデータをエッジペアデータ
蓄積部12に出力する。以上に示した処理をすべてのエ
ッジペアデータに対して繰り返し行なう。
られるX’、Z’、Len’と読み出したデータdX/
dY、dZ/dY、dLen/dYおよびdZ/dXを
更新エッジペアデータとして出力する。さらにアクティ
ブエッジペアデータ判断部16において、エッジペアデ
ータ更新部15から出力された更新エッジペアデータの
dY’の値を参照し、0と異なる場合には、更新エッジ
ペアデータが次アクティブスキャンラインにおいても有
効と見なし、更新エッジペアデータをエッジペアデータ
蓄積部12に出力する。以上に示した処理をすべてのエ
ッジペアデータに対して繰り返し行なう。
【0029】以上のように本実施例によれば、ポリゴン
を構成するエッジペアデータをエッジペアデータ蓄積部
12に出力するエッジペアデータ入力部11と、アクテ
ィブスキャンラインと交差するアクティブポリゴンの垂
直方向(y方向)における高さ(dY)と前記アクティ
ブポリゴンの前記スキャンライン平面に非平行な左右の
稜線のうち左稜線の垂直座標(y座標)が大きい方の端
点(端点A)の水平座標(x座標)(X)と前記左稜線
のy方向に対するx座標変位(dX/dY)と前記アク
ティブポリゴンが上に凸の三角形の場合は前記端点Aの
長さまたは前記アクティブポリゴンが台形または下に凸
の三角形の場合は前記端点Aを端点とする前記スキャン
ライン平面に平行な辺の長さ(Len)と前記Lenの
y方向に対する増分(dLen/dY)と前記端点Aの
奥行き座標(z座標)(Z)と前記左稜線のy方向に対
するz座標変位(dZ/dY)と前記アクティブポリゴ
ンの水平方向(x方向)に対するz座標変位(dZ/d
X)とを前記アクティブポリゴンの前記エッジペアデー
タとして蓄積し1サイクルで出力するエッジペアデータ
蓄積部12と、エッジペアデータ蓄積部12から1サイ
クル毎に順次前記エッジペアデータを読み出すエッジペ
アデータ読み出し部13と、エッジペアデータ読み出し
部13から得られる前記Xと前記dX/dYとの加算結
果(X’)および前記Zと前記dZ/dYとの加算結果
(Z’)および前記Lenと前記dLen/dYとの加
算結果(Len’)および前記dZ/dXを前記アクテ
ィブポリゴンと前記アクティブスキャンラインとの交線
を構成するセグメントデータとして算出するセグメント
データ生成部14と、エッジペアデータ読み出し部13
から得られる前記dYをデクリメントした結果(d
Y’)および前記dX/dYおよび前記Xと前記dX/
dYとの加算結果(X’)および前記dZ/dYおよび
前記Zと前記dZ/dYとの加算結果(Z’)および前
記dLen/dYおよび前記Lenと前記dLen/d
Yとの加算結果(Len’)および前記dZ/dXを前
記次アクティブスキャンラインにおける更新エッジペア
データとして算出するエッジペアデータ更新部15と、
エッジペアデータ更新部15から得られる更新エッジペ
アデータの前記dY’が定義された定数と異なる場合に
は前記更新エッジペアデータをエッジペアデータ蓄積部
12に入力するアクティブエッジペアデータ判断部16
とを設け、スキャンライン上で有効なポリゴン情報を管
理することにより、現在有効なポリゴン情報の検索を必
要とすることなく、高速にセグメントデータを生成する
ことが可能となる。
を構成するエッジペアデータをエッジペアデータ蓄積部
12に出力するエッジペアデータ入力部11と、アクテ
ィブスキャンラインと交差するアクティブポリゴンの垂
直方向(y方向)における高さ(dY)と前記アクティ
ブポリゴンの前記スキャンライン平面に非平行な左右の
稜線のうち左稜線の垂直座標(y座標)が大きい方の端
点(端点A)の水平座標(x座標)(X)と前記左稜線
のy方向に対するx座標変位(dX/dY)と前記アク
ティブポリゴンが上に凸の三角形の場合は前記端点Aの
長さまたは前記アクティブポリゴンが台形または下に凸
の三角形の場合は前記端点Aを端点とする前記スキャン
ライン平面に平行な辺の長さ(Len)と前記Lenの
y方向に対する増分(dLen/dY)と前記端点Aの
奥行き座標(z座標)(Z)と前記左稜線のy方向に対
するz座標変位(dZ/dY)と前記アクティブポリゴ
ンの水平方向(x方向)に対するz座標変位(dZ/d
X)とを前記アクティブポリゴンの前記エッジペアデー
タとして蓄積し1サイクルで出力するエッジペアデータ
蓄積部12と、エッジペアデータ蓄積部12から1サイ
クル毎に順次前記エッジペアデータを読み出すエッジペ
アデータ読み出し部13と、エッジペアデータ読み出し
部13から得られる前記Xと前記dX/dYとの加算結
果(X’)および前記Zと前記dZ/dYとの加算結果
(Z’)および前記Lenと前記dLen/dYとの加
算結果(Len’)および前記dZ/dXを前記アクテ
ィブポリゴンと前記アクティブスキャンラインとの交線
を構成するセグメントデータとして算出するセグメント
データ生成部14と、エッジペアデータ読み出し部13
から得られる前記dYをデクリメントした結果(d
Y’)および前記dX/dYおよび前記Xと前記dX/
dYとの加算結果(X’)および前記dZ/dYおよび
前記Zと前記dZ/dYとの加算結果(Z’)および前
記dLen/dYおよび前記Lenと前記dLen/d
Yとの加算結果(Len’)および前記dZ/dXを前
記次アクティブスキャンラインにおける更新エッジペア
データとして算出するエッジペアデータ更新部15と、
エッジペアデータ更新部15から得られる更新エッジペ
アデータの前記dY’が定義された定数と異なる場合に
は前記更新エッジペアデータをエッジペアデータ蓄積部
12に入力するアクティブエッジペアデータ判断部16
とを設け、スキャンライン上で有効なポリゴン情報を管
理することにより、現在有効なポリゴン情報の検索を必
要とすることなく、高速にセグメントデータを生成する
ことが可能となる。
【0030】以下本発明の第2の実施例について図1及
び図10を参照しながら説明する。本実施例において、
エッジペアデータは、第1の実施例におけるエッジペア
データdYの変わりにポリゴンABCD内部の点のY座
標の最大値(Ymax)を用いる。
び図10を参照しながら説明する。本実施例において、
エッジペアデータは、第1の実施例におけるエッジペア
データdYの変わりにポリゴンABCD内部の点のY座
標の最大値(Ymax)を用いる。
【0031】図1は本発明の第2の実施例を示すセグメ
ント生成装置の構成図である。図10は第2の実施例に
おけるエッジペアデータ蓄積部のデータの並びを示した
図である。以上のように構成されたセグメント生成装置
について、以下その動作を説明する。図1において、エ
ッジペアデータ入力部11、エッジペアデータ読み出し
部13およびセグメントデータ生成部14は、第1の実
施例と同様の動作を行なう。
ント生成装置の構成図である。図10は第2の実施例に
おけるエッジペアデータ蓄積部のデータの並びを示した
図である。以上のように構成されたセグメント生成装置
について、以下その動作を説明する。図1において、エ
ッジペアデータ入力部11、エッジペアデータ読み出し
部13およびセグメントデータ生成部14は、第1の実
施例と同様の動作を行なう。
【0032】本実施例においてエッジペアデータ蓄積部
12は、図10に示すデータ並びでエッジペアデータを
格納し、1列ごとに1スキャンライン分のエッジペアデ
ータを格納し、1サイクルで1列の全データを出力す
る。またエッジペアデータ更新部15は、エッジペアデ
ータ読み出し部13から1サイクルで読み出したデータ
から(数2)で求められるX’、Z’、Len’と読み
出したデータYmax、dX/dY、dZ/dY、dL
en/dYおよびdZ/dXを更新エッジペアデータと
して出力する。
12は、図10に示すデータ並びでエッジペアデータを
格納し、1列ごとに1スキャンライン分のエッジペアデ
ータを格納し、1サイクルで1列の全データを出力す
る。またエッジペアデータ更新部15は、エッジペアデ
ータ読み出し部13から1サイクルで読み出したデータ
から(数2)で求められるX’、Z’、Len’と読み
出したデータYmax、dX/dY、dZ/dY、dL
en/dYおよびdZ/dXを更新エッジペアデータと
して出力する。
【0033】さらに、アクティブエッジペアデータ判断
部16では、アクティブスキャンライン(Ycur)を
カウントするカウンタおよび比較器を有し、エッジペア
データ更新部15から出力された更新エッジペアデータ
のYmaxの値とYcurとを比較し、Ycur≦Ym
axの場合には、更新エッジペアデータが次アクティブ
スキャンラインにおいても有効と見なし、エッジペアデ
ータ蓄積部に入力し、カウンタのYcurの値を1増や
す。以上に示した処理をすべてのエッジペアデータに対
して繰り返し行なう。
部16では、アクティブスキャンライン(Ycur)を
カウントするカウンタおよび比較器を有し、エッジペア
データ更新部15から出力された更新エッジペアデータ
のYmaxの値とYcurとを比較し、Ycur≦Ym
axの場合には、更新エッジペアデータが次アクティブ
スキャンラインにおいても有効と見なし、エッジペアデ
ータ蓄積部に入力し、カウンタのYcurの値を1増や
す。以上に示した処理をすべてのエッジペアデータに対
して繰り返し行なう。
【0034】以上のように第2の実施例によれば、アク
ティブスキャンラインと交差するアクティブポリゴンに
含まれる点の垂直座標(y座標)の最大値(Ymax)
と前記アクティブポリゴンのスキャンライン平面に非平
行な左稜線のy座標が大きい方の端点Aの水平座標(x
座標)(X)と前記左稜線のy方向に対するx座標変位
(dX/dY)と前記アクティブポリゴンが上に凸の三
角形の場合は前記端点Aの長さまたは前記アクティブポ
リゴンが台形または下に凸の三角形の場合は前記端点A
を端点とする前記スキャンライン平面に平行な辺の長さ
(Len)と前記Lenのy方向に対する増分(dLe
n/dY)と前記端点Aの奥行き座標(z座標)(Z)
と前記左稜線のy方向に対するz座標変位(dZ/d
Y)と前記アクティブポリゴンの水平方向(x方向)に
対するz座標変位(dZ/dX)とを前記アクティブポ
リゴンのエッジペアデータとして蓄積し1サイクルで出
力するエッジペアデータ蓄積部12と、エッジペアデー
タ蓄積部12から1サイクル毎に順次前記エッジペアデ
ータを読み出すエッジペアデータ読み出し部13と、エ
ッジペアデータ読み出し部13から得られる前記Xと前
記dX/dYとの加算結果(X’)および前記Zと前記
dZ/dYとの加算結果(Z’)および前記Lenと前
記dLen/dYとの加算結果(Len’)および前記
dZ/dXを前記アクティブポリゴンと前記アクティブ
スキャンラインとの交線を構成するセグメントデータと
して算出するセグメントデータ生成部14と、エッジペ
アデータ読み出し部15から得られる前記Ymaxおよ
び前記dX/dYおよび前記Xと前記dX/dYとの加
算結果(X’)および前記dZ/dYおよび前記Zと前
記dZ/dYとの加算結果(Z’)および前記dLen
/dYおよび前記Lenと前記dLen/dYとの加算
結果(Len’)および前記dZ/dXを前記次アクテ
ィブスキャンラインにおける更新エッジペアデータとし
て算出するエッジペアデータ更新部15と、前記アクテ
ィブスキャンラインのy座標(Ycur)とエッジペア
データ更新部15から得られる前記更新エッジペアデー
タの前記Ymaxとを比較し前記更新エッジペアデータ
が前記次アクティブスキャンラインで有効な場合には前
記更新エッジペアデータをエッジペアデータ蓄積部12
に入力し前記Ycurをインクリメントするアクティブ
エッジペアデータ判断部16とを設け、スキャンライン
上で有効なポリゴン情報を管理することにより、現在有
効なポリゴン情報の検索を必要とすることなく高速にセ
グメントデータを生成することが可能となる。
ティブスキャンラインと交差するアクティブポリゴンに
含まれる点の垂直座標(y座標)の最大値(Ymax)
と前記アクティブポリゴンのスキャンライン平面に非平
行な左稜線のy座標が大きい方の端点Aの水平座標(x
座標)(X)と前記左稜線のy方向に対するx座標変位
(dX/dY)と前記アクティブポリゴンが上に凸の三
角形の場合は前記端点Aの長さまたは前記アクティブポ
リゴンが台形または下に凸の三角形の場合は前記端点A
を端点とする前記スキャンライン平面に平行な辺の長さ
(Len)と前記Lenのy方向に対する増分(dLe
n/dY)と前記端点Aの奥行き座標(z座標)(Z)
と前記左稜線のy方向に対するz座標変位(dZ/d
Y)と前記アクティブポリゴンの水平方向(x方向)に
対するz座標変位(dZ/dX)とを前記アクティブポ
リゴンのエッジペアデータとして蓄積し1サイクルで出
力するエッジペアデータ蓄積部12と、エッジペアデー
タ蓄積部12から1サイクル毎に順次前記エッジペアデ
ータを読み出すエッジペアデータ読み出し部13と、エ
ッジペアデータ読み出し部13から得られる前記Xと前
記dX/dYとの加算結果(X’)および前記Zと前記
dZ/dYとの加算結果(Z’)および前記Lenと前
記dLen/dYとの加算結果(Len’)および前記
dZ/dXを前記アクティブポリゴンと前記アクティブ
スキャンラインとの交線を構成するセグメントデータと
して算出するセグメントデータ生成部14と、エッジペ
アデータ読み出し部15から得られる前記Ymaxおよ
び前記dX/dYおよび前記Xと前記dX/dYとの加
算結果(X’)および前記dZ/dYおよび前記Zと前
記dZ/dYとの加算結果(Z’)および前記dLen
/dYおよび前記Lenと前記dLen/dYとの加算
結果(Len’)および前記dZ/dXを前記次アクテ
ィブスキャンラインにおける更新エッジペアデータとし
て算出するエッジペアデータ更新部15と、前記アクテ
ィブスキャンラインのy座標(Ycur)とエッジペア
データ更新部15から得られる前記更新エッジペアデー
タの前記Ymaxとを比較し前記更新エッジペアデータ
が前記次アクティブスキャンラインで有効な場合には前
記更新エッジペアデータをエッジペアデータ蓄積部12
に入力し前記Ycurをインクリメントするアクティブ
エッジペアデータ判断部16とを設け、スキャンライン
上で有効なポリゴン情報を管理することにより、現在有
効なポリゴン情報の検索を必要とすることなく高速にセ
グメントデータを生成することが可能となる。
【0035】次に本発明の第3の実施例について図1、
図11および図12を参照しながら説明する。本実施例
におけるエッジペアデータとして第1の実施例または第
2の実施例のエッジペアデータを用いる。図11および
図12は本発明の第3の実施例におけるエッジペアデー
タ蓄積部のデータの並びを示した図である。
図11および図12を参照しながら説明する。本実施例
におけるエッジペアデータとして第1の実施例または第
2の実施例のエッジペアデータを用いる。図11および
図12は本発明の第3の実施例におけるエッジペアデー
タ蓄積部のデータの並びを示した図である。
【0036】以上のように構成されたセグメント生成装
置について、以下その動作を説明する。図1において、
エッジペアデータ入力部11、エッジペアデータ読み出
し部13及びセグメントデータ生成部14は、第1の実
施例と同様の動作を行なうので詳細な説明は省略する。
置について、以下その動作を説明する。図1において、
エッジペアデータ入力部11、エッジペアデータ読み出
し部13及びセグメントデータ生成部14は、第1の実
施例と同様の動作を行なうので詳細な説明は省略する。
【0037】本実施例において、エッジペアデータが第
1の実施例のデータ形式をとる場合は、エッジペアデー
タ蓄積部12は、図11に示すデータ並びでエッジペア
データを格納し、5列ごとに1スキャンライン分のエッ
ジペアデータを格納し、1サイクルで1列、合計5サイ
クルで1エッジペアデータを出力し、エッジペアデータ
更新部15は、エッジペアデータ読み出し部13から1
サイクル毎に読み出したデータから(数2)及び(数
3)を用いて算出したdY’、X’Len’およびZ’
を読み出したデータdX/dY、dZ/dY、dLen
/dY、およびdZ/dXと共に更新エッジペアデータ
として出力し、アクティブエッジペアデータ判断部16
は、第1の実施例と同様の処理を行なう。
1の実施例のデータ形式をとる場合は、エッジペアデー
タ蓄積部12は、図11に示すデータ並びでエッジペア
データを格納し、5列ごとに1スキャンライン分のエッ
ジペアデータを格納し、1サイクルで1列、合計5サイ
クルで1エッジペアデータを出力し、エッジペアデータ
更新部15は、エッジペアデータ読み出し部13から1
サイクル毎に読み出したデータから(数2)及び(数
3)を用いて算出したdY’、X’Len’およびZ’
を読み出したデータdX/dY、dZ/dY、dLen
/dY、およびdZ/dXと共に更新エッジペアデータ
として出力し、アクティブエッジペアデータ判断部16
は、第1の実施例と同様の処理を行なう。
【0038】また、本実施例において、エッジペアデー
タが第2の実施例のデータ形式をとる場合は、エッジペ
アデータ蓄積部12は、図12に示すデータ並びでエッ
ジペアデータを格納し、5列ごとに1スキャンライン分
のエッジペアデータを格納し、1サイクルで1列、合計
5サイクルで1エッジペアデータを出力し、エッジペア
データ更新部15は、エッジペアデータ読み出し部13
から1サイクル毎に読み出したデータから(数2)を用
いて算出したX’Len’およびZ’を読み出したデー
タYmax、dX/dY、dZ/dY、dLen/d
Y、およびdZ/dXと共に更新エッジペアデータとし
て出力し、アクティブエッジペアデータ判断部16は、
第2の実施例と同様の処理を行なう。以上に示した処理
をすべてのエッジペアデータに対して繰り返し行なう。
タが第2の実施例のデータ形式をとる場合は、エッジペ
アデータ蓄積部12は、図12に示すデータ並びでエッ
ジペアデータを格納し、5列ごとに1スキャンライン分
のエッジペアデータを格納し、1サイクルで1列、合計
5サイクルで1エッジペアデータを出力し、エッジペア
データ更新部15は、エッジペアデータ読み出し部13
から1サイクル毎に読み出したデータから(数2)を用
いて算出したX’Len’およびZ’を読み出したデー
タYmax、dX/dY、dZ/dY、dLen/d
Y、およびdZ/dXと共に更新エッジペアデータとし
て出力し、アクティブエッジペアデータ判断部16は、
第2の実施例と同様の処理を行なう。以上に示した処理
をすべてのエッジペアデータに対して繰り返し行なう。
【0039】以上のように第3の実施例によれば、アク
ティブスキャンラインと交差するアクティブポリゴンの
垂直方向(y方向)における高さ(dY)または前記ア
クティブポリゴンに含まれる点の垂直座標(y座標)の
最大値(Ymax)と前記アクティブポリゴンの前記ス
キャンライン平面に非平行な左稜線のy座標が大きい方
の端点Aの水平座標(x座標)(X)と前記左稜線のy
方向に対するx座標変位(dX/dY)と前記アクティ
ブポリゴンが上に凸の三角形の場合は前記端点Aの長さ
または前記アクティブポリゴンが台形または下に凸の三
角形の場合は前記端点Aを端点とする前記スキャンライ
ン平面に平行な辺の長さ(Len)と前記Lenのy方
向に対する増分(dLen/dY)と前記端点Aの奥行
き座標(z座標)(Z)と前記左稜線のy方向に対する
z座標変位(dZ/dY)と前記アクティブポリゴンの
水平方向(x方向)に対するz座標変位(dZ/dX)
とを前記アクティブポリゴンの前記エッジペアデータと
して蓄積し、前記dYまたは前記Ymaxを1サイクル
および前記Xと前記dX/dYとを1サイクルおよび前
記Lenと前記dLen/dYとを1サイクルおよび前
記Zと前記dZ/dYとを1サイクルおよび前記dZ/
dXを1サイクルで出力するエッジペアデータ蓄積部を
設け、スキャンライン上で有効なポリゴン情報を管理す
ることにより、現在有効なポリゴン情報の検索および大
量のハードウェア資源を必要とすることなく高速にセグ
メントデータを生成することが可能となる。
ティブスキャンラインと交差するアクティブポリゴンの
垂直方向(y方向)における高さ(dY)または前記ア
クティブポリゴンに含まれる点の垂直座標(y座標)の
最大値(Ymax)と前記アクティブポリゴンの前記ス
キャンライン平面に非平行な左稜線のy座標が大きい方
の端点Aの水平座標(x座標)(X)と前記左稜線のy
方向に対するx座標変位(dX/dY)と前記アクティ
ブポリゴンが上に凸の三角形の場合は前記端点Aの長さ
または前記アクティブポリゴンが台形または下に凸の三
角形の場合は前記端点Aを端点とする前記スキャンライ
ン平面に平行な辺の長さ(Len)と前記Lenのy方
向に対する増分(dLen/dY)と前記端点Aの奥行
き座標(z座標)(Z)と前記左稜線のy方向に対する
z座標変位(dZ/dY)と前記アクティブポリゴンの
水平方向(x方向)に対するz座標変位(dZ/dX)
とを前記アクティブポリゴンの前記エッジペアデータと
して蓄積し、前記dYまたは前記Ymaxを1サイクル
および前記Xと前記dX/dYとを1サイクルおよび前
記Lenと前記dLen/dYとを1サイクルおよび前
記Zと前記dZ/dYとを1サイクルおよび前記dZ/
dXを1サイクルで出力するエッジペアデータ蓄積部を
設け、スキャンライン上で有効なポリゴン情報を管理す
ることにより、現在有効なポリゴン情報の検索および大
量のハードウェア資源を必要とすることなく高速にセグ
メントデータを生成することが可能となる。
【0040】以下、本発明の第4の実施例について、図
面を参照しながら説明する。本実施例におけるエッジペ
アデータとして第1の実施例のエッジペアデータを用い
る。第4の実施例は、図1に示すセグメント生成・エッ
ジペアデータ更新部17において、セグメントデータ生
成部14およびエッジペアデータ更新部15の処理を一
括して行なうものである。図13は、本発明の第4の実
施例を示すセグメント生成装置の内部ブロック図であ
る。
面を参照しながら説明する。本実施例におけるエッジペ
アデータとして第1の実施例のエッジペアデータを用い
る。第4の実施例は、図1に示すセグメント生成・エッ
ジペアデータ更新部17において、セグメントデータ生
成部14およびエッジペアデータ更新部15の処理を一
括して行なうものである。図13は、本発明の第4の実
施例を示すセグメント生成装置の内部ブロック図であ
る。
【0041】図13において、131はFIFOメモリ
で構成されるエッジペアデータ入力部、132はフィー
ルドメモリで構成されるエッジペアデータ蓄積・読み出
し部、133は加算器134およびレジスタ135によ
って構成されるセグメントデータ生成・エッジペアデー
タ更新部、136はシーケンサで構成されるアクティブ
エッジペアデータ判断部である。
で構成されるエッジペアデータ入力部、132はフィー
ルドメモリで構成されるエッジペアデータ蓄積・読み出
し部、133は加算器134およびレジスタ135によ
って構成されるセグメントデータ生成・エッジペアデー
タ更新部、136はシーケンサで構成されるアクティブ
エッジペアデータ判断部である。
【0042】本実施例において、第1の実施例における
エッジペアデータに、色情報R、G、Bやマッピング座
標U、V等を設定するD1〜Dn、およびそのYおよび
Xに対する増分dD1/dY〜dDn/dY、dD1/
dX〜dDn/dXの情報を加えたデータをエッジペア
データとする。
エッジペアデータに、色情報R、G、Bやマッピング座
標U、V等を設定するD1〜Dn、およびそのYおよび
Xに対する増分dD1/dY〜dDn/dY、dD1/
dX〜dDn/dXの情報を加えたデータをエッジペア
データとする。
【0043】まず、エッジペアデータ入力部131のF
IFOメモリには、3次元形状を構成するポリゴンのエ
ッジペアデータが格納される。エッジペアデータ蓄積・
読み出し部132は、アクティブスキャンラインと交差
するポリゴンのエッジペアデータについて、3つのデー
タを1ワード単位に扱い、1エッジペアデータに対し
(4+n)ワードを図13に示す形式で格納し、1サイ
クル毎に1ワード、合計(4+n)サイクルで1エッジ
ペアデータを出力する。第1および第2データの端子の
出力は、加算器134への入力、第2および第3データ
の端子の出力は、レジスタ135への入力となってい
る。
IFOメモリには、3次元形状を構成するポリゴンのエ
ッジペアデータが格納される。エッジペアデータ蓄積・
読み出し部132は、アクティブスキャンラインと交差
するポリゴンのエッジペアデータについて、3つのデー
タを1ワード単位に扱い、1エッジペアデータに対し
(4+n)ワードを図13に示す形式で格納し、1サイ
クル毎に1ワード、合計(4+n)サイクルで1エッジ
ペアデータを出力する。第1および第2データの端子の
出力は、加算器134への入力、第2および第3データ
の端子の出力は、レジスタ135への入力となってい
る。
【0044】加算器134およびレジスタ135で構成
されるセグメントデータ生成・エッジペアデータ更新部
133において、加算器134は、エッジペアデータ蓄
積・読み出し部132から1サイクル毎に順次読みだし
たワードの第1データと第2データの加算結果(dY’
またはX’またはLen’またはZ’またはD1’〜D
n’)をレジスタ135の第1データに出力する。ただ
し、X’、Len’、Z’、dY’は、(数2)および
(数3)から得られる結果に等しい。
されるセグメントデータ生成・エッジペアデータ更新部
133において、加算器134は、エッジペアデータ蓄
積・読み出し部132から1サイクル毎に順次読みだし
たワードの第1データと第2データの加算結果(dY’
またはX’またはLen’またはZ’またはD1’〜D
n’)をレジスタ135の第1データに出力する。ただ
し、X’、Len’、Z’、dY’は、(数2)および
(数3)から得られる結果に等しい。
【0045】さらに、第2データ(−1またはdX/d
YまたはdLen/dYまたはdX/dYまたはdD1
/dY〜dDn/dY)および第3データ(dZ/dX
またはdD1/dX〜dDn/dX)はレジスタ135
の第2データおよび第3データに出力される。レジスタ
135の第1、第2、第3データの出力は更新エッジペ
アデータとしてエッジペアデータ蓄積・読み出し部13
2への入力となる。
YまたはdLen/dYまたはdX/dYまたはdD1
/dY〜dDn/dY)および第3データ(dZ/dX
またはdD1/dX〜dDn/dX)はレジスタ135
の第2データおよび第3データに出力される。レジスタ
135の第1、第2、第3データの出力は更新エッジペ
アデータとしてエッジペアデータ蓄積・読み出し部13
2への入力となる。
【0046】アクティブエッジペアデータ判断部136
は、レジスタの内容を参照し、更新エッジペアデータの
1ワード目の第1データであるdY’を参照し、dY’
が0以外の値である場合には、レジスタ135から出力
されエッジペアデータ蓄積・読み出し部132に入力さ
れた更新エッジペアデータを、次のアクティブスキャン
ライン上でも有効なデータと見なし、エッジペアデータ
蓄積・読み出し部132に書き込む制御を行なう。
は、レジスタの内容を参照し、更新エッジペアデータの
1ワード目の第1データであるdY’を参照し、dY’
が0以外の値である場合には、レジスタ135から出力
されエッジペアデータ蓄積・読み出し部132に入力さ
れた更新エッジペアデータを、次のアクティブスキャン
ライン上でも有効なデータと見なし、エッジペアデータ
蓄積・読み出し部132に書き込む制御を行なう。
【0047】また、アクティブエッジペアデータ判断部
136は、エッジペアデータ入力部131のFIFOメ
モリから、次のアクティブスキャンラインで有効となる
エッジペアデータをエッジペアデータ蓄積・読み出し部
132に書き込む制御を行なう。
136は、エッジペアデータ入力部131のFIFOメ
モリから、次のアクティブスキャンラインで有効となる
エッジペアデータをエッジペアデータ蓄積・読み出し部
132に書き込む制御を行なう。
【0048】以上のように第4の実施例によれば、エッ
ジペアデータ入力部131と、アクティブスキャンライ
ンと交差するアクティブポリゴンの垂直方向(y方向)
における高さ(dY)と前記アクティブポリゴンの前記
スキャンライン平面に非平行な左稜線の垂直座標(y座
標)が大きい方の端点Aの水平座標(x座標)(X)と
前記左稜線のy方向に対するx座標変位(dX/dY)
と前記アクティブポリゴンが上に凸の三角形の場合は前
記端点Aの長さまたは前記アクティブポリゴンが台形ま
たは下に凸の三角形の場合は前記端点Aを端点とする前
記スキャンライン平面に平行な辺の長さ(Len)と前
記Lenのy方向に対する増分(dLen/dY)と前
記端点Aの奥行き座標(z座標)(Z)と前記左稜線の
y方向に対するz座標変位(dZ/dY)と前記アクテ
ィブポリゴンの水平方向(x方向)に対するz座標変位
(dZ/dX)とを前記アクティブポリゴンの前記エッ
ジペアデータとして蓄積し、前記dYを1サイクルおよ
び前記Xと前記dX/dYとを1サイクルおよび前記L
enと前記dLen/dYとを1サイクルおよび前記Z
と前記dZ/dYと前記dZ/dXとを1サイクル毎に
順次読み出すエッジペアデータ蓄積・読み出し部132
と、エッジペアデータ蓄積・読み出し部132から得ら
れる前記dYをデクリメントした結果(dY’)および
前記Xと前記dX/dYとの加算結果(X’)および前
記Zと前記dZ/dYとの加算結果(Z’)および前記
Lenと前記dLen/dYとの加算結果(Len’)
を算出する加算器134と前記加算結果およびエッジペ
アデータ蓄積・読み出し部132から得られるエッジペ
アデータを保存するレジスタ135から構成され、前記
X’および前記Z’および前記Len’およびエッジペ
アデータ蓄積・読み出し部132から得られるdZ/d
Xを前記アクティブポリゴンと前記アクティブスキャン
ラインとの交線を構成するセグメントデータとして算出
し前記dY’および前記X’および前記Z’および前記
Len’およびエッジペアデータ蓄積・読み出し部13
2から得られる前記dZ/dXと前記dX/dYと前記
dZ/dYと前記dLen/dYとを前記次アクティブ
スキャンラインにおける更新エッジペアデータとして算
出するセグメントデータ生成・エッジペアデータ更新部
133と、前記更新エッジペアデータの前記dY’が定
義された定数と異なる場合には前記更新エッジペアデー
タをエッジペアデータ蓄積・読み出し部132に入力す
るアクティブエッジペアデータ判断部136とを設け、
スキャンライン上で有効なポリゴン情報を管理すること
により、現在有効なポリゴン情報の検索および専用化さ
れたハードウェアを必要とすることなく、高速にセグメ
ントデータを生成することが可能となる。
ジペアデータ入力部131と、アクティブスキャンライ
ンと交差するアクティブポリゴンの垂直方向(y方向)
における高さ(dY)と前記アクティブポリゴンの前記
スキャンライン平面に非平行な左稜線の垂直座標(y座
標)が大きい方の端点Aの水平座標(x座標)(X)と
前記左稜線のy方向に対するx座標変位(dX/dY)
と前記アクティブポリゴンが上に凸の三角形の場合は前
記端点Aの長さまたは前記アクティブポリゴンが台形ま
たは下に凸の三角形の場合は前記端点Aを端点とする前
記スキャンライン平面に平行な辺の長さ(Len)と前
記Lenのy方向に対する増分(dLen/dY)と前
記端点Aの奥行き座標(z座標)(Z)と前記左稜線の
y方向に対するz座標変位(dZ/dY)と前記アクテ
ィブポリゴンの水平方向(x方向)に対するz座標変位
(dZ/dX)とを前記アクティブポリゴンの前記エッ
ジペアデータとして蓄積し、前記dYを1サイクルおよ
び前記Xと前記dX/dYとを1サイクルおよび前記L
enと前記dLen/dYとを1サイクルおよび前記Z
と前記dZ/dYと前記dZ/dXとを1サイクル毎に
順次読み出すエッジペアデータ蓄積・読み出し部132
と、エッジペアデータ蓄積・読み出し部132から得ら
れる前記dYをデクリメントした結果(dY’)および
前記Xと前記dX/dYとの加算結果(X’)および前
記Zと前記dZ/dYとの加算結果(Z’)および前記
Lenと前記dLen/dYとの加算結果(Len’)
を算出する加算器134と前記加算結果およびエッジペ
アデータ蓄積・読み出し部132から得られるエッジペ
アデータを保存するレジスタ135から構成され、前記
X’および前記Z’および前記Len’およびエッジペ
アデータ蓄積・読み出し部132から得られるdZ/d
Xを前記アクティブポリゴンと前記アクティブスキャン
ラインとの交線を構成するセグメントデータとして算出
し前記dY’および前記X’および前記Z’および前記
Len’およびエッジペアデータ蓄積・読み出し部13
2から得られる前記dZ/dXと前記dX/dYと前記
dZ/dYと前記dLen/dYとを前記次アクティブ
スキャンラインにおける更新エッジペアデータとして算
出するセグメントデータ生成・エッジペアデータ更新部
133と、前記更新エッジペアデータの前記dY’が定
義された定数と異なる場合には前記更新エッジペアデー
タをエッジペアデータ蓄積・読み出し部132に入力す
るアクティブエッジペアデータ判断部136とを設け、
スキャンライン上で有効なポリゴン情報を管理すること
により、現在有効なポリゴン情報の検索および専用化さ
れたハードウェアを必要とすることなく、高速にセグメ
ントデータを生成することが可能となる。
【0049】また、大量のデータを格納するメモリを必
要とせず、処理対象となるエッジデータ量に著しい制限
を受けることなく高速セグメントデータ生成を実現する
ことが可能となる。
要とせず、処理対象となるエッジデータ量に著しい制限
を受けることなく高速セグメントデータ生成を実現する
ことが可能となる。
【0050】なお、第4の実施例において、エッジペア
データ中のD1〜Dnを、色情報R、G、Bおよびマッ
ピング情報U、Vを設定したが、その他のポリゴン情報
を設定してもよい。また、第1、第3および第4の実施
例ではエッジペアデータ中のdYをポリゴンのY方向の
高さと定義したが、dYを(Y方向の高さ−1)と定義
し、アクティブエッジペアデータ判断部16で、更新エ
ッジペアデータdY’の値と−1の値を比較してもよ
い。この場合、最上位ビットのみを用いた比較が可能と
なる。
データ中のD1〜Dnを、色情報R、G、Bおよびマッ
ピング情報U、Vを設定したが、その他のポリゴン情報
を設定してもよい。また、第1、第3および第4の実施
例ではエッジペアデータ中のdYをポリゴンのY方向の
高さと定義したが、dYを(Y方向の高さ−1)と定義
し、アクティブエッジペアデータ判断部16で、更新エ
ッジペアデータdY’の値と−1の値を比較してもよ
い。この場合、最上位ビットのみを用いた比較が可能と
なる。
【0051】
【発明の効果】以上のように本発明は、ポリゴンを構成
するエッジペアデータをエッジペアデータ蓄積部に出力
するエッジペアデータ入力部と、アクティブスキャンラ
インと交差するアクティブポリゴンのエッジペアデータ
を蓄積するエッジペアデータ蓄積部と、前記エッジペア
データ蓄積部から順次前記エッジペアデータを読み出す
エッジペアデータ読み出し部と、前記エッジペアデータ
読み出し部から得られる前記エッジペアデータに演算を
施すことにより前記アクティブポリゴンと前記アクティ
ブスキャンラインとの交線を構成するセグメントデータ
を算出するセグメントデータ生成部と、前記エッジペア
データ読み出し部から得られる前記エッジペアデータに
演算を施すことにより前記次アクティブスキャンライン
における更新エッジペアデータを算出するエッジペアデ
ータ更新部と、前記エッジペアデータ更新部から得られ
る前記更新エッジペアデータが前記次アクティブスキャ
ンラインにおいて有効な場合には前記更新エッジペアデ
ータを前記エッジペアデータ蓄積部に入力するアクティ
ブエッジペアデータ判断部とを設け、スキャンライン上
で有効なポリゴン情報を管理することにより、現在有効
なポリゴン情報の検索を必要とすることなく高速にセグ
メントデータを生成することが可能となる。
するエッジペアデータをエッジペアデータ蓄積部に出力
するエッジペアデータ入力部と、アクティブスキャンラ
インと交差するアクティブポリゴンのエッジペアデータ
を蓄積するエッジペアデータ蓄積部と、前記エッジペア
データ蓄積部から順次前記エッジペアデータを読み出す
エッジペアデータ読み出し部と、前記エッジペアデータ
読み出し部から得られる前記エッジペアデータに演算を
施すことにより前記アクティブポリゴンと前記アクティ
ブスキャンラインとの交線を構成するセグメントデータ
を算出するセグメントデータ生成部と、前記エッジペア
データ読み出し部から得られる前記エッジペアデータに
演算を施すことにより前記次アクティブスキャンライン
における更新エッジペアデータを算出するエッジペアデ
ータ更新部と、前記エッジペアデータ更新部から得られ
る前記更新エッジペアデータが前記次アクティブスキャ
ンラインにおいて有効な場合には前記更新エッジペアデ
ータを前記エッジペアデータ蓄積部に入力するアクティ
ブエッジペアデータ判断部とを設け、スキャンライン上
で有効なポリゴン情報を管理することにより、現在有効
なポリゴン情報の検索を必要とすることなく高速にセグ
メントデータを生成することが可能となる。
【0052】また、ポリゴンを構成するエッジペアデー
タをエッジペアデータ蓄積部に出力するエッジペアデー
タ入力部と、アクティブスキャンラインと交差するアク
ティブポリゴンの垂直方向(y方向)における高さ(d
Y)または前記アクティブポリゴンに含まれる点の垂直
座標(y座標)の最大値(Ymax)と前記アクティブ
ポリゴンの前記スキャンライン平面に非平行な左右の稜
線のうち左稜線の垂直座標(y座標)が大きい方の端点
(端点A)の水平座標(x座標)(X)と前記左稜線の
y方向に対するx座標変位(dX/dY)と端点Aの長
さまたは端点Aを端点とする前記スキャンライン平面に
平行な辺の長さ(Len)と前記Lenのy方向に対す
る増分(dLen/dY)と前記端点Aの奥行き座標
(z座標)(Z)と前記左稜線のy方向に対するz座標
変位(dZ/dY)と前記アクティブポリゴンの水平方
向(x方向)に対するz座標変位(dZ/dX)とを前
記アクティブポリゴンの前記エッジペアデータとして蓄
積し、全データを1サイクルで出力する、または、前記
dYまたは前記Ymaxを1サイクルおよび前記Xと前
記dX/dYとを1サイクルおよび前記Lenと前記d
Len/dYとを1サイクルおよび前記Zと前記dZ/
dYとを1サイクルおよび前記dZ/dXを1サイクル
で出力するエッジペアデータ蓄積部と、前記エッジペア
データ蓄積部から1サイクル毎に順次前記エッジペアデ
ータを読み出すエッジペアデータ読み出し部と、前記エ
ッジペアデータ読み出し部から得られる前記Xと前記d
X/dYとの加算結果(X’)および前記Zと前記dZ
/dYとの加算結果(Z’)および前記Lenと前記d
Len/dYとの加算結果(Len’)および前記dZ
/dXを前記アクティブポリゴンと前記アクティブスキ
ャンラインとの交線を構成するセグメントデータとして
算出するセグメントデータ生成部と、前記エッジペアデ
ータ読み出し部から得られる前記Ymaxまたは前記d
Yをデクリメントした結果(dY’)および前記dX/
dYおよび前記Xと前記dX/dYとの加算結果
(X’)および前記dZ/dYおよび前記Zと前記dZ
/dYとの加算結果(Z’)および前記dLen/dY
および前記Lenと前記dLen/dYとの加算結果
(Len’)および前記dZ/dXを前記次アクティブ
スキャンラインにおける更新エッジペアデータとして算
出するエッジペアデータ更新部と、前記アクティブスキ
ャンラインのy座標(Ycur)と前記エッジペアデー
タ更新部から得られる前記更新エッジペアデータの前記
Ymaxとを比較し前記更新エッジペアデータが前記次
アクティブスキャンラインで有効な場合には前記更新エ
ッジペアデータを前記エッジペアデータ蓄積部に入力し
前記Ycurをインクリメントするアクティブエッジペ
アデータ判断部または前記エッジペアデータ更新部から
得られる更新エッジペアデータの前記dY’が定義され
た定数と異なる場合には前記更新エッジペアデータを前
記エッジペアデータ蓄積部に入力するアクティブエッジ
ペアデータ判断部を設け、スキャンライン上で有効なポ
リゴン情報を管理することにより、現在有効なポリゴン
情報の検索および大量のハードウェア資源を必要とする
ことなく高速にセグメントデータを生成することが可能
となる。
タをエッジペアデータ蓄積部に出力するエッジペアデー
タ入力部と、アクティブスキャンラインと交差するアク
ティブポリゴンの垂直方向(y方向)における高さ(d
Y)または前記アクティブポリゴンに含まれる点の垂直
座標(y座標)の最大値(Ymax)と前記アクティブ
ポリゴンの前記スキャンライン平面に非平行な左右の稜
線のうち左稜線の垂直座標(y座標)が大きい方の端点
(端点A)の水平座標(x座標)(X)と前記左稜線の
y方向に対するx座標変位(dX/dY)と端点Aの長
さまたは端点Aを端点とする前記スキャンライン平面に
平行な辺の長さ(Len)と前記Lenのy方向に対す
る増分(dLen/dY)と前記端点Aの奥行き座標
(z座標)(Z)と前記左稜線のy方向に対するz座標
変位(dZ/dY)と前記アクティブポリゴンの水平方
向(x方向)に対するz座標変位(dZ/dX)とを前
記アクティブポリゴンの前記エッジペアデータとして蓄
積し、全データを1サイクルで出力する、または、前記
dYまたは前記Ymaxを1サイクルおよび前記Xと前
記dX/dYとを1サイクルおよび前記Lenと前記d
Len/dYとを1サイクルおよび前記Zと前記dZ/
dYとを1サイクルおよび前記dZ/dXを1サイクル
で出力するエッジペアデータ蓄積部と、前記エッジペア
データ蓄積部から1サイクル毎に順次前記エッジペアデ
ータを読み出すエッジペアデータ読み出し部と、前記エ
ッジペアデータ読み出し部から得られる前記Xと前記d
X/dYとの加算結果(X’)および前記Zと前記dZ
/dYとの加算結果(Z’)および前記Lenと前記d
Len/dYとの加算結果(Len’)および前記dZ
/dXを前記アクティブポリゴンと前記アクティブスキ
ャンラインとの交線を構成するセグメントデータとして
算出するセグメントデータ生成部と、前記エッジペアデ
ータ読み出し部から得られる前記Ymaxまたは前記d
Yをデクリメントした結果(dY’)および前記dX/
dYおよび前記Xと前記dX/dYとの加算結果
(X’)および前記dZ/dYおよび前記Zと前記dZ
/dYとの加算結果(Z’)および前記dLen/dY
および前記Lenと前記dLen/dYとの加算結果
(Len’)および前記dZ/dXを前記次アクティブ
スキャンラインにおける更新エッジペアデータとして算
出するエッジペアデータ更新部と、前記アクティブスキ
ャンラインのy座標(Ycur)と前記エッジペアデー
タ更新部から得られる前記更新エッジペアデータの前記
Ymaxとを比較し前記更新エッジペアデータが前記次
アクティブスキャンラインで有効な場合には前記更新エ
ッジペアデータを前記エッジペアデータ蓄積部に入力し
前記Ycurをインクリメントするアクティブエッジペ
アデータ判断部または前記エッジペアデータ更新部から
得られる更新エッジペアデータの前記dY’が定義され
た定数と異なる場合には前記更新エッジペアデータを前
記エッジペアデータ蓄積部に入力するアクティブエッジ
ペアデータ判断部を設け、スキャンライン上で有効なポ
リゴン情報を管理することにより、現在有効なポリゴン
情報の検索および大量のハードウェア資源を必要とする
ことなく高速にセグメントデータを生成することが可能
となる。
【0053】または、前記エッジペアデータ入力部と、
アクティブスキャンラインと交差するアクティブポリゴ
ンの垂直方向(y方向)における高さ(dY)と前記ア
クティブポリゴンの前記スキャンライン平面に非平行な
左稜線の垂直座標(y座標)が大きい方の端点(端点
A)の水平座標(x座標)(X)と前記左稜線のy方向
に対するx座標変位(dX/dY)と前記端点Aの長さ
または前記端点Aを端点とする前記スキャンライン平面
に平行な辺の長さ(Len)と前記Lenのy方向に対
する増分(dLen/dY)と前記端点Aの奥行き座標
(z座標)(Z)と前記左稜線のy方向に対するz座標
変位(dZ/dY)と前記アクティブポリゴンの水平方
向(x方向)に対するz座標変位(dZ/dX)とを前
記アクティブポリゴンの前記エッジペアデータとして蓄
積し前記dYを1サイクルおよび前記Xと前記dX/d
Yとを1サイクルおよび前記Lenと前記dLen/d
Yとを1サイクルおよび前記Zと前記dZ/dYと前記
dZ/dXとを1サイクルで出力するエッジペアデータ
蓄積部と、前記エッジペアデータ蓄積部から1サイクル
毎に順次前記エッジペアデータを読み出すエッジペアデ
ータ読み出し部と、前記エッジペアデータ読み出し部か
ら得られる前記dYをデクリメントした結果(dY’)
および前記Xと前記dX/dYとの加算結果(X’)お
よび前記Zと前記dZ/dYとの加算結果(Z’)およ
び前記Lenと前記dLen/dYとの加算結果(Le
n’)を算出する加算器と前記加算結果および前記エッ
ジペアデータ読み出し部から得られるエッジペアデータ
を保存するレジスタから構成され、前記X’および前記
Z’および前記Len’および前記エッジペアデータ読
み出し部から得られるdZ/dXを前記アクティブポリ
ゴンと前記アクティブスキャンラインとの交線を構成す
るセグメントデータとして算出し前記dY’および前記
X’および前記Z’および前記Len’および前記エッ
ジペアデータ読み出し部から得られる前記dZ/dXと
前記dX/dYと前記dZ/dYと前記dLen/dY
とを前記次アクティブスキャンラインにおける更新エッ
ジペアデータとして算出するセグメントデータ生成・エ
ッジペアデータ更新部と、前記エッジペアデータ更新部
から得られる更新エッジペアデータの前記dY’が定義
された定数と異なる場合には前記更新エッジペアデータ
を前記エッジペアデータ蓄積部に入力するアクティブエ
ッジペアデータ判断部とを設け、スキャンライン上で有
効なポリゴン情報を管理することにより、現在有効なポ
リゴン情報の検索および専用化されたハードウェアを必
要とすることなく、また、大量のデータを格納するメモ
リを必要としないため、処理対象となるエッジデータ量
に著しい制限を受けることなく高速セグメントデータ生
成を実現することが可能となる。
アクティブスキャンラインと交差するアクティブポリゴ
ンの垂直方向(y方向)における高さ(dY)と前記ア
クティブポリゴンの前記スキャンライン平面に非平行な
左稜線の垂直座標(y座標)が大きい方の端点(端点
A)の水平座標(x座標)(X)と前記左稜線のy方向
に対するx座標変位(dX/dY)と前記端点Aの長さ
または前記端点Aを端点とする前記スキャンライン平面
に平行な辺の長さ(Len)と前記Lenのy方向に対
する増分(dLen/dY)と前記端点Aの奥行き座標
(z座標)(Z)と前記左稜線のy方向に対するz座標
変位(dZ/dY)と前記アクティブポリゴンの水平方
向(x方向)に対するz座標変位(dZ/dX)とを前
記アクティブポリゴンの前記エッジペアデータとして蓄
積し前記dYを1サイクルおよび前記Xと前記dX/d
Yとを1サイクルおよび前記Lenと前記dLen/d
Yとを1サイクルおよび前記Zと前記dZ/dYと前記
dZ/dXとを1サイクルで出力するエッジペアデータ
蓄積部と、前記エッジペアデータ蓄積部から1サイクル
毎に順次前記エッジペアデータを読み出すエッジペアデ
ータ読み出し部と、前記エッジペアデータ読み出し部か
ら得られる前記dYをデクリメントした結果(dY’)
および前記Xと前記dX/dYとの加算結果(X’)お
よび前記Zと前記dZ/dYとの加算結果(Z’)およ
び前記Lenと前記dLen/dYとの加算結果(Le
n’)を算出する加算器と前記加算結果および前記エッ
ジペアデータ読み出し部から得られるエッジペアデータ
を保存するレジスタから構成され、前記X’および前記
Z’および前記Len’および前記エッジペアデータ読
み出し部から得られるdZ/dXを前記アクティブポリ
ゴンと前記アクティブスキャンラインとの交線を構成す
るセグメントデータとして算出し前記dY’および前記
X’および前記Z’および前記Len’および前記エッ
ジペアデータ読み出し部から得られる前記dZ/dXと
前記dX/dYと前記dZ/dYと前記dLen/dY
とを前記次アクティブスキャンラインにおける更新エッ
ジペアデータとして算出するセグメントデータ生成・エ
ッジペアデータ更新部と、前記エッジペアデータ更新部
から得られる更新エッジペアデータの前記dY’が定義
された定数と異なる場合には前記更新エッジペアデータ
を前記エッジペアデータ蓄積部に入力するアクティブエ
ッジペアデータ判断部とを設け、スキャンライン上で有
効なポリゴン情報を管理することにより、現在有効なポ
リゴン情報の検索および専用化されたハードウェアを必
要とすることなく、また、大量のデータを格納するメモ
リを必要としないため、処理対象となるエッジデータ量
に著しい制限を受けることなく高速セグメントデータ生
成を実現することが可能となる。
【図1】本発明の第1、第2、第3の実施例におけるセ
グメント生成装置の構成図
グメント生成装置の構成図
【図2】従来例におけるセグメント変換の動作説明のた
めのワールド座標における3次元形状を構成するポリゴ
ンの図
めのワールド座標における3次元形状を構成するポリゴ
ンの図
【図3】従来のセグメント変換の動作を示すスクリーン
座標におけるポリゴンの図
座標におけるポリゴンの図
【図4】本実施例のセグメント変換動作を示すワールド
座標系におけるポリゴンの図
座標系におけるポリゴンの図
【図5】図4をXY平面に投影した図
【図6】図4をYZ平面に投影した図
【図7】図4をZX平面に投影した図
【図8】セグメントデータの概念図
【図9】第1の実施例におけるエッジペアデータ蓄積部
のデータの並びを示した図
のデータの並びを示した図
【図10】第2の実施例におけるエッジペアデータ蓄積
部のデータの並びを示した図
部のデータの並びを示した図
【図11】第3の実施例におけるエッジペアデータ蓄積
部のデータの並びを示した図
部のデータの並びを示した図
【図12】第3の実施例におけるエッジペアデータ蓄積
部のデータの並びを示した図
部のデータの並びを示した図
【図13】第4の実施例を示すセグメント生成装置の内
部ブロック図
部ブロック図
【図14】従来のセグメント生成装置の構成図
11 エッジペアデータ入力部 12 エッジペアデータ蓄積部 13 エッジペアデータ読み出し部 14 セグメントデータ生成部 15 エッジペアデータ更新部 16 アクティブエッジペアデータ判断部 17 セグメントデータ生成・エッジペアデータ更新部 21、31、82 ポリゴン 22、32、83 アクティブスキャンライン 23、33 次アクティブスキャンライン 24、34、81 セグメント 41、51、61 ポリゴンABCD 42、52、62、71 セグメント 43、53、63 アクティブスキャンライン 131 エッジペアデータ入力部 132 エッジペアデータ蓄積・読み出し部 133 セグメントデータ生成・エッジペアデータ更新
部 134 加算器 135 レジスタ 136 アクティブエッジペアデータ判断部
部 134 加算器 135 レジスタ 136 アクティブエッジペアデータ判断部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−152077(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 11/00 - 11/40 G06T 15/00
Claims (5)
- 【請求項1】次に有効となるスキャンライン平面(以下
次アクティブスキャンラインという)と交差する前記ス
キャンライン平面に平行な2辺から成る台形または前記
スキャンライン平面に平行な1辺を底辺とする三角形
(以下ポリゴンという)を構成するエッジペアデータを
エッジペアデータ蓄積部に出力するエッジペアデータ入
力部と、 現在有効なスキャンライン平面(以下アクティブスキャ
ンラインという)と交差する前記ポリゴン(以下アクテ
ィブポリゴンという)に含まれる点の垂直座標(以下y
座標という)の最大値(Ymax)と前記アクティブポ
リゴンの前記スキャンライン平面に非平行な左右の稜線
のうち左稜線のy座標が大きい方の端点(以下端点Aと
いう)の水平座標(以下x座標という)(X)と前記左
稜線のy方向に対するx座標変位(dX/dY)と前記
アクティブポリゴンが上に凸の三角形の場合は前記端点
Aの長さまたは前記アクティブポリゴンが台形または下
に凸の三角形の場合は前記端点Aを端点とする前記スキ
ャンライン平面に平行な辺の長さ(Len)と前記Le
nのy方向に対する増分(dLen/dY)と前記端点
Aの奥行き座標(以下z座標という)(Z)と前記左稜
線のy方向に対するz座標変位(dZ/dY)と前記ア
クティブポリゴンの水平方向(以下x方向という)に対
するz座標変位(dZ/dX)とを前記アクティブポリ
ゴンの前記エッジペアデータとしてFIFO形式で蓄積
し1サイクルで出力するエッジペアデータ蓄積部と、前
記エッジペアデータ蓄積部から1サイクル毎に順次前記
エッジペアデータを読み出すエッジペアデータ読み出し
部と、 前記エッジペアデータ読み出し部から得られる前記Xと
前記dX/dYとの加算結果(X’)および前記Zと前
記dZ/dYとの加算結果(Z’)および前記Lenと
前記dLen/dYとの加算結果(Len’)および前
記dZ/dXを前記アクティブポリゴンと前記アクティ
ブスキャンラインとの交線を構成するセグメントデータ
として算出するセグメントデータ生成部と、 前記エッジペアデータ読み出し部から得られる前記Ym
axおよび前記dX/dYおよび前記Xと前記dX/d
Yとの加算結果(X’)および前記dZ/dYおよび前
記Zと前記dZ/dYとの加算結果(Z’)および前記
dLen/dYおよび前記Lenと前記dLen/dY
との加算結果(Len’)および前記dZ/dXを前記
次アクティブスキャンラインにおける更新エッジペアデ
ータとして算出するエッジペアデータ更新部と、 前記アクティブスキャンラインのy座標(Ycur)と
前記エッジペアデータ更新部から得られる前記更新エッ
ジペアデータの前記Ymaxとを比較し前記更新エッジ
ペアデータが前記次アクティブスキャンラインで有効な
場合には前記更新エッジペアデータを前記エッジペアデ
ータ蓄積部に入力し前記Ycurをインクリメントする
アクティブエッジペアデータ判断部とを備えたことを特
徴とするセグメント生成装置。 - 【請求項2】次に有効となるスキャンライン平面(以下
次アクティブスキャンラインという)と交差する前記ス
キャンライン平面に平行な2辺から成る台形または前記
スキャンライン平面に平行な1辺を底辺とする三角形
(以下ポリゴンという)を構成するエッジペアデータを
エッジペアデータ蓄積部に出力するエッジペアデータ入
力部と、 現在有効なスキャンライン平面(以下アクティブスキャ
ンラインという)と交差する前記ポリゴン(以下アクテ
ィブポリゴンという)の垂直方向(以下y方向という)
における高さ(dY)と前記アクティブポリゴンの前記
スキャンライン平面に非平行な左右の稜線のうち左稜線
の垂直座標(以下y座標という)が大きい方の端点(以
下端点Aという)の水平座標(以下x座標という)
(X)と前記左稜線のy方向に対するx座標変位(dX
/dY)と前記アクティブポリゴンが上に凸の三角形の
場合は前記端点Aの長さまたは前記アクティブポリゴン
が台形または下に凸の三角形の場合は前記端点Aを端点
とする前記スキャンライン平面に平行な辺の長さ(Le
n)と前記Lenのy方向に対する増分(dLen/d
Y)と前記端点Aの奥行き座標(以下z座標という)
(Z)と前記左稜線のy方向に対するz座標変位(dZ
/dY)と前記アクティブポリゴンの水平方向(以下x
方向という)に対するz座標変位(dZ/dX)とを前
記アクティブポリゴンの前記エッジペアデータとしてF
IFO形式で蓄積し1サイクルで出力するエッジペアデ
ータ蓄積部と、 前記エッジペアデータ蓄積部から1サイクル毎に順次前
記エッジペアデータを読み出すエッジペアデータ読み出
し部と、 前記エッジペアデータ読み出し部から得られる前記Xと
前記dX/dYとの加算結果(X’)および前記Zと前
記dZ/dYとの加算結果(Z’)および前記Lenと
前記dLen/dYとの加算結果(Len’)および前
記dZ/dXを前記アクティブポリゴンと前記アクティ
ブスキャンラインとの交線を構成するセグメントデータ
として算出するセグメントデータ生成部と、 前記エッジペアデータ読み出し部から得られる前記dY
をデクリメントした結果(dY’)および前記dX/d
Yおよび前記Xと前記dX/dYとの加算結果(X’)
および前記dZ/dYおよび前記Zと前記dZ/dYと
の加算結果(Z’)および前記dLen/dYおよび前
記Lenと前記dLen/dYとの加算結果(Le
n’)および前記dZ/dXを前記次アクティブスキャ
ンラインにおける更新エッジペアデータとして算出する
エッジペアデータ更新部と、 前記エッジペアデータ更新部から得られる更新エッジペ
アデータの前記dY’が定義された定数と異なる場合に
は前記更新エッジペアデータを前記エッジペアデータ蓄
積部に入力するアクティブエッジペアデータ判断部とを
備えたことを特徴とするセグメント生成装置。 - 【請求項3】エッジペアデータ蓄積部は、Ymaxを1
サイクル、およびXとdX/dYとを1サイクル、およ
びLenとdLen/dYとを1サイクル、およびZと
dZ/dYとを1サイクル、およびdZ/dXを1サイ
クルで出力することを特徴とする請求項1記載のセグメ
ント生成装置。 - 【請求項4】エッジペアデータ蓄積部は、dYを1サイ
クル、およびXとdX/dYとを1サイクル、およびL
enとdLen/dYとを1サイクル、およびZとdZ
/dYとを1サイクル、およびdZ/dXを1サイクル
で出力することを特徴とする請求項2記載のセグメント
生成装置。 - 【請求項5】次に有効となるスキャンライン平面(以下
次アクティブスキャンラインという)と交差する前記ス
キャンライン平面に平行な2辺から成る台形または前記
スキャンライン平面に平行な1辺を底辺とする三角形
(以下ポリゴンという)を構成するエッジペアデータを
エッジペアデータ蓄積部に出力するエッジペアデータ入
力部と、FIFOメモリから構成され、 現在有効なスキャンライ
ン平面(以下アクティブスキャンラインという)と交差
する前記ポリゴン(以下アクティブポリゴンという)の
垂直方向(以下y方向という)における高さ(dY)と
前記アクティブポリゴンの前記スキャンライン平面に非
平行な左右の稜線のうち左稜線の垂直座標(以下y座標
という)が大きい方の端点(以下端点Aという)の水平
座標(以下x座標という)(X)と前記左稜線のy方向
に対するx座標変位(dX/dY)と前記アクティブポ
リゴンが上に凸の三角形の場合は前記端点Aの長さまた
は前記アクティブポリゴンが台形または下に凸の三角形
の場合は前記端点Aを端点とする前記スキャンライン平
面に平行な辺の長さ(Len)と前記Lenのy方向に
対する増分(dLen/dY)と前記端点Aの奥行き座
標(以下z座標という)(Z)と前記左稜線のy方向に
対するz座標変位(dZ/dY)と前記アクティブポリ
ゴンの水平方向(以下x方向という)に対するz座標変
位(dZ/dX)とを前記アクティブポリゴンの前記エ
ッジペアデータとして蓄積し前記dYを1サイクルおよ
び前記Xと前記dX/dYとを1サイクルおよび前記L
enと前記dLen/dYとを1サイクルおよび前記Z
と前記dZ/dYと前記dZ/dXとを1サイクルで出
力するエッジペアデータ蓄積部と、 前記エッジペアデータ蓄積部から1サイクル毎に順次前
記エッジペアデータを読み出すエッジペアデータ読み出
し部と、 前記エッジペアデータ読み出し部から得られる前記dY
をデクリメントした結果(dY’)および前記Xと前記
dX/dYとの加算結果(X’)および前記Zと前記d
Z/dYとの加算結果(Z’)および前記Lenと前記
dLen/dYとの加算結果(Len’)を算出する加
算器と前記加算結果および前記エッジペアデータ読み出
し部から得られるエッジペアデータを保存するレジスタ
から構成され、前記X’および前記Z’および前記Le
n’および前記エッジペアデータ読み出し部から得られ
るdZ/dXを前記アクティブポリゴンと前記アクティ
ブスキャンラインとの交線を構成するセグメントデータ
として算出し前記dY’および前記X’および前記Z’
および前記Len’および前記エッジペアデータ読み出
し部から得られる前記dZ/dXと前記dX/dYと前
記dZ/dYと前記dLen/dYとを前記次アクティ
ブスキャンラインにおける更新エッジペアデータとして
算出するセグメントデータ生成・エッジペアデータ更新
部と、 前記エッジペアデータ更新部から得られる更新エッジペ
アデータの前記dY’が定義された定数と異なる場合に
は前記更新エッジペアデータを前記エッジペアデータ蓄
積部に入力するアクティブエッジペアデータ判断部とを
備えたことを特徴とするセグメント生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33152292A JP3180478B2 (ja) | 1992-12-11 | 1992-12-11 | セグメント生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33152292A JP3180478B2 (ja) | 1992-12-11 | 1992-12-11 | セグメント生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06180761A JPH06180761A (ja) | 1994-06-28 |
JP3180478B2 true JP3180478B2 (ja) | 2001-06-25 |
Family
ID=18244597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33152292A Expired - Fee Related JP3180478B2 (ja) | 1992-12-11 | 1992-12-11 | セグメント生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3180478B2 (ja) |
-
1992
- 1992-12-11 JP JP33152292A patent/JP3180478B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06180761A (ja) | 1994-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5945997A (en) | Block- and band-oriented traversal in three-dimensional triangle rendering | |
EP1127337B2 (en) | Shading 3-dimensional computer generated images | |
US4975976A (en) | Image transformation method and device | |
US20080211806A1 (en) | Rendering apparatus, rendering processing method and computer program product | |
JP4046233B2 (ja) | 情報処理装置 | |
JPH0659665A (ja) | 画像処理装置 | |
JPH0927045A (ja) | 画像処理装置 | |
KR101039132B1 (ko) | 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법 | |
JP3180478B2 (ja) | セグメント生成装置 | |
EP1139294B1 (en) | Graphical image system and apparatus | |
EP1315126A2 (en) | Image processing method, image processing apparatus, image output apparatus and storage medium | |
JP2680295B2 (ja) | 電子ビーム露光装置の描画データ作成方法及びその装置 | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
US20100141649A1 (en) | Drawing device | |
Šrámek | Fast ray-tracing of rectilinear volume data | |
JP2776793B2 (ja) | 画像表示方法およびその表示装置 | |
KR100283071B1 (ko) | 고속 텍스쳐 매핑 방법 | |
CN115713460A (zh) | 信息处理装置、教师数据的生成方法、已学习模型的生成方法、以及存储介质 | |
JP2630843B2 (ja) | 直線描画方法及び装置 | |
US20020186219A1 (en) | Apparatus for drawing dotted lines having natural appearance | |
JP2009009428A (ja) | ベクター画像描画回路およびベクター画像描画方法 | |
JP2903514B2 (ja) | 高速描画方法 | |
JP2000298729A (ja) | 二次元画像生成装置 | |
JP2005275668A (ja) | 印刷装置 | |
JPH05205070A (ja) | 図形描画方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080420 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090420 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100420 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |