JPH09305791A - 立体画像生成装置および立体画像生成方法 - Google Patents
立体画像生成装置および立体画像生成方法Info
- Publication number
- JPH09305791A JPH09305791A JP8117815A JP11781596A JPH09305791A JP H09305791 A JPH09305791 A JP H09305791A JP 8117815 A JP8117815 A JP 8117815A JP 11781596 A JP11781596 A JP 11781596A JP H09305791 A JPH09305791 A JP H09305791A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- order
- hidden
- parts
- viewpoint
- 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
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【課題】小規模な記憶領域で陰線陰面消去処理を高速に
行うことのできる立体画像生成装置を提供する。 【解決手段】少なくとも視点位置と視線の方向とを規定
する情報を含んだレンダリングパラメータを入力するレ
ンダリングパラメータ入力手段101と、3次元物体を
3次元空間内の多角形の集合体として定義した立体モデ
ルを入力する立体モデル入力手段102と、立体モデル
を構成する多角形を3次元空間上で互いに重なることの
ない境界立方体に包含されるまとまりでグループ分けし
て複数の部品とし、視点から見た場合の各部品の重なり
具合の序列、および各部品毎の、視点から見た場合の部
品内の各面の重なり具合の序列を判定する陰線陰面消去
処理手段104と、立体モデルの各構成面を、その判定
された序列に従って2次元平面に投影して2次元画像と
して出力する面データ出力手段107とを有する。
行うことのできる立体画像生成装置を提供する。 【解決手段】少なくとも視点位置と視線の方向とを規定
する情報を含んだレンダリングパラメータを入力するレ
ンダリングパラメータ入力手段101と、3次元物体を
3次元空間内の多角形の集合体として定義した立体モデ
ルを入力する立体モデル入力手段102と、立体モデル
を構成する多角形を3次元空間上で互いに重なることの
ない境界立方体に包含されるまとまりでグループ分けし
て複数の部品とし、視点から見た場合の各部品の重なり
具合の序列、および各部品毎の、視点から見た場合の部
品内の各面の重なり具合の序列を判定する陰線陰面消去
処理手段104と、立体モデルの各構成面を、その判定
された序列に従って2次元平面に投影して2次元画像と
して出力する面データ出力手段107とを有する。
Description
【0001】
【発明の属する技術分野】本発明は、3次元物体の2次
元投影画像を生成する立体画像生成装置および生成方法
に関し、特に立体化した文字列の2次元投影画像を生成
する立体画像生成装置および生成方法に関する。
元投影画像を生成する立体画像生成装置および生成方法
に関し、特に立体化した文字列の2次元投影画像を生成
する立体画像生成装置および生成方法に関する。
【0002】
【従来の技術】一般に、3次元物体の2次元投影画像を
生成する立体画像生成装置では、3次元空間上の物体を
定義するモデリング処理と、定義された3次元物体に彩
色および陰影付け(シェーディング)を行う処理と、物
体の裏側や他の物体のかげになり視点から見えない線
(陰線)または面(陰面)を2次元投影画像上に反映さ
れないようにする陰線または陰面消去処理を施して2次
元平面に投影することで2次元画像を生成するレンダリ
ング処理とが行われる。
生成する立体画像生成装置では、3次元空間上の物体を
定義するモデリング処理と、定義された3次元物体に彩
色および陰影付け(シェーディング)を行う処理と、物
体の裏側や他の物体のかげになり視点から見えない線
(陰線)または面(陰面)を2次元投影画像上に反映さ
れないようにする陰線または陰面消去処理を施して2次
元平面に投影することで2次元画像を生成するレンダリ
ング処理とが行われる。
【0003】レンダリング処理における陰線陰面消去処
理は、3次元画像処理の問題の1つとして認識されてお
り、いくつかの実現方法が知られている。
理は、3次元画像処理の問題の1つとして認識されてお
り、いくつかの実現方法が知られている。
【0004】第1の一般的な処理方法の1つとしてZバ
ッファ法がある。Zバッファ法は、フレームバッファ上
の各画素に対応させて奥行きの情報を記憶するZバッフ
ァを設け、3次元物体の構成面を書き込む際に画素毎に
奥行きの値を計算し、Zバッファの奥行きの値と書き込
もうとしている画素の奥行き値とを比較する方法であ
る。Zバッファの値よりも書き込む画素の方が手前に位
置する場合には、フレームバッファに画素の値を書き込
み、対応するZバッファの値も更新する。一方、Zバッ
ファの値よりも書き込む画素の方が奥に位置する場合
は、フレームバッファへの書き込みおよびZバッファの
更新は行わず、画素の値を破棄する。これにより、3次
元物体の全ての表面の書き込みを終えた時点で、フレー
ムバッファには最も手前に位置する画素の値が記憶され
ることになる。
ッファ法がある。Zバッファ法は、フレームバッファ上
の各画素に対応させて奥行きの情報を記憶するZバッフ
ァを設け、3次元物体の構成面を書き込む際に画素毎に
奥行きの値を計算し、Zバッファの奥行きの値と書き込
もうとしている画素の奥行き値とを比較する方法であ
る。Zバッファの値よりも書き込む画素の方が手前に位
置する場合には、フレームバッファに画素の値を書き込
み、対応するZバッファの値も更新する。一方、Zバッ
ファの値よりも書き込む画素の方が奥に位置する場合
は、フレームバッファへの書き込みおよびZバッファの
更新は行わず、画素の値を破棄する。これにより、3次
元物体の全ての表面の書き込みを終えた時点で、フレー
ムバッファには最も手前に位置する画素の値が記憶され
ることになる。
【0005】第2の方法としてスキャンライン法が知ら
れている。このスキャンライン法では、3次元物体を投
影面と直交する水平面での断面で考える。水平面上では
物体を構成する多角形は線分として示される。さらに、
この水平面上で物体の投影面への投影像を考えると、物
体を構成する多角形は直線上の区間として示される。区
間同士が重なっている場合には、重なり部分を分割して
独立した区間と考える。区間内で対応する元々の3次元
上の多角形の奥行きの順を検査して、一番投影面に近い
多角形を投影像に書き込む。水平面をスクリーンの上か
ら下まで画素の1行分ずつずらして同様の処理を繰り返
すことで、2次元投影像を完成させる。
れている。このスキャンライン法では、3次元物体を投
影面と直交する水平面での断面で考える。水平面上では
物体を構成する多角形は線分として示される。さらに、
この水平面上で物体の投影面への投影像を考えると、物
体を構成する多角形は直線上の区間として示される。区
間同士が重なっている場合には、重なり部分を分割して
独立した区間と考える。区間内で対応する元々の3次元
上の多角形の奥行きの順を検査して、一番投影面に近い
多角形を投影像に書き込む。水平面をスクリーンの上か
ら下まで画素の1行分ずつずらして同様の処理を繰り返
すことで、2次元投影像を完成させる。
【0006】第3の方法として、特開閉5-210745号公報
に開示されている方法がある。位相ソートを効率よく遂
行するために、物体を構成する各多角形に対して着目し
た多角形以外の多角形を、着目した多角形を隠すか否か
で分類し、これをリストにして記憶しておく方法であ
る。この方法では、位相ソートを行う場合には、リスト
を参照することで重なりを生じていない多角形同士の判
定を省くようにしている。
に開示されている方法がある。位相ソートを効率よく遂
行するために、物体を構成する各多角形に対して着目し
た多角形以外の多角形を、着目した多角形を隠すか否か
で分類し、これをリストにして記憶しておく方法であ
る。この方法では、位相ソートを行う場合には、リスト
を参照することで重なりを生じていない多角形同士の判
定を省くようにしている。
【0007】
【発明が解決しようとする課題】第1の方法であるZバ
ッファ法においては、奥行き判定を画素単位で行うため
に単純なアルゴリズムで実現できるものの、フレームバ
ッファの他に奥行き値を記憶するZバッファが必要とな
る。Zバッファとしての記憶領域は、出力する2次元画
像の画素数に比例した大きさが必要であり、精細な画像
を出力する場合には多大な記憶領域を必要とするという
問題があった。また、画素単位の奥行き判定処理が必要
なことと、隠れ面部分の画素に対しても一通りの処理を
必要とするため処理時間も膨大となるという問題点があ
った。
ッファ法においては、奥行き判定を画素単位で行うため
に単純なアルゴリズムで実現できるものの、フレームバ
ッファの他に奥行き値を記憶するZバッファが必要とな
る。Zバッファとしての記憶領域は、出力する2次元画
像の画素数に比例した大きさが必要であり、精細な画像
を出力する場合には多大な記憶領域を必要とするという
問題があった。また、画素単位の奥行き判定処理が必要
なことと、隠れ面部分の画素に対しても一通りの処理を
必要とするため処理時間も膨大となるという問題点があ
った。
【0008】第2の方法であるスキャンライン法におい
ては、線分単位で奥行き判定を行うことと、線分単位で
ソートした結果に基づいて、最前部に位置するスキャン
ライン上の区間についてしか書き込み処理を行わないた
めにZバッファ法と比べると高速であるものの、この方
法も出力画像のライン数に比例して処理回数が増大する
ことと、スキャンライン上の区間に対応した多角形の並
び替えを行うために記憶領域を必要とするという問題点
があった。また、並び替えのための区間を分割する必要
があるなど処理が複雑であり、処理装置の規模が増大す
るという問題点があった。
ては、線分単位で奥行き判定を行うことと、線分単位で
ソートした結果に基づいて、最前部に位置するスキャン
ライン上の区間についてしか書き込み処理を行わないた
めにZバッファ法と比べると高速であるものの、この方
法も出力画像のライン数に比例して処理回数が増大する
ことと、スキャンライン上の区間に対応した多角形の並
び替えを行うために記憶領域を必要とするという問題点
があった。また、並び替えのための区間を分割する必要
があるなど処理が複雑であり、処理装置の規模が増大す
るという問題点があった。
【0009】第3の方法である特開閉5-210745号公報に
開示されている方法においては、面単位で着目して位相
ソートを行うために処理回数は出力画像の大きさには依
存しないが、物体を構成する各多角形に対して他の全て
の多角形との位置関係を検査するために処理時間が長く
なることと、位置関係を検査した結果をそれぞれの面に
対応したリストで記憶するために大きな記憶領域を必要
とするという問題点があった。
開示されている方法においては、面単位で着目して位相
ソートを行うために処理回数は出力画像の大きさには依
存しないが、物体を構成する各多角形に対して他の全て
の多角形との位置関係を検査するために処理時間が長く
なることと、位置関係を検査した結果をそれぞれの面に
対応したリストで記憶するために大きな記憶領域を必要
とするという問題点があった。
【0010】本発明の目的は、かかる問題点を解決し、
小規模な記憶領域で陰線陰面消去処理を高速に行うこと
のできる立体画像生成装置および立体画像生成方法を提
供することにある。
小規模な記憶領域で陰線陰面消去処理を高速に行うこと
のできる立体画像生成装置および立体画像生成方法を提
供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明の立体画像生成装置は、3次元物体の2次元
投影画像を生成する立体画像生成装置において、少なく
とも視点位置と視線の方向とを規定する情報を含んだレ
ンダリングパラメータを入力するレンダリングパラメー
タ入力手段と、前記3次元物体を3次元空間内の多角形
の集合体として定義した立体モデルを入力する立体モデ
ル入力手段と、前記立体モデルを構成する多角形を前記
3次元空間上で互いに重なることのない境界立方体に包
含されるまとまりでグループ分けして複数の部品とし、
視点から見た場合の各部品の重なり具合の序列、および
各部品毎の、視点から見た場合の部品内の各面の重なり
具合の序列を判定する陰線陰面消去処理手段と、前記立
体モデルの各構成面を、前記陰線陰面消去処理手段にて
判定された序列に従って2次元平面に投影して2次元画
像として出力する出力手段と、を有することを特徴とす
る。
め、本発明の立体画像生成装置は、3次元物体の2次元
投影画像を生成する立体画像生成装置において、少なく
とも視点位置と視線の方向とを規定する情報を含んだレ
ンダリングパラメータを入力するレンダリングパラメー
タ入力手段と、前記3次元物体を3次元空間内の多角形
の集合体として定義した立体モデルを入力する立体モデ
ル入力手段と、前記立体モデルを構成する多角形を前記
3次元空間上で互いに重なることのない境界立方体に包
含されるまとまりでグループ分けして複数の部品とし、
視点から見た場合の各部品の重なり具合の序列、および
各部品毎の、視点から見た場合の部品内の各面の重なり
具合の序列を判定する陰線陰面消去処理手段と、前記立
体モデルの各構成面を、前記陰線陰面消去処理手段にて
判定された序列に従って2次元平面に投影して2次元画
像として出力する出力手段と、を有することを特徴とす
る。
【0012】上記の場合、前記陰線陰面消去処理手段
を、前記複数の部品に関し、視点から見た場合の各部品
の陰線陰面が消去されるような部品の重ね書きを行うこ
とができる描画順位を決定する部品描画順位決定手段
と、前記複数の部品毎に、視点から見た場合の部品内の
各面の陰線陰面が消去されるような面の重ね書きを行う
ことができる描画順位を決定する面描画順位決定手段
と、により構成し、前記出力手段が、前記部品描画順位
決定手段および面描画順位決定手段にて決定された部品
および面の描画順位に従って、前記立体モデルの各構成
面を2次元平面に投影するようにしてもよい。
を、前記複数の部品に関し、視点から見た場合の各部品
の陰線陰面が消去されるような部品の重ね書きを行うこ
とができる描画順位を決定する部品描画順位決定手段
と、前記複数の部品毎に、視点から見た場合の部品内の
各面の陰線陰面が消去されるような面の重ね書きを行う
ことができる描画順位を決定する面描画順位決定手段
と、により構成し、前記出力手段が、前記部品描画順位
決定手段および面描画順位決定手段にて決定された部品
および面の描画順位に従って、前記立体モデルの各構成
面を2次元平面に投影するようにしてもよい。
【0013】さらに、前記境界立方体は、前記3次元物
体を空間的な位置関係により複数にグループ分けしたも
のであって、グループ中の全ての多角形を包含し、か
つ、X−Y平面、Y−Z平面、Z−X平面に平行な面で
構成されるものであってもよい。
体を空間的な位置関係により複数にグループ分けしたも
のであって、グループ中の全ての多角形を包含し、か
つ、X−Y平面、Y−Z平面、Z−X平面に平行な面で
構成されるものであってもよい。
【0014】本発明の立体画像生成方法は、3次元物体
を3次元空間内の多角形の集合体として定義した立体モ
デルを基に、前記3次元物体の2次元投影画像を生成す
る立体画像生成方法において、前記立体モデルを構成す
る多角形を、前記3次元空間上で互いに重なることのな
い境界立方体に包含されるまとまりでグループ分けして
複数の部品とし、視点から見た場合の各部品の重なり具
合の序列、および各部品毎の、視点から見た場合の部品
内の各面の重なり具合の序列を判定し、該判定された序
列に従って前記立体モデルの各構成面を2次元平面に投
影することにより前記2次元投影画像を得ることを特徴
とする。
を3次元空間内の多角形の集合体として定義した立体モ
デルを基に、前記3次元物体の2次元投影画像を生成す
る立体画像生成方法において、前記立体モデルを構成す
る多角形を、前記3次元空間上で互いに重なることのな
い境界立方体に包含されるまとまりでグループ分けして
複数の部品とし、視点から見た場合の各部品の重なり具
合の序列、および各部品毎の、視点から見た場合の部品
内の各面の重なり具合の序列を判定し、該判定された序
列に従って前記立体モデルの各構成面を2次元平面に投
影することにより前記2次元投影画像を得ることを特徴
とする。
【0015】上記の場合、前記複数の部品について、視
点から見た場合の各部品の陰線陰面が消去されるような
部品の重ね書きを行うことができる部品描画順位を求め
てこれを前記部品の序列とし、さらに各部品毎に、視点
から見た場合の部品内の各面の陰線陰面が消去されるよ
うな面の重ね書きを行うことができる面描画順位を求め
てこれを前記部品の各面の序列とし、これら部品描画順
位および面描画順位に従って前記立体モデルの各構成面
を重ね書きすることにより前記2次元投影画像を得るよ
うにしてもよい。
点から見た場合の各部品の陰線陰面が消去されるような
部品の重ね書きを行うことができる部品描画順位を求め
てこれを前記部品の序列とし、さらに各部品毎に、視点
から見た場合の部品内の各面の陰線陰面が消去されるよ
うな面の重ね書きを行うことができる面描画順位を求め
てこれを前記部品の各面の序列とし、これら部品描画順
位および面描画順位に従って前記立体モデルの各構成面
を重ね書きすることにより前記2次元投影画像を得るよ
うにしてもよい。
【0016】さらに、前記境界立方体は、前記3次元物
体を空間的な位置関係によりグループ分けしたものであ
って、グループ中の全ての多角形を包含し、かつ、X−
Y平面、Y−Z平面、Z−X平面に平行な面で構成され
ており、前記部品の重なり具合の序列を、任意の2つの
境界立方体に関して視点から見た場合の重なり具合の序
列をそれぞれの立方体を構成する面の重なり具合を検査
することにより行うようにしてもよい。
体を空間的な位置関係によりグループ分けしたものであ
って、グループ中の全ての多角形を包含し、かつ、X−
Y平面、Y−Z平面、Z−X平面に平行な面で構成され
ており、前記部品の重なり具合の序列を、任意の2つの
境界立方体に関して視点から見た場合の重なり具合の序
列をそれぞれの立方体を構成する面の重なり具合を検査
することにより行うようにしてもよい。
【0017】上記の通りの本発明によれば、立体モデル
を複数の部品に分割し、これら部品の重なり具合の序列
と、各部品毎の、部品内の各面の重なり具合の序列とを
判定することによって、立体モデルの各構成面の序列が
判定される。このように、本発明では、面の重なり具合
の序列の判定が部品毎に行われるので、立体モデルの各
構成面1つ1つに対して重なり具合の序列を全て判定し
ていた従来の場合と比べ、序列の判定の回数は大幅に少
なくなり、高速な陰線陰面消去処理が可能になる。
を複数の部品に分割し、これら部品の重なり具合の序列
と、各部品毎の、部品内の各面の重なり具合の序列とを
判定することによって、立体モデルの各構成面の序列が
判定される。このように、本発明では、面の重なり具合
の序列の判定が部品毎に行われるので、立体モデルの各
構成面1つ1つに対して重なり具合の序列を全て判定し
ていた従来の場合と比べ、序列の判定の回数は大幅に少
なくなり、高速な陰線陰面消去処理が可能になる。
【0018】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。
面を参照して説明する。
【0019】図1は、本発明の一実施例の立体画像生成
装置の概略構成を示すブロック図である。
装置の概略構成を示すブロック図である。
【0020】本実施例の立体画像生成装置は、レンダリ
ングパラメータ入力手段101、立体モデル入力手段1
02、立体モデル記憶手段103、陰線陰面消去処理手
段104、面データ出力手段107より構成されてい
る。
ングパラメータ入力手段101、立体モデル入力手段1
02、立体モデル記憶手段103、陰線陰面消去処理手
段104、面データ出力手段107より構成されてい
る。
【0021】レンダリングパラメータ入力手段101
は、少なくとも視点位置と視線の方向とを規定する情報
を含んだレンダリングパラメータ(ここでは、視点位置
座標および投影面位置)を入力する。
は、少なくとも視点位置と視線の方向とを規定する情報
を含んだレンダリングパラメータ(ここでは、視点位置
座標および投影面位置)を入力する。
【0022】立体モデル入力手段102は、物体を3次
元空間内の多角形の集合体として定義した立体モデルに
関する情報(ここでは、3次元物体の形状および配置)
を入力する。
元空間内の多角形の集合体として定義した立体モデルに
関する情報(ここでは、3次元物体の形状および配置)
を入力する。
【0023】立体モデル記憶手段103は、上記レンダ
リングパラメータ入力手段101および立体モデル入力
手段102からの入力情報を記憶する。この立体モデル
記憶手段103では、詳しくは後述するが、物体を3次
元空間内の多角形の集合体として定義した立体モデル
を、3次元空間上で互いに重なることのない境界立方体
に包含されるまとまりでグループ分けし(以下、グルー
プ分けされた面群を部品と呼ぶ)、部品単位で情報の記
憶が行われる。
リングパラメータ入力手段101および立体モデル入力
手段102からの入力情報を記憶する。この立体モデル
記憶手段103では、詳しくは後述するが、物体を3次
元空間内の多角形の集合体として定義した立体モデル
を、3次元空間上で互いに重なることのない境界立方体
に包含されるまとまりでグループ分けし(以下、グルー
プ分けされた面群を部品と呼ぶ)、部品単位で情報の記
憶が行われる。
【0024】陰線陰面消去処理手段104は、視点から
見た場合の各部品の重なり具合の序列、および各部品毎
の、視点から見た場合の部品内の各面の重なり具合の序
列を判定することにより、立体モデルを表示する際の陰
線陰面消去を行う手段である。その構成は、部品描画順
位決定手段105および面描画順位決定手段106を備
えている。部品描画順位決定手段105は、視点から見
た際の各部品の陰線および陰面が消去されるような、部
品の重ね書きを行うことができる描画順位を決定する。
面描画順位決定手段106は、各部品毎に、視点から見
た際の部品内の各面の陰線および陰面が消去されるよう
な、面の重ね書きを行うことができる描画順位を決定す
る。本実施例では、この決定された部品描画順位および
面描画順位に従って描画が行われる。
見た場合の各部品の重なり具合の序列、および各部品毎
の、視点から見た場合の部品内の各面の重なり具合の序
列を判定することにより、立体モデルを表示する際の陰
線陰面消去を行う手段である。その構成は、部品描画順
位決定手段105および面描画順位決定手段106を備
えている。部品描画順位決定手段105は、視点から見
た際の各部品の陰線および陰面が消去されるような、部
品の重ね書きを行うことができる描画順位を決定する。
面描画順位決定手段106は、各部品毎に、視点から見
た際の部品内の各面の陰線および陰面が消去されるよう
な、面の重ね書きを行うことができる描画順位を決定す
る。本実施例では、この決定された部品描画順位および
面描画順位に従って描画が行われる。
【0025】次に、立体モデル記憶手段103について
詳しく説明する。立体モデル記憶手段103は、図2に
示すように、少なくとも立体モデルデータ記憶部201
と、部品データ記憶部202と、面データ記憶部203
と、3次元頂点データ記憶部204と、2次元データ記
憶部205と、レンダリングパラメータ記憶部206
と、を備えている。
詳しく説明する。立体モデル記憶手段103は、図2に
示すように、少なくとも立体モデルデータ記憶部201
と、部品データ記憶部202と、面データ記憶部203
と、3次元頂点データ記憶部204と、2次元データ記
憶部205と、レンダリングパラメータ記憶部206
と、を備えている。
【0026】立体モデルデータ記憶部201は、3次元
頂点データ記憶部204に記憶される各頂点要素に関す
る3次元頂点データの先頭アドレスと、2次元頂点デー
タ記憶部205に記憶される各頂点要素に関する3次元
頂点データの先頭アドレスと、立体モデルに含まれる部
品の数を記憶する領域と、部品データ記憶部202上の
各部品データへのアドレスを部品数分だけ格納する領域
と、を備えている。
頂点データ記憶部204に記憶される各頂点要素に関す
る3次元頂点データの先頭アドレスと、2次元頂点デー
タ記憶部205に記憶される各頂点要素に関する3次元
頂点データの先頭アドレスと、立体モデルに含まれる部
品の数を記憶する領域と、部品データ記憶部202上の
各部品データへのアドレスを部品数分だけ格納する領域
と、を備えている。
【0027】部品データ記憶部202は、個々の部品に
含まれる面データの数を記憶する領域と面データ記憶部
203上にある部品に含まれる面のデータのアドレスを
立体モデルに含まれる面の数量分格納する領域とを備え
ている。
含まれる面データの数を記憶する領域と面データ記憶部
203上にある部品に含まれる面のデータのアドレスを
立体モデルに含まれる面の数量分格納する領域とを備え
ている。
【0028】面データ記憶部203は、それぞれの面の
頂点の数と面の頂点に対応した、3次元頂点データ記憶
部204および2次元頂点データ記憶部205上の座標
値データのアドレスを記憶する領域と、視点から面を見
た場合に面が裏返しになっている場合にその状態を表す
可視フラグを記憶する領域と、を備えている。
頂点の数と面の頂点に対応した、3次元頂点データ記憶
部204および2次元頂点データ記憶部205上の座標
値データのアドレスを記憶する領域と、視点から面を見
た場合に面が裏返しになっている場合にその状態を表す
可視フラグを記憶する領域と、を備えている。
【0029】3次元頂点データ記憶部204は、立体モ
デルに含まれる全ての頂点の3次元座標値を記憶する領
域を備え、2次元頂点データ記憶部205は、立体モデ
ルに含まれる全ての頂点に対応した投影変換後の2次元
座標値を記憶する領域を備えている。これら3次元頂点
データおよび2次元頂点データの並びは対応しており、
それぞれは配列となっているので、立体モデルデータ記
憶部201に記憶されている3次元頂点データおよび2
次元頂点データの各先頭アドレスを基準として、同一配
列要素番号で対応する頂点座標データにアクセスするこ
とが可能になっている。
デルに含まれる全ての頂点の3次元座標値を記憶する領
域を備え、2次元頂点データ記憶部205は、立体モデ
ルに含まれる全ての頂点に対応した投影変換後の2次元
座標値を記憶する領域を備えている。これら3次元頂点
データおよび2次元頂点データの並びは対応しており、
それぞれは配列となっているので、立体モデルデータ記
憶部201に記憶されている3次元頂点データおよび2
次元頂点データの各先頭アドレスを基準として、同一配
列要素番号で対応する頂点座標データにアクセスするこ
とが可能になっている。
【0030】レンダリングパラメータ記憶部206は、
入力された視点位置および投影面位置を記憶する。ここ
では、視点のX,Y,Z座標値が記憶される。
入力された視点位置および投影面位置を記憶する。ここ
では、視点のX,Y,Z座標値が記憶される。
【0031】次に、この立体画像生成装置の動作を図3
〜図7を参照して説明する。
〜図7を参照して説明する。
【0032】図3は立体画像生成装置の全体の処理手順
を示すフローチャートである。
を示すフローチャートである。
【0033】まず、ステップS101で、レンダリング
パラメータ入力手段101から入力された視点位置座標
および投影面位置、立体モデル入力手段102から入力
された立体モデルデータが、立体モデル記憶手段103
上に記憶される(ステップ101)。この際、面データ
記憶部203の全ての可視フラグはON状態に初期化さ
れる。
パラメータ入力手段101から入力された視点位置座標
および投影面位置、立体モデル入力手段102から入力
された立体モデルデータが、立体モデル記憶手段103
上に記憶される(ステップ101)。この際、面データ
記憶部203の全ての可視フラグはON状態に初期化さ
れる。
【0034】ここで、立体モデルデータは、例えば図1
0に示すような立体化した文字列を、3次元空間上の複
数の面の集合として定義するものである。このような立
体の文字列は、図8に示すように線分の輪郭線で構成さ
れた2次元の文字列を、奥行き方向に適当な距離をおい
た2つの文字列とし、これら文字列間でそれぞれの線分
の端点同士を結ぶ線分を含んだ、線分で囲まれる多角形
を考えればよい。なお、この際、各文字に相当する線分
の集まりは2次元上で重なる部分を持たない矩形に包含
されており、立体化の操作をした後の各文字を構成する
面群もまた、図9に示すような、3次元空間上では互い
に重なる部分を持たない境界立方体にそれぞれ包含され
る。
0に示すような立体化した文字列を、3次元空間上の複
数の面の集合として定義するものである。このような立
体の文字列は、図8に示すように線分の輪郭線で構成さ
れた2次元の文字列を、奥行き方向に適当な距離をおい
た2つの文字列とし、これら文字列間でそれぞれの線分
の端点同士を結ぶ線分を含んだ、線分で囲まれる多角形
を考えればよい。なお、この際、各文字に相当する線分
の集まりは2次元上で重なる部分を持たない矩形に包含
されており、立体化の操作をした後の各文字を構成する
面群もまた、図9に示すような、3次元空間上では互い
に重なる部分を持たない境界立方体にそれぞれ包含され
る。
【0035】立体モデル記憶手段103上では、図2
(a)〜(b)に示すように部品データ、面データ、3
次元頂点データ、レンダリングパラメータで構成された
立体モデルパラメータとして記憶される。
(a)〜(b)に示すように部品データ、面データ、3
次元頂点データ、レンダリングパラメータで構成された
立体モデルパラメータとして記憶される。
【0036】ここで、立体モデルの記憶様式に関し、図
10の例を参照して詳細に説明する。線分の継ぎ目に相
当する頂点の位置座標が順に3次元頂点データ記憶部2
04上の配列で格納される。図10に示す立体化した文
字列では、文字の形をした正面と矩形の側面は、それぞ
れ面データであり、3次元頂点データ間をつないででき
る多角形として定義されることから、面データ記憶部2
03には、各面要素毎に面に含まれる頂点の数と、それ
ら頂点を辿る順番に並んだ3次元頂点データへのアドレ
スが格納されている。ここでは、頂点を辿る順番は、面
を通り、かつ、面に垂直な線上で立体を外部から見た場
合に反時計回りとなるような順番とする。
10の例を参照して詳細に説明する。線分の継ぎ目に相
当する頂点の位置座標が順に3次元頂点データ記憶部2
04上の配列で格納される。図10に示す立体化した文
字列では、文字の形をした正面と矩形の側面は、それぞ
れ面データであり、3次元頂点データ間をつないででき
る多角形として定義されることから、面データ記憶部2
03には、各面要素毎に面に含まれる頂点の数と、それ
ら頂点を辿る順番に並んだ3次元頂点データへのアドレ
スが格納されている。ここでは、頂点を辿る順番は、面
を通り、かつ、面に垂直な線上で立体を外部から見た場
合に反時計回りとなるような順番とする。
【0037】部品データ記憶部202には、部品データ
として、面データを参照するためのアドレスなどが記憶
される。ここで、部品は、図10の個々の文字に相当
し、図9に示す立方体のように互いに重なる部分の無い
立方体で括られる面データのまとまりである。部品デー
タは、それぞれの部品に含まれる面の数と各面データへ
のアドレスを含むデータである。
として、面データを参照するためのアドレスなどが記憶
される。ここで、部品は、図10の個々の文字に相当
し、図9に示す立方体のように互いに重なる部分の無い
立方体で括られる面データのまとまりである。部品デー
タは、それぞれの部品に含まれる面の数と各面データへ
のアドレスを含むデータである。
【0038】立体モデルデータ記憶部201には、部品
の数とそれぞれの部品のデータのアドレスと3次元頂点
データおよび2次元頂点データの先頭アドレスが記憶さ
れている。この立体モデルデータを起点に全ての立体構
成要素を参照できる。
の数とそれぞれの部品のデータのアドレスと3次元頂点
データおよび2次元頂点データの先頭アドレスが記憶さ
れている。この立体モデルデータを起点に全ての立体構
成要素を参照できる。
【0039】上記ステップS101にて立体モデルデー
タの入力が行われると、次いで、ステップS102で、
部品を包含し、互いに重なりの無い境界立方体を立体モ
デルとして生成する。立方体の各面は、各部品を構成す
るX−Y平面、Y−Z平面、Z−X平面にそれぞれ投影
した投影像を包含する最小外接矩形として求める。
タの入力が行われると、次いで、ステップS102で、
部品を包含し、互いに重なりの無い境界立方体を立体モ
デルとして生成する。立方体の各面は、各部品を構成す
るX−Y平面、Y−Z平面、Z−X平面にそれぞれ投影
した投影像を包含する最小外接矩形として求める。
【0040】続いて、ステップS103で、上記ステッ
プS102で生成した境界立方体に関して並べ替えを行
う。図4は、このステップS103の詳細な処理手順を
示すフローチャートである。同図では、部品を記号Bで
表し、添字は部品配列での要素番号を表す。
プS102で生成した境界立方体に関して並べ替えを行
う。図4は、このステップS103の詳細な処理手順を
示すフローチャートである。同図では、部品を記号Bで
表し、添字は部品配列での要素番号を表す。
【0041】まず、ステップS201で、部品データポ
インタaが0に初期化される。次いで、ステップS20
2で、部品データポインタbが、a+1に設定される。
次いで、ステップS203で、部品B「a」と部品B
「b」とで視点からみた場合の重なりの状況を判定す
る。図5は、このステップS203の詳細な処理手順を
示すフローチャートである。同図では、面データを記号
Fで表し、第1番目の添字は面データが属している部品
の番号を示し、第2の添字は面データポインタであり、
部品内での面の番号を示す。例えば、境界立方体は、6
面であるので第2の添字は、0から5の値となる。
インタaが0に初期化される。次いで、ステップS20
2で、部品データポインタbが、a+1に設定される。
次いで、ステップS203で、部品B「a」と部品B
「b」とで視点からみた場合の重なりの状況を判定す
る。図5は、このステップS203の詳細な処理手順を
示すフローチャートである。同図では、面データを記号
Fで表し、第1番目の添字は面データが属している部品
の番号を示し、第2の添字は面データポインタであり、
部品内での面の番号を示す。例えば、境界立方体は、6
面であるので第2の添字は、0から5の値となる。
【0042】図5に示すように、まず、ステップS30
1で、面データポインタをiを0に初期化する。次い
で、ステップS302で、面データポインタjを0に初
期化する。次いで、ステップS303で、面F[a,
j]が面F[b,j]を隠すかどうかを判断する。この
ステップS303の結果が偽(FALSE)であればス
テップS307へ進み、真(TRUE)であればステッ
プS304へ進む。図7は、このステップS303の詳
細な処理手順を示すフローチャートである。同図では、
面を記号Fで表しているが、第1の添字は省略してあ
る。
1で、面データポインタをiを0に初期化する。次い
で、ステップS302で、面データポインタjを0に初
期化する。次いで、ステップS303で、面F[a,
j]が面F[b,j]を隠すかどうかを判断する。この
ステップS303の結果が偽(FALSE)であればス
テップS307へ進み、真(TRUE)であればステッ
プS304へ進む。図7は、このステップS303の詳
細な処理手順を示すフローチャートである。同図では、
面を記号Fで表しているが、第1の添字は省略してあ
る。
【0043】図7に示すように、まずステップS501
で、面F[i]と面F[j]が2次元投影面に投影した
際に重なるかどうかを判断する。重ならない場合は、ス
テップS507へ進み、戻り値にFALSEを設定して
図5のステップS303の続きへ戻る。重なる場合は、
ステップS502へと進む。
で、面F[i]と面F[j]が2次元投影面に投影した
際に重なるかどうかを判断する。重ならない場合は、ス
テップS507へ進み、戻り値にFALSEを設定して
図5のステップS303の続きへ戻る。重なる場合は、
ステップS502へと進む。
【0044】ステップS502では、面F[j]の全て
の頂点が面F[i]の前方にあるかどうかを検査する。
検査結果がTRUEである場合には、ステップS507
へ進み、戻り値にFALSEを設定して図5のステップ
S303の続きへ戻る。FALSEである場合には、ス
テップ503へ進む。
の頂点が面F[i]の前方にあるかどうかを検査する。
検査結果がTRUEである場合には、ステップS507
へ進み、戻り値にFALSEを設定して図5のステップ
S303の続きへ戻る。FALSEである場合には、ス
テップ503へ進む。
【0045】ステップS503では、面F[i]の全て
の頂点が面F[j]の後方にあるかどうか検査する。検
査結果がTRUEである場合には、ステップS507へ
進み、戻り値にFALSEを設定して図5のステップS
303の続きへ戻る。FALSEである場合には、ステ
ップS504へ進む。
の頂点が面F[j]の後方にあるかどうか検査する。検
査結果がTRUEである場合には、ステップS507へ
進み、戻り値にFALSEを設定して図5のステップS
303の続きへ戻る。FALSEである場合には、ステ
ップS504へ進む。
【0046】ステップS504では、面F[i]の全て
の頂点が面F[j]の前方にあるかどうかを検査する。
検査結果がTRUEである場合には、ステップS506
へ進み、戻り値にTRUEを設定して図5のステップS
303の続きへと戻る。FALSEである場合には、ス
テップS505へ進む。
の頂点が面F[j]の前方にあるかどうかを検査する。
検査結果がTRUEである場合には、ステップS506
へ進み、戻り値にTRUEを設定して図5のステップS
303の続きへと戻る。FALSEである場合には、ス
テップS505へ進む。
【0047】ステップS505では、面F[j]の全て
の頂点が面F[i]の後方にあるかどうかを検査する。
検査結果がTRUEである場合には、ステップS506
へ進み、戻り値にTRUEを設定して図5のステップS
303の続きへと戻る。FALSEである場合には、ス
テップS507へ進み、戻り値にFALSEを設定して
図5のステップS303の続きへ戻る。
の頂点が面F[i]の後方にあるかどうかを検査する。
検査結果がTRUEである場合には、ステップS506
へ進み、戻り値にTRUEを設定して図5のステップS
303の続きへと戻る。FALSEである場合には、ス
テップS507へ進み、戻り値にFALSEを設定して
図5のステップS303の続きへ戻る。
【0048】以下、再び図5の続きを説明する。
【0049】ステップS307へ進んだ場合は、戻り値
にFALSEを設定して図4のステップS203の続き
へ戻る。ステップS304へ進んだ場合は、面F[b,
j]が面F[a,j]を隠すかどうかを検査する。この
ステップS304の処理では、ステップ303の面を入
れ替えて図7のステップS501〜S507の処理を同
様に行う。
にFALSEを設定して図4のステップS203の続き
へ戻る。ステップS304へ進んだ場合は、面F[b,
j]が面F[a,j]を隠すかどうかを検査する。この
ステップS304の処理では、ステップ303の面を入
れ替えて図7のステップS501〜S507の処理を同
様に行う。
【0050】上記ステップS304の検査結果がTRU
Eとなった場合は、ステップS306へ進み、戻り値に
TRUEを設定して図4のステップS203の続きへ戻
る。検査結果がFALSEとなった場合は、ステップS
305へ進み、面データポインタjを1増加する。そし
て、ステップS308で、面データポインタjと部品デ
ータ[b]の面数との比較をする。面データポインタj
が部品データ[b]の面数より小さい場合は、ステップ
302へ戻り、面データポインタjが部品データ[b]
の面数以上となった場合は、ステップS309へ進み、
面データポインタiを1増加する。
Eとなった場合は、ステップS306へ進み、戻り値に
TRUEを設定して図4のステップS203の続きへ戻
る。検査結果がFALSEとなった場合は、ステップS
305へ進み、面データポインタjを1増加する。そし
て、ステップS308で、面データポインタjと部品デ
ータ[b]の面数との比較をする。面データポインタj
が部品データ[b]の面数より小さい場合は、ステップ
302へ戻り、面データポインタjが部品データ[b]
の面数以上となった場合は、ステップS309へ進み、
面データポインタiを1増加する。
【0051】ステップS309にて面データポインタi
が1増加されると、次いで、ステップS310で、面デ
ータポインタiと部品データB[a]の面数との比較を
する。面データポインタiが部品データB[a]の面数
より小さい場合は、ステップS301へ戻り、面データ
ポインタiが部品データB[a]の面数以上となった場
合には、戻り値にFALSEを設定して図4のステップ
S203の続きへ戻る。
が1増加されると、次いで、ステップS310で、面デ
ータポインタiと部品データB[a]の面数との比較を
する。面データポインタiが部品データB[a]の面数
より小さい場合は、ステップS301へ戻り、面データ
ポインタiが部品データB[a]の面数以上となった場
合には、戻り値にFALSEを設定して図4のステップ
S203の続きへ戻る。
【0052】以下、再び図4の続きを説明する。
【0053】ステップS203の結果が、TRUEであ
った場合は、ステップS205へ進む。ステップS20
5では、部品B[b]を部品B[a]の直前に移動し、
ステップS201へ戻り、以上に説明した処理を繰り返
す。この際の部品の移動は、立体モデル記憶手段103
上にある元々の立体モデルデータの立体モデルデータ記
憶部201の部品データへのアドレスの配列に対しても
同時に行う。また、部品データポインタa,bはともに
更新されていないが、データの入れ替えがなされてい
る。
った場合は、ステップS205へ進む。ステップS20
5では、部品B[b]を部品B[a]の直前に移動し、
ステップS201へ戻り、以上に説明した処理を繰り返
す。この際の部品の移動は、立体モデル記憶手段103
上にある元々の立体モデルデータの立体モデルデータ記
憶部201の部品データへのアドレスの配列に対しても
同時に行う。また、部品データポインタa,bはともに
更新されていないが、データの入れ替えがなされてい
る。
【0054】ステップS203の結果が、FALSEで
あった場合には、ステップS204へ進み、部品データ
ポインタbを1増加する。続くステップS206で、部
品データポインタbが部品数以上であるかどうかを判定
する。判定結果がFALSEである場合は、ステップS
202へ戻り、以上で説明した処理を繰り返す。判定結
果がTRUEである場合には、ステップS207へ進
み、部品データポインタaを1増加する。
あった場合には、ステップS204へ進み、部品データ
ポインタbを1増加する。続くステップS206で、部
品データポインタbが部品数以上であるかどうかを判定
する。判定結果がFALSEである場合は、ステップS
202へ戻り、以上で説明した処理を繰り返す。判定結
果がTRUEである場合には、ステップS207へ進
み、部品データポインタaを1増加する。
【0055】続くステップS208では、部品データポ
インタaが部品数以上であるかどうかを判定する。判定
結果がFALSEである場合は、ステップS201へ戻
り、以上で説明した処理を繰り返す。判定結果がTRU
Eである場合には、部品ソートの処理を終了する。
インタaが部品数以上であるかどうかを判定する。判定
結果がFALSEである場合は、ステップS201へ戻
り、以上で説明した処理を繰り返す。判定結果がTRU
Eである場合には、部品ソートの処理を終了する。
【0056】上述の図4における部品ソートの処理(図
3のステップS103の処理)の流れを簡単に説明する
と、次のようなことになる。まず、元々の部品の並びの
先頭から順次部品に着目していき、着目した部品とその
他の部品の前後関係を検査して、着目した部品よりも後
方に位置する部品がなかった場合には、着目する部品を
次の部品に移す。一方、着目した部品よりも後方に位置
する部品があった場合には、その部品を着目していた部
品の前に移動して新たな着目部品として処理を行う。こ
うして、一通りの部品の処理が終了した時点では、立体
モデルデータ記憶部201上の部品データのアドレスの
配列は、重なりの序列で部品が並べ替えられる。
3のステップS103の処理)の流れを簡単に説明する
と、次のようなことになる。まず、元々の部品の並びの
先頭から順次部品に着目していき、着目した部品とその
他の部品の前後関係を検査して、着目した部品よりも後
方に位置する部品がなかった場合には、着目する部品を
次の部品に移す。一方、着目した部品よりも後方に位置
する部品があった場合には、その部品を着目していた部
品の前に移動して新たな着目部品として処理を行う。こ
うして、一通りの部品の処理が終了した時点では、立体
モデルデータ記憶部201上の部品データのアドレスの
配列は、重なりの序列で部品が並べ替えられる。
【0057】以下、再び図3の続きを説明する。
【0058】ステップS103で、上述した部品ソート
の処理が行われると、次いでステップS104で、不可
視面除去を行う。視点から見て裏返しになっている面は
物体の陰になっているので、最終的な2次元投影画像で
は描画されない。このため、後段の処理の無駄を省くた
めにこの時点で裏返しになっているかどうかを検査し、
可視フラグの値を更新しておく(ここでは、裏返しにな
っている場合は可視フラグがオフにされる)。以降の処
理では、可視フラグがオンになっている面は処理の対象
から外される。
の処理が行われると、次いでステップS104で、不可
視面除去を行う。視点から見て裏返しになっている面は
物体の陰になっているので、最終的な2次元投影画像で
は描画されない。このため、後段の処理の無駄を省くた
めにこの時点で裏返しになっているかどうかを検査し、
可視フラグの値を更新しておく(ここでは、裏返しにな
っている場合は可視フラグがオフにされる)。以降の処
理では、可視フラグがオンになっている面は処理の対象
から外される。
【0059】続くステップS105で、面ソートを行
う。立体モデルデータ記憶部201に格納されている部
品データのアドレスの順番に従って、順次部品データが
ステップS105で処理される。図6は、このステップ
S105の詳細な処理手順を示すフローチャートであ
る。同図では、面を記号Fで表し、添字は部品データ記
憶部202上の面データの配列の要素番号を表す。
う。立体モデルデータ記憶部201に格納されている部
品データのアドレスの順番に従って、順次部品データが
ステップS105で処理される。図6は、このステップ
S105の詳細な処理手順を示すフローチャートであ
る。同図では、面を記号Fで表し、添字は部品データ記
憶部202上の面データの配列の要素番号を表す。
【0060】まず、ステップS401で面データポイン
タiが0に初期化される。次いで、ステップS402
で、面データポインタjがi+1に設定される。次い
で、ステップS403で、視点から見た場合に面F
[i]が面F[j]を隠すかどうかを検査する。このス
テップS403の処理は、上述の部品ソート処理で説明
した図7の処理と同様であるので、ここでは詳しい説明
は省略する。
タiが0に初期化される。次いで、ステップS402
で、面データポインタjがi+1に設定される。次い
で、ステップS403で、視点から見た場合に面F
[i]が面F[j]を隠すかどうかを検査する。このス
テップS403の処理は、上述の部品ソート処理で説明
した図7の処理と同様であるので、ここでは詳しい説明
は省略する。
【0061】上記ステップS403の戻り値がTRUE
であった場合は、ステップS405へ進む。ステップS
405では、面F[j]を面F[i]の直前に移動した
後、ステップS401の処理へ戻る。ステップS403
の戻り値がFALSEであった場合は、ステップS40
4へ進み、jを1増加させる。続くステップS406
で、面データポインタjと面の数を比較し、面データポ
インタjの方が小さい場合には、ステップS402へ戻
り、以上で説明した処理を繰り返し、面データポインタ
jの方が大きい場合には、ステップS407へ進み、i
を1増加させる。
であった場合は、ステップS405へ進む。ステップS
405では、面F[j]を面F[i]の直前に移動した
後、ステップS401の処理へ戻る。ステップS403
の戻り値がFALSEであった場合は、ステップS40
4へ進み、jを1増加させる。続くステップS406
で、面データポインタjと面の数を比較し、面データポ
インタjの方が小さい場合には、ステップS402へ戻
り、以上で説明した処理を繰り返し、面データポインタ
jの方が大きい場合には、ステップS407へ進み、i
を1増加させる。
【0062】続くステップS408で、面データポイン
タiと面の数を比較し、面データポインタiの方が小さ
い場合には、ステップS401へ戻り、以上で説明した
処理を繰り返し、面データポインタiの方が大きい場合
には、次の部品データに対して同様の処理を繰り返し、
全ての部品データの処理を終了するまで繰り返す。
タiと面の数を比較し、面データポインタiの方が小さ
い場合には、ステップS401へ戻り、以上で説明した
処理を繰り返し、面データポインタiの方が大きい場合
には、次の部品データに対して同様の処理を繰り返し、
全ての部品データの処理を終了するまで繰り返す。
【0063】以上説明したステップS101〜ステップ
S105の処理で、陰線陰面消去処理手段104による
立体モデルデータおよび部品データの内容の並べ替えが
行われる。
S105の処理で、陰線陰面消去処理手段104による
立体モデルデータおよび部品データの内容の並べ替えが
行われる。
【0064】以下、再び図3の続きを説明する。
【0065】続くステップS106では、全ての面に対
して、予め定められた光源位置などのパラメータに従っ
て、グローシェーディンッグ等の方法により面の色が決
められる。このステップS106でシェーディングが施
された立体モデルデータの頂点データは、レンダリング
パラメータ記憶部206の視点座標と投影面の位置を基
に2次元平面上の座標に変換された2次元頂点データ記
憶部205へ順次格納される。
して、予め定められた光源位置などのパラメータに従っ
て、グローシェーディンッグ等の方法により面の色が決
められる。このステップS106でシェーディングが施
された立体モデルデータの頂点データは、レンダリング
パラメータ記憶部206の視点座標と投影面の位置を基
に2次元平面上の座標に変換された2次元頂点データ記
憶部205へ順次格納される。
【0066】続くステップS108で、立体モデルデー
タ記憶部201の部品データアドレスの並びに従って、
部品データ記憶部202の面データポインタが参照さ
れ、面データポインタは、立体モデルデータ記憶部20
1の2次元頂点データアドレスを参照して順次頂点座標
を参照して、多角形の出力を行う。この結果、図11に
示すような2次元投影画像が得られる。
タ記憶部201の部品データアドレスの並びに従って、
部品データ記憶部202の面データポインタが参照さ
れ、面データポインタは、立体モデルデータ記憶部20
1の2次元頂点データアドレスを参照して順次頂点座標
を参照して、多角形の出力を行う。この結果、図11に
示すような2次元投影画像が得られる。
【0067】全ての部品データおよび面データの出力が
終了した時点で、立体画像の生成処理が終了する。
終了した時点で、立体画像の生成処理が終了する。
【0068】以上説明した本実施例の立体画像生成装置
は、立体化した文字列の2次元投影画像を生成するもの
であったが、本発明はこれに限定されるものではなく、
文字列に代えて種々の3次元物体を適用することが可能
である。
は、立体化した文字列の2次元投影画像を生成するもの
であったが、本発明はこれに限定されるものではなく、
文字列に代えて種々の3次元物体を適用することが可能
である。
【0069】
【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載するような効果を奏する。
いるので、以下に記載するような効果を奏する。
【0070】従来は、任意の2つの面(立体モデルを構
成する面)に関して視点から見た場合の重なり具合の序
列を判定するといった処理を全ての面について行ってい
る。立体モデルに含まれる面の数をCとした場合、任意
の2面の組み合せの数Cは、 C=N×(N−1)/2 であり、この回数分の重なり具合の判定が必要とされ
る。すなわち、重なり具合の判定の回数が面の数の二乗
に比例して増加することとなり、例えば図10に示すよ
うな複雑な形状をした文字列を処理する場合には、多大
な処理時間が必要であった。これに対して、本発明で
は、立体モデルを部品データに分割し、まず部品のまと
まり単位で部品の重なり具合の序列を判定した後に、部
品毎に面の序列を判定して、立体モデルの各構成面の序
列を求めている。この場合の序列の判定処理は、立体モ
デルをM個の部品に分割した場合、平均して1/M2の
処理時間で処理できることになる。
成する面)に関して視点から見た場合の重なり具合の序
列を判定するといった処理を全ての面について行ってい
る。立体モデルに含まれる面の数をCとした場合、任意
の2面の組み合せの数Cは、 C=N×(N−1)/2 であり、この回数分の重なり具合の判定が必要とされ
る。すなわち、重なり具合の判定の回数が面の数の二乗
に比例して増加することとなり、例えば図10に示すよ
うな複雑な形状をした文字列を処理する場合には、多大
な処理時間が必要であった。これに対して、本発明で
は、立体モデルを部品データに分割し、まず部品のまと
まり単位で部品の重なり具合の序列を判定した後に、部
品毎に面の序列を判定して、立体モデルの各構成面の序
列を求めている。この場合の序列の判定処理は、立体モ
デルをM個の部品に分割した場合、平均して1/M2の
処理時間で処理できることになる。
【0071】以上のことから、本発明によれば、立体モ
デルの各構成面の序列の判定回数を大幅に少なくするこ
とができるので、高速な陰線陰面消去処理が可能になる
という効果がある。さらには、序列の判定回数が少ない
ことから、ワークメモリを大幅に削減でき、リソースの
乏しい小規模なシステム上でも適用できるという効果が
ある。
デルの各構成面の序列の判定回数を大幅に少なくするこ
とができるので、高速な陰線陰面消去処理が可能になる
という効果がある。さらには、序列の判定回数が少ない
ことから、ワークメモリを大幅に削減でき、リソースの
乏しい小規模なシステム上でも適用できるという効果が
ある。
【図1】本発明の一実施例の立体画像生成装置の概略構
成を示すブロック図である。
成を示すブロック図である。
【図2】図1に示す立体モデル記憶手段の構成を説明す
るための図で、(a)〜(f)は各記憶部の構成を示す
図である。
るための図で、(a)〜(f)は各記憶部の構成を示す
図である。
【図3】図1に示す立体画像生成装置の全体の処理手順
を示すフローチャートである。
を示すフローチャートである。
【図4】図3の部品ソートの処理を詳細に説明するフロ
ーチャートである。
ーチャートである。
【図5】図4の処理の一部を詳細に説明するフローチャ
ートである。
ートである。
【図6】図3の面ソートの処理を詳細に説明するフロー
チャートである。
チャートである。
【図7】図5の処理の一部を詳細に説明するフローチャ
ートである。
ートである。
【図8】線分の輪郭線で構成された2次元の文字列の一
例を示す図である。
例を示す図である。
【図9】境界立方体を説明するための図である。
【図10】立体モデルを説明するための図である。
【図11】2次元投影画像の一例を示す図である。
【符号の説明】 101 レンダリングパラメータ入力手段 102 立体モデル入力手段 103 立体モデル記憶手段 104 陰線陰面消去処理手段 105 部品描画順位決定手段 106 面描画順位決定手段 107 面データ出力手段 201 立体モデルデータ記憶部 202 部品データ記憶部 203 面データ記憶部 204 3次元頂点データ記憶部 205 2次元頂点データ記憶部 206 レンダリングパラメータ記憶部
Claims (6)
- 【請求項1】 3次元物体の2次元投影画像を生成する
立体画像生成装置において、 少なくとも視点位置と視線の方向とを規定する情報を含
んだレンダリングパラメータを入力するレンダリングパ
ラメータ入力手段と、 前記3次元物体を3次元空間内の多角形の集合体として
定義した立体モデルを入力する立体モデル入力手段と、 前記立体モデルを構成する多角形を前記3次元空間上で
互いに重なることのない境界立方体に包含されるまとま
りでグループ分けして複数の部品とし、視点から見た場
合の各部品の重なり具合の序列、および各部品毎の、視
点から見た場合の部品内の各面の重なり具合の序列を判
定する陰線陰面消去処理手段と、 前記立体モデルの各構成面を、前記陰線陰面消去処理手
段にて判定された序列に従って2次元平面に投影して2
次元画像として出力する出力手段と、を有することを特
徴とする立体画像生成装置。 - 【請求項2】 請求項1に記載の立体画像生成装置にお
いて、 前記陰線陰面消去処理手段は、 前記複数の部品に関し、視点から見た場合の各部品の陰
線陰面が消去されるような部品の重ね書きを行うことが
できる描画順位を決定する部品描画順位決定手段と、 前記複数の部品毎に、視点から見た場合の部品内の各面
の陰線陰面が消去されるような面の重ね書きを行うこと
ができる描画順位を決定する面描画順位決定手段と、を
有し、 前記出力手段が、前記部品描画順位決定手段および面描
画順位決定手段にて決定された部品および面の描画順位
に従って、前記立体モデルの各構成面を2次元平面に投
影することを特徴とする立体画像生成装置。 - 【請求項3】 請求項1に記載の立体画像生成装置にお
いて、 前記境界立方体は、前記3次元物体を空間的な位置関係
により複数にグループ分けしたものであって、グループ
中の全ての多角形を包含し、かつ、X−Y平面、Y−Z
平面、Z−X平面に平行な面で構成されることを特徴と
する立体画像生成装置。 - 【請求項4】 3次元物体を3次元空間内の多角形の集
合体として定義した立体モデルを基に、前記3次元物体
の2次元投影画像を生成する立体画像生成方法におい
て、 前記立体モデルを構成する多角形を、前記3次元空間上
で互いに重なることのない境界立方体に包含されるまと
まりでグループ分けして複数の部品とし、視点から見た
場合の各部品の重なり具合の序列、および各部品毎の、
視点から見た場合の部品内の各面の重なり具合の序列を
判定し、該判定された序列に従って前記立体モデルの各
構成面を2次元平面に投影することにより前記2次元投
影画像を得ることを特徴とする立体画像生成方法。 - 【請求項5】 請求項4に記載の立体画像生成方法にお
いて、 前記複数の部品について、視点から見た場合の各部品の
陰線陰面が消去されるような部品の重ね書きを行うこと
ができる部品描画順位を求めてこれを前記部品の序列と
し、さらに各部品毎に、視点から見た場合の部品内の各
面の陰線陰面が消去されるような面の重ね書きを行うこ
とができる面描画順位を求めてこれを前記部品の各面の
序列とし、これら部品描画順位および面描画順位に従っ
て前記立体モデルの各構成面を重ね書きすることにより
前記2次元投影画像を得ることを特徴とする立体画像生
成方法。 - 【請求項6】 請求項4に記載の立体画像生成方法にお
いて、 前記境界立方体は、前記3次元物体を空間的な位置関係
によりグループ分けしたものであって、グループ中の全
ての多角形を包含し、かつ、X−Y平面、Y−Z平面、
Z−X平面に平行な面で構成されており、 前記部品の重なり具合の序列は、任意の2つの境界立方
体に関して視点から見た場合の重なり具合の序列を、そ
れぞれの立方体を構成する面の重なり具合を検査するこ
とにより行われることを特徴とする立体画像生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8117815A JPH09305791A (ja) | 1996-05-13 | 1996-05-13 | 立体画像生成装置および立体画像生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8117815A JPH09305791A (ja) | 1996-05-13 | 1996-05-13 | 立体画像生成装置および立体画像生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09305791A true JPH09305791A (ja) | 1997-11-28 |
Family
ID=14720951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8117815A Pending JPH09305791A (ja) | 1996-05-13 | 1996-05-13 | 立体画像生成装置および立体画像生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09305791A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002047033A1 (en) * | 2000-12-05 | 2002-06-13 | Matsushita Electric Industrial Co., Ltd. | 3-d character data generating device and a 3-d graphics data generating device |
JP2002216149A (ja) * | 2001-01-24 | 2002-08-02 | Hayashi Telempu Co Ltd | 模様作成方法と模様作成システム、および動画作成方法と動画作成システム |
WO2003034343A1 (fr) * | 2001-10-15 | 2003-04-24 | Fujitsu Limited | Tri hierarchique d'objets lies dans un espace tridimensionnel virtuel |
JP2007094758A (ja) * | 2005-09-29 | 2007-04-12 | Canon Inc | 画像処理装置および画像処理装置の制御方法および記憶媒体 |
US7218321B2 (en) | 2003-03-31 | 2007-05-15 | Fujitsu Limited | Hidden line processing method for erasing hidden lines in projecting a three-dimensional model consisting of a plurality of polygons onto a two-dimensional plane |
CN100358015C (zh) * | 2003-01-08 | 2007-12-26 | 富士胶片株式会社 | 信号输出方法和光信息记录媒体 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63131270A (ja) * | 1986-11-21 | 1988-06-03 | Dainippon Printing Co Ltd | 三次元文字組版装置 |
JPS6464067A (en) * | 1987-05-13 | 1989-03-09 | Mitsubishi Precision Co Ltd | Priority order deciding method and its circuit for generation of simulated visual range |
JPH0285978A (ja) * | 1988-09-21 | 1990-03-27 | Dainippon Printing Co Ltd | 立体の隠面処理方法 |
JPH0348983A (ja) * | 1989-07-17 | 1991-03-01 | Nec Corp | 隠線消去処理装置 |
JPH0371277A (ja) * | 1989-08-10 | 1991-03-27 | Daikin Ind Ltd | サーフェス・モデル描画方法およびその装置 |
JPH07114654A (ja) * | 1993-10-15 | 1995-05-02 | Sony Corp | 描画データ作成装置及び描画データ作成方法 |
JPH07296186A (ja) * | 1994-03-01 | 1995-11-10 | Sega Enterp Ltd | ポリゴンデータのソート方法及びこれを用いたゲーム装置 |
-
1996
- 1996-05-13 JP JP8117815A patent/JPH09305791A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63131270A (ja) * | 1986-11-21 | 1988-06-03 | Dainippon Printing Co Ltd | 三次元文字組版装置 |
JPS6464067A (en) * | 1987-05-13 | 1989-03-09 | Mitsubishi Precision Co Ltd | Priority order deciding method and its circuit for generation of simulated visual range |
JPH0285978A (ja) * | 1988-09-21 | 1990-03-27 | Dainippon Printing Co Ltd | 立体の隠面処理方法 |
JPH0348983A (ja) * | 1989-07-17 | 1991-03-01 | Nec Corp | 隠線消去処理装置 |
JPH0371277A (ja) * | 1989-08-10 | 1991-03-27 | Daikin Ind Ltd | サーフェス・モデル描画方法およびその装置 |
JPH07114654A (ja) * | 1993-10-15 | 1995-05-02 | Sony Corp | 描画データ作成装置及び描画データ作成方法 |
JPH07296186A (ja) * | 1994-03-01 | 1995-11-10 | Sega Enterp Ltd | ポリゴンデータのソート方法及びこれを用いたゲーム装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002047033A1 (en) * | 2000-12-05 | 2002-06-13 | Matsushita Electric Industrial Co., Ltd. | 3-d character data generating device and a 3-d graphics data generating device |
JP2002216149A (ja) * | 2001-01-24 | 2002-08-02 | Hayashi Telempu Co Ltd | 模様作成方法と模様作成システム、および動画作成方法と動画作成システム |
WO2003034343A1 (fr) * | 2001-10-15 | 2003-04-24 | Fujitsu Limited | Tri hierarchique d'objets lies dans un espace tridimensionnel virtuel |
US7142207B2 (en) | 2001-10-15 | 2006-11-28 | Fujitsu Limited | Hierarchical sorting of linked objects in virtual three-dimensional space |
CN100358015C (zh) * | 2003-01-08 | 2007-12-26 | 富士胶片株式会社 | 信号输出方法和光信息记录媒体 |
US7218321B2 (en) | 2003-03-31 | 2007-05-15 | Fujitsu Limited | Hidden line processing method for erasing hidden lines in projecting a three-dimensional model consisting of a plurality of polygons onto a two-dimensional plane |
JP2007094758A (ja) * | 2005-09-29 | 2007-04-12 | Canon Inc | 画像処理装置および画像処理装置の制御方法および記憶媒体 |
JP4724517B2 (ja) * | 2005-09-29 | 2011-07-13 | キヤノン株式会社 | 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340928B (zh) | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 | |
Zhang et al. | Visibility culling using hierarchical occlusion maps | |
JP3759971B2 (ja) | 3次元像を陰影付けする方法 | |
US5442733A (en) | Method and apparatus for generating realistic images using a discrete representation | |
JP4499292B2 (ja) | 3次元コンピュータ生成画像のシェーディング | |
JP3390463B2 (ja) | 3次元グラフィックスにおけるシャドウ・テスト方法 | |
US20220383583A1 (en) | Hardware acceleration for ray tracing primitives that share vertices | |
EP1127337B1 (en) | Shading 3-dimensional computer generated images | |
KR100889602B1 (ko) | 광선 추적을 위한 광선-삼각형 충돌 처리 방법 및 장치 | |
US7126600B1 (en) | Method and apparatus for high speed block mode triangle rendering | |
JPH0757117A (ja) | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム | |
Dorward | A survey of object-space hidden surface removal | |
JP2009525526A (ja) | ビーム放出によって仮想画像を合成するための方法 | |
JP2001501349A (ja) | 3dグラフィックスにおける属性補間のための方法及び装置 | |
JPH05266216A (ja) | ボリュームレンダリングを行う方法及び装置 | |
CN103649856A (zh) | 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品 | |
JPH0727579B2 (ja) | グラフィクス処理装置及び方法並びにピクセル・メモリ装置 | |
GB2406252A (en) | Generation of texture maps for use in 3D computer graphics | |
JP2907105B2 (ja) | 3次元表示装置 | |
Vyatkin et al. | Voxel Volumes volume-oriented visualization system | |
US20130060488A1 (en) | Image processing system and method for ndt/ndi testing devices | |
US11423618B2 (en) | Image generation system and method | |
JPH09305791A (ja) | 立体画像生成装置および立体画像生成方法 | |
KR100300969B1 (ko) | 레이트레이싱에있어서교차테스트영역추출방법및이에적합한렌더링장치 | |
Gervautz | Three improvements of the ray tracing algorithm for CSG trees |