JP3900839B2 - 図形表裏設定装置および図形表裏設定方法 - Google Patents
図形表裏設定装置および図形表裏設定方法 Download PDFInfo
- Publication number
- JP3900839B2 JP3900839B2 JP2001042475A JP2001042475A JP3900839B2 JP 3900839 B2 JP3900839 B2 JP 3900839B2 JP 2001042475 A JP2001042475 A JP 2001042475A JP 2001042475 A JP2001042475 A JP 2001042475A JP 3900839 B2 JP3900839 B2 JP 3900839B2
- Authority
- JP
- Japan
- Prior art keywords
- view
- rectangular parallelepiped
- normal vector
- reference vector
- vector
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、3次元コンピュータグラフィックス描画装置や3次元CADなどの図形描画装置に適用する図形表裏設定装置および図形表裏設定方法に関する。
【0002】
【従来の技術】
3次元コンピュータグラフィックス描画装置や3次元CADなどの図形描画装置において、3次元立体の幾何モデルの表現方法として、ワイヤーフレームモデル、サーフェスモデル、ソリッドモデルの3種類の表現方法が用いられている。これらの表現方法のうち、シェーディング処理(隠線消去、隠面消去)が可能なのは、サーフェスモデルとソリッドモデルの2種類の表現方法である。サーフェスモデルの表現方法は、ソリッドモデルの表現方法とは違って、厚みを表現することはできないが、表示に必要なデータ量が少なくて済み、また、表示のための計算量も少なくて済むという利点がある。したがって、自動車の車体パネルのような薄板物は、厚みを表現できなくとも実用上の問題は発生しないため、サーフェスモデルの表現方法を用いて描画している。
【0003】
サーフェスモデルの表現方法を用いて物体を描画する場合、その物体を構成する面として、平面、円筒面、自由曲面が一般的に用いられる。なお、サーフェスモデルの表現方法は、1つの物体を表現する場合に、その物体を構成する面と面とが離れていてもモデルとしては成立するという特徴を持っている。
【0004】
サーフェスモデルの表現方法を用いて描画した物体にシェーディング処理を施して、その物体を3次元立体として表示できるようにするためには、まず、その物体を構成しているそれぞれの面の表裏がわからなければならない。視点に対するそれぞれの面の表裏の判断は、たとえば、特開平5−67219号公報に開示されているように、3次元図形に対する視方向ベクトルと3次元図形を構成する面の法線ベクトルとがなす角度から行うものがある。そして、それぞれの面についての表裏の設定は、特開平10−172007号公報に開示されているように、基準パッチの表裏を基準として基準パッチ以外のすべてのパッチの表裏を設定するものがある。また、物体を速く描画できるようにするためには、シェーディング処理が高速で行われるのが好ましい。シェーディング処理の高速化は、たとえば、特開平7−320087号公報に開示されているように、無駄な表示判定処理を行わないようにすることで達成される。
【0005】
サーフェスモデルの表現方法を用いて物体を描画する場合、その物体を描画するための面のデータには、必ずその面の表裏を表すためのデータを含んでいる。一般的には、その面の法線ベクトルの方向が表となる。面の法線ベクトルの方向は、面ごとに存在するため、1つの物体を構成する各面の法線ベクトルの方向が必ず揃うとは限らない。
【0006】
たとえば、図7(a)に示してあるような、折れ曲がった板を構成する3つの面のデータ(面の頂点座標や稜線データ)を入力するときに、面の表裏をそろえることを意識していないでその入力を行ってしまうと、データの入力の順序によっては、本来は表と判断されなければならない面が裏と判断されてしまう場合がある。
【0007】
視点から見て表と判断されるべき面が表と判断されれば、面の法線ベクトルの方向が光線方向を向くことになるので、シェーディング処理後は、図7(b)のように3つの面がきれいに表れ、3つの面が立体的に表示されるが、本来は表と判断されるべき面が間違って裏と判断されてしまうと、その面の法線ベクトルの方向は光線方向とは反対の方向を向くことになり、その面には光が当たらなくなる。このため、たとえば、3つの面のうちの真中の面が裏と判断されたときには、シェーディング処理後は、図7(c)のように1つの面が存在していないかのような表示がされ、面の抜けが発生してしまう。
【0008】
実際の物体に対してシェーディング処理を行った結果、上記のような面の抜けが発生してしまうと、たとえば図8に示すように、表示される物体のうち、面の抜けた部分はまだらな模様となって表示されるため、物体は、きれいな3次元立体としては表示されなくなってしまう。
【0009】
シェーディング後の物体がきれいな3次元立体として表示されるようにするため、面の抜けが発生した面の法線ベクトルの方向をオペレータが手作業で反転させたり、コンピュータによって自動的に反転させたりして、間違って裏と判断されてしまった面を、強制的に表と判断させるための作業を行っている。
【0010】
コンピュータによって、面の法線ベクトルの方向を揃える作業は、具体的には、次のような手順で行っている。まず、面を揃えるために基準の面を決定する。基準の面の決定は、人間が任意の面を適当に選択することによって行う。つぎに、選択した基準の面と隣り合う面を探す。隣り合っているかどうかは、面同士の頂点座標の一致、稜線の一致に基づいて図形描画装置が自動的に行う。なお、基準の面と隣り合う面を探すためは、物体を構成している基準の面以外のすべての面に対して、面同士の頂点座標が一致しているか否か、稜線が一致しているか否か、を調べなければならない。このため、隣り合う面を探すために、たとえば自動車の車体パネルを例に取れば、数千の面を対象とすることになり、隣り合う面を探すためにも多くの時間を要する。
【0011】
隣り合う面が見つかると、隣り合う面の向きを基準の面の向きと同じくする。つまり、両面の法線ベクトルの方向を揃える。法線ベクトルの方向を揃える処理が終了した面には、処理済みの印を付けて、基準の面に処理済の面を含める。つまり、処理済の面の集合が基準の面となる。以上のような処理を、物体を構成するすべての面に対して行う。この処理によれば、物体を構成する面がすべて隣接していれば、鋭角的な折れがあったとしても、すべての面の法線ベクトルの方向を揃えることができる。
【0012】
【発明が解決しようとする課題】
しかしながら、上記のような従来の図形描画装置では、ある面を基準として、面同士の頂点座標の一致、稜線の一致に基づいて隣り合う面を見つけるようにしていたため、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じてしまった場合には、法線ベクトルの方向を揃える処理がすべての面に対して実行されず、すべての面の方向を揃えることができなくなってしまうという問題がある。
【0013】
また、上記のような従来の図形描画装置では、隣り合う面を面同士の頂点座標の一致、稜線の一致に基づいて順次探し出さなければならなかったため、隣り合う面を探し出すのに時間がかかるという問題があった。特に、自動車の車体パネルのように自由曲面の数が大きい大規模な物体では、多大の時間がかかることになる。また、面の数が多いと、法線ベクトルの方向を揃える処理にも多大な時間がかかる。
【0014】
本発明は、このような従来の図形描画装置の問題点を解決するために成されたものであり、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能な、図形表裏設定装置および図形表裏設定方法の提供を目的とする。
【0015】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、請求項1に記載の発明にかかる図形表裏設定装置は、物体を構成する面の面データを入力する入力手段と、前記面データに基づいて、前記物体を構成する面の法線ベクトルを作成する面法線ベクトル作成手段と、前記面データに基づいて、前記物体を構成する面を包含する最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成する直方体作成手段と、作成された直方体を構成する面のうち、最も面積が大きい面を選択する最大面積ビュー面選択手段と、選択された面の基準ベクトルを作成するビュー面基準ベクトル作成手段と、前記面法線ベクトル作成手段によって作成された法線ベクトルと前記ビュー面基準ベクトル作成手段によって作成された基準ベクトルとの交差角度に基づいて、前記法線ベクトルの方向を揃える面法線ベクトル揃え手段とを有し、前記直方体作成手段は、直方体を構成する各辺が、3次元直交座標系のX軸、Y軸、Z軸のいずれかの軸に平行になるように、前記最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成し、前記ビュー面基準ベクトル作成手段は、前記最大面積ビュー面選択手段によって選択された面の面積に基づいて、前記物体が大物部品であるか、小物部品であるかを判断し、大物部品であれば、前記最大面積ビュー面選択手段によって選択された面が、X、Yビュー、Y、Zビュー、Z、Xビューのいずれから見た面であるのかを判断し、X、Yビューであれば、+Zの方向を基準ベクトルの方向に設定し、Y、Zビューであれば、前記選択された面の凸方向を判断して凸方向である+Xまたは−Xの方向を基準ベクトルの方向に設定し、Z、Xビューであれば、+Yの方向を基準ベクトルの方向に設定することを特徴とする。
【0016】
この請求項1に記載の発明では、法線ベクトルと基準ベクトルの交差角度にしたがって、その面の法線ベクトルの方向が正しいか、正しくないかを自動的に判断し、法線ベクトルの方向を揃えている。したがって、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じている場合でも、その面の法線ベクトルの方向を揃えることができるようになり、また、面の方向を揃えるために、面同士の頂点座標の一致、稜線の一致に基づいて、隣り合う面を順次探し出す必要もなくなる。このために、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になる。
また、面の方向を揃えるための基準方向を、X、Y、Zの3軸に平行な方向に限定しているので、基準方向の選択を容易に行うことができ、面の表裏方向を揃える処理の高速化を図ることができる。
さらに、X、Y、Zの3軸のいずれかの方向を、面を揃える方向として選択しているので、実用的な精度で面の方向を揃えることができる。車体パネルは、X、Y、Zの軸平行な方向のビュー(X、Yビュー、Y、Zビュー、Z、Xビュー)のうちのいずれかから見れば、車体パネルの構成面は、ほとんど重なることなく見ることができるからである。
【0021】
請求項2に記載の発明にかかる図形表裏設定装置は、請求項1に記載の図形表裏設定装置において、前記ビュー面基準ベクトル作成手段は、前記最大面積ビュー面選択手段によって選択された面の面積に基づいて、前記物体が大物部品であるか、小物部品であるかを判断し、小物部品であれば、前記選択された面の凸方向を判断して凸方向であるX、Y、Zのいずれかの+または−方向を基準ベクトルの方向に設定することを特徴とする。
【0022】
請求項2に記載の発明では、面の方向を揃えるための基準の方向(表側の方向)を車体パネルの大きさや形状の特徴によって決定している。車体パネルの場合、大物部品は形状の特徴よりもビューで、小物部品はビューよりも形状の特徴で表裏を判断するのが望ましい。このような判断に基づいて面の方向を決定すれば、どのような部品でも確実に面の方向を判定することができる。
【0023】
請求項3に記載の発明にかかる図形表裏設定装置は、請求項1に記載の図形表裏設定装置において、前記面法線ベクトル揃え手段は、法線ベクトルと基準ベクトルとの交差角度が90度を超えていれば前記法線ベクトルの方向を180度反転させ、90度以下であれば前記法線ベクトルの方向をそのままとすることを特徴とする。
【0024】
請求項3に記載の発明では、隣接する面の表裏とは無関係に、法線ベクトルと基準ベクトルとの交差角度によって、その面の法線ベクトルの方向が正しいか、正しくないかを自動的に判断し、法線ベクトルの方向を揃えている。したがって、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じている場合でも、その面の法線ベクトルの方向を揃えることができるようになり、また、面の表裏方向を揃えるために、面同士の頂点座標の一致、稜線の一致に基づいて、隣り合う面を順次探し出す必要もなくなる。このために、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になる。
【0025】
請求項4に記載の発明にかかる図形表裏設定方法は、入力手段により物体を構成する面の面データを入力する段階と、前記面データに基づいて、面法線ベクトル作成手段により前記物体を構成する面の法線ベクトルを作成する段階と、前記面データに基づいて、直方体作成手段により前記物体を構成する面を包含する最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成する段階と、作成された直方体を構成する面のうち、最大面積ビュー面選択手段により最も面積が大きい面を選択する段階と、選択された面の基準ベクトルをビュー面基準ベクトル作成手段により作成する段階と、前記面法線ベクトル作成手段によって作成された法線ベクトルと前記ビュー面基準ベクトル作成手段によって作成された基準ベクトルとの交差角度に基づいて、面法線ベクトル揃え手段により前記法線ベクトルの方向を揃える段階とを含み、前記直方体作成手段は、直方体を構成する各辺が、3次元直交座標系のX軸、Y軸、Z軸のいずれかの軸に平行になるように、前記最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成し、前記ビュー面基準ベクトル作成手段は、前記最大面積ビュー面選択手段によって選択された面の面積に基づいて、前記物体が大物部品であるか、小物部品であるかを判断し、大物部品であれば、前記最大面積ビュー面選択手段によって選択された面が、X、Yビュー、Y、Zビュー、Z、Xビューのいずれから見た面であるのかを判断し、X、Yビューであれば、+Zの方向を基準ベクトルの方向に設定し、Y、Zビューであれば、前記選択された面の凸方向を判断して凸方向である+Xまたは−Xの方向を基準ベクトルの方向に設定し、Z、Xビューであれば、+Yの方向を基準ベクトルの方向に設定することを特徴とする。
【0026】
この請求項4に記載の発明では、法線ベクトルと基準ベクトルの交差角度にしたがって、その面の法線ベクトルの方向が正しいか、正しくないかを自動的に判断し、法線ベクトルの方向を揃えている。したがって、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じている場合でも、その面の法線ベクトルの方向を揃えることができるようになり、また、面の表裏方向を揃えるために、面同士の頂点座標の一致、稜線の一致に基づいて、隣り合う面を順次探し出す必要もなくなる。このために、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になる。
また、面の方向を揃えるための基準方向を、X、Y、Zの3軸に平行な方向に限定しているので、基準方向の選択を容易に行うことができ、面の表裏方向を揃える処理の高速化を図ることができる。
さらに、X、Y、Zの3軸のいずれかの方向を、面を揃える方向として選択しているので、実用的な精度で面の方向を揃えることができる。車体パネルは、X、Y、Zの軸平行な方向のビュー(X、Yビュー、Y、Zビュー、Z、Xビュー)のうちのいずれかから見れば、車体パネルの構成面は、ほとんど重なることなく見ることができるからである。
【0027】
【発明の効果】
以上説明したように、請求項1または4に記載の発明によれば、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じている場合でも、その面の法線ベクトルの方向を揃えることができるようになり、また、面の表裏方向を揃えるために、面同士の頂点座標の一致、稜線の一致に基づいて、隣り合う面を順次探し出す必要もなくなる。このために、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になるという効果を奏する。
また、面の方向を揃えるための基準方向を、X、Y、Zの3軸に平行な方向に限定しているので、基準方向の選択を容易に行うことができ、面の表裏方向を揃える処理の高速化を図ることができるという効果を奏する。
さらに、X、Y、Zの3軸のいずれかの方向を、面を揃える方向として選択しているので、実用的な精度で面の方向を揃えることができるという効果を奏する。
【0030】
請求項2に記載の発明によれば、面の方向を揃えるための基準の方向(表側の方向)を車体パネルの大きさや形状の特徴によって決定しているので、どのような部品でも確実に面の方向を判定することができる。
【0031】
請求項3に記載の発明によれば、隣接する面の表裏とは無関係に、法線ベクトルと基準ベクトルとの交差角度によって、その面の法線ベクトルの方向が正しいか、正しくないかを自動的に判断し、法線ベクトルの方向を揃えているので、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になる。
【0032】
請求項4に記載の発明によれば、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じている場合でも、その面の法線ベクトルの方向を揃えることができるようになり、また、面同士の頂点座標の一致、稜線の一致に基づいて、隣り合う面を順次探し出す必要もなくなる。このために、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になるという効果を奏する。
また、面の方向を揃えるための基準方向を、X、Y、Zの3軸に平行な方向に限定しているので、基準方向の選択を容易に行うことができ、面の表裏方向を揃える処理の高速化を図ることができるという効果を奏する。
さらに、X、Y、Zの3軸のいずれかの方向を、面を揃える方向として選択しているので、実用的な精度で面の方向を揃えることができるという効果を奏する。
【0033】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかる図形表裏設定装置および図形表裏設定方法の好適な実施の形態を詳細に説明する。
【0034】
図1は、本発明にかかる図形表裏設定装置の概略構成を示すブロック図である。本発明にかかる図形表裏設定装置は、たとえば、3次元コンピュータグラフィックス描画装置や3次元CADなどの図形描画装置内に設置される。
【0035】
データ入力部10は、物体を構成する面の面データ(たとえば、頂点座標データ、稜線に関するデータ)を入力し、入力した面データを、後段の直方体作成部11と面法線ベクトル作成部12に出力する。
【0036】
直方体作成部11は、データ入力部10から出力された面データから、その面データで構成される物体を包含する、最も体積の小さな直方体、あるいは当該直方体と相似形状の直方体を作成する。なお、直方体作成部11は、その直方体を構成する各辺が、3次元直交座標系のX軸、Y軸、Z軸のいずれかの軸に平行になるように直方体を作成する。たとえば、物体が図2の車体パネル20であれば、図3のように、その車体パネル20を包含する直方体30を作成する。車体パネル20に関するデータと作成された直方体30に関するデータは、後段のビュー面面積演算部13に送られる。
【0037】
面法線ベクトル作成部12は、データ入力部10から出力された面データから、その面の中心付近(中心付近でなくても良いが)の法線ベクトルを、たとえば、特開平5−67219号公報にも開示されているような従来の方法で作成する。面の法線ベクトルの方向は、その面の表裏を表す。たとえば、法線ベクトルの方向がその面から外側に向かう方向であれば、その面は光線の当たる表の面であり、逆に、法線ベクトルの方向がその面に向かう方向であれば、その面は光線の当たらない裏の面である。
【0038】
ビュー面面積演算部13は、直方体作成部11によって作成された直方体30の各頂点の座標データに基づいて、図4のように、各ビュー(X、Y、Zの3方向)から見た、直方体30を構成する3つの面(a、b、c)の面積を求める。求めたそれぞれの面の面積は、後段の最大面積ビュー面選択部14に送られる。
【0039】
最大面積ビュー面選択部14は、ビュー面面積演算部13から送られてきた3つの面(a、b、c)の面積の内、最も面積の大きい面を選択し、その面がどのビューから見たものであるかを判断する。ビュー面面積演算部13から送られてきた3つの面(a、b、c)の面積が図4に示すようなものであれば、最大面積ビュー面選択部14は、最も面積が大きいbの面を選択し、bの面は、YZビューから見た面であると判断する。選択された面の面積と、判断されたビューは、後段のビュー面基準ベクトル作成部15に送られる。
【0040】
ビュー面基準ベクトル作成部15は、最大面積ビュー面選択部14から送られてきた面の面積に基づいて、その物体が大物部品であるか、大物部品でないかを判断する。大物部品であるか、大物部品でないかの判断は、たとえば面の面積が1m2よりも大きいか、小さいかによって行う。大物部品と判断されたときには、最大面積ビュー面選択部14から送られてきたビューに基づいて、基準ベクトルを作成する。なお、基準ベクトルの方向は、X軸、Y軸、Z軸のいずれかの軸に沿う方向である。また、大物部品でないと判断されたときには、直方体作成部11が持っている、その物体の面データを入力し、その面データに基づいて、その物体が最大面積ビュー面選択部14から送られてきたビューのどちら側(手前側、奥側)に凸であるかが判断され、その判断に基づいて基準ベクトルを作成する。作成された基準ベクトルは、後段の面法線ベクトル揃え部16に送られる。
【0041】
面法線ベクトル揃え部16は、ビュー面基準ベクトル作成部15によって作成された任意の面の基準ベクトルと、面法線ベクトル作成部12によって作成されたその面の法線ベクトルとが成す角度を求める。その角度が90度よりも大きければ、その面に対する表裏の判断が逆である可能性が高いので、その面の法線ベクトルの向きを180度反転させる。法線ベクトルの向きが揃えられた後の法線ベクトルの方向に関するデータおよびその面の面データは、データ出力部17に送られる。
【0042】
データ出力部17は、送られてきた、法線ベクトルの方向に関するデータおよび面データを外部に出力する。
【0043】
図形表裏設定装置を構成する各ブロックの概略の機能は以上のとおりである。つぎに、図5および図6のフローチャートに基づいて、図形表裏設定装置の一連の動作を具体的に説明する。
【0044】
図形表裏設定装置の動作には、大きく分けて2つの動作がある。1つは、物体を構成する各面の形状を調べて、各面の基準ベクトルの方向を求める第1の処理である。そしてもう1つは、求めた基準ベクトルの方向から、各面の法線ベクトルの方向を揃える第2の処理である。
【0045】
第1の処理は、図5のフローチャートに示されている処理であり、図1に示した、直方体作成部11、ビュー面面積演算部13、最大面積ビュー面選択部14およびビュー面基準ベクトル作成部15によって実行される。
【0046】
第2の処理は、図6のフローチャートに示されている処理であり、図1に示した、面法線ベクトル作成部12、面法線ベクトル揃え部16によって実行される。
【0047】
まず、第1の処理について説明する。この処理は、図5に示してあるフローチャートの手順で実行される。ここでは、処理の対象となる物体を、図2に示した車体パネル20とする。
【0048】
データ入力部10は、車体パネル20の面データ(たとえば、頂点座標データ、稜線に関するデータ)を入力し、この面データを、後段の直方体作成部11と面法線ベクトル作成部12に出力する。直方体作成部11は、データ入力部10から出力された面データから、車体パネル20を包含する、最も体積の小さな直方体(あるいは、当該直方体と相似形状の直方体)30(図3参照)を作成する。なお、本実施の形態では、座標系は、図3に示すように幅方向をX、長さ方向をY、高さ方向をZとする3次元の直交座標系を用いている。座標系は、この直交座標系以外に、極座標系、円筒座標系を用いても良い(S1)。
【0049】
つぎに、ビュー面面積演算部13は、直方体作成部11によって作成された直方体30の8つの頂点の座標から、図4のように、各ビュー(X、Y、Zの3方向)から見た、直方体30を構成する3つの面(a、b、c)それぞれの面積を求める。(S2)。
【0050】
最大面積ビュー面選択部14は、ビュー面面積演算部13から送られてきた3つの面(a、b、c)それぞれの面積の内、最も面積の大きい面を選択し、その面がどのビューから見たものであるかを判断する。ビュー面面積演算部13から送られてきた3つの面(a、b、c)の面積の大きさが、図4に示すようなものであれば、最大面積ビュー面選択部14は、最も面積が大きいbの面を選択し、bの面は、YZビューから見た面であると判断する。このように、最も大きな面積の面を、基準ベクトルを作成するための候補として選択するのは、車体パネル20の場合、面積の大きい面が通常は表面または裏面となる可能性が高いからである(S3)。
【0051】
ビュー面基準ベクトル作成部15は、最大面積ビュー面選択部14から送られてきた面の面積から、その物体が大物部品であるか、大物部品でないかを判断する。大物部品であるか、大物部品でないかの判断は、たとえば面の面積が1m2よりも大きいか、小さいかによって行われる(S4)。
【0052】
大物部品であると判断されたときには、ビュー面基準ベクトル作成部15は、最大面積ビュー面選択部14から送られてきたビューを調べる(S5)。
【0053】
判断されたビューが平面ビュー(X、Yビュー)であれば、+Z方向を基準ベクトルに設定する。図4でみれば、面cが選択された場合であり、基準ベクトルBcは、cの面から上に離れる方向に設定される(S6)。一方、認識されたビューが側面ビュー(Y、Zビュー)であれば、さらに、車体パネル20の面データから、車体パネル20を構成するすべての面のX座標の平均値を求め(S7)、求めた平均値が正の値であれば(S8)、+X方向を基準ベクトルに設定する(S9)。一方、求めた平均値が負の値であれば(S8)、−X方向を基準ベクトルに設定する(S10)。このように、X座標の平均値が+か−かを求めるのは、車体パネル20がどちらの方向に凸形状になっているかを判断するためである。また、X座標の平均値が+か−かによって基準ベクトルの方向を決めているのは、車体パネル20の場合、一般的に、凸形状になっている方が表側となる可能性が高いからである。さらに、認識されたビューが正面ビュー(Z、Xビュー)であれば、+Y方向を基準ベクトルに設定する。図4でみれば、面aが選択された場合であり、基準ベクトルBaは、aの面から離れる方向(車両の後ろ方向)に設定される(S11)。
【0054】
大物部品でないと判断されたときには(S4)、ビュー面基準ベクトル作成部15は、直方体作成部11が持っている、車体パネル20の面データを入力し、その面データに基づいて、最大面積ビュー面選択部14から送られてきたビューのどちら側(手前側、奥側)に凸であるかが判断され、その判断に基づいて基準ベクトルを作成する。どちら側に凸であるかの判断は、S8からS10のステップの説明と同じく、車体パネル20を構成するすべての面のX座標の平均値が+か−かを求めることによって行う(S12)。求めた平均値が正の値であれば、+X方向を基準ベクトルに設定する。一方、求めた平均値が負の値であれば、−X方向を基準ベクトルに設定する。つまり、凸形状になっている方の面が表側になるように基準ベクトルを設定する(S13)。
【0055】
車体パネル20の場合、ほとんどは金型プレスで形成されるため、形状の特徴を単品で見ると、どちらかの側が膨らんでいて、閉じているものはほとんどない。また、車体パネル20は、その膨らんでいる面の方を外側にして組みつけられる場合が一般的であり、膨らんでいる面の方を表になるように基準ベクトルを設定したほうが面の抜けが生じる確率が少なくなる。ただし、このような基準ベクトルの設定を、すべてのパネルに対して適用してしまうと、たとえば、ホイールハウス系やフロアー系のパネルでは、必ずしも面の抜けが生じる確率が少なくなるとは限らなくなる。また、一般に、大物と呼ばれる部品は、前述のように、ビューによって表の方向を決定しても、面の抜けが生じる確率は少ない。このように、車体部品の特性を考慮して面の表の方向を決定すれば、本来は表と判断されるべき面が間違って裏と判断されることが少なくなり、現実的な方向の決定ができるようになる。
【0056】
つぎに、第2の処理について説明する。この処理は、図6に示してあるフローチャートの手順で実行される。
【0057】
面法線ベクトル作成部12は、データ入力部10から出力された面データから、1つの面に相当する面データを入手し、その面の中心付近の法線ベクトルを、たとえば、特開平5−67219号公報にも開示されているような従来の方法で作成する。なお、中心付近の法線ベクトルを求めるのは、車体パネル20の場合、たとえば90度以上の角度で曲がっているような、極端に曲がった曲面を有していることはほとんど考えられないからであり、中心付近の法線ベクトルを求めれば、ほとんどの場合、車体パネル20の面の方向を特定することができるからである。面の法線ベクトルの方向は、その面の表裏を表す。たとえば、法線ベクトルの方向がその面から外側に向かう方向であれば、その面は光線の当たる表の面となり、逆に、法線ベクトルの方向がその面に向かう方向であれば、その面は光線の当たらない裏の面となる(S21)。
【0058】
つぎに、面法線ベクトル揃え部16は、面法線ベクトル作成部12によって作成された任意の面の法線ベクトルと、図5に示した、第1の処理で求められたその面の基準ベクトル(X、Y、Zの3方向のいずれか)とが成す角度を求める。つまり、ある面の法線ベクトルと基準ベクトルとの交差角度を求める(S22)。
【0059】
面法線ベクトル揃え部16は、求めた交差角度が90度を超える場合には(S23)、面法線ベクトル作成部12によって作成された法線ベクトルの方向が反対であると判断し、その法線ベクトルの向きを180度反転させる。つまり、その面の表方向と判断された方向を、裏方向と判断させるようにする(S24)。一方、求めた交差角度が90度よりも小さければ(S23)、作成された法線ベクトルの方向は正しいと判断し、法線ベクトルの方向はそのままにする(S24)。
【0060】
以上の処理は、車体パネル20を構成するすべての面について1面ずつ行われる。
【0061】
このように、本実施の形態では、法線ベクトルと基準ベクトルの交差角度にしたがって、その面の法線ベクトルの方向が正しいか、正しくないかを自動的に判断し、法線ベクトルの方向を揃えるようにしたので、演算誤差などによって、物体を構成するすべての面の内、隣り合っていない面(交差、離れなど)が生じている場合でも、その面の法線ベクトルの方向を揃えることができるようになり、また、面の表裏を揃えるために、面同士の頂点座標の一致、稜線の一致に基づいて、隣り合う面を順次探し出す必要もなくなる。このため、物体を構成する面の表裏方向を高速に、かつ、実用的な精度で揃えることが可能になる。
【図面の簡単な説明】
【図1】本発明にかかる図形表裏設定装置の概略構成を示すブロック図である。
【図2】自動車の車体パネルの形状の一例を示す図である。
【図3】車体パネルを包含する直方体を作成する処理の説明に供する図である。
【図4】直方体の各ビューの面積を求める処理の説明に供する図である。
【図5】基準ベクトルの方向を求める第1の処理を示すフローチャートである。
【図6】各面の法線ベクトルの方向を揃える第2の処理を示すフローチャートである。
【図7】従来のシェーディング処理の説明に供する図である。
【図8】従来のシェーディング処理の問題点の説明に供する図である。
【符号の説明】
10…データ入力部、
11…直方体作成部、
12…面法線ベクトル作成部、
13…ビュー面面積演算部、
14…最大面積ビュー面選択部、
15…ビュー面基準ベクトル作成部、
16…面法線ベクトル揃え部、
17…データ出力部、
20…車体パネル、
30…直方体。
Claims (4)
- 物体を構成する面の面データを入力する入力手段と、
前記面データに基づいて、前記物体を構成する面の法線ベクトルを作成する面法線ベクトル作成手段と、
前記面データに基づいて、前記物体を構成する面を包含する最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成する直方体作成手段と、
作成された直方体を構成する面のうち、最も面積が大きい面を選択する最大面積ビュー面選択手段と、
選択された面の基準ベクトルを作成するビュー面基準ベクトル作成手段と、
前記面法線ベクトル作成手段によって作成された法線ベクトルと前記ビュー面基準ベクトル作成手段によって作成された基準ベクトルとの交差角度に基づいて、前記法線ベクトルの方向を揃える面法線ベクトル揃え手段とを有し、
前記直方体作成手段は、直方体を構成する各辺が、3次元直交座標系のX軸、Y軸、Z軸のいずれかの軸に平行になるように、前記最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成し、
前記ビュー面基準ベクトル作成手段は、前記最大面積ビュー面選択手段によって選択された面の面積に基づいて、前記物体が大物部品であるか、小物部品であるかを判断し、大物部品であれば、前記最大面積ビュー面選択手段によって選択された面が、X、Yビュー、Y、Zビュー、Z、Xビューのいずれから見た面であるのかを判断し、X、Yビューであれば、+Zの方向を基準ベクトルの方向に設定し、Y、Zビューであれば、前記選択された面の凸方向を判断して凸方向である+Xまたは−Xの方向を基準ベクトルの方向に設定し、Z、Xビューであれば、+Yの方向を基準ベクトルの方向に設定することを特徴とする図形表裏設定装置。 - 前記ビュー面基準ベクトル作成手段は、前記最大面積ビュー面選択手段によって選択された面の面積に基づいて、前記物体が大物部品であるか、小物部品であるかを判断し、小物部品であれば、前記選択された面の凸方向を判断して凸方向であるX、Y、Zのいずれかの+または−方向を基準ベクトルの方向に設定することを特徴とする請求項1に記載の図形表裏設定装置。
- 前記面法線ベクトル揃え手段は、法線ベクトルと基準ベクトルとの交差角度が90度を超えていれば前記法線ベクトルの方向を180度反転させ、90度以下であれば前記法線ベクトルの方向をそのままとすることを特徴とする請求項1に記載の図形表裏設定装置。
- 入力手段により物体を構成する面の面データを入力する段階と、
前記面データに基づいて、面法線ベクトル作成手段により前記物体を構成する面の法線ベクトルを作成する段階と、
前記面データに基づいて、直方体作成手段により前記物体を構成する面を包含する最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成する段階と、
作成された直方体を構成する面のうち、最大面積ビュー面選択手段により最も面積が大きい面を選択する段階と、
選択された面の基準ベクトルをビュー面基準ベクトル作成手段により作成する段階と、
前記面法線ベクトル作成手段によって作成された法線ベクトルと前記ビュー面基準ベクトル作成手段によって作成された基準ベクトルとの交差角度に基づいて、面法線ベクトル揃え手段により前記法線ベクトルの方向を揃える段階とを含み、
前記直方体作成手段は、直方体を構成する各辺が、3次元直交座標系のX軸、Y軸、Z軸のいずれかの軸に平行になるように、前記最小体積の直方体、あるいは当該直方体と相似形状の直方体を作成し、
前記ビュー面基準ベクトル作成手段は、前記最大面積ビュー面選択手段によって選択された面の面積に基づいて、前記物体が大物部品であるか、小物部品であるかを判断し、大物部品であれば、前記最大面積ビュー面選択手段によって選択された面が、X、Yビュー、Y、Zビュー、Z、Xビューのいずれから見た面であるのかを判断し、X、Yビューで あれば、+Zの方向を基準ベクトルの方向に設定し、Y、Zビューであれば、前記選択された面の凸方向を判断して凸方向である+Xまたは−Xの方向を基準ベクトルの方向に設定し、Z、Xビューであれば、+Yの方向を基準ベクトルの方向に設定することを特徴とする図形表裏設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001042475A JP3900839B2 (ja) | 2001-02-19 | 2001-02-19 | 図形表裏設定装置および図形表裏設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001042475A JP3900839B2 (ja) | 2001-02-19 | 2001-02-19 | 図形表裏設定装置および図形表裏設定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002245485A JP2002245485A (ja) | 2002-08-30 |
JP3900839B2 true JP3900839B2 (ja) | 2007-04-04 |
Family
ID=18904764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001042475A Expired - Fee Related JP3900839B2 (ja) | 2001-02-19 | 2001-02-19 | 図形表裏設定装置および図形表裏設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3900839B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI450215B (zh) * | 2010-12-14 | 2014-08-21 | Via Tech Inc | 影像物件之隱藏面移除的預先揀選方法、系統以及電腦可記錄媒體 |
GB2572996A (en) * | 2018-04-19 | 2019-10-23 | Nokia Technologies Oy | Processing video patches for three-dimensional content |
-
2001
- 2001-02-19 JP JP2001042475A patent/JP3900839B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002245485A (ja) | 2002-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7746355B1 (en) | Method for distributed clipping outside of view volume | |
US8269766B2 (en) | Method for generating three-dimensional shape data, apparatus for generating three-dimensional shape data, and three-dimensional shape data generating program | |
US6473083B1 (en) | Computer graphics data generating apparatus, computer graphics animation editing apparatus, and animation path generating apparatus | |
CN102184572A (zh) | 三维图形裁剪方法、呈现方法及其图形处理装置 | |
JP4973447B2 (ja) | 差異強調プログラム、差異強調処理方法及び差異強調処理装置 | |
EP2795577B1 (en) | Three dimension measurement method, three dimension measurement program and robot device | |
CN114283244A (zh) | 一种基于gpu的八叉树布尔运算加速求交方法 | |
JP3900839B2 (ja) | 図形表裏設定装置および図形表裏設定方法 | |
JP2000235407A (ja) | 表示方法及び表示プログラムを記録したコンピュータ読み取り可能な記録媒体及び表示装置 | |
JP4032828B2 (ja) | 図形表裏設定装置および図形表裏設定方法 | |
JPH08153205A (ja) | 多角形描画装置 | |
US20050283513A1 (en) | Method of calculating intersections between triangle and line segment and program therefrom | |
US8098243B2 (en) | Method and apparatus for efficiently handling query for 3D display | |
US5982377A (en) | Three-dimensional graphic displaying system and method | |
US6590582B1 (en) | Clipping processing method | |
EP1315105A1 (en) | Method for evaluating dynamic perspective distortion of transparent body and method for supporting designing of three-dimensional shape of transparent body | |
JP4101677B2 (ja) | 動作シミュレーション装置 | |
JP2001148028A (ja) | 図形表示装置及びその方法 | |
JPH0778017A (ja) | 動作物体間の干渉チェック方法及びその装置 | |
JPS625482A (ja) | 三次元ワイヤ−フレ−ムモデルの隠線処理方法 | |
JP4630485B2 (ja) | 隠線処理方法 | |
JPH08108345A (ja) | Nc工作機械の工具の切削経路作成方法および切削シミュレーション方法 | |
CN107871043B (zh) | 奇异点的识别方法及装置 | |
US6489958B1 (en) | Method and device for graphic representation of an object defined by a plurality of triangles on a display surface | |
JPH08185542A (ja) | 図形処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060919 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061117 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061225 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |