(57)【要約】【課題】ボクセル形式の３次元モデルの形状を直接簡略化する３次元モデルの形状簡略化装置、３次元モデルの形状簡略化方法及び３次元モデルの形状簡略化プログラムを提供する。【解決手段】３次元モデル入力部１１が３次元モデルのボクセルデータを入力して、３次元モデル記憶部１２に記憶し、簡略化仕様入力部１３が簡略化仕様を入力し、事前データ生成部１４が３次元モデルのボクセルデータと簡略化仕様とに基づいて形状参照用ボクセルデータと形状変換用ボクセルデータとを生成し、簡略化計算部１５が３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該３次元モデルのボクセルデータから該形状参照用ボクセルデータを検出し、該検出された形状参照用ボクセルデータを形状変換用ボクセルデータに変換する。【選択図】図３
2008197776.tif 000002
【特許請求の範囲】
【請求項１】
ボクセル形式の３次元モデルの形状を簡略化する装置であって、
上記３次元モデルのボクセルデータを入力して記憶手段に記憶する３次元モデル入力手段と、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する簡略化仕様入力手段と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する事前データ生成手段と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する簡略化計算手段とを備える
ことを特徴とする３次元モデルの形状簡略化装置。
【請求項２】
上記事前データ生成手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、  上記簡略化計算手段が、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする請求項１に記載の３次元モデルの形状簡略化装置。
【請求項３】
上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、２次元のボクセルデータである
ことを特徴とする請求項２に記載の３次元モデルの形状簡略化装置。
【請求項４】
上記事前データ生成手段が、更に、上記簡略化対象となる形状のボクセルデータとして、上記３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記簡略化計算手段が、上記記憶手段に記憶された３次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする請求項１に記載の３次元モデルの形状簡略化装置。
【請求項５】
上記簡略化計算手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする請求項１に記載の３次元モデルの形状簡略化装置。
【請求項６】
上記簡略化計算手段が、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする請求項１に記載の３次元モデルの形状簡略化装置。
【請求項７】
上記簡略化計算手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の３次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする請求項１に記載の３次元モデルの形状簡略化装置。
【請求項８】
ボクセル形式の３次元モデルの形状を簡略化する方法であって、
上記３次元モデルのボクセルデータを入力して記憶手段に記憶するステップと、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力するステップと、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成するステップと、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化するステップとを有する
ことを特徴とする３次元モデルの形状簡略化方法。
【請求項９】
ボクセル形式の３次元モデルの形状を簡略化するプログラムであって、
コンピュータに、
上記３次元モデルのボクセルデータを入力して記憶手段に記憶する処理と、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する処理と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する処理と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する処理とを実行させる
ことを特徴とする３次元モデルの形状簡略化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデルの形状簡略化装置、３次元モデルの形状簡略化方法及び３次元モデルの形状簡略化プログラムに関し、特に、３次元モデルのボクセルデータを直接簡略化する３次元モデルの形状簡略化装置、３次元モデルの形状簡略化方法及び３次元モデルの形状簡略化プログラムに関する。
【背景技術】
【０００２】
従来、３次元モデルの形状を簡略化する技術として、簡略化対象の３次元モデルのボクセルデータをサーフェス（表面ポリゴン）データに変換し、該サーフェスデータに対して形状簡略化処理を行う方法があった。
３次元モデルのボクセルデータとは、規則的な構造の格子で３次元空間を離散化し、各格子点はその位置が形状の内部か外部かを表すデータ形式（ボクセル形式と呼ぶ）のデータである。
【０００３】
従来の具体的な３次元モデルの形状簡略化技術として、下記の特許文献１に、境界表現形式で表現された形状モデルを内部データ構造に変換し、形状データから幾何学的特徴を抽出し、該抽出された幾何学的特徴を使って簡略化形状を生成する形状簡略化方法に関して記載されている。
【特許文献１】特開平６−２５９５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
３次元モデルのボクセルデータを用いて有限要素法による構造解析などを行う場合、該有限要素法による構造解析において分割するメッシュの数を減らすことによって、解析の計算量を削減することが求められる。上記メッシュの数を減らすためには、解析対象となる３次元モデルの形状を簡略化することが必要であり、また、解析全体の計算量の削減のためには、３次元モデルの形状の簡略化処理量を削減することが必要である。
さらに、３次元モデルをコンピュータ画面に描画する際にも、３次元モデルの形状を簡略化して描画処理量を削減することが必要である。
【０００５】
しかし、簡略化対象の３次元モデルのボクセルデータをサーフェスデータに変換し、該サーフェスデータに対して形状簡略化処理を行う上記従来技術では、３次元モデルのボクセルデータをサーフェスデータに変換しなければならないことから、該３次元モデルの形状を直接簡略化できない。また、サーフェスデータへの変換処理に無駄な時間がかかる。従って、上記従来技術では、３次元モデルの形状の簡略化処理量を削減することが困難である。
また、上記特許文献１に記載された技術では、ボクセル形式の３次元モデルに対する簡略化方法を示していない。該特許文献１に記載された技術を使ってボクセル形式の３  次元モデルに対して形状の簡略化を行う場合、前処理として境界表現のデータ形式への変換、及び、後処理として境界表現の簡略化形状のボクセル形式への変換が必要となり、処理時間が長くなる。
【０００６】
本発明は上記問題点を解決するためになされたものであって、ボクセル形式の３次元モデルの形状を直接簡略化する３次元モデルの形状簡略化装置、３次元モデルの形状簡略化方法及び３次元モデルの形状簡略化プログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、以下のようにして、３次元モデルの形状を簡略化する。３次元モデルの形状の簡略化とは、例えば、図１（Ａ）に示すような、平面Ａと平面Ｂとが交差するエッジ部に丸みがついた形状（フィレット形状）を、図１（Ｂ）に示すような、平面Ａと平面Ｂだけから構成されるエッジ部を有する角付き形状にすることや、図２（Ａ）に示すような、薄い板に小さな穴が開いた形状を、図２（Ｂ）に示すような、穴がない形状にすることなど、定型の規則に従った形状変換のことをいう。本発明における３次元モデルの形状の簡略化は、図１及び図２に示した形状簡略化の例に限定されない。例えば、本発明は、表面に凹凸を有する３次元モデルを該凹凸がない３次元モデルに変換するようにしてもよい。
【０００８】
本発明の３次元モデルの形状簡略化装置は、例えば、簡略化対象となる部品の３次元モデルと、簡略化に関する形状の仕様（簡略化仕様）を入力する。部品の３次元モデルはボクセル形式のデータ（ボクセルデータ）とする。簡略化仕様は、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類である。例えば、簡略化対象となる形状がフィレット形状の場合、簡略化対象となる形状の種類としてフィレット形状を入力し、該フィレット形状の閾値として丸みの半径を入力する。また、簡略化後の形状の種類として、例えば角付き形状を入力する。
次に、本発明の３次元モデルの形状簡略化装置は、入力された部品の３次元モデルのボクセルデータと簡略化仕様とに基づいて、簡略化対象となる形状のボクセルデータと簡略化後の形状のボクセルデータとを生成する。例えば、簡略化対象となる形状のボクセルデータとして、入力された半径のフィレット形状を含むボクセルデータが生成され、簡略化後の形状のボクセルデータとして、角付き形状を含むボクセルデータが生成される。
次に、本発明の３次元モデルの形状簡略化装置は、上記入力された部品の３次元モデルのボクセルデータから局所範囲のボクセルデータを切り出して、上記生成された簡略化対象となる形状のボクセルデータと比較する。
【０００９】
本発明の３次元モデルの形状簡略化装置は、該切り出された局所範囲のボクセルデータと生成された簡略化対象となる形状のボクセルデータとの間の相関が高ければ、該切り出された局所範囲は簡略化対象となる形状であると判断し（簡略化対象となる形状のボクセルデータを検出し）、該局所範囲のボクセルデータを上記生成された簡略化後の形状のボクセルデータに置き換える。局所範囲のボクセルデータと生成された簡略化対象となる形状のボクセルデータとの間の相関が高い場合とは、例えば、局所範囲のボクセルデータと生成された簡略化対象となる形状のボクセルデータとの間で、ボクセル値が一致する場合である。上述した操作を局所範囲の切り出し位置を変えながら行う。
【００１０】
すなわち、本発明においては次のようにして前記課題を解決する。
（１）ボクセル形式の３次元モデルの形状を簡略化する３次元モデルの形状簡略化装置を設ける。上記３次元モデルの形状簡略化装置は、上記３次元モデルのボクセルデータを入力して記憶手段に記憶する３次元モデル入力手段と、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する簡略化仕様入力手段と、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する事前データ生成手段と、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する簡略化計算手段とを備える。
（２）上記事前データ生成手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、上記簡略化計算手段が、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える。
（３）上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、２次元のボクセルデータである。
（４）上記事前データ生成手段が、更に、上記簡略化対象となる形状のボクセルデータとして、上記３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、上記簡略化計算手段が、上記記憶手段に記憶された３次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する。
（５）上記簡略化計算手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
（６）上記簡略化計算手段が、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する。
（７）上記簡略化計算手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の３次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する。
（８）ボクセル形式の３次元モデルの形状を簡略化する３次元モデルの形状簡略化方法を用いる。上記３次元モデルの形状簡略化方法が、上記３次元モデルのボクセルデータを入力して記憶手段に記憶するステップと、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力するステップと、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成するステップと、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化するステップとを有する。
（９）ボクセル形式の３次元モデルの形状を簡略化する３次元モデルの形状簡略化プログラムを設ける。上記３次元モデルの形状簡略化プログラムが、コンピュータに、上記３次元モデルのボクセルデータを入力して記憶手段に記憶する処理と、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する処理と、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する処理と、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する処理とを実行させる。
【発明の効果】
【００１１】
本発明の３次元モデルの形状簡略化装置、３次元モデルの形状簡略化方法及び３次元モデルの形状簡略化プログラムは、３次元モデルのボクセルデータと簡略化仕様とに基づいて、簡略化対象となる形状のボクセルデータを生成し、上記３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する。好ましくは、本発明の３次元モデルの形状簡略化装置は、上記３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、簡略化後の形状のボクセルデータを生成し、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える。従って、本発明によれば、従来技術のように簡略化対象の３次元モデルのボクセルデータをサーフェスデータに変換することなく、ボクセル形式の３次元モデルの形状を直接簡略化することができる。
【００１２】
また、本発明の３次元モデルの形状簡略化装置は、上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータとして、２次元のボクセルデータを生成する。従って、本発明によれば、３次元モデルにおける２次元の形状を直接簡略化することができる。
【００１３】
また、本発明の３次元モデルの形状簡略化装置は、上記簡略化対象となる形状のボクセルデータとして、上記３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成する。また、本発明の３次元モデルの形状簡略化装置は、上記記憶手段に記憶された３次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する。従って、本発明によれば、一つの形状参照用ボクセルデータで簡略化対象の形状を持つボクセルデータを複数検出することができる。
【００１４】
また、本発明の３次元モデルの形状簡略化装置は、３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する。従って、本発明によれば、上記３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとの比較処理量を削減することができる。
【００１５】
また、本発明の３次元モデルの形状簡略化装置は、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する。従って、例えば上記ボクセル間隔を２以上のボクセル間隔とすれば、上記３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとの比較処理量を削減することができる。
【００１６】
また、本発明の３次元モデルの形状簡略化装置は、３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の３次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する。従って、本発明によれば、上記３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとの比較処理量を大幅に削減することができる。
【発明を実施するための最良の形態】
【００１７】
以下に、図３乃至１６を参照して、本発明の第１の実施の形態について説明する。
図３は、本発明の第１の実施の形態のシステム構成の一例を示す図である。３次元モデルの形状簡略化装置１は、ボクセル形式の３次元モデルの形状を簡略化する処理装置である。
【００１８】
３次元モデルの形状簡略化装置１は、３次元モデル入力部１１、３次元モデル記憶部１２、簡略化仕様入力部１３、事前データ生成部１４、簡略化計算部１５、３次元モデル出力部１６を備える。
３次元モデル入力部１１は、３次元モデルのボクセルデータを入力して３次元モデル記憶部１２に記憶する。入力されるボクセルデータは、全体のボクセル数やボクセルサイズなどの格子構造を表すデータと、形状を表すボクセル値とから構成される。
３次元モデル記憶部１２には、入力された３次元モデルのボクセルデータが記憶される。簡略化仕様入力部１３は、簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する。例えば、簡略化仕様入力部１３は、３次元モデルの形状簡略化装置１のユーザの指定に従って、簡略化対象となる形状の種類として直角エッジ部のフィレット形状、該形状の寸法に関する閾値として丸みの半径、簡略化後の形状として角付き形状を入力する。
【００１９】
事前データ生成部１４は、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータと簡略化後の形状のボクセルデータとを事前データとして生成する。具体的には、事前データ生成部１４は、入力された簡略化仕様に基づいて、簡略化対象となる形状と簡略化後の形状を決定し、３次元モデル記憶部１２に記憶された３次元モデルからボクセル構造情報を取得する。そして、事前データ生成部１４は、上記決定された簡略化対象となる形状を簡略化対象となる形状のボクセルデータ（以下、「形状参照用ボクセルデータ」という）に変換するとともに、上記決定された簡略化後の形状を簡略化後の形状のボクセルデータ（以下、「形状変換用ボクセルデータ」という）に変換する。その結果、例えば、図４（Ａ）に示すような形状参照用ボクセルデータと図４（Ｂ）に示す形状変換用ボクセルデータとが生成される。
【００２０】
簡略化計算部１５は、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータと事前データ生成部１４によって生成された形状参照用ボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを形状変換用ボクセルデータに置き換えて、該３次元モデルのボクセルデータの形状を簡略化する。
具体的には、簡略化計算部１５は、図５に示すような形状簡略化処理を行う。図５は形状簡略化処理の概要を説明する図である。簡略化計算部１５は、３次元モデル記憶部１２から図５（Ａ）に示す３次元モデルのボクセルデータ（以下、「モデル１」という）を抽出し、抽出されたモデル１をコピーして、図５（Ｂ）に示す３次元モデルのボクセルデータ（以下、「モデル２」という）を生成する。そして、簡略化計算部１５は、図５（Ａ）に示すモデル１から図５（Ｃ）に示す局所領域のボクセルデータを切り出し、該局所領域のボクセルデータと図５（Ｄ）に示す形状参照用ボクセルデータとを比較して、形状参照用ボクセルデータとの相関が高い局所領域のボクセルデータを検出する。簡略化計算部１５は、図３（Ａ）中の矢印の経路で示すように、モデル１から局所領域のボクセルデータを順次切り出し位置を変えながら切り出して、上記形状参照用ボクセルデータとの比較処理を行う。
【００２１】
モデル１の全ての局所領域について、上記形状参照用ボクセルデータとの比較処理が終了すると、簡略化計算部１５は、上記検出された形状参照用ボクセルデータとの相関が高い局所領域のボクセルデータを、図５（Ｅ）に示す形状変換用ボクセルデータに置き換えて、図５（Ｂ）に示すモデル２に適用する。例えば、図５（Ｃ）に示す局所領域のボクセルデータが図５（Ｄ）に示す形状参照用ボクセルデータとの相関が高い場合、簡略化計算部１５は、図５（Ｂ）に示すモデル２の、図５（Ｃ）に示す局所領域のボクセルデータのモデル１における位置と同一の位置にある領域（図５（Ｂ）中の点線の矩形で囲った領域）のデータを図５（Ｅ）に示す形状変換用ボクセルデータとする。３次元モデル出力部１６は、形状が簡略化された３次元モデルのボクセルデータを出力する。
【００２２】
本発明の一実施形態によれば、上記形状参照用ボクセルデータと上記形状変換用ボクセルデータが、２次元のボクセルデータであってもよい。また、本発明の一実施形態によれば、事前データ生成部１４が、更に、形状参照用ボクセルデータとして、３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、簡略化計算部１５が、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータのボクセル値と形状参照用ボクセルデータのボクセル値とを比較して該３次元モデルのボクセルデータから該形状参照用ボクセルデータを検出するようにしてもよい。
【００２３】
また、本発明の一実施形態によれば、上記簡略化計算部１５が、更に、上記３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較するようにしてもよい。
【００２４】
また、本発明の一実施形態によれば、上記簡略化計算部１５が、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出するようにしてもよい。
【００２５】
また、本発明の一実施形態によれば、上記簡略化計算部１５が、更に、上記３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータと上記形状参照用ボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較するようにしてもよい。
【００２６】
図６は、本発明の第１の実施の形態の３次元モデルの形状簡略化処理フローを示す図である。まず、３次元モデル入力部１１が、３次元モデルのボクセルデータを入力して、３次元モデル記憶部１２に記憶する（ステップＳ１）。次に、簡略化仕様入力部１３が、簡略化仕様を入力する（ステップＳ２）。事前データ生成部１４が、ステップＳ１において３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータとステップＳ２において入力された簡略化仕様とに基づいて、形状参照用ボクセルデータと形状変換用ボクセルデータとを事前データとして生成する（ステップＳ３）。
【００２７】
次に、簡略化計算部１５が、形状簡略化処理を行う（ステップＳ４）。ステップＳ４においては、簡略化計算部１５が、３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該３次元モデルのボクセルデータから該形状参照用ボクセルデータを検出し、該検出されたボクセルデータを形状変換用ボクセルデータに変換することで、該３次元モデルの形状を簡略化する。
そして、３次元モデル出力部１６が、形状が簡略化された３次元モデルのボクセルデータを出力して（ステップＳ５）、処理を終了する。
【００２８】
（３次元モデルのボクセルデータ）
図６のステップＳ１において入力される、３次元モデルのボクセルデータの例について説明する。図７に示すように、３次元空間に直交座標系を設定し、設定された座標軸（Ｘ，Ｙ，Ｚ軸）と辺が平行となる立方体を考える。この立方体を、Ｘ，Ｙ，Ｚ軸のそれぞれについてＮ分割し、分割された小さな立方体（ボクセル）を最小単位とするデータ構造とする。ボクセルの位置に関するパラメータとして、立方体の位置と分割数Ｎが決まれば、各ボクセルの位置や大きさを計算することができる。以下では、立方体の内部を計算領域と呼ぶ。また、１つのボクセルに対する辺の長さをボクセルサイズと呼ぶ。各ボクセルでは、形状に関する値を持つ。ここでは、ボクセルの中心位置が部品の３次元形状の内側ならば１、外側ならば０の値を持つとする。３次元モデル記憶部１２では、ボクセルデータがＮ×Ｎ×Ｎの３次元配列データで記憶され、各配列要素には０か１の値が格納されている。
ボクセルデータ形式には、他にも立方体以外の計算領域の場合や、分割数を座標軸によって変える場合、ボクセルの値としてボクセル中心位置から部品表面までの符号付距離の場合などもあるが、上記と同様にして、３次元モデルのボクセルデータを定義することができる。
【００２９】
（簡略化仕様の入力処理）
図６のステップＳ２における簡略化仕様の入力処理の例について説明する。例えば、簡略化仕様入力部１３は、簡略化対象となる形状の種類として直角エッジ部のフィレット形状を入力し、該フィレット形状の寸法に関する閾値として、丸みの半径を入力し、簡略化後の形状の種類として、角付き形状を入力する。上記入力されるフィレット形状は、例えば、図８（Ａ）に示すような、２つの平面が直交するエッジ部に丸みがついたフィレット形状である。また、入力される丸みの半径は、例えば、図８（Ａ）に示すフィレット形状を上から矢印の方向に見た（断面）図である図８（Ｂ）に示すような一定の曲率を持つ円弧の半径Ｒである。
【００３０】
丸みの半径が簡略化仕様として入力されることにより、該丸みの半径に基づいて、簡略化計算部１５が、後述する形状簡略化処理において、該半径の円弧を持つフィレット形状を簡略化する。また、所定の閾値以下の半径を簡略化仕様として指定すれば、該閾値値以下の半径の円弧を持つフィレットが後述する簡略化処理によって全て簡略化される。また、入力される簡略化の形状の種類は、例えばフィレット形状の円弧を取った、角付き形状である。上記入力された図８（Ａ）に示すフィレット形状は、後述する形状簡略化処理によって、図８（Ｃ）及び図８（Ｃ）を上から矢印の方向に見た（断面）図である図８（Ｄ）に示すような角付き形状に簡略化される。
【００３１】
（事前データの生成処理）
図６のステップＳ３における事前データの生成処理の例について説明する。事前データ生成部１４は、形状参照用ボクセルデータと形状変換用ボクセルデータとを生成する。
まず、事前データ生成部１４は、以下の手順１〜手順３に従って、形状参照用ボクセルデータを生成する。
（手順１）ボクセルデータの大きさＭを計算する。
（手順２）ボクセルデータを格納するＭ×Ｍ×Ｍの大きさの配列を生成する。
（手順３）配列要素に簡略化対象となる形状を表す値を設定する。
ボクセルデータの大きさは、３次元モデルのボクセルサイズＳとフィレットの円弧の半径Ｒから、（Ｒ／Ｓ）以上の大きさが必要であり、更に、後述する形状簡略化処理でボクセルデータの比較を行うためには、少し拡張した大きさが必要である。従って、事前データ生成部４は、例えば次式Ｍ＝（Ｒ／Ｓ）＋２によって示されるＭをボクセルデータの大きさとして算出する。
【００３２】
次に、事前データ生成部４は、Ｍ×Ｍ×Ｍの大きさのボクセルデータに対して、簡略化対象となる形状を表すよう、各ボクセル値を計算する。フィレット形状の場合は、上から見た図に対するＭ×Ｍのボクセルデータを作り、この２次元ボクセルデータをＭ枚重ねたデータとする。２次元ボクセルデータの作り方については、例えば図９に示すように、円弧の中心位置と始点、終点位置を置き、また、図９中に示す線分を置いて表面形状を作る。そして、事前データ生成部４は、各ボクセルの中心位置に対して、表面形状との位置関係を調べ、内部にあれば１、外部にあれば０をボクセルの値として設定する。
【００３３】
次に、事前データ生成部４は、形状変換用ボクセルデータを生成する。ボクセルデータの大きさは形状参照用ボクセルデータと同じとし、簡略化後の形状として、例えば角付き形状を生成する。
事前データ生成部１４は、以下の手順１及び手順２に従って、形状変換用ボクセルデータを生成する。
（手順１）ボクセルデータを格納するＭ×Ｍ×Ｍの大きさの配列を生成する。
（手順２）配列要素に簡略化後の形状を表す値を設定する。
例えば、角付き形状のボクセルデータを形状変換用ボクセルデータとして生成する場合、事前データ生成部４は、例えば図９に示すような形状参照用ボクセルデータと平面の位置（上から見た図で線分の位置）を合わせるように、図１０の太線の線分で示すような表面形状を生成する。形状参照用ボクセルデータと同様に、各ボクセルの中心位置に対して、表面形状との位置関係を調べ、内部にあれば１、外部にあれば０をボクセルの値として設定する。
【００３４】
（形状簡略化処理）
図６のステップＳ４における形状簡略化処理の例について説明する。図１１は、モデル１と形状参照用ボクセルデータとの比較処理を説明する図である。簡略化計算部１５は、３次元モデル記憶部１２から、例えば図１１（Ａ）に示すようなモデル１を抽出する。また、簡略化計算部１５は、抽出されたモデル１をコピーして、例えば後述する図１２（Ａ）に示すモデル２とする。
【００３５】
簡略化計算部１５は、図１１（Ａ）に示すモデル１における点線の矩形で囲った局所領域のボクセルデータと形状参照用ボクセルデータとを比較して、該形状参照用ボクセルデータとボクセル値が同一である局所領域のボクセルデータを検出する。例えば、図１１（Ａ）に示す点線の矩形で囲った局所領域のボクセルデータは、形状参照用ボクセルデータとボクセル値が一致しない。
【００３６】
簡略化計算部１５は、モデル１から局所領域のボクセルデータを予め定められたボクセル間隔で順次シフトしながら（ずらしながら）切り出す。この例では、１ボクセルずつずらしながら局所領域のボクセルデータを切り出し、切り出された局所領域のボクセルデータと形状参照用ボクセルデータとを比較する。例えば、図１１（Ｂ）に示すモデル１における点線の矩形で囲った局所領域のボクセルデータは、形状参照用ボクセルデータとボクセル値が一致するので、簡略化計算部１５は、該局所領域のボクセルデータを形状参照用ボクセルデータとして検出する。
次に、簡略化計算部１５は、以下に図１２を参照して説明するように、上記形状参照用ボクセルデータとして検出された局所領域のボクセルデータを形状変換用ボクセルデータに置き換える。
【００３７】
図１２は、モデル２を形状変換用ボクセルデータで置き換える処理を説明する図である。例えば、簡略化計算部１５は、図１２（Ａ）に示すように、モデル２における点線の矩形で囲った局所領域のボクセルデータを形状変換用ボクセルデータに置き換える。該置き換え処理によって、モデル２における上記局所領域のボクセルデータが図１２（Ｂ）に示すような３次元ボクセルデータに置き換わる。簡略化計算部１５は、該置き換え処理を形状参照用ボクセルデータとして検出された局所領域のボクセルデータの全てについて行うことによって、モデル２の形状を簡略化する。
【００３８】
図１３乃至１６を参照して、図６のステップＳ４における形状簡略化処理の詳細な例について説明する。この例では、上記モデル１、モデル２、形状参照用ボクセルデータ、形状変換用ボクセルデータを次のように定義する。
モデル１のボロノイデータ：Ｍｏｄｅｌ１［ｉ１］［ｊ１］［ｋ１］（ｉ１＝１〜Ｎ，ｊ１＝１〜Ｎ，ｋ１＝１〜Ｎ，ｉ１，ｊ１，ｋ１はそれぞれＸ，Ｙ，Ｚ軸方向の配列番号）
モデル２のボロノイデータ：Ｍｏｄｅｌ２［ｉ１］［ｊ１］［ｋ１］（ｉ１＝１〜Ｎ，ｊ１＝１〜Ｎ，ｋ１＝１〜Ｎ，ｉ１，ｊ１，ｋ１はそれぞれＸ，Ｙ，Ｚ軸方向の配列番号）
形状参照用ボクセルデータ：Ｒｅｆ［ｉ２］［ｊ２］［ｋ２］（ｉ２＝１〜Ｍ，ｊ２＝１〜Ｍ，ｋ２＝１〜Ｍ，ｉ２，ｊ２，ｋ２はそれぞれＸ，Ｙ，Ｚ軸方向の配列番号）
形状変換用ボクセルデータ：Ｎｅｗ［ｉ３］［ｊ３］［ｋ３］（ｉ３＝１〜Ｍ，ｊ３＝１〜Ｍ，ｋ３＝１〜Ｍ，ｉ３，ｊ３，ｋ３はそれぞれＸ，Ｙ，Ｚ軸方向の配列番号）
【００３９】
上記定義されたＭｏｄｅｌ１［ｉ１］［ｊ１］［ｋ１］は、０又は１のボクセル値をとる３次元配列データであり、配列番号ｉ１，ｊ１、ｋ１が指定されると、指定された配列番号で決まる座標を持つボクセルのボクセル値（０又は１）が決定される。Ｍｏｄｅｌ２［ｉ１］［ｊ１］［ｋ１］についても同様である。
Ｒｅｆ［ｉ２］［ｊ２］［ｋ２］は、０又は１のボクセル値をとる３次元配列データであり、配列番号ｉ２，ｊ２、ｋ２が指定されると、指定された配列番号で決まる座標を持つボクセルのボクセル値（０又は１）が決定される。
Ｎｅｗ［ｉ３］［ｊ３］［ｋ３］は、０又は１のボクセル値をとる３次元配列データであり、配列番号ｉ３，ｊ３、ｋ３が指定されると、指定された配列番号で決まる座標を持つボクセルのボクセル値（０又は１）が決定される。
【００４０】
図１３は、図６のステップＳ４における形状簡略化処理の詳細を説明するフローチャートである。まず、簡略化計算部１５は、ｉ１を１に設定し（ステップＳ４１）、ｊ１を１に設定し（ステップＳ４２）、ｋ１を１に設定して（ステップＳ４３）、局所領域内簡略化処理を行う（ステップＳ４４）。上記局所領域内簡略化処理は、モデル１の局所領域のボクセルデータから形状参照用ボクセルデータを検出して、該形状参照用ボクセルデータとして検出された局所領域のボクセルデータに対応する、モデル２における局所領域のボクセルデータを形状変換用ボクセルデータに変換する処理である。
【００４１】
次に、簡略化計算部１５は、ｋ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ４５）。ｋ１がＮ−Ｍ＋１以下である場合、簡略化計算部１５は、ｋ１に１を加えて（ステップＳ４６）、ステップＳ４４の処理に戻る。
ｋ１がＮ−Ｍ＋１以下でない場合、簡略化計算部１５は、ｊ１に１を加えた後（ステップＳ４７）、ｊ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ４８）。ｊ１がＮ−Ｍ＋１以下である場合は、ステップＳ４３の処理に戻る。ｊ１がＮ−Ｍ＋１以下でない場合、簡略化計算部１５は、ｉ１に１を加えた後（ステップＳ４９）、ｉ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ５０）。ｉ１がＮ−Ｍ＋１以下である場合は、ステップＳ４２の処理に戻る。ｉ１がＮ−Ｍ＋１以下でない場合は、処理を終了する。
【００４２】
図１４は、図１３のステップＳ４４における局所領域内簡略化処理の詳細を説明するフローチャートである。Ｓｕｍは、モデル１と形状参照用ボクセルデータとの間での、ボクセル値の差の累積値を示す変数である。
簡略化計算部１５は、Ｓｕｍに０を設定した後（ステップＳ５１）、簡略化対象の検出処理を行う（ステップＳ５２）。上記簡略化対象の検出処理は、モデル１から切り出された局所領域のボクセルデータから形状参照用ボクセルデータを検出する処理である。
簡略化計算部１５は、Ｓｕｍが０であるかを判断する（ステップＳ５３）。Ｓｕｍが０でない場合は、処理を終了する。Ｓｕｍが０である場合、簡略化計算部１５は、簡略化対象の変換処理を行って（ステップＳ５４）、処理を終了する。上記簡略化対象の変換処理は、形状参照用ボクセルデータとして検出されたモデル１の局所領域のボクセルデータに対応する、モデル２における局所領域のボクセルデータを形状変換用ボクセルデータに変換する処理である。
【００４３】
図１５は、図１４のステップＳ５２における簡略化対象の検出処理の詳細を説明するフローチャートである。
まず、簡略化計算部１５は、ｉ２を１に設定し（ステップＳ６１）、ｊ２を１に設定し（ステップＳ６２）、ｋ２を１に設定する（ステップＳ６３）。次に、簡略化計算部１５は、Ｓｕｍに｜Ｍｏｄｅｌ１［ｉ１＋ｉ２］［ｊ１＋ｊ２］［ｋ１＋ｋ２］−Ｒｅｆ［ｉ２］［ｊ２］［ｋ２］｜を加える（ステップＳ６４）。
【００４４】
次に、簡略化計算部１５は、ｋ２がＭ以下であるかを判断する（ステップＳ６５）。ｋ２がＭ以下である場合、簡略化計算部１５は、ｋ２に１を加えて（ステップＳ６６）、ステップＳ６４の処理に戻る。
ｋ２がＭ以下でない場合、簡略化計算部１５は、ｊ２に１を加えた後（ステップＳ６７）、ｊ２がＭ以下であるかを判断する（ステップＳ６８）。ｊ２がＭ以下である場合は、ステップＳ６３の処理に戻る。ｊ２がＭ以下でない場合、簡略化計算部１５は、ｉ２に１を加えた後（ステップＳ６９）、ｉ２がＭ以下であるかを判断する（ステップＳ７０）。ｉ２がＭ以下である場合は、ステップＳ６２の処理に戻る。ｉ２がＭ以下でない場合は、処理を終了する。
【００４５】
図１６は、図１４のステップＳ５４における簡略化対象の変換処理の詳細を説明するフローチャートである。
まず、簡略化計算部１５は、ｉ２を１に設定し（ステップＳ８１）、ｊ２を１に設定し（ステップＳ８２）、ｋ２を１に設定する（ステップＳ８３）。次に、簡略化計算部１５は、Ｍｏｄｅｌ１［ｉ１＋ｉ２］［ｊ１＋ｊ２］［ｋ１＋ｋ２］にＮｅｗ［ｉ２］［ｊ２］［ｋ２］を設定する（ステップＳ８４）。
【００４６】
次に、簡略化計算部１５は、ｋ２がＭ以下であるかを判断する（ステップＳ８５）。ｋ２がＭ以下である場合、簡略化計算部１５は、ｋ２に１を加えて（ステップＳ８６）、ステップＳ８４の処理に戻る。
ｋ２がＭ以下でない場合、簡略化計算部１５は、ｊ２に１を加えた後（ステップＳ８７）、ｊ２がＭ以下であるかを判断する（ステップＳ８８）。ｊ２がＭ以下である場合は、ステップＳ８３の処理に戻る。ｊ２がＭ以下でない場合、簡略化計算部１５は、ｉ２に１を加えた後（ステップＳ８９）、ｉ２がＭ以下であるかを判断する（ステップＳ９０）。ｉ２がＭ以下である場合は、ステップＳ８２の処理に戻る。ｉ２がＭ以下でない場合は、処理を終了する。
【００４７】
次に、本発明の第２の実施の形態について説明する。本発明の第２の実施の形態では、事前データ生成部１４は、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータと簡略化仕様とに基づいて生成した形状参照用ボクセルデータと形状変換用ボクセルデータの双方に対して、上から見た形状についてのＭ×Ｍの２次元のボクセルデータを生成する。また、簡略化計算部１５は、前述した形状参照用ボクセルデータを表すＲｅｆ［ｉ２］［ｊ２］［ｋ２］において、ｋ２の最大値を１とし（ｋ２＝１とし）、前述した形状変換用ボクセルデータを表すＮｅｗ［ｉ３］［ｊ３］［ｋ３］において、ｋ３の最大値を１として（ｋ３＝１として）、該２次元の形状参照用ボクセルデータと形状変換用ボクセルデータとを用いて、前述した図１３乃至１６に示す形状簡略化処理と同様の形状簡略化処理を行う。
【００４８】
次に、本発明の第３の実施の形態について説明する。本発明の第３の実施の形態では、事前データ生成部１４が、形状参照用ボクセルデータとして、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成する。
すなわち、前述した本発明の第１の実施の形態では、形状参照用ボクセルデータを生成する際に、各ボクセルの中心位置に対して、表面形状との位置関係を調べ、内部にあれば１、外部にあれば０をボクセルの値として設定したが、本発明の第２の実施の形態では、１と０の他に、もう一つの種類のボクセル値として、内部でも外部でもどちらでもよい状態の値（ここでは２とする）を設定する。従って、生成された形状参照用ボクセルデータは、図１７（Ａ）中のそれぞれの網掛けの種類に対応する０，１，２の値のボクセル値を持つ。
【００４９】
また、簡略化計算部１５は、３次元モデル記憶部１２に記憶された３次元ボクセルデータと形状参照用ボクセルデータとの間でボクセル値を比較する際に、ボクセル値として２が設定されているボクセルについては、３次元ボクセルデータとの間でのボクセル値の比較を行わない。すなわち、本発明の第２の実施の形態における形状簡略化処理では、図１５のステップＳ６４の処理に代えて、形状参照用ボクセルデータのボクセル値が２でない場合にモデル１と形状参照用ボクセルデータとの間でのボクセル値の比較を行う処理（ｉｆ（Ｒｅｆ［ｉ２］［ｊ２］［ｋ２］！＝２）ｔｈｅｎ  Ｓｕｍ  ＝  Ｓｕｍ  ＋｜（Ｍｏｄｅｌ１［ｉ１＋ｉ２］［ｊ１＋ｊ２］［ｋ１＋ｋ２］−Ｒｅｆ［ｉ２］［ｊ２］［ｋ２］）｜）を行う。
簡略化計算部１５が、３次元ボクセルデータのボクセル値との比較対象外となるボクセル値を持つ形状参照用ボクセルデータを用いて３次元ボクセルデータから簡略化対象となる形状を持つボクセルデータを検出することにより、一つの形状参照用ボクセルデータで簡略化対象の形状を持つボクセルデータを複数検出できるようになる。また、３次元ボクセルデータと形状参照用ボクセルデータとの間でのボクセル値の比較処理量を削減することができる。具体的には、図１７（Ａ）に示すような、円弧の両端の線分を検出する形状参照用ボクセルデータを用いて、指定の半径以下の円弧を持つフィレットを全て検出できる。例えば、図１７（Ｂ）、図１７（Ｃ）、図１７（Ｄ）に示す各々のボクセルデータを検出できる。
【００５０】
次に、本発明の第４の実施の形態について説明する。本発明の第４の実施の形態では、上記簡略化計算部１５が、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータを領域分割し、各領域に簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較する。
３次元モデルのボクセルデータでは表面以外の領域が多い場合がある。表面以外の領域（表面の内部の領域及び表面の外部の領域）では簡略化対象となる形状がない。従って、簡略化対象となる形状がない領域を事前に検出し、該検出された領域については形状簡略化処理を省くことで、全体の処理量を削減することができる。
【００５１】
具体的には、簡略化計算部１５は、３次元モデルのボクセル全体を図１８（Ａ）に示すように領域分割（図１８（Ａ）では２×２×２に分割）し、各領域でボクセル値の累積値を計算する。簡略化計算部１５は、算出された累積値が０であれば、簡略化対象となる形状の表面の外部の領域であって、簡略化対象となる形状がないと判断する。また、簡略化計算部１５は、累積値が領域内ボクセル数と同じであれば、簡略化対象となる形状の表面の内部の領域であって、簡略化対象となる形状がないと判断する。簡略化計算部１５は、算出された累積値が０又は領域内ボクセル数以外の値であれば、簡略化対象となる形状の表面の領域であって、簡略化対象となる形状があると判断する。
【００５２】
図１８（Ｂ）は、図１８（Ａ）に示すように領域分割されたボクセルデータにおける一つの分割面を示す図である。図１８（Ｂ）中の黒く塗りつぶされた部分は、簡略化対象となる形状がある領域を示している。図１８（Ｂ）中の点線で囲った領域は、該黒く塗りつぶされた領域の外部にあるため、簡略化対象となる形状がない領域であると判断される。  簡略化計算部１５は、該簡略化対象となる形状があると判断された領域の範囲で、３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較し、簡略化対象となる形状がないと判断された領域に対しては形状簡略化処理を行わない。
【００５３】
図１９は、本発明の第４の実施の形態の形状簡略化処理フローの例を示す図である。Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］は、前述した領域分割されたボクセルデータの各領域に簡略化対象となる形状があるか否かを示す変数である。Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］は、前述したモデル１と同じボロノイデータ構造である。簡略化対象となる形状がある領域については、Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］＝１であり、簡略化対象となる形状がない領域については、Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］＝０である。
【００５４】
まず、簡略化計算部１５は、ｉ１を１に設定し（ステップＳ１０１）、ｊ１を１に設定し（ステップＳ１０２）、ｋ１を１に設定する（ステップＳ１０３）。次に、簡略化計算部１５は、Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］が１であるかを判断する（ステップＳ１０４）。Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］が１でない場合は、ステップＳ１０６の処理に進む。Ｓｃｏｐｅ［ｉ１］［ｊ１］［ｋ１］が１である場合、簡略化計算部１５は、局所領域内簡略化処理を行う（ステップＳ１０５）。ステップＳ１０５における局所領域内簡略化処理は、図１４を参照して前述した局所領域内簡略化処理と同様である。
【００５５】
次に、簡略化計算部１５は、ｋ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ１０６）。ｋ１がＮ−Ｍ＋１以下である場合、簡略化計算部１５は、ｋ１に１を加えて（ステップＳ１０７）、ステップＳ１０４の処理に戻る。
ｋ１がＮ−Ｍ＋１以下でない場合、簡略化計算部１５は、ｊ１に１を加えた後（ステップＳ１０８）、ｊ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ１０９）。ｊ１がＮ−Ｍ＋１以下である場合は、ステップＳ１０３の処理に戻る。ｊ１がＮ−Ｍ＋１以下でない場合、簡略化計算部１５は、ｉ１に１を加えた後（ステップＳ１１０）、ｉ１がＮ−Ｍ−１以下であるかを判断する（ステップＳ１１１）。ｉ１がＮ−Ｍ−１以下である場合は、ステップＳ１０２の処理に戻る。ｉ１がＮ−Ｍ−１以下でない場合は、処理を終了する。
【００５６】
次に、本発明の第５の実施の形態について説明する。本発明の第５の実施の形態では、簡略化計算部１５が、３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する。例えば、上記ボクセル間隔をｄとした場合の形状簡略化処理について図２０を参照して説明する。
【００５７】
図２０は、本発明の第５の実施の形態の形状簡略化処理フローの例を示す図である。
まず、簡略化計算部１５は、ｉ１を１に設定し（ステップＳ１２１）、ｊ１を１に設定し（ステップＳ１２２）、ｋ１を１に設定して（ステップＳ１２３）、局所領域内簡略化処理を行う（ステップＳ１２４）。上記局所領域内簡略化処理は、図１４を参照して前述した局所領域内簡略化処理と同様である。
【００５８】
次に、簡略化計算部１５は、ｋ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ１２５）。ｋ１がＮ−Ｍ＋１以下である場合、簡略化計算部１５は、ｋ１にｄを加えて（ステップＳ１２６）、ステップＳ１２４の処理に戻る。
ｋ１がＮ−Ｍ＋１以下でない場合、簡略化計算部１５は、ｊ１にｄを加えた後（ステップＳ１２７）、ｊ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ１２８）。ｊ１がＮ−Ｍ＋１以下である場合は、ステップＳ１２３の処理に戻る。ｊ１がＮ−Ｍ＋１以下でない場合、簡略化計算部１５は、ｉ１にｄを加えた後（ステップＳ１２９）、ｉ１がＮ−Ｍ＋１以下であるかを判断する（ステップＳ１３０）。ｉ１がＮ−Ｍ＋１以下である場合は、ステップＳ１２２の処理に戻る。ｉ１がＮ−Ｍ＋１以下でない場合は、処理を終了する。
【００５９】
次に、本発明の第６の実施の形態について説明する。本発明の第６の実施の形態では、簡略化計算部１５が、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータと形状参照用ボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該３次元モデルのボクセルデータから該形状参照用ボクセルデータを検出し、該検出されたボクセルデータを簡略化する。
【００６０】
簡略化計算部１５が、該３次元モデルのボクセルデータと形状参照用ボクセルデータとを比較して、該３次元モデルのボクセルデータから形状参照用ボクセルデータの候補領域を検出し、該検出された形状参照用ボクセルデータの候補領域に対して、ボクセルの間引きなしで再度形状参照用ボクセルデータとの比較処理を行うようにしてもよい。本発明の第６の実施の形態によれば、ボクセルを間引いた上で３次元モデルのボクセルデータと形状参照用ボクセルデータとの比較処理を行うため、処理量を大幅に削減することができる。
【００６１】
図２１は、本発明の第６の実施の形態の簡略化対象の検出処理フローの例を示す図である。
簡略化計算部１５は、ｉ２を１に設定し（ステップＳ１４１）、ｊ２を１に設定し（ステップＳ１４２）、ｋ２を１に設定する（ステップＳ１４３）。次に、簡略化計算部１５は、Ｓｕｍに｜Ｍｏｄｅｌ１［ｉ１＋ｉ２］［ｊ１＋ｊ２］［ｋ１＋ｋ２］−Ｒｅｆ［ｉ２］［ｊ２］［ｋ２］｜を加える（ステップＳ１４４）。
【００６２】
次に、簡略化計算部１５は、ｋ２がＭ以下であるかを判断する（ステップＳ１４５）。ｋ２がＭ以下である場合、簡略化計算部１５は、ｋ２にｅを加えて（ステップＳ１４６）、ステップＳ１４４の処理に戻る。
ｋ２がＭ以下でない場合、簡略化計算部１５は、ｊ２にｅを加えた後（ステップＳ１４７）、ｊ２がＭ以下であるかを判断する（ステップＳ１４８）。ｊ２がＭ以下である場合は、ステップＳ１４３の処理に戻る。ｊ２がＭ以下でない場合、簡略化計算部１５は、ｉ２にｅを加えた後（ステップＳ１４９）、ｉ２がＭ以下であるかを判断する（ステップＳ１５０）。ｉ２がＭ以下である場合は、ステップＳ１４２の処理に戻る。ｉ２がＭ以下でない場合は、処理を終了する。
【００６３】
次に、本発明の第７の実施の形態について説明する。本発明の第７の実施の形態では、３次元モデル入力部１１が、８分木構造で表現される３次元モデルのボクセルデータを入力して３次元モデル記憶部１２に記憶し、事前データ生成部１４が、該３次元モデルのボクセルデータと簡略化仕様とに基づいて、図２２（Ａ）に示すような８分木構造で表現される形状参照用ボクセルデータと図２２（Ｂ）に示すような形状変換用ボクセルデータとを生成する。また、この例では、簡略化計算部１５は、形状簡略化処理後に得られる３次元モデル全体を最適な８分木構造になるように変換する。なお、ボクセルデータの８分木構造とは、ボクセルデータを空間的に８つに分割する処理を繰り返すことでボクセルデータを表現するツリー構造である。８分木構造でボクセルデータを表現することによって、ボクセルの数を削減することができる。
【００６４】
次に、本発明の第８の実施の形態について説明する。本発明の第８の実施の形態では、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータを領域分割し、各領域について分散して形状簡略化を行う並列化処理を行う。図２３は、本発明の第８の実施の形態のシステム構成の一例を示す図である。
３次元モデルの形状簡略化装置２は、ボクセル形式の３次元モデルの形状を簡略化する処理装置である。３次元モデルの形状簡略化装置２は、３次元モデル入力部１１、３次元モデル記憶部１２、簡略化仕様入力部１３、事前データ生成部１４、３次元モデル出力部１６、並列化処理部１７を備える。３次元モデルの形状簡略化装置２が備える構成要素のうち、図３に示す３次元モデルの形状簡略化装置１が備える構成要素と同符号のものは、３次元モデルの形状簡略化装置１が備える構成要素と同様なので、該構成要素についての詳細な説明は省略する。
【００６５】
並列化処理部１７は、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータを領域分割し、各領域について同時並列的に形状簡略化処理を行う。すなわち、並列化処理部１７が備える分割部１７１が、３次元モデル記憶部１２に記憶された３次元モデルのボクセルデータを領域分割して、各領域のボクセルデータを簡略化計算部１７２、１７３、１７４の各々に割り当て、簡略化計算部１７２、１７３、１７４が、自身に割り当てられた領域のボクセルデータと事前データ生成部１４によって生成された形状参照用ボクセルデータと形状変換用ボクセルデータとに基づいて、各領域について形状簡略化処理を行う。また、統合部１７５が、簡略化計算部１７２、１７３、１７４の各々による形状簡略化処理結果を統合して、形状が簡略化された全体の３次元モデルを生成する。
【００６６】
以上から把握できるように、本発明の実施形態の特徴を述べると以下の通りである。
【００６７】
（付記１）ボクセル形式の３次元モデルの形状を簡略化する装置であって、
上記３次元モデルのボクセルデータを入力して記憶手段に記憶する３次元モデル入力手段と、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する簡略化仕様入力手段と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する事前データ生成手段と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する簡略化計算手段とを備える
ことを特徴とする３次元モデルの形状簡略化装置
【００６８】
（付記２）上記事前データ生成手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、
上記簡略化計算手段が、更に、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする付記１に記載の３次元モデルの形状簡略化装置。
【００６９】
（付記３）上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、２次元のボクセルデータである
ことを特徴とする付記２に記載の３次元モデルの形状簡略化装置。
【００７０】
（付記４）上記事前データ生成手段が、更に、上記簡略化対象となる形状のボクセルデータとして、上記３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記簡略化計算手段が、上記記憶手段に記憶された３次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする付記１に記載の３次元モデルの形状簡略化装置。
【００７１】
（付記５）上記簡略化計算手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記１に記載の３次元モデルの形状簡略化装置。
【００７２】
（付記６）上記簡略化計算手段が、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする付記１に記載の３次元モデルの形状簡略化装置。
【００７３】
（付記７）上記簡略化計算手段が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを予め定められたボクセルについて間引き、該間引かれた後の３次元モデルのボクセルデータと簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記１に記載の３次元モデルの形状簡略化装置。
【００７４】
（付記８）ボクセル形式の３次元モデルの形状を簡略化する方法であって、
上記３次元モデルのボクセルデータを入力して記憶手段に記憶するステップと、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力するステップと、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成するステップと、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化するステップとを有する
ことを特徴とする３次元モデルの形状簡略化方法。
【００７５】
（付記９）上記簡略化対象となる形状のボクセルデータを生成するステップが、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする付記８に記載の３次元モデルの形状簡略化方法。
【００７６】
（付記１０）上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、２次元のボクセルデータである
ことを特徴とする付記９に記載の３次元モデルの形状簡略化方法。
【００７７】
（付記１１）上記簡略化対象となる形状のボクセルデータを生成するステップが、更に、上記簡略化対象となる形状のボクセルデータとして、上記３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、上記記憶手段に記憶された３次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする付記８に記載の３次元モデルの形状簡略化方法。
【００７８】
（付記１２）上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、更に、上記記憶手段に記憶された３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記８に記載の３次元モデルの形状簡略化方法。
【００７９】
（付記１３）上記検出された簡略化対象となる形状のボクセルデータを簡略化するステップが、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする付記８に記載の３次元モデルの形状簡略化方法。
【００８０】
（付記１４）ボクセル形式の３次元モデルの形状を簡略化するプログラムであって、
コンピュータに、
上記３次元モデルのボクセルデータを入力して記憶手段に記憶する処理と、
簡略化対象となる形状の種類及び該形状の寸法に関する閾値と簡略化後の形状の種類とを簡略化仕様として入力する処理と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化対象となる形状のボクセルデータを生成する処理と、
上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化対象となる形状のボクセルデータとを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出し、該検出された簡略化対象となる形状のボクセルデータを簡略化する処理とを実行させる
ことを特徴とする３次元モデルの形状簡略化プログラム。
【００８１】
（付記１５）上記簡略化対象となる形状のボクセルデータを生成する処理が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータと上記簡略化仕様とに基づいて、上記簡略化後の形状のボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、上記検出された簡略化対象となる形状のボクセルデータを上記簡略化後の形状のボクセルデータに置き換える
ことを特徴とする付記１４に記載の３次元モデルの形状簡略化プログラム。
【００８２】
（付記１６）上記簡略化対象となる形状のボクセルデータと上記簡略化後の形状のボクセルデータが、２次元のボクセルデータである
ことを特徴とする付記１５に記載の３次元モデルの形状簡略化プログラム。
【００８３】
（付記１７）上記簡略化対象となる形状のボクセルデータを生成する処理が、更に、上記簡略化対象となる形状のボクセルデータとして、上記３次元モデルのボクセルデータのボクセル値との比較対象外とするボクセル値を持つボクセルデータを生成し、
上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、上記記憶手段に記憶された３次元モデルのボクセルデータのボクセル値と上記簡略化対象となる形状のボクセルデータのボクセル値とを比較して、該３次元モデルのボクセルデータから該簡略化対象となる形状のボクセルデータを検出する
ことを特徴とする付記１４に記載の３次元モデルの形状簡略化プログラム。
【００８４】
（付記１８）上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、更に、上記記憶手段に記憶された３次元モデルのボクセルデータを領域分割し、各領域に上記簡略化対象となる形状があるか否かを判断し、該簡略化対象となる形状があると判断された領域の範囲で、該３次元モデルのボクセルデータと該簡略化対象となる形状のボクセルデータとを比較する
ことを特徴とする付記１４に記載の３次元モデルの形状簡略化プログラム。
【００８５】
（付記１９）上記検出された簡略化対象となる形状のボクセルデータを簡略化する処理が、上記３次元モデルのボクセルデータから局所領域のボクセルデータを予め定められたボクセル間隔で順次ずらしながら切り出し、該切り出された局所領域のボクセルデータのうち、上記簡略化対象となる形状のボクセルデータとボクセル値が同一である局所領域のボクセルデータを、上記簡略化対象となる形状のボクセルデータとして検出する
ことを特徴とする付記１４に記載の３次元モデルの形状簡略化プログラム。
【図面の簡単な説明】
【００８６】
【図１】３次元モデルの形状の簡略化の例を示す図（１）である。
【図２】３次元モデルの形状の簡略化の例を示す図（２）である。
【図３】本発明の第１の実施の形態のシステム構成の一例を示す図である。
【図４】形状参照用ボクセルデータ及び形状変換用ボクセルデータの例を示す図である。
【図５】形状簡略化処理の概要を説明する図である。
【図６】本発明の第１の実施の形態の３次元モデルの形状簡略化処理フローを示す図である。
【図７】３次元モデルのボクセルデータの例を示す図である。
【図８】簡略化仕様の入力処理の例を説明する図である。
【図９】形状参照用ボクセルデータの生成を説明する図である。
【図１０】形状参照用ボクセルデータの生成を説明する図である。
【図１１】モデル１と形状参照用ボクセルデータとの比較処理を説明する図である。
【図１２】モデル２を形状変換用ボクセルデータで置き換える処理を説明する図である。
【図１３】形状簡略化処理の詳細を説明するフローチャートである。
【図１４】局所領域内簡略化処理の詳細を説明するフローチャートである。
【図１５】簡略化対象の検出処理の詳細を説明するフローチャートである。
【図１６】簡略化対象の変換処理の詳細を説明するフローチャートである。
【図１７】本発明の第３の実施の形態を説明する図である。
【図１８】本発明の第４の実施の形態を説明する図である。
【図１９】本発明の第４の実施の形態の形状簡略化処理フローの例を示す図である。
【図２０】本発明の第５の実施の形態の形状簡略化処理フローの例を示す図である。
【図２１】本発明の第６の実施の形態の簡略化対象の検出処理フローの例を示す図である。
【図２２】８分木構造で表現される形状参照用ボクセルデータ及び形状変換用ボクセルデータを示す図である。
【図２３】本発明の第８の実施の形態のシステム構成の一例を示す図である。
【符号の説明】
【００８７】
１  ３次元モデルの形状簡略化装置
１１  ３次元モデル入力部
１２  ３次元モデル記憶部
１３  簡略化仕様入力部
１４  事前データ生成部
１５  簡略化計算部
１６  ３次元モデル出力部
１７  並列化処理部
１７１  分割部
１７２、１７３、１７４  簡略化計算部
１７５  統合部
【図１】
2008197776.tif 000003
【図２】
2008197776.tif 000004
【図３】
2008197776.tif 000005
【図４】
2008197776.tif 000006
【図５】
2008197776.tif 000007
【図６】
2008197776.tif 000008
【図７】
2008197776.tif 000009
【図８】
2008197776.tif 000010
【図９】
2008197776.tif 000011
【図１０】
2008197776.tif 000012
【図１１】
2008197776.tif 000013
【図１２】
2008197776.tif 000014
【図１３】
2008197776.tif 000015
【図１４】
2008197776.tif 000016
【図１５】
2008197776.tif 000017
【図１６】
2008197776.tif 000018
【図１７】
2008197776.tif 000019
【図１８】
2008197776.tif 000020
【図１９】
2008197776.tif 000021
【図２０】
2008197776.tif 000022
【図２１】
2008197776.tif 000023
【図２２】
2008197776.tif 000024
【図２３】
2008197776.tif 000025