(57)【要約】【課題】境界表現モデルで表現された変換元の３次元形状のディテールを損なうことなく、少ない計算負荷で３次元形状の境界表現モデルからボクセルモデルへの変換を行うこと。【解決手段】基準立方領域が分割された各区画の外接球領域を横切るフェースの数が規定数以下になるまでオクト分割するステップと、同じオクト分割終了区画の外接球領域を横切るフェースを、連結関係を有するフェースからなる群単位でグループ化するステップと、同じ群に属するフェース間の交差関係を示す部分論理式をエッジの凹凸性に基づいて導出するステップと、部分論理式を合成して、オクト分割終了区画毎の論理式を導出するステップと、セルのデータを作成するとともに、該オクト分割終了区画の外接球領域を横切るフェースに関連付けられている曲面データとオクト分割終了区画毎の論理式をセルの内部データとして、３次元形状のボクセルモデルデータを構築するステップとを含む。【選択図】図３
2015035097.tif 000002
【特許請求の範囲】
【請求項１】
境界表現モデルで表現対象の３次元形状を表現した境界表現モデルデータを、ボクセルモデルで表現したボクセルモデルデータに変換するモデル変換方法であって、
前記境界表現モデルデータ全体を内包する基準立方領域を設定し、該基準立方領域が分割された各区画において該区画の外接球領域を横切る前記境界表現モデルデータにおける境界要素であるフェースの数が規定数以下になるまで前記基準立方領域を再帰的にオクト分割する第１のステップと、
前記オクト分割が終了したオクト分割終了区画のそれぞれに対して、同じオクト分割終了区画の外接球領域を横切る前記フェースを、該同じ前記オクト分割終了区画の外接球領域を横切る前記フェース同士の連結関係をたどって相互に到達可能な前記フェースからなる群を単位としてグループ化する第２のステップと、
前記群のそれぞれについて、同じ前記群に属する前記フェース間の交差関係を示す部分論理式を該同じ群に属する前記フェース同士を連結する前記境界表現モデルデータにおける境界要素であるエッジの凹凸性に基づいて導出する第３のステップと、
前記部分論理式を前記オクト分割終了区画毎に合成して、同じ前記オクト分割終了区画の外接球領域を横切る前記フェース間の交差関係を示すオクト分割終了区画毎の論理式を導出する第４のステップと、
前記オクト分割終了区画に対応した前記ボクセルモデルのセルのデータを作成するとともに、該オクト分割終了区画の外接球領域を横切る前記フェースに関連付けられている曲面データと前記オクト分割終了区画毎の論理式を前記セルの内部データとして、前記３次元形状のボクセルモデルデータを構築する第５のステップと、
を含むことを特徴とするモデル変換方法。
【請求項２】
前記境界表現モデルデータの前記フェースを近似して三角パッチのデータを生成し、前記三角パッチのデータを該三角パッチのデータの生成元の前記フェースに関連付ける第６のステップをさらに有すること、
を特徴とする請求項１に記載のモデル変換方法。
【請求項３】
前記第１のステップでは、前記第６のステップで生成した前記三角パッチおよび該三角パッチの生成元の前記フェースのデータを参照して、前記オクト分割された区画の中心点から前記三角パッチまでの最近接距離が前記オクト分割された区画の対角長の半分に前記三角パッチデータ生成時の近似精度を加えた距離以下である場合に、該三角パッチの生成元の前記フェースを前記オクト分割された区画の外接球領域を横切るフェースとすること、
を特徴とする請求項２に記載のモデル変換方法。
【請求項４】
前記第４のステップでは、１つの前記オクト分割終了区画が複数の前記群を含む場合に、それぞれの前記群のフェースから生成された前記三角パッチの前記オクト分割終了区画の中心点からの最近接距離と、前記第６のステップで生成した前記三角パッチおよび該三角パッチの生成元の前記フェースのデータとを参照して、該中心点から最も離れた群を特定し、前記複数の群のうち前記最も離れた群を除外した残りの群を対象として合成した論理式と前記最も離れた群の前記部分論理式とを合成すること、
を特徴とする請求項２または３に記載のモデル変換方法。
【請求項５】
前記ボクセルモデルのセルの前記内部データとされる前記フェースの曲面データは、該セルが占める領域において該フェースの曲面が個々につくる距離場を表現するデータによって記述されること、
を特徴とする請求項１〜４のいずれか１つに記載のモデル変換方法。
【請求項６】
境界表現モデルで表現対象の３次元形状を表現した境界表現モデルデータを、ボクセルモデルで表現したボクセルモデルデータに変換するモデル変換装置であって、
前記境界表現モデルデータを入力データとして受理する入力部と、
前記境界表現モデルデータ全体を内包する基準立方領域を設定し、該基準立方領域が分割された各区画において該区画の外接球領域を横切る前記境界表現モデルデータにおける境界要素であるフェースの数が規定数以下になるまで前記基準立方領域を再帰的にオクト分割するオクト分割部と、
前記オクト分割が終了したオクト分割終了区画のそれぞれに対して、同じオクト分割終了区画の外接球領域を横切る前記フェースを、該同じ前記オクト分割終了区画の外接球領域を横切る前記フェース同士の連結関係をたどって相互に到達可能な前記フェースからなる群を単位としてグループ化するフェースグループ化手段と、
前記群のそれぞれについて、同じ前記群に属する前記フェース間の交差関係を示す部分論理式を該同じ群に属する前記フェース同士を連結する前記境界表現モデルデータにおける境界要素であるエッジの凹凸性に基づいて導出する部分論理式導出部と、
前記部分論理式を前記オクト分割終了区画毎に合成して、同じ前記オクト分割終了区画の外接球領域を横切る前記フェース間の交差関係を示すオクト分割終了区画毎の論理式を導出する論理式合成部と、
前記オクト分割終了区画に対応した前記ボクセルモデルのセルのデータを作成するとともに、該オクト分割終了区画の外接球領域を横切る前記フェースに関連付けられている曲面データと前記オクト分割終了区画毎の論理式を前記セルの内部データとして、前記３次元形状のボクセルモデルデータを構築するボクセルモデル構築部と、
を備えることを特徴とするモデル変換装置。
【請求項７】
前記境界表現モデルデータの前記フェースを近似して三角パッチのデータを生成し、前記三角パッチのデータを該三角パッチのデータの生成元の前記フェースに関連付ける三角パッチデータ生成部をさらに有すること、
を特徴とする請求項６に記載のモデル変換装置。
【請求項８】
前記オクト分割部は、前記三角パッチデータ生成部で生成した前記三角パッチおよび該三角パッチの生成元の前記フェースのデータを参照して、前記オクト分割された区画の中心点から前記三角パッチまでの最近接距離が前記オクト分割された区画の対角長の半分に前記三角パッチデータ生成時の近似精度を加えた距離以下である場合に、該三角パッチの生成元の前記フェースを前記オクト分割された区画の外接球領域を横切るフェースとすること、
を特徴とする請求項７に記載のモデル変換装置。
【請求項９】
前記論理式合成部は、１つの前記オクト分割終了区画が複数の前記群を含む場合に、それぞれの前記群のフェースから生成された前記三角パッチの前記オクト分割終了区画の中心点からの最近接距離と、前記第６のステップで生成した前記三角パッチおよび該三角パッチの生成元の前記フェースのデータとを参照して、該中心点から最も離れた群を特定し、前記複数の群のうち前記最も離れた群を除外した残りの群を対象として合成した論理式と前記最も離れた群の前記部分論理式とを合成すること、
を特徴とする請求項７または８に記載のモデル変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等で３次元形状のモデルを表現し、その作成や変形および描画を行う３次元形状処理分野において、特定の表現モデルで表現した３次元形状を別の表現モデルに変換するモデル変換方法およびモデル変換装置に関し、特に、境界表現モデルで表現した３次元形状をボクセルモデルに変換するための方法および装置に関する。
【背景技術】
【０００２】
３次元形状をコンピュータ上で表現するための表現モデルには複数の種類があり、そのうち、現在広く実用に供せられているものとしては、境界表現モデル（Boundary  Representation  Model：B-Repモデル）とボクセルモデル（Voxel  Model）とがある。
【０００３】
境界表現モデルは、境界要素と呼ばれるフェース（面）、エッジ（稜線）、頂点のデータとこれら境界要素間の接続関係によって３次元形状を表現するモデルである。閉領域をなすフェースの連結は、３次元形状の内部側３次元領域と外部側３次元領域を境界づける。閉ループをなすエッジの連なりは、各フェースの内部側２次元領域と外部側２次元領域を境界づける。２つの頂点は、エッジが占める１次元領域を境界づける。また、フェース、エッジ、頂点の各境界要素には、曲面データ、曲線データ、点データの各幾何データが関係付けられており、これら幾何データは対応する境界要素の具体的な形を記述している。
【０００４】
一方、ボクセルモデルは、ボリューム表現モデルの一種であり、３次元形状を包含する基準立方領域を隙間なく埋め尽くす微小な立方体（ボクセルまたはセルと呼ばれる）の集合によって３次元形状を表現するモデルである。各セルは、表現対象の３次元形状に関する情報を内部データとして保持する。例えば、セルが占める３次元領域が、表現対象の３次元形状の内部側３次元領域に完全に含まれるか、外部側３次元領域に完全に含まれるか、あるいは、双方の領域にまたがっているかを識別する情報をセルの内部データとして保持することで３次元形状の概略形状を表現することができる。さらには、３次元形状に関する詳細もしくは厳密な幾何情報をセルの内部データとして保持することで、より正確な形状を表現できるようにすることも可能である。
【０００５】
なお、基準立方領域内にセルをどのように並べるかについては、基準立方領域を等間隔で分割した格子上に等サイズのセルを並べる等間隔グリッド方式、および、基準立方領域を再帰的に分割した木構造に沿って異なるサイズのセルを並べるオクトリ方式が代表的である。
【０００６】
境界表現モデルとボクセルモデルとは、用途や目的に応じて使い分けられる。境界表現モデルは、３次元形状の表面における曲面の交差の様子や各曲面の幾何形状を正確に表現する能力に優れ、今日の商用の３次元ＣＡＤシステムのほとんどで採用されている。ボクセルモデルは、３次元形状の表面以外の内部領域や外部領域の物性を扱う用途や、ＮＣ機械加工のシミュレーションのように対象物の形が加工によって時々刻々と変化していく過程を扱う用途に適している。
【０００７】
しかしながら、このような表現構造の異なる表現モデルに対し、３次元形状のモデルの、一方の表現モデルから別の表現モデルへの変換が必要となる場合もしばしばある。例えば、前加工された素形材に対して機械加工を施して最終形状に仕上げる工程をコンピュータ上でシミュレーションする場合は、素形材の形状を３次元ＣＡＤシステムでモデリングした境界表現モデルをシミュレーションに適したボクセルモデルに変換してシミュレーションを実行することになる。このような境界表現モデルからボクセルモデルへの変換方法は、例えば特許文献１および同文献にて従来技術として言及されている特許文献２〜特許文献４等において開示されている。
【０００８】
例えば特許文献１によれば、境界データとセルとの間で、境界データがセルの稜線または頂点を切断する切断点を計算する切断点計算ステップ、セル表面が境界データを切断する切断線分と前記切断点を結んで切断線分サイクルを形成するサイクル形成ステップ、切断線分サイクルの内側を隣接する辺を共有するサイクル内三角形に分割するサイクル内分割ステップ、各稜線における複数の切断点の１点化とサイクル内三角形のセルへの登録を行う簡略化ステップによって、対象物の境界データをセル内形状データに頑強かつ確実に変換することができ、計算負荷を軽減できる方法を提供している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第４７８３１００号公報
【特許文献２】特許第４３８１７４３号公報
【特許文献３】特許第４３２０４２５号公報
【特許文献４】特許第４２５５０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、一般に、境界表現モデルからボクセルモデルに変換すると、元形状のディテールが損なわれることがある。元形状のディテールを維持するためにはボクセルモデルの分割数（解像度）を上げる必要があり、この場合はデータサイズが増大するという別の問題が生じる。特許文献１に見られる従来技術では、サイクル内分割ステップおよび簡略化ステップの過程で、境界データ（面）同士の交差関係や個々の面の幾何情報が失われ、元形状のディテールが損なわれるという問題がある。また、境界データとセルの稜線・頂点との交点計算、境界データとセル表面との交線計算などの幾何計算が必要であり、モデル変換処理全体としての計算負荷は大きく、無視できない。特許文献２〜特許文献４についても同様に計算負荷は大きくなる。
【００１１】
本発明は、上記に鑑みてなされたものであって、境界表現モデルで表現された変換元の３次元形状のディテールを損なうことなく、少ない計算負荷で３次元形状の境界表現モデルからボクセルモデルへの変換が可能なモデル変換方法およびモデル変換装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明にかかるモデル変換方法は、境界表現モデルで表現対象の３次元形状を表現した境界表現モデルデータを、ボクセルモデルで表現したボクセルモデルデータに変換するモデル変換方法であって、前記境界表現モデルデータ全体を内包する基準立方領域を設定し、該基準立方領域が分割された各区画において該区画の外接球領域を横切る前記境界表現モデルデータにおける境界要素であるフェースの数が規定数以下になるまで前記基準立方領域を再帰的にオクト分割する第１のステップと、前記オクト分割が終了したオクト分割終了区画のそれぞれに対して、同じオクト分割終了区画の外接球領域を横切る前記フェースを、該同じ前記オクト分割終了区画の外接球領域を横切る前記フェース同士の連結関係をたどって相互に到達可能な前記フェースからなる群を単位としてグループ化する第２のステップと、前記群のそれぞれについて、同じ前記群に属する前記フェース間の交差関係を示す部分論理式を該同じ群に属する前記フェース同士を連結する前記境界表現モデルデータにおける境界要素であるエッジの凹凸性に基づいて導出する第３のステップと、前記部分論理式を前記オクト分割終了区画毎に合成して、同じ前記オクト分割終了区画の外接球領域を横切る前記フェース間の交差関係を示すオクト分割終了区画毎の論理式を導出する第４のステップと、前記オクト分割終了区画に対応した前記ボクセルモデルのセルのデータを作成するとともに、該オクト分割終了区画の外接球領域を横切る前記フェースに関連付けられている曲面データと前記オクト分割終了区画毎の論理式を前記セルの内部データとして、前記３次元形状のボクセルモデルデータを構築する第５のステップと、を含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、境界表現モデルで表現された変換元の３次元形状のディテールを損なうことなく、少ない計算負荷で３次元形状の境界表現モデルからボクセルモデルへの変換が可能になる、という効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１にかかるモデル変換装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１にかかるモデル変換装置によりモデル変換を行う変換対象の３次元形状モデルの一例を示す斜視図である。
【図３】図３は、本発明の実施の形態１にかかるモデル変換方法の手順を説明するフローチャートである。
【図４】図４は、オクト分割されたオクト分割終了区画と該区画の外接球領域を横切るフェースとの関係の一例を説明する図である。
【図５】図５は、本発明の実施の形態２にかかるモデル変換装置の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態１および実施の形態２にかかるモデル変換装置としての機能を実現するコンピュータ装置の構成の一例を模式的に示すブロック図である。
【発明を実施するための形態】
【００１５】
以下に、本発明にかかるモデル変換方法およびモデル変換装置の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１６】
実施の形態１．
図１は、実施の形態１にかかるモデル変換装置の構成を示すブロック図である。モデル変換装置１は、境界表現モデル入力部２、オクト分割処理部３、フェースグループ化処理部４、部分論理式導出部５、論理式合成部６、ボクセルモデル構築部７の各処理部、変換元の境界表現モデルのデータを格納・記憶する境界表現モデルデータ記憶部８、変換先のボクセルモデルのデータを格納・記憶するボクセルモデルデータ記憶部９の各記憶部で構成されている。また、モデル変換装置１には、表示装置１１が通信可能に接続される。表示装置１１は、モデル変換装置１において入力された情報、処理された情報、記憶された情報等の各種情報を表示可能とされている。また、表示装置１１がモデル変換装置１内に組み込まれた構成とすることも可能である。
【００１７】
境界表現モデル入力部２は、外部データとして外部から与えられた表現対象（３次元形状）の境界表現モデルのデータ（境界表現モデルデータ）を受理し、境界表現モデルデータ記憶部８に格納し、記憶させる。境界表現モデルデータには、フェース（面）、エッジ（稜線）、頂点の各境界要素と、各境界要素に関連付けられた曲面データ、曲線データ、点データの各幾何データが含まれている。境界表現モデルデータ記憶部８に記憶された境界表現モデルデータについては、各処理部から、フェース、エッジ、頂点の単位で境界要素にアクセス可能であり、各境界要素の曲面データ、曲線データ、点データを取得でき、また境界要素間の接続関係を参照することができる。また、派生的な情報として、エッジを介して連結している２つのフェースの曲面データに基づいて、各処理部からエッジの凹凸性についての情報を問い合わせる（取得する）ことができる。
【００１８】
オクト分割処理部３は、境界表現モデルデータ記憶部８に記憶された境界表現モデルデータで表現される境界表現モデルに対して、該境界表現モデル全体を包含（内包）する基準立方領域を定義し、該基準立方領域を再帰的にオクト分割する。この過程で、オクト分割処理部３は、オクト分割された各区画の外接球領域を横切る境界表現モデルのフェースを選別する。そして、オクト分割処理部３は、区画の外接球領域を横切る境界表現モデルのフェースの個数があらかじめ設定された規定数Ｎ以下になるまで区画のオクト分割を続ける。区画に対するオクト分割の継続の要否を判断する基準となる規定数Ｎの具体的な値としては、モデル変換の計算コストやモデル変換後のボクセルモデルの用途や目的とのバランスから、Ｎ＝４〜６を用いることが好ましい。
【００１９】
また、オクト分割処理部３は、区画の外接球領域を横切る境界表現モデルのフェースの個数が規定数Ｎ以下になった区画（オクト分割終了区画）については、オクト分割を終了し、オクト分割終了区画毎にフェースのリスト情報（区画フェースリスト情報）を作成して、該区画フェースリスト情報をフェースグループ化処理部４に送信して受け渡す。このフェースのリスト（区画フェースリスト情報）は、オクト分割終了区画における外接球領域を横切る境界表現モデルのフェースのリストである。なお、外接球領域を横切る境界表現モデルのフェースが存在しない区画については、フェースが存在しない旨のリストが作成される。
【００２０】
フェースグループ化処理部４は、区画の外接球領域を横切るフェースの個数が規定数Ｎ以下になったオクト分割終了区画の外接球領域を横切るフェース同士が該オクト分割終了区画の外接球領域内で連結関係を有するか否かを個別に判別し、該フェース同士の該外接球領域内での連結関係をたどって到達可能なフェースからなる群を単位としてグループ化する。すなわち、フェースグループ化処理部４は、各オクト分割終了区画について、外接球領域内でのフェース間の連結関係を判別し、該オクト分割終了区画の外接球領域を横切るフェースを連結関係のない独立した単位群に分類する。
【００２１】
フェース同士の連結関係は、フェースグループ化処理部４が境界表現モデルデータ記憶部８に記憶された境界表現モデルデータのフェース間の接続関係を参照することにより判別できる。また、フェースグループ化処理部４は、グループ化された群に属するフェースのリスト情報（群フェースリスト情報）を作成し、群毎に部分論理式導出部５に送信する。フェースグループ化処理部４は、オクト分割終了区画のそれぞれに対して上記の処理を行う。
【００２２】
部分論理式導出部５は、フェースグループ化処理部４においてグループ化された個々の群について、該群に属するフェース同士を連結している共通のエッジ（共通エッジ）の凹凸性から、その群に属するフェース間の論理式（部分論理式）を導出する。ここで、フェース間の論理式とは、関係する個々のフェースの曲面を境界面とする半空間についての論理和や論理積を組み合わせた式であり、フェース同士の交差関係を表現する。このフェース間の論理式とフェースの曲面データとを用いることにより、セル内の部分形状のディテールを表現することができる。共通エッジの凹凸性は、共通エッジを介して連結関係を有するフェース同士において、共通エッジが境界表現モデルの外部空間方向に突出している場合には、共通エッジの凹凸性が凸、共通エッジが境界表現モデルの内部空間方向に突出している場合には、共通エッジの凹凸性が凹である。
【００２３】
論理式合成部６は、部分論理式導出部５において群ごとに導出したフェース間の論理式を部分論理式とし、区画（オクト分割終了区画）毎のフェース間の論理式を部分論理式から合成する。
【００２４】
ボクセルモデル構築部７は、それぞれのオクト分割終了区画に対応したセルのデータ（ボクセルデータ）を作成する。また、ボクセルモデル構築部７は、オクト分割処理部３が出力した区画フェースリスト情報を受け取って対応するオクト分割終了区画の外接球領域を横切るフェースのそれぞれの曲面データを境界表現モデルデータ記憶部８に記憶された境界表現モデルから取得するとともに、論理式合成部６によって得られたフェース間の論理式のデータを該曲面データと組み合わせて、セルの内部データ（幾何情報）を作成する。ボクセルモデル構築部７は、全てのオクト分割終了区画に対してセルのデータ（ボクセルデータ）とセルの内部データ（幾何情報）とを作成することによりボクセルモデル全体のオクトリ構造を構築する。なお、外接球領域を横切るフェースが存在しないオクト分割終了区画においては、セルの内部データは作成されない。
【００２５】
ボクセルモデルデータ記憶部９は、ボクセルモデル構築部７においてセルのデータ（ボクセルデータ）およびセルの内部データにより構築されたボクセルモデル全体のオクトリ構造データを記憶する。
【００２６】
次に、実施の形態１にかかるモデル変換装置１の中核処理をなすオクト分割処理部３、フェースグループ化処理部４、部分論理式導出部５、論理式合成部６の各処理部の内部動作について例を示しながら詳細に説明する。以下では、図２に示した３次元形状モデル２１を例にとり、各処理部の動作を説明する。図２は、実施の形態１にかかるモデル変換装置１によりモデル変換を行う変換対象の３次元形状モデルの一例を示す斜視図である。図３は、実施の形態１にかかるモデル変換方法の手順を説明するフローチャートである。
【００２７】
まず、境界表現モデル入力部２が、外部データとして外部から与えられた３次元形状モデル２１の境界表現モデルのデータ（境界表現モデルデータ）を受理し、境界表現モデルデータ記憶部８に格納して記憶させる。境界表現モデルのデータには、フェース、エッジ、頂点の各境界要素と、各境界要素に関連付けられた曲面データ、曲線データ、点データの各幾何データが含まれている。
【００２８】
次に、オクト分割処理部３は、境界表現モデルデータ記憶部８に記憶された３次元形状モデル２１の境界表現モデルの全体を包含（内包）する適当なサイズの基準立方領域を設定する。オクト分割処理部３は、この基準立方領域を最初の区画として、この区画の外接球領域を横切る３次元形状モデル２１の境界表現モデルのフェースを選別する。この段階では、境界表現モデルの全てのフェースが区画の外接球領域を横切ることになり、明らかに規定数Ｎを超えている。このため、オクト分割処理部３は、その区画（基準立方領域）を８個の部分的な区画にオクト分割する。
【００２９】
次に、オクト分割処理部３は、オクト分割されたそれぞれの区画について、その区画の外接球領域を横切る境界表現モデルのフェースを選別し、その個数を調べる。オクト分割処理部３は、フェースの個数が規定数Ｎ以下になった区画（オクト分割終了区画）については、オクト分割を終了し、オクト分割終了区画毎にフェースのリスト情報（区画フェースリスト情報）を作成して、該区画フェースリスト情報をフェースグループ化処理部４に送信する。フェースグループ化処理部４は、オクト分割処理部３から送信された、フェースの個数が規定数Ｎ以下になった区画（オクト分割終了区画）のフェースのリスト情報（区画フェースリスト情報）を受信する。なお、外接球領域を横切る境界表現モデルのフェースが存在しない区画については、フェースが存在しない旨のリストが作成される。
【００３０】
図４は、オクト分割されたオクト分割終了区画３１と該オクト分割終了区画３１の外接球領域を横切るフェースとの関係の一例を説明する図である。図４では、何段階かのオクト分割が行われた後のあるオクト分割終了区画３１の外接球領域を横切るフェースとしてフェース３２〜フェース３６の５個のフェースが選別されて、規定数Ｎ以下になりオクト分割終了区画３１に対するオクト分割が終了した状態を示している。図４（ａ）は、オクト分割終了区画３１の外接球領域を横切るフェースとして選別されたフェース３２〜フェース３６の５個のフェースを示す図である。図４（ｂ）は、オクト分割終了区画３１と境界表現モデルとの位置関係を示す上面図である。図４（ｃ）は、オクト分割終了区画３１と境界表現モデルとの位置関係を示す正面図である。図４（ａ）において、フェース３３は、正面側から見て奥側に位置してフェース３２に連結するフェースである。図４（ａ）において、フェース３６は、正面側から見て奥側に位置してフェース３４に連結するフェースである。
【００３１】
フェースが着目中の区画の外接球領域を横切るか否かは、外接球の中心である区画の中心点からフェースまでの最短距離（距離場）を求めて、その値が区画の対角長の半分、すなわち、外接球の半径よりも小さければそのフェースは区画を横切ると判定することができる。オクト分割処理部３は、分割された全ての区画の外接球領域を横切る境界表現モデルのフェースの個数が規定数Ｎ以下になるまで、オクト分割を実施する（ステップＳ１０）。
【００３２】
次に、フェースグループ化処理部４は、区画の外接球領域を横切るフェースの個数が規定数Ｎ以下になった区画（オクト分割終了区画）のそれぞれに対して、オクト分割処理部３から受け渡されたフェースのリスト情報について該フェースのリスト情報内のフェース同士がこの区画の外接球領域内でエッジを介して連結しているか否か、すなわち連結関係を有するか否かを、境界要素間の接続関係から判定する。フェース同士の連結関係は、フェースグループ化処理部４が境界表現モデルデータ記憶部８に記憶された境界表現モデルデータのフェース間の接続関係を参照することにより判断する。
【００３３】
そして、フェースグループ化処理部４は、オクト分割終了区画のそれぞれに対して、該フェースのリスト情報内のフェース同士の連結関係の連鎖をたどって相互に到達可能なフェースの組み合わせを求め、該相互に到達可能なフェースを１つの群としたグループ化を行う（ステップＳ２０）。すなわち、フェースグループ化処理部４は、各オクト分割終了区画について、外接球領域内でのフェースの連結関係を判断し、該外接球領域を横切るフェースを連結関係のない独立した単位群に分類する。例えば図４に示す例では、オクト分割終了区画３１のフェースのリスト情報内のフェースが、連結関係を有するフェース３２とフェース３３との２つのフェースからなる群と、連結関係を有するフェース３４とフェース３５とフェース３６との３つのフェースからなる群との２つの組み合わせに分かれてグループ化される。
【００３４】
そして、フェースグループ化処理部４は、グループ化された群に属するフェースのリスト情報（群フェースリスト情報）を作成し、群毎に部分論理式導出部５に送信する。部分論理式導出部５は、フェースグループ化処理部４から送信されたグループ化された群に属するフェースのリスト情報（群フェースリスト情報）を受信する。
【００３５】
部分論理式導出部５は、フェースグループ化処理部４によってグループ化された個々の群に属するフェースのリスト情報（群フェースリスト情報）を受け取ると、各群フェースリスト情報内でフェース同士を連結している共通エッジの凹凸性を調べ、グループ化された個々の群内のフェース間の論理式を凹凸性の組み合わせに基づいて部分論理式として導出する（ステップＳ３０）。論理式の導出方法は以下の通りである。
【００３６】
まず、群フェースリスト情報内のフェースがただ１つの場合は、部分論理式導出部５は、単項の論理式を導出する。
【００３７】
群フェースリスト情報内のフェースが２つのケースでは、部分論理式導出部５は、共通エッジの凹凸性が凸の場合は論理積（∩)による二項式を、共通エッジの凹凸性が凹の場合は論理和（∪）による二項式をそれぞれ導出する。すなわち、共通エッジ凹凸性が凸の場合は、関係する個々のフェースの曲面を境界面とする半空間についての論理積（∩）による二項式を導出する。また、共通エッジの凹凸性が凹の場合は関係する個々のフェースの曲面を境界面とする半空間についての論理和（∪）による二項式を導出する。図４に示す例では、フェース３２とフェース３３との２つのフェースからなる群については、共通エッジの凹凸性は凸である。この場合、フェース３２を記号Ａで、フェース３３を記号Ｂで表すと、フェース間の論理式は「Ａ  ∩  Ｂ」として導出される。
【００３８】
群フェースリスト情報内のフェースが３つ以上のケースでは、まず部分論理式導出部５は、個々の群フェースリスト情報について、群フェースリスト情報内のフェースの全てのフェースのペアについて、すなわち２つのフェースの組み合わせについてフェース同士が連結しているかどうかを調べる。部分論理式導出部５は、フェース同士が連結しているフェースのペアについては、共通エッジの凹凸性を調べる。全てのフェースのペアでフェース同士が連結している場合には、共通エッジの凹凸性の組み合わせから論理式が一意に決定される。
【００３９】
図４に示す例では、フェース３４とフェース３５とフェース３６との３つのフェースからなる群については、フェース３４とフェース３５とのペア、フェース３４とフェース３６とのペア、フェース３５とフェース３６とのペアの３つのペアは、いずれも凸エッジを介して連結している。すなわち、この３つのペアは、いずれも共通エッジの凹凸性は凸である。この場合、フェース３４を記号Ｃで、フェース３５を記号Ｄで、フェース３６を記号Ｅで表すと、フェース間の論理式は「Ｃ  ∩  Ｄ  ∩  Ｅ」として導出される。
【００４０】
フェース同士が直接連結していないペアがある場合、部分論理式導出部５は、いずれか１つのフェースを除外した残りのフェースを対象にして部分的な論理式の導出を試みる。部分的な論理式が導出できた場合は、部分論理式導出部５は、除外したフェースに連結する他のフェースとの共通エッジの凹凸性に基づき、部分的な論理式に除外したフェースの項を挿入することで全体の論理式を導出する。
【００４１】
そして、部分論理式導出部５は、各オクト分割終了区画について、群単位で導出した各論理式（部分論理式）を論理式合成部６に送信する。論理式合成部６は、部分論理式導出部５から送信された論理式（部分論理式）を受信する。
【００４２】
次に、論理式合成部６は、部分論理式導出部５において群単位で導出した論理式を部分論理式とし、それぞれのオクト分割終了区画の外接球領域を横切るフェース間の論理式を部分論理式から合成する（ステップＳ４０）。その方法は、以下の通りである。
【００４３】
オクト分割終了区画において群がただ一つの場合は、論理式合成部６は、部分論理式自身をそのオクト分割終了区画毎のフェース間の論理式として導出する。
【００４４】
オクト分割終了区画において群の数が２個以上の場合は、まず論理式合成部６は、各群のフェースについて区画の中心点からの最近接距離を求めて該中心点から最も離れた群（最遠の群）を特定する。そして、論理式合成部６は、区画内の複数の群から該中心点から最も離れた群（最遠の群）を除外した残りの群を対象として論理式を合成する。
【００４５】
次に、論理式合成部６は、除外した最遠の群に対して、区画の中心点がその内部領域にあるか、または外部領域にあるかを判別する。最遠の群を除外した残りの群を対象として合成した論理式をＸとし、最遠の群に対して部分論理式導出部５にて導出した部分論理式をＹとするとき、論理式合成部６は、区画全体の論理式は区画の中心点が最遠の群の内部領域にあれば「Ｘ  ∩  Ｙ」、区画の中心点が最遠の群の外部領域にあれば「Ｘ  ∪  Ｙ」として論理式を合成することができる。このようにして合成された論理式がそのオクト分割終了区画のフェース間の論理式として導出される。そして、論理式合成部６は、各オクト分割終了区画に区画全体の論理式をボクセルモデル構築部７に送信する。論理式合成部６では、上記の処理がオクト分割終了区画毎に行われる。
【００４６】
次に、ボクセルモデル構築部７は、着目したオクト分割終了区画に対し、該オクト分割終了区画に対応したセルのデータ（ボクセルデータ）を作成する。また、ボクセルモデル構築部７は、オクト分割処理部３が出力した区画フェースリスト情報を受け取って、着目するオクト分割終了区画の外接球領域を横切るフェースのそれぞれの曲面データを境界表現モデルデータ記憶部８に記憶された境界表現モデルから取得するとともに、論理式合成部６によって得られたオクト分割終了区画毎のフェース間の論理式のデータを該曲面データと組み合わせて、セルの内部データ（幾何情報）を作成する。
【００４７】
そして、ボクセルモデル構築部７は、全てのオクト分割終了区画に対してセルのデータ（ボクセルデータ）とセルの内部データ（幾何情報）とを作成することによりボクセルモデル全体のオクトリ構造を構築する（ステップＳ５０）。なお、外接球領域を横切るフェースが存在しないオクト分割終了区画においては、セルの内部データは作成されない。また、ボクセルモデルの各セルに格納されるフェースの曲面データは、該セルが占める領域において各フェースの曲面が個々に作る距離場を表現するデータによって記述されることが好ましい。フェースの曲面が作る距離場は、任意の座標点についてその点から対象曲面までの符号付き最短距離値を場の値とするスカラー場であり、例えば、曲面を境界面とする半空間の内部側領域に点が位置する場合は負の距離値、外部側領域に位置する場合は正の距離値をとなるように規定することで、半空間同士の論理和（∪）は距離値の最小値（−∞に近い側）を選択する演算、論理積（∩）は距離値の最大値（＋∞に近い側）を選択する演算に帰着させることができる。これにより、論理式を数値同士の大小比較演算によって統一的に処理できると言う利点が得られる。
【００４８】
次に、ボクセルモデル構築部７は、作成したセルのデータ（ボクセルデータ）とセルの内部データとにより構築されたボクセルモデル全体のオクトリ構造データ（ボクセルモデルデータ）をボクセルモデルデータ記憶部９に送信して、記憶させる。これにより、３次元形状モデルの境界表現モデルからボクセルモデルへの変換処理が終了する。
【００４９】
上述したように、実施の形態１によれば、オクト分割終了区画に対応するセルのデータ（ボクセルデータ）を作成するとともに、フェース同士の交差関係を示すフェース間の論理式を連結されたフェース間の共通エッジの凹凸性から導出し、各フェースの曲面データとフェース間の論理式とを用いてセル内の部分形状のディテールを表現する。これにより、フェース間の論理式と曲面データとの組み合わせにより変換元の境界表現モデルと同等のディテールを表現可能なボクセルモデルを構築することができる。すなわち、オクト分割による境界表現モデルのフェースの選別と群へのグループ化、および、グループ化された群毎のフェース間の部分論理式の導出と全体論理式の合成とによりボクセルモデルのセルデータを作成することができ、少ない計算負荷で境界表現モデルからボクセルモデルへの変換を行うことが可能となる。
【００５０】
これにより、実施の形態１によれば、境界データ（面）同士の交差関係や個々の面の幾何情報が失われず、変換元の形状のディテールを損なうことなく、少ない計算負荷で境界表現モデルからボクセルモデルへの変換が可能となる。
【００５１】
実施の形態２．
図５は、実施の形態２にかかるモデル変換装置４０の構成を示すブロック図である。モデル変換装置４０は、実施の形態１にかかるモデル変換装置１の各処理部および記憶部に加えて、三角パッチデータ生成部４１と三角パッチデータ記憶部４２を新たに備えている。
【００５２】
三角パッチデータ生成部４１は、境界表現モデルデータ記憶部８に記憶された境界表現モデルを所定の精度で近似した三角パッチデータを生成し、作成した三角パッチデータと該三角パッチデータの生成元の境界表現モデルのフェースとの対応関係とを合わせて三角パッチデータ記憶部４２に格納して記憶させる。
【００５３】
さらに、実施の形態２では、オクト分割処理部３および論理式合成部６は、それぞれの処理において三角パッチデータ記憶部４２に記憶された三角パッチデータを参照することができるようにその動作が変更されている。
【００５４】
すなわち、オクト分割処理部３は、オクト分割した各区画の外接球領域を横切る境界表現モデルのフェースを選別する際、三角パッチデータ記憶部４２に記憶された三角パッチデータの各三角パッチについて区画の中心点からの最近接距離を求める。そして、最近接距離が区画の対角長の半分に三角パッチデータ生成時の近似精度を加えた距離以下である場合には、オクト分割処理部３は、その三角パッチの生成元のフェースは区画の外接球領域を横切るものとして扱うことができるようにその動作が変更されている。
【００５５】
また、論理式合成部６は、群の数が２個以上であるオクト分割終了区画について処理する際、三角パッチデータ記憶部４２に記憶されている三角パッチデータと該三角パッチデータの生成元の境界表現モデルのフェースとの対応関係の情報とを参照して、それぞれの群に属するフェースから生成された各三角パッチについてオクト分割終了区画の中心点からの最近接距離を求める。そして、論理式合成部６は、求めた最近接距離を比較することで、該最近接距離が最も長い三角パッチに対応するフェースを求め、該フェースの属する群を除外対象となる最遠の群として決定するようにその動作が変更されている。実施の形態２にかかるモデル変換装置４０におけるその他の処理については、実施の形態１にかかるモデル変換装置１の場合と同様である。
【００５６】
上述したように、実施の形態２によれば、オクト分割された各区画の外接球領域を横切る境界表現モデルのフェースを選別する際に、区画の中心点からフェースまでの最近接距離を求める代わりに計算量の少ない三角パッチに対する最近接距離を用いる。また、実施の形態２によれば、複数の群からなるオクト分割終了区画に対する論理式を合成する際のオクト分割終了区画の中心からの最遠の群を特定する際に、計算量の少ない三角パッチに対するオクト分割終了区画の中心点からの最近接距離を求め、求めた最近接距離を比較することで除外対象となる最遠の群を決定するようにしたので、さらに少ない計算負荷で境界表現モデルからボクセルモデルへの変換を行うことが可能となる。
【００５７】
なお、実施の形態２にかかるモデル変換装置４０においては、実施の形態１にかかるモデル変換装置１と同様の処理を行うことが可能であり、実施の形態１にかかるモデル変換処理と、実施の形態２にかかるモデル変換処理とを任意に切り換えて実施できる。
【００５８】
実施の形態３．
上述した実施の形態１および実施の形態２にかかるモデル変換装置において実行される３次元モデル変換方法を、該３次元モデル変換方法の処理手順が格納された３次元モデル変換プログラムとして構成し、このプログラムを図６に示すようにＣＰＵ、記憶装置等を有するコンピュータ装置で実行することによって実現することができる。
【００５９】
図６は、実施の形態１および実施の形態２にかかるモデル変換装置としての機能を実現するコンピュータ装置１００の構成の一例を模式的に示すブロック図である。図６に示されるように、コンピュータ装置１００は、ＬＣＤ（Liquid  Crystal  Display）などの表示装置１０１、キーボードなどの入力装置１０２、演算を行うＣＰＵ１０３、ＲＯＭ（Read  Only  Memory）などの不揮発性メモリ１０４、ＲＡＭ（Random  Access  Memory）などの揮発性メモリ１０５、表示装置１０１に表示する表示画面を記憶する表示用メモリ１０６、フラッシュメモリなどの着脱可能な外部メモリとのインタフェースである外部メモリインタフェース１０７、外部機器との間で通信を行う通信インタフェース１０８などがバス１０９を介して接続された構成を有する。なお、表示装置１０１および表示用メモリ１０６が含まれない構成としてもよい。
【００６０】
そして、不揮発性メモリ１０４に格納された上記の３次元モデル変換方法の処理手順が記述されたプログラムが揮発性メモリ１０５にロードされ、ＣＰＵ１０３によって実行される。このプログラムは、ハードディスク、ＣＤ（Compact  Disk）−ＲＯＭ（Read  Only  Memory）、ＭＯ（Magneto-Optical  disk）、ＤＶＤ（Digital  Versatile  DiskまたはDigital  Video  Disk）などのコンピュータ装置で読取可能な記録媒体に記録され、または、このプログラムは、インターネットなどのネットワーク（通信回線）を介して配布することもできる。この場合には、通信インタフェース１０８を介して接続された情報処理端末からプログラムが不揮発性メモリ１０４上に格納される。
【産業上の利用可能性】
【００６１】
以上のように、本発明にかかるモデル変換方法は、境界表現モデルで表現された変換元の３次元形状のディテールを損なうことなく、少ない計算負荷で３次元形状の境界表現モデルからボクセルモデルへ変換する場合に有用である。
【符号の説明】
【００６２】
１  モデル変換装置、２  境界表現モデル入力部、３  オクト分割処理部、４  フェースグループ化処理部、５  部分論理式導出部、６  論理式合成部、７  ボクセルモデル構築部、８  境界表現モデルデータ記憶部、９  ボクセルモデルデータ記憶部、１１  表示装置、２１  ３次元形状モデル、３１  オクト分割終了区画、３２，３３，３４，３５，３６  フェース、４０  モデル変換装置、４１  三角パッチデータ生成部、４２  三角パッチデータ記憶部、１００  コンピュータ装置、１０１  表示装置、１０２  入力装置、１０３  ＣＰＵ、１０４  不揮発性メモリ、１０５  揮発性メモリ、１０６  表示用メモリ、１０７  外部メモリインタフェース、１０８  通信インタフェース、１０９  バス。
【図１】
2015035097.tif 000003
【図２】
2015035097.tif 000004
【図３】
2015035097.tif 000005
【図４】
2015035097.tif 000006
【図５】
2015035097.tif 000007
【図６】
2015035097.tif 000008