JPH028965A - 面画作成装置 - Google Patents

面画作成装置

Info

Publication number
JPH028965A
JPH028965A JP63157917A JP15791788A JPH028965A JP H028965 A JPH028965 A JP H028965A JP 63157917 A JP63157917 A JP 63157917A JP 15791788 A JP15791788 A JP 15791788A JP H028965 A JPH028965 A JP H028965A
Authority
JP
Japan
Prior art keywords
calculation means
quadratic
shape
intersection
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63157917A
Other languages
English (en)
Inventor
Yukinori Kakazu
嘉数 侑昇
Masao Yamaguchi
正雄 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUWAZONO GAKUEN
Original Assignee
KUWAZONO GAKUEN
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUWAZONO GAKUEN filed Critical KUWAZONO GAKUEN
Priority to JP63157917A priority Critical patent/JPH028965A/ja
Publication of JPH028965A publication Critical patent/JPH028965A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 【産業上の利用分野】
本発明は、3次元空間内の物体形状をグラフインクデイ
スプレィ等に表示するため、し)わゆるC3O(Con
structive   5olid  Geomet
ry)  ゝノ 1ノ ’7  ド・モデルに従って面
画を作成する面画作成装置に関する。
【従来の技術1 3次元空間内の物体形状をグラフインクデイスプレイ上
に表示するため、カラーまたは白黒の濃淡面画を作成す
る作業は、その物体をあらかしめ定められた型式(モデ
ル)で電子計算機内で表現する形状モデリング、その物
体を構成する面群のうちから与えられた視線情報に基づ
いて可視な面だけを取り出す可視面抽出、抽出した可視
な面に対して光源の位置やその面の傾きや反射率や色等
によって濃淡の度合を決める陰影付け(shadrng
)の3つの作業に大別される。 一般に形状モデルは、物体をその稜線のみで表現するワ
イヤ・フレーム・モデル、ワイヤ・フレーム・モデルで
ワイヤの間に各面を張ったサーフエース・モデル、サー
フエース・モデルの面のどちら側に物体内部が存在する
かを明示するソリッド・モデルの3つに分類される。こ
のうち、ワイヤ・フレーム・モデルは簡単であるが、可
視面抽出、陰影付けには不向きである。ソリッド・モデ
ルには、サーフエース・モデルで面を張る際にどちら側
に物体が存在するかを定義するB−Reps (Bou
ndary Representation )ソリッ
ドモデルと、中味の詰まった基本形状をいくつか定め、
その組み合わせ・結合で物体を定義するC8Gソリツド
・モデルとがある。可視面抽出、陰影付けに関してはサ
ーフエース・モデルで十分であるが、体積1重量1重心
等の計算においてはソリッドモデルが仔利である。C8
Gソリツド・モデルは形状定義ではB−Repsソリン
ド・モデルより容易であるが、既に形状の面、稜線等が
求められているB−Repsソリンド・モデルの方が可
視面抽出、陰影付けに関しては有利である。 可視面抽出は、物体が定義されている実際の3次元空間
、すなわち物体空間でこれを行う方法と、スクリーンを
グラフインクデイスプレィの解像度によって定まる表示
の最小単位である画素の有限の集まりとして定めたイメ
ージ空間内でこれを行う方法とに分けられる。物体空間
内で処理する方法は計算精度が良い反面、可視・不可視
にかわらず処理する物体の個数の増加に比例して計算量
が大きくなる欠点がある。これに対して、イメージ空間
内で処理する方法は、隣り合う画素間の相関関係を利用
することにより計算量の増加は物体空間内で処理する方
法より小さ(なるので、現在はイメージ空間で処理する
方法が主に使用されている。 イメージ空間での代表的なアルゴリズムには、スキャン
ライン・アルゴリズム、Zバッファ・アルゴリズム、レ
イ・トレーシング・アルゴリズムがある。スキャンライ
ン・アルゴリズムは、グラフインクデイスプレィのスク
リーンを上方から下方へ走査する水平なスキャンライン
(走査線)に対してそれを含む水平な平面であるスキャ
ンライン平面と、物体を構成する各面との交線を求め、
そのうちから可視なものだけを取り出す方法である。Z
バッファ・アルゴリズムは、各画素毎にZバッファと呼
ばれるメモリを用意し、物体を構成する各面についてそ
の面の各点に対応するスクリーン上の画素を求め、Zバ
ッファに面の番号1点の位11画素からの距離等を登録
し、既に登録済みの場合はZバンファ内の距離を参照し
、もしその値が新たに求めた点の距離より大きければZ
バッファを更新する方法である。レイ・トレーソング 
アルゴリズムは、各画素についてそこを通過して視点に
届く光線を仮定し、視点からそれを逆向きに追跡するこ
とにより光源からの光線が反射する物体上の位置を求め
る方法である。スキャンライン・アルゴリズムは、面画
を有限個の画素で表現することによって生ずる輪郭線の
ギザギザ等の不自然さを除去するアンタイ・エリアシン
グが可能であり、透明表示等の高品質な面画が得られる
が、連室は多面体のみを対象としている。Zバッファ・
アルゴリズムは全ての形状を扱えるが、アンタイ・エリ
アシングや透明表示等は困難である。レイ・トレーシン
グ・アルゴリズムはアンクイ・エリアシング、透明表示
、さらには屈折、多重反射等が行え、高品質な面画が得
られるが、スキャンライン・アルゴリズム及びZバッフ
ァ・アルゴリズムに比べて計算量が大きくなる。 陰影付けは、可視面抽出によって得られる物体の可視な
面、線分または点について、明暗法、影付け5反射、屈
折2透明感、材質等を考慮して各画素のカラーまたは白
黒の濃淡の度合いを求める処理である。 また、視線の与え方には平行投影と透視投影がある。平
行投影はスクリーン上の各画素に対してスクリーンに垂
直な直線を発生し、これを視線ベクトルとする方法であ
り、遠近感を必要としない機械部品等の表示に用いられ
る。透視投影は、3次元空間内に視点を定め、これとス
クリーン上の各画素を結んで視線ベクトルを発生させる
方法であり、遠近感を必要とする建物や景観等の表示に
用いられる。同様に光線の与え方も、大陽光線のような
−様な光線を与える方法と、光源を定めそこから放射状
に光線を発生させる方法とがある。 C3Gソリツド・モデルによる面画作成については、可
視面抽出をいかに行うかが主な課題であり、従来衣のよ
うな各種の手段が提案されている。 (])C3Gソリッド・モデルからB−Repsソリン
ド・モデルに変換し、さらにその境界面を多面体に近似
してスキャンライン・アルゴリズム、Zバッファ・アル
ゴリズム、レイ・トレーシング・アルゴリズムを適用す
るもの。 (2)C3Gソリツド・モデルから、大小の立方体の集
合体として形状を構成するOct −treeモデルへ
の近似を行い、レイ・トレーシング・アルゴリズムを通
用するもの。 また、従来の面画作成装置は、C3Gソリンド・モデル
及びB−Repsソリッド・モデルを問わず多面体に対
する処理を前提としたものであるため、ホスト計算機に
おいてソリッド・モデルから多面体への近似を行う処理
を必要としている。 【発明が解決しようとする課題】 しかしながら、これら従来の面画作成装置では、多面体
近位あるいは立方体近似を行うため表示する処理自体は
高速であるが、輪郭線及び基本形状同士が交わる線には
直線的なガタッキが生ずる。 近似の度合いを高めてやれば、本来の形状に近くなるが
、計算量が象、激に増加し、処理の高速性が損なわれる
。特に、上記(1)のものでは、C8Gソリツド・モデ
ルの形状は基本形状を葉とし、集合演算によって順次葉
を結合していく木構造とじて表現されるが、この木構造
に従って低位の技である基本形状または集合演算の途中
結果から集合演算子に合わせて境界線を評価することに
よりB−Repsソリッド・モデルに変換していくため
、境界線を評価する段階で高次の代数方程式を解く必要
があり、計X誤差が生じやすく、さらに曲面から多面体
への近似を行うため、面画に不整合な箇所が出やすい。 本発明は、このような従来の問題点に濫み、ホスト計算
機内でC8Gソリツド・モデルに従い表現されている境
界面が全て2次曲面(例えば平面球面1円錐面、放物面
、双曲面等)である3次元形状の形状データに直接的に
レイ・トレーシング・アルゴリズムを適用することによ
って、多面体あるいは立方体への近似を伴うことなく、
また高次の代数方程式を使用しなくとも高品質の面画を
作成でき、しかも処理の高速化も図れる斬新な面画作成
装置を提供することを目的とする。
【課題を解決するための手段】
このような目的を達成するため、第1図に示すように本
発明の面画作成装置lは基本的には2次曲面分解手段2
と交点計算手段3と集合演算手段4と輝度計算手段5と
で構成される。対象とする3次元形状は、ホスト計算機
8内においてC3Gソリツド・モデルとして境界面が全
て2次曲面からなる形状データとして表現される。2次
曲面分解手段2はその形状データを入力し、これを2次
曲面基本形状を基本形状とする集合演算に定義し直す。 交点計算手段3は、表示しようするスクリーン上の各画
素について、与えられた視点から定まる視線ベクトルと
上記各2次曲面基本形状との交差領域を求める。集合演
算手段4は、その求められた2次曲面基本形状毎の交差
領域間の集合演算を行い、上記3次元形状の境界面上の
点である可視点を求める。輝度計算手段5は、各画素毎
に求まる可視点についてそれ壱含む基本形状の境界面の
傾き及び表面性状(例えば色1反射率等)や光源からの
位置からその画素での白黒あるいはカラーの濃淡の度合
いを求める。そして、この各画素毎の濃淡の度合いはホ
スト計算機8へまたは直接グラフインクデイスプレィ9
へ出力され、境界面が全て2次曲面である3次元形状の
面画として表示される。 交点計算手段3と集合演算手段4との間、及び該集合演
算手段4と輝度計算手段5との間にそれぞれバッファ(
メモリ)6.7を設け、パイプライン並列処理すれば、
処理の高速化及び各手段の負荷分散を行うことができる
。 さらに、交点計算手段3と、該交点計算手段3と集合演
算手段4との間に設けられるバッファの組を複数おきに
互いに異なる画素について並列に動作させれば、より効
果的である。
【作  用】
本発明のアルゴリズムについて第2図ないし第5図を参
照して説明する。 今、第2図に示すような3次元形状45を対象とした場
合、それは基本形状(直方体)46から基本形状47(
円筒)の集合演算の差として定義される。 視点48とスクリーン49上の画素50と光g51が与
えられた場合、視点48と画素50を結んで得られる視
線ベクトル52と3次元形状45との最初に交わる交点
である可視点53の算出方法は次の通りである。 (1J  W木彫状46及び47を第3図に示すように
それぞれ2次曲面基本形状55〜57及び58.59か
らの集合演算に分解し、3次元形状45を2次曲面基本
形状55〜59と集合演算子60〜63による集合演算
に定義し直す。 (2)視線ベクトル52と2次曲面基本形状55〜59
との交差領域31′〜Ss’を求める。一般に2次曲面
と直線との交点は高々2個であり、交差領域を第4図の
ように端点の組(P1’ 、Q+’ )〜(P5’ 、
Q、’ )で表す。P、′〜p 、IQ、′〜Qs’ 
は共に正負の無限大(それぞれ十の −のを表す)を許
すものとする。全く交わらない場合は(+ω5+■)で
表現する。 (3)第4図に示すように交差領域3 、 I〜S、’
に対して3次元形状45を定義する場合と同じ集合演算
子60〜63を施すと、3次元形状45と視線ベクトル
62の交差領域S、を得ることができる。 そして端点Q4が可視点53(第2図)となる。 次に、以上の手順で算出される可視点53に対して陰影
付けを行い画素50の濃淡の度合いを求める。 陰影付けは、第5図に示すように完全拡散反射を仮定し
、Rall1bertの正弦法則を用いて濃淡の度合い
としての輝度を求める。この場合、輝度
【は■= I 
a  ・k6 ・cos iで求まる。ここで16は入
射光54の強度、k4は反射係数、iは視線ベクトル5
2と可視点53での法線ベクトル65のなす角度である
。 例えば、第1.第2.第3の3つの交点計算手段3にそ
れぞれ異なる画素を割当て(従って視線ベクトルが異な
ってくる)、全ての2次曲面基本形状について交差領域
を求め、その結果を対応する3つのバッファに貯える。 集合演算手段4では処理する画素、つまり3つのバッフ
ァを順次選択する。集合演算手段4が第1のバッファを
選択している間も、第2.第3の交点計算手段は交差領
域を求めることが可能となり、異なる画素について並列
動作が可能となる。なお、交点計算手段3の個数は集合
演算手段4との速度の比によって決定され、集合演算手
段4が交点計算手段3より3倍の速度を持つならば、3
つの交点計算手段3の処理能力と集合演算手段4の処理
能力が同等となる。勿論、2つでもかまわない。また、
例えば3つの交点計算手段、3つのバッファ及び集合演
算手段を1つの組として、これをいくつか設は互いに別
の画素の領域を処理することも可能となる。 【実 施 例】 以下、本発明の一実施例を図0面に基づき詳細に説明す
る。 第6図において、面画作成装置1は1つのマイクロプロ
センサで、この図では第1図にも示した交点計算手段3
.集合演算手段4.輝度計算手段5は該プロセンサに組
み込まれ、2次曲面分解手段2はホスト計算機8内で構
成するようになっているが、これもプロセッサの中に組
み込むことができる。また、面画作成装置1には法線ベ
クトル・テーブル11.オペレーション・コード・チー
フル12が確保され、さらに2次曲面基本形状チーフル
13.領域入カバソファ14.領域メモリA系15領域
メモリB系16.メモリ交換器17.輝度バンファ18
が組み込まれている。 ホスト計算機8は、図示しない
キーボード、ラインプリンタ等の入出力装置を備えた汎
用の電子計算機で、外部メモリ(図示せず)またはディ
スク装置10に書き込まれている制御プログラムに従い
同ディスク装置10に書き込まれているC3Gデータ・
に−スを参照して第7図に示す手順に従ってデータ処理
を行う。 本実施例では機械部品等の面画作成を目的としており、
視線の与え方としては平行投影、光源としては平行光線
を採用している。また、第8図に示すように内部処理で
はスクリーン49はYZ平面上の矩形としている。 従って、先ず第7図のステップ701においてホスト計
算機8に、光線の入射角度と、スクリーン49の矩形の
左下隅及び右上隅の座標値と、視線方向と、表示しよう
とする物体の形状(対象とする3次元形状)をC3Gソ
リツド・モデルで表現した形状データの名称と、その物
体の存在範囲を示すためそれが完全に含まれる直方体を
定義する3点の座標値とを人力する。 次にステップ702でホスト計算機8は、入力された形
状データの名称に従いディスク装置10内のC5Gデー
タ・ベースより該当する形状データを読み込む。形状デ
ータは、当該3次元形状の構成する基本形状の形状タイ
プ(例えば円筒、直方体等)1位置、サイズを示す幾何
情報、これらの結合関係を示す集合演算式(後述する)
からなる。 読み込まれた形状データは2次曲面分解手段2に与えら
れ、ステップ70202次曲面分解処理へ進む。 第9図はこの2次曲面分解処理の流れを示すフロチャー
トである。この図には示していないが、2次曲面分解手
段2では先ず第8図において視線方向がYZ平面の垂直
になるように回転移動を行い、次に物体45がX軸の負
領域に存在するように平行移動を行う。さらに、物体4
5の存在領域をこれらの座標変換に合わせて計算し直し
、X、 YZの各座標について例えば−32768から
+32767の間に収まるようにスケーリングを行う。 これは座標値を仮数部16ビツト、指数部8ビツトの2
進正規化浮動小数点表示で表現するためであり、また無
限遠に物体が存在することを考慮する必要がなく、さら
に自由にピント幅をとれるからである。 しかし、これは特に本発明を限定するものではない。こ
のようにスケーリングを施したならば、X。 Y、  Zの各座標とも一32768以下、+ 327
67以上では物体は存在しないので、以後+32767
で+■、−32768で一■を数値的にそれぞれ表現す
る。 次に、ステップ901で各基本形状を構成する2次曲面
基本形状から集合演算によって表示可能かどうかを判定
する。この方法は、予め制御プログラムまたはディスク
装置10に登録されている形状タイプと、それの基本形
状を構成する2次曲面基本形状の列と、その結合を表現
する集合演算式の組からなるテーブルを参照し、このテ
ーブル内にその基本形状の形状タイプが登録されている
かどうかを判定することによってなされる。登録されて
いない場合(ステップ902でYES)はその時点で処
理を終了し、登録されている場合はC3Gソリツド・モ
デルの幾何情報から2次曲面基本形状の幾何情報を作成
し、ステ・7プ903で2次曲面基本形状テーブル13
にその登録されている集合演算式を代入する。この時、
2次曲面基本形状にOから始まる番号を付加し、以後こ
の番号によって識別する。 このように形状データ、2次曲面基本形状を基本形状と
するC5Gソリツド・モデルで表現し直した後、オペレ
ーション・コード・テーブル12を作成スる。オペレー
ション・コード・テーブル12は後述する集合演算手段
4内で集合演算を逐次実行するために集合演算式から作
成する。 集合演算式は4つの演算子、つまり和(和集合をとる二
U)、積(共通集合をとる:n)、差(差集合をとる:
\)1反転(補集合をとるニー)と左括弧及び右括弧で
表現され、括弧内の演算が外側の演算より先に行われ、
一番外側及び同−括弧内においては左から右の順に演算
が行われる。 今、次の(1)式が与えられたとすると、これは上記の
演算順位に従うと(2)式と同等である。なお、ここで
○内の数字は演算子番号を示す。 B=  (AIUAりn(AffUA4)\(A5n 
(ALU A7))■  ■  ■  ■■■  ■ ・・・・・・・・・・・・(1) ・・・・・・・・・・・・(2) そこで、上記集合演算式への代入処理が全ての基本形状
について行われたことをステップ904で6i LU 
した後、次にはステップ905で演算子の深さを算出す
る。すなわち、集合演算式内の各演算子毎に式を左から
見てその集合演算子までに現れる左括弧の個数と右括弧
の個数(非負の整数となる)を深さと定め、これをステ
ップ906においてYESになるまで、すなわち全ての
演算子について求める。本実施例では機微部品を対象と
しており、通常機械部品において深さが5以上の形状は
定義されないので、ステップ907でそれが5以上であ
るか否か判定する。5以上でない場合にはステップ90
8に進み、上記のように求めた深さに基づき逆ボーラン
ド記法に従い集合演算式を2次曲面基本形状同士または
2次曲面基本形状と集合演算の途中結果または集合演算
の途中結果同士の2項演算の逐次処理として記述する。 但し反転演算は単項演算となる。 上記(1)式は逆ボーランド記法で表記すると次の(3
)式となる。 ここで、O付き数字の下の数値は各演算子における左括
弧と右括弧の個数の差(レベル)を表す。 (3)式を左から順に評価していき、現在処理している
演算子のレベルが直前に処理した演算子のレベルより高
い場合、またはレベルが同じで直前に行われた結果を利
用しない場合、その直前に行われた結果をスタックに格
納し、必要になったスタックから取り出し、集合演算を
実行する。 上記(3)式は次のように処理される。 演  算     スタック0 (1)  AIUA2      −(空)■ スタック1 (空) (2)    八zUA4            A
IUA2■ (3)(スタックO) n (REG)■ (51A6UAマ        (AI UAz)n
 (A3UAm)     As■ (6)(スタック1)n(REG)  (AIUAりn
(AIUA、)■ (7)(スタック0)\(RUG) ■ ここで、演算結果はレジスタREGで保持し、しかも新
たな演算を行わない限りその値を保持するものとし、(
REG)でそのイ直、(スタック1)または(スタック
0)でスタックlまたはOが保持している値を表すもの
とする。■、■、■の演算を実行する際に、レジスタで
保持している演算結果をスタックに積み上げ、■、■、
■の演算を実行する際にはスタックから演算結果を取り
出す。 このように一般にスタックを用いるとスタックへのデー
タの格納、スタックからのデータの取り出しといった処
理が必要となり、処理速度が遅くなる。そこで本実施例
では、上記のように深さが5以上の形状は定義しないた
め、大量のメモリを必要とするスタックの代わりに集合
演算の途中結果を保存する領域メモリを6個用意し、そ
れをそれぞれ0から5までの深さに対応させ、この領域
メモリ間の演算及び領域人力バノファ14との演算とし
て集合演算を実現し、処理の高速化を図っている。 すなわち、上記頭域人カバッファ14と坪度計算手段5
との間に、第15図に示すように上記領域メモリA系1
5. 領域メモリB系16.メモリ系交換器17のほか
領域メモリ選択器38及び第1〜第5領域メモリ39〜
43を含む領域メモリ部44が設けられている。そして
、集合演算を領域メモリA系15と領域メモリB系16
と第1〜第5領域メモリ39〜43との間、または領域
人力ハノファ14と領域メモリA系15. ?J域メモ
リB系16.第1〜第5領域メモリ39〜43との間の
逐次処理として実現している。集合演算子は、第9回の
ステップ909 、910において第13図に示すよう
な8個のオペレーション・コードで記述する。第13図
においてΦは空集合、0は元の形状を構成する領域(演
算側領域)、Sは追加する形状を構成する領域(被演算
側領域)、Pは領域バッファ14に貯えられている2次
曲面恭本形状と視線ベクトルとの交差領域を表す。この
ように集合演算はオペレーション・コードと演算側領域
メモリの深さと被演算側領域メモリの深さの組として記
述され、演算結果は演算側領域メモJに入る。本実施例
では上記のように深さが5までの領域メモリしか用意し
ていないので、深さが5以上の集合演算式にはそのまま
では対応できない。この場合には第9図のステップ91
1において事前に集合演算の分配則を用いて集合演算式
を展開しておく。 次にステップ912において、2次曲面基本形状の幾何
情報からこれを定義する2次曲面式の10個の係数を求
める。2次曲面式は次の(4)弐で与えられる。 f (x、y、z)=A x”+B y”+Cz”+D
 x y+E y z+Fzx+Gx+Hy−1−1z
+J =0           ・・・・・・・・・・・・
(4)ここで、A−Jは係数で、これら10個の係数に
よって曲面が定まる。 例えば、半径がR2軸方向がZ軸の円筒面の場合には次
の(5)式で与えられる。 f (x、y、z) = x 2+ y 2− R”=
 0    ・−・−・(5)ここで、A=B=I  
J=−R”、C−・・・・・・−1=0 また、半径R1中心P (= (xo、yo、zo))
の球面の場合は次の(6)式で与えられる。 fcx、y、z)=(x−xo)”+(y−yo)”+
(z−zo)”R”=x”+y2+z”  2 XoX
  2 )’o)’22oZ +Xa” +y6”  
R”−〇           ・・・・・・・・・・
・・(61A=B=c= 1.G=  2 XO、H=
  2 y。 1=−220、J=xo” +y6” −R”D=E=
F=0 頂角α(0〈α〈π/2)、軸方向が2軸の円錐面の場
合には次の(7)式で与えられる。 f (x、y、z)−x”+ y”−tan”αz 2
・= ・(7)A=B=1.C=−tan2a、D==
=−=J=Oxy軸に平行でy軸から距ICの平面は次
の(8)式で与えられる。 r (x、y、z) −z−c = 0      −
−−・・・(8)1=1.J=−c、A−−−−−−−
=H=Oxy軸に平行でy軸からの距離がそれぞれCI
+02の平行な対向面(2個の平行な平面からなる曲面
)は次の(9)式で与えられる。 f(x、y、z)=(z−CI)×(Z−C2)”’Z
”  (C+ + C2)Z + C+CzC=1. 
 I =   (C++Cz)+J=C+Cz  。 A=B=D−・・・・・・= H= 0回転、平行移動
を2次曲面に施してもA−Jの10個の係数が変化する
だけで、上の例に示した以外の一般の傾いた円柱面や円
錐面等の曲面も2次曲面として定義できる。 次にステップ913 、914に進み、上記のように求
めた2次曲面式からその2次曲面上の任意の点を与えた
ときにその座標から法線ベクトルを算出する1次式の係
数を次のようにして求める。 曲面上に一点(x、y、z)が与えられたとき、その点
での曲面に垂直なベクトルである法線ベクトルN−(N
X、Ny、N、)は曲面がf (x、y、z)−〇で定
義される2次曲面の場合、次のようになる。 N、=ar =2Ax+Dy+Fz+GθX θf N、=T「=Dx+2By+Ez+H θ f N、=7]−=Fx+Ey+2Cz+1−   θf 
  θf   af しこで−ax  ’By  ’azはそれぞれf (x
、y、z)のx、  y及びZによる導関数を表す。A
−1は2次画面式f (x、y、z) = Oの一般式
である上記(4)式のJを除く9個の係数である。 従って、法線ベクトルN= (N、、N、、N、)の成
分N、、N、、N、は座標値x、  y、  zを変数
とする1次式でそれぞれ表現され、その1次式を定める
係数はA−1から求まる。 以上のようにして求まったオペレーション・コド、2次
曲面上記の係数、法線ベクトルを与える1次式の係数は
、それぞれまとめて面画作成装置1に光線の入射角とと
もに送られ、オペレージコン・コード・テーブル12,
2次曲面基本形状テーフ゛ル13.法線ベクトル・テー
フ゛ル11にセントされる。 この後、面画作成装置Iは図示しないメモリに書き込ま
れている制御プログラムに従い次のデータ処理を行う。 先ず、処理する画素50の位置から前記視線ベクトル5
2を発生しく第7図においてステップ704)、これを
交点計算手段3に与え、交点計算を行う(第7図ステッ
プ705)。第1O図は交点計算手段3の処理の流れを
示すフローチャート、第14図はその具体的な構成のブ
ロック図である。 第14図において、交点計算手段3は制御部と演算部と
からなり、制御部はマイクロ・プログラム・シーケンサ
19.プログラム・メモリ20.パイプライン・レジス
タ21. MIJX22で、また演算部はロケーション
・レジスタ23.データRAM24.ALU251乗算
器26.平方根テーブル27.逆数テーブル28で構成
される。29は制御線、30はデータ・バスである。 2次曲面基本テーブル13のデータは仮数部と指数部に
分けられてデータRAM23にセントされる。 交点計算手段3はマイクロ・プログラム・シーケンサI
9で制御され、2次曲面基本テーブルI3より順次2次
曲面式の10個の係数を読み込み、画素50からの距離
(本実施例では平行投影を用いているので、X座標での
変位となる)を変数とする視線ベクトル52を与える1
次式を、2次曲面基本形状を定義する不等式に代入して
、画素50からの距離Xを変数とする2次不等式Ax”
+8x+C≦0の係数A、B、Cを求める(第10図ス
テンプ101)。 第1O図のステップ102に示す通りA=0とA≠0の
場合に分けて2次不等式Ax”+8x+C≦0の解(ス
テップ103)を求め、その解を両端とする交差領域を
求める(ステップ105)。交差領域がない場合は領域
を(+の、+ω)で表現する(ステップ107)。A<
0の場合、領域が2個の解をXXz(X1≦xz)とす
ると、(−ω1x1)と(x 2+ + co)の2個
の領域に分かれるが、(XZ、X+)と端点の大小関係
を逆転した形で1個の領域で表現する(ステップ10B
)、後述する集合演算手段4では、この2個の端点の大
小関係を判定し、逆転している場合とそうでない場合と
に分けて処理する。除算及び平方根を求めるステップ1
05では、ROMによる逆数テーブル28.平方根テー
ブル27をそれぞれ用いたテーブル読み出しによって高
速処理を図っている。 以上の手順によって求められた領域を表す端点の座標値
について、それぞれ2次曲面基本形状の番号を付加した
交点セントの2個の組みとして前記領域人力バッファ1
4に送られる。領域人力バッファ14は、交点計算手段
3と集合演算手段4をパイプライン並列とするための緩
衝用のFIFO式のバッファである。この領域入力バッ
ファ14が一杯になったとき、制御信号が交点計算手段
3に送られ、交点計算手段3は処理を中断し空きができ
るまで待つ。 集合演算手段4は、オペレーション・コード・テーブル
12にセットされたオペレーション・コードに従い、図
示しないメモリに書き込まれている集合演算用プログラ
ムにより集合演算を行う(第7図ステップ706 、7
07)、第11図はその処理の流れを示すフローチャー
ト、第14図はその具体的な構成のブロック図である。 第11図(a)、(b)は、各オペレーション・コード
がステップ111〜117において順次判定され、同図
(c)〜(o)の対応する演算サブルーチンIlc 、
 lid 、 llf 。 11h 、 111. llk 、 l1m 、 Ji
oによって各演算処理が行われる流れを示している。そ
の処理の詳細は各フローチャートにゆすり、ここではハ
ードウェア構成に基づく主な動作について説明する。 集合演算手段4は領域レジスタ(REG)34.2領域
並列比較器(COMP)35.マイクロ・プログラム・
シーケンサ(MPS)36及び前記領域メモリ部44と
で構成され、マイクロ・プログラム・シーケンサ35に
よって領域レジスタ34.2領域並列比較2:i3s、
 HB域メモリ部(RGM)44が制御される。第16
図は集合演算手段4の動作の概要を示したもので、2領
域のロード、条件コードの生成、条件コードによるセー
ブ領域の決定、指定された領域のセーブの順次繰り返し
を行い、最後に結果領域の受は渡しを行う。集合演算結
果はいくつかの2個の交点セットが表す領域の集まりと
して表現され、集合演算はこの領域同士の演算の繰り返
しとして行われる。 ここでiJF算を行う2個の領域を(F、R)、(F’
R’)で表現する。領域レジスタ34は第15図及び第
17図に示すように第1ないし第8の8個のレジスタ、
つまり4個の交点セントをそれぞれ格納する第1ないし
第4の4個のレジスタと、積演算及び差演算の処理を行
うため前端点を後端点、後端点を前端点として出力する
ための第5及び第6の2個のレジスタと、反転演算の処
理を行うための読み出し専用の−■及び+ωを格納する
第7及び第8の2個のレジスタとからなる。 人出力は第15図に示すようにF−バス3IとR−バス
32の2個のパスラインを通じて行い、前端点はF−パ
ス3L後端点はR−バス32を通してそれぞれ人出力さ
れる。2領域差列比較器35は4個の端点の位置関係を
判定するもので、それと領域レジスタ34との間には専
用パスラインであるコンパレータ・バス33が設けられ
、この領域レジスタ34にデータが格納されると同時に
次のような判定が行われる。 すなわち、(1)F’ >F、(2]R’ >R,(3
)R>F’(aF=F’ 、(6)R’ =F、(7)
R’ =R,(81R=F’の8個の判定を並列に行い
、(1)または(1)と(5)の論理和、(2)または
(2)と(6)の論理和、(3)または(3)と(7)
の論理和、(4)または(4)と(8)の論理和から1
6個の条件コードを作成し、演算結果である領域の決定
を行う。この場合、領域メモリ部44は、集合演算中は
作業用バッファとして、演算終了時にはその結果を格納
するメモリとして機能する。領域メモリ部44には前述
のように深さOに対応する領域メモリA系及びB系15
.16と、深さ1〜5に対応する第1〜第5の5個の領
域メモリ39〜43があり、演算結果は領域メモリA系
及びB系15.16に格納され、輝度計算手段5に渡さ
れる。領域メモリA系。 B系15.16及び第1〜第5領域メモリ39〜43は
同一の構造で、全体としてリング・バッファ構造となっ
ている。それぞれ読み出し専用、書き込み専用のアドレ
ス・カウンタと領域カウンタとを備え、読み出しを行う
毎にアドレス・カウンタのインクリメントと領域カウン
タのデクリメント、及び書き込みを行う毎にアドレス・
カウンタのインクリメントと領域カウンタのインクリメ
ントを自動的に行う。メモリ系交換器17は、集合演算
手段4と輝度計算手段5をパイプライン並列とするため
のものであり、クロスバ・スインチ構造になっており、
領域メモリA系、B系15.16の一方を集合演算手段
4、他方を輝度計算手段5に割り当て、バッファとして
機能させる。 上記のようにして集合演算後、全ての画素について各画
素毎に輝度計算手段5により輝度の計算を行う(第7図
ステップ708 、709 )。輝度計算手段5は、図
示しない制御プログラムに従い第12図のフローチャー
トに示すようなデータ処理を行う。そのプログラムは交
点計算手段3の制御プログラムを書き換えるだけでよく
、第14図に示した交点計算手段3をそのまま使用(併
用)できる。 法線ヘクトル・テーブル11のデータはデータRAM2
3に仮数部と指数部との分けて格納される。 輝度計算手段5は、領域メモリA系15またはB系16
で得られる交差領域の画素50に最も近い交点セントの
座標値及び2次曲面基本形状番号を読み込み(第12図
ステップ30)、これらから法線ヘクトル・テーブル1
1を参照しく同図ステップ303)、Rambertの
法則に従い完全拡散反射モデルを仮定しくステップ30
4)、輝度を算出しくステップ305)第6図に示した
輝度バッファ18に書き込む。そして、そのデータは外
部のグラフインク・デイスプレィ9へ出力される。輝度
バッファ18に書き込む代わりにホスト計算機8に出力
することも可能である。
【発明の効果】
以上詳述したところから明らかな通り本発明の面画作成
装置によれば、C3Gソリツド・モデルに従い表現され
ている境界面が全て2次曲面である3次元形状の形状デ
ータに対しレイ・トレーシンク・アルゴリズムを適用す
ることによって、多面体あるいは立方体への近似を伴う
ことな(、従って形状データが表している本来の姿を損
なうことなく、しかも高次の代数方程式を使用しなくと
も高品質の面画を作成できる。 また、処理のパイプライン並列化を実現する専用ハード
ウェア構成とすることにより、処理の高速化を図ること
ができ、扱う形状の境界面が主に2次曲面である通常の
CADシステムにおいて、設計結果の評価に十分な写実
性と処理速度を備えた面画の提供が可能になるなど、幅
広い用途に応用できる。
【図面の簡単な説明】
第1図は本発明の概念構成のブロック図、第2図、第3
図、第4図、第5図はそのアルゴリズムを説明する説明
図である。第6図は本発明の一実施例のブロック図、第
7図はその処理のメインルーチンを示すフローチャート
、第8図は対象とする形状の配置を示した概念図、第9
図は2次曲面分解処理サブルーチンを示すフローチャー
ト、第10図(a)、(b)は交点計算処理処理サブル
ーチンを示すフローチャート、第11図(a)〜(o)
は集合演算処理サブルーチンを示すフローチャート、第
12図は輝度計算処理サブルーチンを示すフローチャー
ト、第13図はオペレーション・コードとその定義を説
明する対照図、第14図は交点計算手段の具体的構成の
ブロック図、第15図は集合演算手段の具体的構成のブ
ロック図、第16図はその処理の流れを説明する概念図
、第17図は集合演算手段の領域レジスタ2領域並列比
較器、マイクロ・プログラム・シーケンサの関連を示し
たブロック図である。 1・・・・・・面画作成装置、2・・・・・・2次曲面
分解手段、3・・・・・・交点計算手段、4・・・・・
・集合演算手段、5・・・・・・輝度計算手段、6.7
・・・・・・バッファ、8・・・・・・ホスト計算機、
9・・・・・・グラフインク・デイスプレィ、[0・・
・・・・ディスク装置、11・・・・・・法線ベクトル
・テブル、12・・・・・・オペレーション・コード・
テーブル、13・・・・・・2次曲面基本形状テーブル
、14・・・・・・領域大カバンファ、15・・・・・
・領域メモリA系、16・・・・・・領域メモリB系、
17・・・・・・メモリ系交換器、18・・・・・・輝
度バッファ、19・・・・・・マイクロ・プログラム・
シーケンサ、20・・・・・・プログラム・メモリ、2
1・・・・・・パイプライン・レジスタ、22・・・・
・・MUX、23・・・・・・ロケジョン・レジスタ、
24・・・・・・データRAM、25・・・・・・AL
U、26・・・・・・乗算器、27・・・・・・平方根
テーブル、28・・・・・・逆数テーブル、29・・・
・・・制御バス、30・・・・・・データ・バス、31
・・・・・・F−バス、32・・・・・・R−バス、3
3・・・・・・コンパレータ・バス、34・・・・・・
領域レジスタ、35・・・・・・2領域差列比較器、3
6・・・・・・マイクロ・プログラム・シーケンサ、3
7・・・・・・コントロール・バス、38・・・・・・
領域メモリ選択器、39〜43・・・・・・第1〜第5
領域メモリ、44・・・・・・領域メモリ部、45・・
・・・・対象とする形状、46・・・・・・基本形状(
直方体)、47・・・・・・基本形状(円柱)、48・
・・・・・視点、49・・・・・・スクリーン、50・
・・・・・画素、51・・・・・・光源、52・・・・
・・視線ベクトル、53・・・・・・可視点、54・・
・・・・入射光、55〜59・・・・・・2次曲面基本
形状、60〜63・・・・・・集合演算子、64・・・
・・・反射・光、65・・・・・・法線ベクトル。 第 図 第2図 第 図 第3図 第 図 第7図 第8図 第9図 第 図 (b) 第1 0図(a) 第 図 (a) 第 図(b) り5 図(d) 第 図(c) 図(e) 第 図Cn 第 図(h) 負5 図(g) 第 1図( 第 図(」) 負5 図(1) 第 図(k) 第 図(m) 第 図(n) 第 2図 第1 3図 第 図(o) 第1 4図 第 5 図 第16図

Claims (1)

  1. 【特許請求の範囲】 1、対象とする3次元形状を、CSGソリッド・モデル
    に従い境界面が全て2次曲面である2次曲面基本形状に
    よる集合演算に定義し直す2次曲面分解手段と、表示し
    ようするスクリーン上の各画素について、与えられた視
    点から定まる視線ベクトルと上記各2次曲面基本形状と
    の交差領域を求める交点計算手段と、これによって求め
    られた2次曲面基本形状毎の交差領域間の集合演算を行
    い、上記3次元形状の境界面上の点である可視点を求め
    る集合演算手段と、その可視点の輝度を求める輝度計算
    手段とを備えてなることを特徴とする面画作成装置。 2、前記2次曲面分解手段は、ホスト計算機内で表現さ
    れた境界面が全て2次曲面である3次元形状の形状デー
    タを入力とすることを特徴とする請求項1記載の面画作
    成装置。 3、前記交点計算手段と集合演算手段との間、及び該集
    合演算手段と前記輝度計算手段との間にそれぞれバッフ
    ァメモリを設け、パイプライン並列処理することを特徴
    とする請求項1記載の面画作成装置。 4、前記交点計算手段と、該交点計算手段と前記集合演
    算手段との間に設けられるバッファメモリの組を複数お
    きに互いに異なる画素について並列に動作させることを
    特徴とする請求項1記載の面画作成装置。
JP63157917A 1988-06-28 1988-06-28 面画作成装置 Pending JPH028965A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63157917A JPH028965A (ja) 1988-06-28 1988-06-28 面画作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63157917A JPH028965A (ja) 1988-06-28 1988-06-28 面画作成装置

Publications (1)

Publication Number Publication Date
JPH028965A true JPH028965A (ja) 1990-01-12

Family

ID=15660283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63157917A Pending JPH028965A (ja) 1988-06-28 1988-06-28 面画作成装置

Country Status (1)

Country Link
JP (1) JPH028965A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6314287A (ja) * 1986-07-03 1988-01-21 Nec Corp 直線と直方体との交点算出方式
JPS6381585A (ja) * 1986-09-25 1988-04-12 Nec Corp 物体画像合成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6314287A (ja) * 1986-07-03 1988-01-21 Nec Corp 直線と直方体との交点算出方式
JPS6381585A (ja) * 1986-09-25 1988-04-12 Nec Corp 物体画像合成装置

Similar Documents

Publication Publication Date Title
EP0311081B1 (en) Displaying method and apparatus for three-dimensional computer graphics
Crow A more flexible image generation environment
US5379371A (en) Displaying method and apparatus for three-dimensional computer graphics
Hughes Computer graphics: principles and practice
CA2225017C (en) Method and apparatus for rapidly rendering computer generated images of complex structures
US5579454A (en) Three dimensional graphics processing with pre-sorting of surface portions
US6226005B1 (en) Method and system for determining and/or using illumination maps in rendering images
US5003498A (en) Graphic display method
JPS62212785A (ja) グラフイツクス表示装置に使用する電子形状寸法プロセツサ回路
Westermann et al. Real‐time volume deformations
KR20020031179A (ko) 굴절이 있는 이미지를 렌더링하는 방법 및 장치
Driemeyer Rendering with mental ray®
JP2003115055A (ja) 画像生成装置
Fellner Extensible image synthesis
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
US7050053B2 (en) Geometric folding for cone-tree data compression
Levene A framework for non-realistic projections
JPH028965A (ja) 面画作成装置
JPH0816816A (ja) コンピュータグラフィックス表示方法
Sabella et al. Toward fast color-shaded images of CAD/CAM geometry
JP2548742B2 (ja) 3次元シーン表示装置
WO2025006235A2 (en) Method and apparatus for producing renderings from 3d models using generative machine learning
JPH05282428A (ja) 3次元コンピュータグラフィクス用図形データ作成方法
Foley et al. Raster Graphics Extensions to the Graphics Compatibility System (GCS).
Wyvill et al. Ray Tracing in Calgary and Otago