(57)【要約】【課題】  本発明は、３Ｄのポリゴンモデルの出力の適否をより適切に判定することが可能な立体物造形用データ出力規制装置を提供することを課題とする。【解決手段】  規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布が登録された規制モデルデータベース６０と、対象モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する度数分布算出手段１０と、対象モデルの面積比分布を、規制モデルの面積比分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段４０と、を有する。【選択図】  図４
2018075754.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布が登録されたデータベースと、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する度数分布算出手段と、
前記対象モデルの面積比分布を、前記規制モデルの面積比分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、
を有することを特徴とする立体物造形用データ出力規制装置。
【請求項２】
前記度数分布算出手段は、前記面積比分布を算出するにあたり、所定数の要素で構成される１次元の配列を準備し、前記算出された外接円の半径の最大値の２乗の範囲を前記所定数に均等に分割した上で、前記各面積比を当該面積比の値に基づいて前記所定数のいずれかの要素に割り当て、当該要素に該当する数により、前記面積比分布を算出することを特徴とする請求項１に記載の立体物造形用データ出力規制装置。
【請求項３】
前記度数分布算出手段は、前記対象モデルに対して、当該対象モデル内のポリゴンを３個単位で取得してランダムに第１グループ、第２グループ、第３グループの３つのグループに分類し、各グループから１つずつポリゴンを選択することにより、前記３つのポリゴンを選択することを特徴とする請求項１または請求項２に記載の立体物造形用データ出力規制装置。
【請求項４】
前記度数分布算出手段は、前記各グループのポリゴン数をＮ／３個とした際、Ｎ／３個の連続する整数をランダムに入れ替えた乱数配列を作成するとともに、前記乱数配列の先頭から末尾への順序を逆にした反転乱数配列を作成し、前記３つのグループのうち、１つのグループに前記乱数配列、他の１つのグループに前記反転乱数配列をそれぞれ適用してグループ内のポリゴンの順序を入れ替えた後、各グループの先頭から順に、前記ポリゴンの選択を行うことを特徴とする請求項３に記載の立体物造形用データ出力規制装置。
【請求項５】
前記度数分布算出手段は、
前記第１グループのポリゴンに前記乱数配列、前記第２グループのポリゴンに前記反転乱数配列をそれぞれ適用して順序を入れ替え、前記第３グループのポリゴンの順序を入れ替えずに前記ポリゴンの選択を行ってＮ／３個の三角形を形成し、
前記第２グループのポリゴンに前記乱数配列、前記第３グループのポリゴンに前記反転乱数配列をそれぞれ適用して順序を入れ替え、前記第１グループのポリゴンの順序を入れ替えずに前記ポリゴンの選択を行ってＮ／３個の三角形を形成し、
前記第３グループのポリゴンに前記乱数配列、前記第１グループのポリゴンに前記反転乱数配列をそれぞれ適用して順序を入れ替え、前記第２グループのポリゴンの順序を入れ替えずに前記ポリゴンの選択を行ってＮ／３個の三角形を形成することを特徴とする請求項４に記載の立体物造形用データ出力規制装置。
【請求項６】
前記度数分布算出手段は、
前記面積比分布を１回算出するごとに、前記３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、前記面積比分布を改めて算出する処理を所定の回数、繰り返し行い、算出された面積比分布の平均値を、照合対象の面積比分布とするものであることを特徴とする請求項４または請求項５に記載の立体物造形用データ出力規制装置。
【請求項７】
前記度数分布算出手段は、
前記面積比分布を１回算出するごとに、前記３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、前記面積比分布を改めて算出する処理を繰り返し行い、
算出直後の面積比分布と、その直前に得られた前記面積比分布を比較し、比較の結果で類似性が認められる場合に、前記算出直後の面積比分布を、照合対象の面積比分布とするものであることを特徴とする請求項４または請求項５に記載の立体物造形用データ出力規制装置。
【請求項８】
前記データベースは、前記面積比分布に加えて、前記三角形の外接円の半径の度数分布である外接円分布が登録されたものであり、
前記度数分布算出手段は、前記対象モデルに対して、前記面積比分布に加えて、前記三角形の外接円の半径の度数分布である外接円分布を算出するものであり、
前記度数分布照合手段は、前記面積比分布の照合に加えて、対象モデルの外接円分布を、規制モデルの外接円分布と照合し、出力を規制すべきか否かを判定するものであることを特徴とする請求項１から請求項７のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項９】
前記度数分布算出手段は、前記外接円分布を算出するにあたり、所定数の要素で構成される１次元の配列を準備し、前記算出された外接円の半径の最大値の範囲を前記所定数に均等に分割した上で、前記各外接円の半径を当該外接円の半径の値に基づいて前記所定数のいずれかの要素に割り当て、当該要素に該当する数により、前記外接円分布を算出することを特徴とする請求項８に記載の立体物造形用データ出力規制装置。
【請求項１０】
前記度数分布算出手段は、前記３つのポリゴンの所定の点により形成される三角形の重心から各頂点への単位ベクトルと当該頂点を含むポリゴンの法線ベクトルとの内積値を当該ポリゴンの面積に乗算した値の平均値を重み値として算出し、前記要素に該当する数を得る際、前記重み値を用いて重み付けすることを特徴とする請求項９に記載の立体物造形用データ出力規制装置。
【請求項１１】
前記度数分布算出手段は、前記各対象モデルを構成する各ポリゴンについての前記重み値の総和値により、前記各要素の値を除算し、当該要素が負の値である場合は、絶対値として与えることにより、前記度数分布を算出することを特徴とする請求項１０に記載の立体物造形用データ出力規制装置。
【請求項１２】
前記対象モデルの度数分布の前記外接円の半径のスケールを、前記データベースに登録されている規制モデルの度数分布の外接円の半径のスケールに整合させる処理を行い、前記整合された対象モデルの度数分布を作成する度数分布整合手段を更に備え、
前記度数分布照合手段は、前記整合された対象モデルの度数分布を、前記規制モデルの度数分布と照合し、出力を規制すべきか否かを判定することを特徴とする請求項８から請求項１１のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１３】
前記対象モデルの度数分布および規制モデルの度数分布に対して、要素の値が小さい程、値が大きくなり、０より大きく１以下の値をとる強調成分を各々乗算し、対象モデルの強調度数分布および規制モデルの強調度数分布を作成する度数分布強調手段と、をさらに備え、
前記度数分布照合手段は、前記対象モデルの強調度数分布と前記規制モデルの強調度数分布を照合することを特徴とする請求項１２に記載の立体物造形用データ出力規制装置。
【請求項１４】
前記度数分布照合手段は、前記対象モデルの度数分布を、前記規制モデルの度数分布と照合するにあたり、前記度数分布どうしの相関係数を算出し、算出された相関係数に基づいて、出力を規制すべきか否かを判定することを特徴とする請求項１から請求項１３のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１５】
前記度数分布照合手段は、前記対象モデルの度数分布を、前記規制モデルの度数分布と照合するにあたり、各々最大値を与えるピーク位置を算出し、算出されたピーク位置どうしの差分に基づいて出力を規制すべきか否かを判定することを特徴とする請求項１から請求項１４のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１６】
前記規制モデルに対して、当該規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する規制モデル度数分布算出装置により算出された度数分布を受信し、受信した度数分布を前記データベースに登録する登録手段を更に有することを特徴とする請求項１から請求項１５のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１７】
前記規制モデル度数分布算出装置は、前記規制モデルに対して、当該規制モデル内のポリゴンを３個単位で取得してランダムに第１グループ、第２グループ、第３グループの３つのグループに分類し、各グループから１つずつポリゴンを選択することにより、前記３つのポリゴンを選択することを特徴とする請求項１６に記載の立体物造形用データ出力規制装置。
【請求項１８】
前記対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記度数分布照合手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記対象モデルの出力中止命令を出力する手段と、
を更に有することを特徴とする請求項１から請求項１７のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１９】
出力制御用端末と、処理サーバがネットワークを介して接続された構成であって、
前記出力制御用端末は、前記度数分布算出手段を有し、
前記処理サーバは、
前記データベースと、
ネットワークを介して前記出力制御用端末から前記対象モデルの面積比分布を受信する受信手段と、
前記度数分布照合手段と、
前記度数分布照合手段により判定された、出力を規制すべきか否かに基づくデータを前記出力制御用端末に送信する出力適否データ送信手段と、
を有することを特徴とする請求項１から請求項１８のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項２０】
請求項１から請求項１９のいずれか一項に記載の立体物造形用データ出力規制装置と、
前記立体物造形用データ出力規制装置で出力が許可されたポリゴンモデルを用いて立体物を造形する立体物造形装置と、
を有することを特徴とする立体物造形システム。
【請求項２１】
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定するために、前記ポリゴンモデルを基に度数分布を算出する装置であって、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する度数分布算出装置。
【請求項２２】
コンピュータを、請求項１から請求項１９のいずれか一項に記載の立体物造形用データ出力規制装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体物を表すデータを基に、樹脂等を加工して立体物を造形する３Ｄプリンタ等の立体物造形装置の利用に際して、立体物造形装置からの出力に不適切なものを判別するための技術に関する。
【背景技術】
【０００２】
近年、立体物を表すデータをもとに、樹脂や石膏等を加工して造形する３Ｄプリンタが立体物造形装置として普及してきている。３Ｄプリンタは、立体物の三次元形状をポリゴンの集合で表現したポリゴンモデルを用いて立体物の出力を行う。３Ｄプリンタの医療応用として、医療診断で撮影されるCT/MRI画像（DICOM形式３次元ボクセルデータ）を基に、３Ｄプリンタ出力用モデリングデータ（ポリゴンモデル）を作成し、手術シミュレーション・医学教育・インフォームドコンセント向けの臓器模型を出力したり、体内埋め込み用の人工臓器（血管、骨、関節など）を作成したりする試みが始まっている。
【０００３】
３Ｄプリンタには、インターネットを介して情報だけでなく、モノを遠隔地に間接的に伝搬できる革新性を備えている。そのため、これまで税関で規制されていた銃砲・刀剣などの危険物がデータ形態で国境を越えて流布され、３Ｄプリンタによりモノとして容易に入手可能になるという問題が発生している。これに対処するため、出願人は、３Ｄのポリゴンモデルを基に、３Ｄプリンタから立体物の出力を行う際に、出力を規制すべきか否かの判定を行う技術を開発している（特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１０７４７１号公報
【特許文献２】特開２０１６−１２４２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１、２に記載の技術では、出力対象のポリゴンモデルである対象モデル、規制すべきポリゴンモデルである規制モデルそれぞれについて、所定のポリゴン間の関係から距離分布、角度分布を作成し、照合することにより、対象モデルの出力を規制すべきか否かを判定している。
【０００６】
しかしながら、特許文献１、２に記載の技術で照合した場合であっても、規制すべきものが出力されてしまったり、出力してもよいものが出力できない状態になってしまうという状況が生じることもあった。
【０００７】
そこで、本発明は、３Ｄのポリゴンモデルの出力の適否をより適切に判定することが可能な立体物造形用データ出力規制装置を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明第１の態様では、
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布が登録されたデータベースと、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する度数分布算出手段と、
前記対象モデルの面積比分布を、前記規制モデルの面積比分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、
を有することを特徴とする立体物造形用データ出力規制装置を提供する。
【０００９】
本発明第１の態様によれば、規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布が登録されたデータベースを備え、対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出し、対象モデルの面積比分布を、前記規制モデルの面積比分布と照合し、出力を規制すべきか否かを判定するようにしたので、三角形と外接円によりポリゴン間の形状を的確に表現した面積比分布により、３Ｄのポリゴンモデルの出力の適否をより適切に判定することが可能となる。
【００１０】
また、本発明第２の態様では、前記度数分布算出手段は、前記面積比分布を算出するにあたり、所定数の要素で構成される１次元の配列を準備し、前記算出された外接円の半径の最大値の２乗の範囲を前記所定数に均等に分割した上で、前記各面積比を当該面積比の値に基づいて前記所定数のいずれかの要素に割り当て、当該要素に該当する数により、前記面積比分布を算出することを特徴とする。
【００１１】
本発明第２の態様によれば、面積比分布を算出するにあたり、所定数の要素で構成される１次元の配列を準備し、前記算出された外接円の半径の最大値の２乗の範囲を前記所定数に均等に分割した上で、前記各面積比を当該面積比の値に基づいて前記所定数のいずれかの要素に割り当て、当該要素に該当する数により、前記面積比分布を算出するようにしたので、三角形の形状の相違に鋭敏に反映する面積比分布を算出することが可能となる。
【００１２】
また、本発明第３の態様では、前記度数分布算出手段は、前記対象モデルに対して、当該対象モデル内のポリゴンを３個単位で取得してランダムに第１グループ、第２グループ、第３グループの３つのグループに分類し、各グループから１つずつポリゴンを選択することにより、前記３つのポリゴンを選択することを特徴とする。
【００１３】
本発明第３の態様によれば、対象モデル内のポリゴンを３個単位で取得してランダムに第１グループ、第２グループ、第３グループの３つのグループに分類し、各グループから１つずつポリゴンを選択するようにしたので、三角形を形成するための３つのポリゴンの組み合わせを互いに重複することなく作成することができ、効率的な処理を行うことが可能となる。特に３個単位で取得してランダムに３つのグループに分類することにより、特有の癖のない状態でグループ分類を行うことが可能になる。
【００１４】
また、本発明第４の態様では、前記度数分布算出手段は、前記各グループのポリゴン数をＮ／３個とした際、Ｎ／３個の連続する整数をランダムに入れ替えた（シャッフル）乱数配列を作成するとともに、前記乱数配列の先頭から末尾への順序を逆にした反転乱数配列を作成し、前記３つのグループのうち、１つのグループに前記乱数配列、他の１つのグループに前記反転乱数配列をそれぞれ適用してグループ内のポリゴンの順序を入れ替えた後、各グループの先頭から順に、前記ポリゴンの選択を行うことを特徴とする。
【００１５】
本発明第４の態様によれば、各グループのポリゴン数Ｎ／３の連続する整数をランダムに入れ替えた乱数配列を作成するとともに、乱数配列の先頭から末尾への順序を逆にした反転乱数配列を作成し、３つのグループのうち、１つのグループに乱数配列、他の１つのグループに反転乱数配列をそれぞれ適用してグループ内のポリゴンの順序を入れ替えた後、各グループの先頭から順に、ポリゴンの選択を行うようにしたので、３つのグループのポリゴンの配列順序を、三次元空間における位置からランダムに設定することができ、ランダムかつ互いに重複しないポリゴンの組み合わせで算出された三角形に基づいて、面積比分布を求めることが可能となる。
【００１６】
また、本発明第５の態様では、前記度数分布算出手段は、
前記第１グループのポリゴンに前記乱数配列、前記第２グループのポリゴンに前記反転乱数配列をそれぞれ適用して順序を入れ替え、前記第３グループのポリゴンの順序を入れ替えずに前記ポリゴンの選択を行ってＮ／３個の三角形を形成し、
前記第２グループのポリゴンに前記乱数配列、前記第３グループのポリゴンに前記反転乱数配列をそれぞれ適用して順序を入れ替え、前記第１グループのポリゴンの順序を入れ替えずに前記ポリゴンの選択を行ってＮ／３個の三角形を形成し、
前記第３グループのポリゴンに前記乱数配列、前記第１グループのポリゴンに前記反転乱数配列をそれぞれ適用して順序を入れ替え、前記第２グループのポリゴンの順序を入れ替えずに前記ポリゴンの選択を行ってＮ／３個の三角形を形成することを特徴とする。
【００１７】
本発明第５の態様によれば、第１グループのポリゴンに乱数配列、第２グループのポリゴンに反転乱数配列をそれぞれ適用して順序を入れ替え、第３グループのポリゴンの順序を入れ替えずにポリゴンの選択を行ってＮ／３個の三角形を形成し、第２グループのポリゴンに乱数配列、第３グループのポリゴンに反転乱数配列をそれぞれ適用して順序を入れ替え、第１グループのポリゴンの順序を入れ替えずにポリゴンの選択を行ってＮ／３個の三角形を形成し、第３グループのポリゴンに乱数配列、第１グループのポリゴンに反転乱数配列をそれぞれ適用して順序を入れ替え、第２グループのポリゴンの順序を入れ替えずにポリゴンの選択を行ってＮ／３個の三角形を形成するようにしたので、ポリゴンモデルのポリゴン数Ｎと同数のトータルＮ個の三角形をランダムかつ互いに重複することなく形成することが可能となる。
【００１８】
また、本発明第６の態様では、
前記度数分布算出手段は、
前記面積比分布を１回算出するごとに、前記３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、前記面積比分布を改めて算出する処理を所定の回数、繰り返し行い、算出された面積比分布の平均値を、照合対象の面積比分布とするものであることを特徴とする。
前記度数分布算出手段は、
前記度数分布を１回算出するごとに、前記３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、前記度数分布を改めて算出する処理を所定の回数、繰り返し行い、算出された度数分布の平均値を、照合対象の度数分布とするものであることを特徴とする。
【００１９】
本発明第６の態様によれば、面積比分布を１回算出するごとに、３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、面積比分布を改めて算出する処理を所定の回数、繰り返し行い、算出された面積比分布の平均値を、照合対象の面積比分布とするようにしたので、既に算出されたＮ個の三角形とは重複しない新規なＮ個の三角形を基に面積比分布が算出され、面積比分布が更新されるようになるため、３つのポリゴンの組み合わせである三角形のサンプルが少な過ぎることにより面積比分布が特異な形態に偏らないように的確な面積比分布を得ることが可能となる。
【００２０】
また、本発明第７の態様では、
前記度数分布算出手段は、
前記面積比分布を１回算出するごとに、前記３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、前記面積比分布を改めて算出する処理を繰り返し行い、
算出直後の面積比分布と、その直前に得られた前記面積比分布を比較し、比較の結果で類似性が認められる場合に、前記算出直後の面積比分布を、照合対象の面積比分布とするものであることを特徴とする。
【００２１】
本発明第７の態様によれば、面積比分布を１回算出するごとに、３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、面積比分布を改めて算出する処理を繰り返し行い、算出直後の面積比分布と、その直前に得られた面積比分布を比較し、比較の結果で類似性が認められる場合に、算出直後の面積比分布を、照合対象の面積比分布とするようにしたので、３つのポリゴンの組み合わせである三角形のサンプルが少な過ぎることにより面積比分布が特異な形態に偏りそうか否かを自動的に判断しながら最適な面積比分布を得ることが可能となる。
【００２２】
また、本発明第８の態様では、
前記データベースは、前記面積比分布に加えて、前記三角形の外接円の度数分布である外接円分布が登録されたものであり、
前記度数分布算出手段は、前記対象モデルに対して、前記面積比分布に加えて、前記三角形の外接円の度数分布である外接円分布を算出するものであり、
前記度数分布照合手段は、前記面積比分布の照合に加えて、対象モデルの外接円分布を、規制モデルの外接円分布と照合し、出力を規制すべきか否かを判定するものであることを特徴とする。
【００２３】
本発明第８の態様によれば、面積比分布に加えて、前記三角形の外接円の度数分布である外接円分布が登録されており、前記対象モデルに対して、前記面積比分布に加えて、前記三角形の外接円の度数分布である外接円分布を算出するものであり、前記面積比分布の照合に加えて、対象モデルの外接円分布を、規制モデルの外接円分布と照合し、出力を規制すべきか否かを判定するようにしたので、面積比分布だけでは特定できないポリゴンモデルを絞り込むことができ、ポリゴンモデルを基に立体物の出力を行う際に、出力を規制すべきか否かの判定を、面積比分布とともにポリゴンモデルの形状に鋭敏に反映する外接円分布を用いて高精度に行うことが可能となるとともに、複数の観点から２つのポリゴンモデルの類似性を判定することになり、出力を規制すべきか否かの判定をより的確に行うことが可能となる。ここで、ポリゴンモデルの形状に鋭敏に反映するとは、以下のような意味である。例えば、３Ｄ形状の基本である球体では、面積比分布および外接円分布とも、当該球体の半径に対応する最大距離の１箇所にピークが現れる簡素な度数分布になる。しかし、３Ｄ形状が球体からずれるに伴い、種々の箇所にピークが加わり、面積比分布と外接円分布では互いに異なった分布になり、形状差異に明確に反応する複雑な度数分布になる。
【００２４】
また、本発明第９の態様では、
前記度数分布算出手段は、前記外接円分布を算出するにあたり、所定数の要素で構成される１次元の配列を準備し、前記算出された外接円の半径の最大値の範囲を前記所定数に均等に分割した上で、前記各外接円の半径を当該外接円の半径の値に基づいて前記所定数のいずれかの要素（ｍｄ）に割り当て、当該要素に該当する数により、前記外接円分布を算出することを特徴とする。
【００２５】
本発明第９の態様によれば、外接円分布を算出するにあたり、所定数の要素で構成される１次元の配列を準備し、算出された外接円の半径の最大値の範囲を所定数に均等に分割した上で、各外接円の半径を当該外接円の半径の値に基づいて所定数のいずれかの要素に割り当て、当該要素に該当する数により、外接円の半径分布を算出するようにしたので、三角形の形状の相違に鋭敏に反映する外接円分布を算出することが可能となる。
【００２６】
また、本発明第１０の態様では、
前記度数分布算出手段は、前記３つのポリゴンの所定の点により形成される三角形の重心から各頂点への単位ベクトルと当該頂点を含むポリゴンの法線ベクトルとの内積値を当該ポリゴンの面積に乗算した値の平均値を重み値として算出し、前記要素に該当する数を得る際、前記重み値を用いて重み付けすることを特徴とする。
【００２７】
本発明第１０の態様によれば、３つのポリゴンの所定の点により形成される三角形の重心から各頂点への単位ベクトルと当該頂点を含むポリゴンの法線ベクトルとの内積値を当該ポリゴンの面積に乗算した値の平均値を重み値として算出し、前記要素に該当する数を得る際、前記重み値を用いて重み付けするようにしたので、３つのポリゴンが同一の部品に対応するポリゴンモデルに属する場合と３つのポリゴンが複数の部品に対応するポリゴンモデルに属する場合とで算出される度数分布に差が生じ、度数分布における個々の部品の識別性が向上し、出力対象の３Ｄのポリゴンモデルがデータベースに登録されている規制モデルを構成する複数の部品により構成される形態で出力されるような場合であっても、出力の適否を適切に判定することが可能となる。
【００２８】
また、本発明第１１の態様では、前記度数分布算出手段は、前記各対象モデルを構成する各ポリゴンについての前記重み値の総和値（重み総和値ＳＱｓｕｍ）により、前記各要素の値（Ｈｄ（ｍｄ）、Ｈａ（ｍａ））を除算し、当該要素が負の値である場合は、絶対値として与えることにより、前記度数分布を算出することを特徴とする。
【００２９】
本発明第１１の態様によれば、度数分布を算出するにあたり、各対象モデルを構成する各ポリゴンについての重み値により、各要素の値を除算し、当該要素が負の値である場合は、正の値に変化させるようにしたので、度数分布どうしの照合を簡便に行うことができる。
【００３０】
また、本発明第１２の態様では、
前記対象モデルの度数分布の前記外接円の半径のスケールを、前記データベースに登録されている規制モデルの度数分布の外接円の半径のスケールに整合させる処理を行い、前記整合された対象モデルの度数分布を作成する度数分布整合手段を更に備え、
前記度数分布照合手段は、前記整合された対象モデルの度数分布を、前記規制モデルの度数分布と照合し、出力を規制すべきか否かを判定することを特徴とする。
【００３１】
本発明第１２の態様によれば、対象モデルの面積比分布または外接円分布からなる度数分布の前記外接円の半径のスケールを、前記データベースに登録されている規制モデルの面積比分布または外接円分布からなる度数分布の外接円の半径のスケールに整合させる処理を行い、前記整合された対象モデルの度数分布を作成し、前記整合された対象モデルの度数分布を、前記規制モデルの面積比分布または外接円分布からなる度数分布と照合するようにしたので、対象モデルと規制モデルのスケールを合わせることができ、規制モデルの度数分布が多数の部品からなる物体の特徴を表したものであっても、対象モデルの度数分布が表す部品との大きさを合わせて、的確な照合を行うことが可能となる。
【００３２】
また、本発明第１３の態様では、
前記対象モデルの度数分布および規制モデルの度数分布に対して、要素の値が小さい程、値が大きくなり、０より大きく１以下の値をとる強調成分を各々乗算し、対象モデルの強調度数分布および規制モデルの強調度数分布を作成する度数分布強調手段と、をさらに備え、
前記度数分布照合手段は、前記対象モデルの強調度数分布と前記規制モデルの強調度数分布を照合することを特徴とする。
【００３３】
本発明第１３の態様によれば、対象モデルの度数分布および規制モデルの度数分布に対して、要素の値が小さい程、値が大きくなり、０より大きく１以下の値をとる強調成分を各々乗算し、対象モデルの強調度数分布および規制モデルの強調度数分布を作成し、前記対象モデルの強調度数分布と前記規制モデルの強調度数分布を照合するようにしたので、規制モデルの度数分布から、対象モデルの度数分布に対応しない成分を減衰させ、規制モデルの度数分布と部分的に照合を行うことができる。このため、対象モデルが規制モデルの一構成部品に相当する場合であっても出力を規制すべきか否かの判定を高精度に行うことが可能となる。
【００３４】
また、本発明第１４の態様では、前記度数分布照合手段は、前記対象モデルの度数分布を、前記規制モデルの度数分布と照合するにあたり、前記度数分布どうしの相関係数を算出し、算出された相関係数に基づいて、出力を規制すべきか否かを判定することを特徴とする。
【００３５】
本発明第１４の態様によれば、対象モデルの度数分布を規制モデルの度数分布と照合するにあたり、度数分布どうしの相関係数を算出し、算出された相関係数に基づいて、出力を規制すべきか否かを判定するようにしたので、規制モデルの度数分布が多数の部品からなる物体の特徴を表したものであり、対象モデルの度数分布がその中の一部の部品に相当する特徴を表したものであっても、的確な照合を行うことが可能となる。
【００３６】
また、本発明第１５の態様では、前記度数分布照合手段は、前記対象モデルの度数分布を、前記規制モデルの度数分布と照合するにあたり、各々最大値を与えるピーク位置を算出し、算出されたピーク位置どうしの差分に基づいて出力を規制すべきか否かを判定することを特徴とする。
【００３７】
本発明第１５の態様によれば、対象モデルの度数分布を規制モデルの度数分布と照合するにあたり、各々最大値を与えるピーク位置を算出し、算出されたピーク位置どうしの差分に基づいて出力を規制すべきか否かを判定するようにしたので、規制モデルの度数分布が多数の部品からなる物体の特徴を表したものであっても、対象モデルの度数分布が表す部品に相当する特徴を規制モデルの度数分布から特定し、的確な照合を行うことが可能となる。
【００３８】
また、本発明第１６の態様では、前記規制モデルに対して、当該規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する規制モデル度数分布算出装置により算出された面積比分布を受信し、受信した面積比分布を前記データベースに登録する登録手段を更に有することを特徴とする。
【００３９】
本発明第１６の態様によれば、規制モデルに対して、規制モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する規制モデル度数分布算出装置を別途用意し、この規制モデル度数分布算出装置から規制モデルの面積比分布を受信し、データベースに登録するようにしたので、データベースの更新を遠隔地から迅速に行うことが可能となる。
【００４０】
また、本発明第１７の態様では、
前記規制モデル度数分布算出装置は、前記規制モデルに対して、当該規制モデル内のポリゴンを３個単位で取得してランダムに第１グループ、第２グループ、第３グループの３つのグループに分類し、各グループから１つずつポリゴンを選択することにより、前記３つのポリゴンを選択することを特徴とする。
【００４１】
本発明第１７の態様によれば、規制モデル内のポリゴンを３個単位で取得してランダムに第１グループ、第２グループ、第３グループの３つのグループに分類し、各グループから１つずつポリゴンを選択するようにしたので、三角形を形成するための３つのポリゴンの組み合わせを互いに重複することなく作成することができ、効率的な処理を行うことが可能となる。特に３個単位で取得してランダムにグループに分類することにより、特有の癖のない状態でグループ分類を行うことが可能になる。
【００４２】
また、本発明第１８の態様では、
前記対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記度数分布照合手段により、出力を規制すべきである（出力不適）と判定された場合に、前記立体物造形装置に、前記対象モデルの出力中止命令を出力する手段と、
を更に有することを特徴とする。
【００４３】
本発明第１８の態様によれば、対象モデルを、接続された立体物造形装置に出力し、並行して実行される度数分布照合手段による照合の結果、出力を規制すべきであると判定された場合に、立体物造形装置に、対象モデルの出力中止命令を出力するようにしたので、時間のかかる立体物の造形を遅延させることなく、出力不適の場合にのみ、出力を中止することが可能となる。
【００４４】
また、本発明第１９の態様では、
出力制御用端末と、処理サーバがネットワークを介して接続された構成であって、
前記出力制御用端末は、前記度数分布算出手段を有し、
前記処理サーバは、
前記データベースと、
ネットワークを介して前記出力制御用端末から前記対象モデルの面積比分布を受信する受信手段と、
前記度数分布照合手段と、
前記度数分布照合手段により判定された、出力を規制すべきか否かに基づくデータを前記出力制御用端末に送信する出力適否データ送信手段と、
を有することを特徴とする。
【００４５】
本発明第１９の態様によれば、ネットワークを介して対象モデルの面積比分布を受信し、出力を規制すべきか否かの判定により得られた判定結果を対象モデルの度数分布の送信元に送信するようにしたので、出力を規制すべきか否かの判定をクラウド型で提供することができ、出力側における処理を軽減することができる。更に、データベースをクラウド側で一元管理でき、３Ｄプリンタ等の立体物造形装置ごとに接続されている出力制御用端末内でデータベースを管理する必要がないため、常に最新のデータベースに基づいて出力を規制すべきか否かの判定を行うことが可能になる。
【００４６】
また、本発明第２０の態様では、
前記立体物造形用データ出力規制装置と、
前記立体物造形用データ出力規制装置で出力が許可されたポリゴンモデルを用いて立体物を造形する立体物造形装置と、
を有することを特徴とする立体物造形システムを提供する。
【００４７】
本発明第２０の態様によれば、立体物造形用データ出力規制装置と、立体物造形用データ出力規制装置で出力が許可されたポリゴンモデルを用いて立体物を造形する立体物造形装置により立体物造形システムを実現するようにしたので、ボードコンピュータを組み込んだ３Ｄプリンタ等の形態で、立体物造形システムを提供することが可能となる。
【００４８】
また、本発明第２１の態様では、
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定するために、前記ポリゴンモデルを基に度数分布を算出する装置であって、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出する度数分布算出装置を提供する。
【００４９】
本発明第２１の態様によれば、出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内から選択された３つのポリゴンの所定の点により形成される三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を算出するようにしたので、三角形と外接円によりポリゴン間の形状を的確に表現した面積比分布を算出することが可能となる。
【００５０】
また、本発明第２２の態様では、コンピュータを、前記のいずれか一つの態様の立体物造形用データ出力規制装置として機能させるためのプログラムを提供する。
【００５１】
本発明第２２の態様によれば、コンピュータを、立体物造形用データ出力規制装置として機能させるためのプログラムを提供するので、このプログラムを組み込むことにより、コンピュータが立体物造形用データ出力規制装置として機能する。
【発明の効果】
【００５２】
本発明によれば、３Ｄのポリゴンモデルの出力の適否をより適切に判定することが可能となる。
【図面の簡単な説明】
【００５３】
【図１】三角形と外接円、三角形と内接円の関係を示す図である。
【図２】三角形、外接円、三角形と外接円の面積比の関係を説明するための図である。
【図３】本発明の一実施形態に係る立体物造形用データ出力規制装置１００を含む立体物造形システムのハードウェア構成図である。
【図４】本発明の一実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。
【図５】本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。
【図６】対象モデル（部品）と規制モデル（全体）の照合の様子を示す図である。
【図７】ステップＳ１００の度数分布の算出処理の第１の手法の詳細を示すフローチャートである。
【図８】本実施形態におけるポリゴンのグループ分類を説明するための図である。
【図９】データ配列における順序に基づき、３で除した余りによるグループ分類を説明するための図である。
【図１０】３Ｄ形状のポリゴンモデルと、選定される三角形との関係を示す図である。
【図１１】互いに合同な三角形が選定される場合における、３Ｄ形状の構成部品と、選定される三角形との関係を示す図である。
【図１２】図１１と同一のポリゴンモデルにおいて、三角形とポリゴンとの位置関係と、ポリゴンの法線ベクトルとの関係を示す図である。
【図１３】ステップＳ１００の度数分布の算出処理の第２の手法の詳細を示すフローチャートである。
【図１４】外接円分布と面積比分布を求めるための三角形とその外接円を示す図である。
【図１５】ステップＳ１７０の度数分布の強調処理による度数分布の変化の様子を示す図である。
【図１６】ステップＳ２００の度数分布の照合処理の詳細を示すフローチャートである。
【図１７】度数分布（ヒストグラム）とピーク位置との関係を示す図である。
【図１８】変形例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。
【図１９】クラウド型の立体物造形システムのハードウェア構成図である。
【図２０】クラウド型の立体物造形システムの機能ブロック図である。
【図２１】比較事例を示す図である。
【図２２】照合事例１を示す図である。
【図２３】照合事例２を示す図である。
【発明を実施するための形態】
【００５４】
＜１．本発明の基本概念＞
まず、本発明の基本概念について説明する。ポリゴンモデルの特徴を表現する度数分布として、上記特許文献１、２においては、距離分布、角度分布を用いたが、ポリゴンモデルの形状に鋭敏に反映する指標として、ポリゴンモデル（３Ｄモデル）内の３つのポリゴンの各々重心の点を結ぶことにより形成される三角形を定義し、その外接円の半径の度数分布を、外接円分布として算出し、この外接円分布を照合することが考えられる。外接円分布は、距離分布、角度分布に比較して、ポリゴンモデルの形状に鋭敏に反映するため、出力適否の判定のため、より的確な照合を行うことが可能になる。３つのポリゴンの所定の点により形成される三角形は、度数分布を得るために演算上で用いられる三角形であるため、「仮三角形」と考えることもできる。
【００５５】
外接円の半径が同一であっても、当該三角形の形状は特定できず無限のバリエーションが存在する。したがって、より的確な照合を行うためには、少なくとももう１つの指標があると好ましい。この指標として、内接円の半径の度数分布である内接円分布を用いることが考えられる。図１は、三角形と外接円、三角形と内接円の関係を示す図である。図１（ａ）に示すように、三角形の面積が同一である場合、三角形の形状を、正三角形から扁平な三角形に変化させていくことにより、外接円の半径は大きくなっていく。具体的には、正三角形の時が最小で、形状が扁平になると半径は無限大に近づく。すなわち、三角形の形状に対する外接円半径の変化幅は無限であり大きい。
【００５６】
一方、図１（ｂ）に示すように、三角形の面積が同一である場合、三角形の形状を、正三角形から扁平な三角形に変化させていくことにより、内接円の半径は小さくなっていく。具体的には、正三角形の時が最大で、形状が扁平になると半径は０に近づく。すなわち、三角形の形状に対する内接円半径の変化幅は有限であり小さい。
【００５７】
内接円半径に代えて、その外接円の面積を、三角形の面積の平方根で除した値、に基づく度数分布である面積比分布を用いる場合を考えてみる。図２は、三角形、その外接円、三角形と外接円の面積比の関係を説明するための図である。図２（ａ）は図１（ａ）と同じものである。上述のように、三角形の面積が同一である場合、三角形の形状を、正三角形から扁平な三角形に変化させていくことにより、外接円の半径は大きくなっていく。具体的には、正三角形の時が最小で、形状が扁平になると半径は無限大に近づく。すなわち、三角形の形状に対する外接円半径の変化幅は無限であり大きい。しかし、同一の外接円の半径をもつ三角形は無限に存在し、外接円の半径だけでは当該三角形を特定できない。
【００５８】
そこで、図２（ｂ）に示すように、外接円の半径が同一の条件で、三角形の形状を、正三角形から扁平な三角形に変化させていくと、外接円の面積を、三角形の面積の平方根で除した値である面積比は大きくなっていく。具体的には、正三角形の時が最小で、形状が扁平になると上記面積比は無限大に近づく。すなわち、三角形の形状に対する上記面積比の変化幅は外接円の半径と同様に無限であり大きい。したがって、外接円分布とともにもう１つの指標を用いる場合、外接円半径と反対の反応をする内接円分布よりも面積比分布の方が好ましい。そこで、本発明では、外接円の面積を、三角形の面積の平方根で除した値に基づく度数分布である面積比分布を、照合対象として用いる。ただし、外接円半径との次元を合わせるため、面積比分布で用いる面積比は、長さ（距離）の次元とすることが好ましい。そのため、本実施形態で用いる面積比分布は、外接円の面積を、三角形の面積そのもので除した正確な意味での面積比ではなく、外接円の半径の２乗（外接円の面積をπで除したもの）を、三角形の面積の平方根で除した値である「擬似的な面積比」を「面積比」として扱い、その度数分布を「面積比分布」と呼ぶことにする。結局、面積比分布は、外接円の面積と三角形の面積の比率を何等かの態様で反映させたものであればよい。したがって、「三角形の外接円の面積を、当該三角形の面積の平方根で除した値、に基づく値」には、「外接円の半径の２乗（外接円の面積をπで除したもの）を、三角形の面積の平方根で除した値」も含まれることになる。
【００５９】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
＜２．装置構成＞
図３は、本発明の一実施形態に係る立体物造形用データ出力規制装置１００を含む立体物造形システムのハードウェア構成図である。本実施形態に係る立体物造形用データ出力規制装置１００は、汎用のコンピュータで実現することができ、図３に示すように、ＣＰＵ（Central Processing Unit）１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２と、ＣＰＵ１が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３と、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４と、３Ｄプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５と、液晶ディスプレイ等の表示デバイスである表示部６と、を備え、互いにバスを介して接続されている。
【００６０】
３Ｄプリンタ７は、汎用の３Ｄプリンタであり、立体物の三次元形状をポリゴンの集合で表現したポリゴンモデルである立体物造形用データを基に樹脂、石膏等の素材を加工して立体物を造形する立体物造形装置である。３Ｄプリンタ７は、データ処理部７ａと出力部７ｂを有している。３Ｄプリンタ７のデータ処理部７ａは、データ入出力Ｉ／Ｆ５に接続されており、データ入出力Ｉ／Ｆ５から受け取った立体物造形用データを基に、出力部７ｂが立体物を造形するようになっている。
【００６１】
図３では、立体物造形用データ出力規制装置１００と３Ｄプリンタ７は分離した形態で示されているが、現在市販されている殆どの３Ｄプリンタ製品には立体物造形用データ出力規制装置１００の構成要素である、ＣＰＵ１、ＲＡＭ２、記憶装置３、キー入力Ｉ／Ｆ４（汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン）、データ入出力Ｉ／Ｆ５、表示部６（数行の文字を表示可能な小型液晶パネルやタッチパネルを重畳させてキー入力Ｉ／Ｆ４を兼ねることも多い）も小規模ながら重複して備えている。従って、３Ｄプリンタ７自体が外部記憶媒体経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている（特に民生用の３Ｄプリンタではこちらの形態の方が多い）。すなわち、図３に示した立体物造形システムを１つの筐体に収めて、“３Ｄプリンタ”という製品として流通することも多い。
【００６２】
図４は、本実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。図４において、１０は度数分布算出手段、２０は度数分布整合手段、３０は度数分布強調手段、４０は度数分布照合手段、５０は対象モデル記憶手段、６０は規制モデルデータベースである。度数分布算出手段１０は、出力対象のポリゴンモデルである対象モデルに対して、対象モデル内から選択された３つのポリゴン上の重心の点により形成される三角形を特徴付けるパラメータを算出し、そのパラメータの度数分布を算出する。本実施形態では、パラメータとして第１パラメータと、第２パラメータの２種のパラメータを用いる。より具体的には、第１パラメータとして、対象モデル内から選択された３つのポリゴンの重心の点により形成される三角形の外接円の半径を用い、第２パラメータとして、対象モデル内から選択された３つのポリゴンの重心の点により形成される三角形の外接円の面積を、三角形の面積の平方根で除した値である面積比を用いる。したがって、度数分布算出手段１０は、第１度数分布として外接円の半径の度数分布である外接円分布と、第２度数分布として外接円の面積を、三角形の面積の平方根で除した値である面積比の度数分布である面積比分布の２種の度数分布を算出することになる。
【００６３】
度数分布整合手段２０は、対象モデルの度数分布の横軸のパラメータのスケールを、データベースに登録されている規制モデルの度数分布の横軸のパラメータのスケールに整合させる処理を行う。度数分布の横軸の最大値は、各モデルごとに算出される外接円半径の最大値の２乗または外接円半径の最大値で正規化されているため、対象モデルと規制モデルとでは度数分布の横軸のスケールが通常一致しない。そこで、度数分布整合手段２０は、対象モデルと規制モデルの各々を３Ｄプリンタで出力する際に、対象モデルの度数分布の横軸の最大値に対応する実寸法を実寸法α、規制モデルの度数分布の横軸の最大値に対応する実寸法を実寸法βとするとき、対象モデルの度数分布の横軸を実寸法α／実寸法βだけ縮小させるように度数分布を横方向に縮小させる処理を行う。度数分布は外接円分布と面積比分布で構成されているが、双方とも外接円半径の最大値（面積比分布は最大値の２乗を用いている）を用いて正規化されているため、両者の横軸のスケールは一致しており、双方の度数分布とも横軸を実寸法α／実寸法βだけ縮小させれば良い。度数分布強調手段３０は、整合された対象モデルの度数分布および規制モデルの度数分布に対して強調成分を各々乗算し、対象モデルの強調度数分布および規制モデルの強調度数分布を作成する。強調度数分布としては、上述のように、外接円の半径の度数分布である外接円分布と、面積比の度数分布である面積比分布の２種の強調度数分布が算出されることになる。度数分布照合手段４０は、対象モデルについて算出された強調度数分布を、規制モデルについて算出された強調度数分布と照合し、出力を規制すべきか否か、すなわち出力不適であるか出力適正であるかを判定する。
【００６４】
度数分布算出手段１０、度数分布整合手段２０、度数分布強調手段３０、度数分布照合手段４０は、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。対象モデル記憶手段５０は、出力を規制すべきか否かの判定対象となるポリゴンモデルである対象モデルを記憶した記憶手段であり、記憶装置３により実現される。ポリゴンモデルとは、ポリゴンの集合により三次元空間における所定の立体形状を表現したデータであり、３Ｄプリンタ等の立体物造形装置に立体物造形用データとして出力されるものである。本実施形態では、ポリゴンモデルのデータ形式としてＳＴＬ（Standard Triangulated Language）を採用している。
【００６５】
規制モデルデータベース６０は、出力を規制すべきポリゴンモデルである規制モデルに対して２種の度数分布として算出された外接円分布および面積比分布を記憶して、データベース化したものであり、記憶装置３により実現される。２種の度数分布である外接円分布および面積比分布は、規制モデルの特徴を表現した特徴データとしての役割を果たすものとなる。すなわち、２種の度数分布により、元の規制モデルの相違を識別可能であるが、元の規制モデルを復元できるわけではない。これは、指紋（フィンガープリント）により個人の相違を識別可能であるが、人物の姿そのものを復元できるわけではないのと同様である。したがって、２種の度数分布は、著作物としての役割は果たさないが、２つの著作物の同一性を証明する、いわゆるフィンガープリントとしての役割も果たすことになる。規制モデルデータベース６０には、外接円分布および面積比分布だけでなく、外接円分布および面積比分布の算出の基になった規制モデル自体を登録しておくことも可能であるが、通常は、著作権の問題から規制モデル自体は登録されていない。
【００６６】
図４に示した各構成手段は、現実には図３に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、ＣＰＵ等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、製品としての“３Ｄプリンタ”に組み込まれたボードコンピュータも含む。
【００６７】
図３に示した記憶装置３には、ＣＰＵ１を動作させ、コンピュータを、立体物造形用データ出力規制装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ１は、度数分布算出手段１０、度数分布整合手段２０、度数分布強調手段３０、度数分布照合手段４０としての機能を実現することになる。また、記憶装置３は、対象モデル記憶手段５０、規制モデルデータベース６０として機能するだけでなく、立体物造形用データ出力規制装置としての処理に必要な様々なデータを記憶する。
【００６８】
図３に示したハードウェア構成において、コンピュータを、度数分布算出手段１０として機能させるための専用のプログラムのみを記憶装置３に実装しておくことにより、度数分布を算出するための度数分布算出装置を実現することもできる。度数分布算出装置は、対象モデル記憶手段５０から読み込んだ対象モデルを基に、２種の度数分布を算出して出力する。出力された度数分布は、別途、度数分布整合手段２０、度数分布強調手段３０、度数分布照合手段４０、規制モデルデータベース６０を備えた装置に入力され、照合および出力規制の判定を行うことができる。
【００６９】
＜３．処理動作＞
＜３．１．前処理＞
次に、図３、図４に示した立体物造形用データ出力規制装置の処理動作について説明する。まず、規制対象とするポリゴンモデルである規制モデルについて、２種の度数分布である外接円分布および面積比分布を作成する。ポリゴンモデルからの外接円分布および面積比分布の作成については、後述する立体物造形用データ出力規制装置における処理と同様にして行うことができる。規制モデルからの外接円分布および面積比分布の作成は、立体物造形用データ出力規制装置で行ってもよいし、別のコンピュータで同様のプログラムを実行することにより行ってもよい。作成された外接円分布および面積比分布は、規制モデルデータベース６０に登録される。
【００７０】
出力規制の対象は、銃砲・刀剣などの危険物だけでなく、キャラクターなどの著作物となることもある。いずれの場合においても、制作されたポリゴンモデルは、著作権者が存在する著作物になる。したがって、著作物であるポリゴンモデルをデータベースに登録するためには、その行為自体に著作者の許諾が必要となる。外接円分布および面積比分布の形式により、元のポリゴンモデルの相違を識別可能であるが、元のポリゴンモデルを復元できるわけではない。これは、指紋（フィンガープリント）により個人の相違を識別可能であるが、人物の姿そのものを復元できるわけではないのと同様であり、外接円分布および面積比分布の形式はフィンガープリントに相当し、著作物には該当しない。そこで、本発明のように、外接円分布および面積比分布の形式で登録することにより、著作者の許諾を必要とせずに、規制モデルの特徴を記録したデータベースを構築することができる。
【００７１】
＜３．２．処理概要＞
次に、図３、図４に示した立体物造形用データ出力規制装置の処理動作について説明する。図５は、本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、度数分布算出手段１０が、ポリゴンモデルである対象モデルについて、２種の度数分布である外接円分布および面積比分布を算出する（ステップＳ１００）。次に、算出された２種の度数分布に対して、規制モデルデータベース６０に登録された規制モデルの度数分布を用いて整合処理する（ステップＳ１３０）。さらに、強調成分を用いて、ステップＳ１３０で作成された２種の度数分布の強調処理を行う（ステップＳ１７０）。そして、強調処理された対象モデルの強調度数分布と、強調処理された規制モデルの強調度数分布との照合を行う（ステップＳ２００）。
【００７２】
図５に示した処理による２つのポリゴンモデルの照合の様子を、図６を用いて説明する。図６は、対象モデルと規制モデルの照合の様子を示す図である。図６の例では、規制モデル（１）として全体をデータベースに登録しておき、対象モデル（２）として規制モデル（１）の一部を用いた場合を示している。この場合、ステップＳ１００の処理により、規制モデル（１）から２種の度数分布（３）、対象モデル（２）から２種の度数分布（４）がそれぞれ得られる。このときの、度数分布の横軸は、最大外接円半径（後述、図６では最大半径ａ、最大半径ｂと表記）を示しており、３Ｄプリンタ出力時のスケールを反映していないため、全体と部分では、最大外接円半径のスケールが大きく異なる。そのため、ステップＳ１３０の処理により、実寸の最大外接円半径を用いて対象モデルの度数分布を規制モデルの度数分布に整合させる処理を行う（５）。具体的には、対象モデルと規制モデルの各々を３Ｄプリンタで出力する際に、対象モデルの最大外接円半径の実寸法を実寸法α、規制モデルの最大外接円半径の実寸法を実寸法βとするとき、対象モデルの度数分布の横軸を実寸法α／実寸法β（最大半径ｂ／最大半径ａ）となるように度数分布を横方向に縮小させる処理を行う。度数分布は外接円分布と面積比分布で構成されているが、両者の横軸のスケールは一致しているため、双方の度数分布とも横軸を実寸法α／実寸法βとなるように縮小させれば良い。その後、強調成分を作成し（６）、強調処理を行った後（７）（８）、照合処理を行う（９）。
【００７３】
＜３．３．度数分布の算出処理＞
以下、度数分布の算出処理（ステップＳ１００）について具体的に説明していく。度数分布の算出処理としては、第１の手法と第２の手法の２通りが存在する。
＜３．３．１．第１の手法＞
まず、第１の手法について説明する。図７は、第１の手法による度数分布の算出処理の詳細を示すフローチャートである。ここでは、対象モデルのポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｕ（ｉ），Ｙｕ（ｉ），Ｚｕ（ｉ））、各ポリゴンｉの法線ベクトルを（Ｘｎ（ｉ），Ｙｎ（ｉ），Ｚｎ（ｉ））と定義されたものとする。ｕは頂点番号を示しており、本実施形態では、ポリゴンが三角形状であるため、ｕ＝０，１，２の３つの値をとる。したがって、例えばＸｕ（ｉ）は、Ｘ０（ｉ）、Ｘ１（ｉ）、Ｘ２（ｉ）とも表記される。頂点を特定したポリゴンおよび法線ベクトルは、立体物造形装置である３Ｄプリンタによる出力に必要なものであり、法線ベクトルの方向が造形面の外側（材料から空中方向）を示す。法線ベクトルは、３Ｄプリンタに出力用のポリゴンモデルにおいては、各ポリゴンについて記録されているのが普通である。対象モデルは、その出力スケール情報Ｓｏｕｔも有している。出力スケール情報Ｓｏｕｔは、対象モデルを立体物として出力する際の実寸法であり、頂点を定義している３次元座標系の単位長（長さ１）あたりの実寸法で、単位はｍｍで表現されている。度数分布算出手段１０は、まず、対象モデルを構成する各ポリゴンｉの面積Ｓｐ（ｉ）を以下の〔数式１〕に従った処理を実行することにより算出する（ステップＳ５０１）。
【００７４】
〔数式１〕
Ｖｘ（ｉ）＝[Ｙ１（ｉ）−Ｙ０（ｉ）][Ｚ２（ｉ）−Ｚ０（ｉ）]−[Ｚ１（ｉ）−Ｚ０（ｉ）][ Ｙ２（ｉ）−Ｙ０（ｉ）]
Ｖｙ（ｉ）＝[Ｚ１（ｉ）−Ｚ０（ｉ）][Ｘ２（ｉ）−Ｘ０（ｉ）]−[Ｘ１（ｉ）−Ｘ０（ｉ）][ Ｚ２（ｉ）−Ｚ０（ｉ）]
Ｖｚ（ｉ）＝[Ｘ１（ｉ）−Ｘ０（ｉ）][Ｙ２（ｉ）−Ｙ０（ｉ）]−[Ｙ１（ｉ）−Ｙ０（ｉ）][Ｘ２（ｉ）−Ｘ０（ｉ）] 
Ｓｐ（ｉ）＝[Ｖｘ（ｉ）2+Ｖｙ（ｉ）2+Ｖｚ（ｉ）2]1/2
【００７５】
次に、対象モデルを構成する各ポリゴンについて、ポリゴンの重心を算出する（ステップＳ５０２）。具体的には、以下の〔数式２〕に従った処理を実行することにより、各ポリゴンの頂点の平均座標をもつポリゴンの重心（Ｘｃ（ｉ），Ｙｃ（ｉ），Ｚｃ（ｉ））を算出する。
【００７６】
〔数式２〕
Ｘｃ（ｉ）＝｛Ｘ０（ｉ）＋Ｘ１（ｉ）＋Ｘ２（ｉ）｝／３
Ｙｃ（ｉ）＝｛Ｙ０（ｉ）＋Ｙ１（ｉ）＋Ｙ２（ｉ）｝／３
Ｚｃ（ｉ）＝｛Ｚ０（ｉ）＋Ｚ１（ｉ）＋Ｚ２（ｉ）｝／３
【００７７】
上記〔数式２〕において、Ｘ０（ｉ）、Ｘ１（ｉ）、Ｘ２（ｉ）はそれぞれＸｕ（ｉ）において、頂点番号ｕ＝０，１，２の場合を示し、Ｙ０（ｉ）、Ｙ１（ｉ）、Ｙ２（ｉ）はそれぞれＹｕ（ｉ）において、頂点番号ｕ＝０，１，２の場合を示し、Ｚ０（ｉ）、Ｚ１（ｉ）、Ｚ２（ｉ）はそれぞれＺｕ（ｉ）において、頂点番号ｕ＝０，１，２の場合を示している。上記〔数式２〕に示すように、ポリゴン重心は、ポリゴンの各頂点の平均座標をもつ点として算出される。
【００７８】
ここで、三角形の重心と三角形の各頂点への単位ベクトルについて説明しておく。３つのポリゴンｉ１，ｉ２，ｉ３（ｉ１，ｉ２，ｉ３は、ｉとして０からＮ−１の値をとる互いに異なる整数）のポリゴン重心により構成される三角形の重心を（Ｘｏ（ｉ１，ｉ２，ｉ３）、Ｙｏ（ｉ１，ｉ２，ｉ３）、Ｚｏ（ｉ１，ｉ２，ｉ３））とする。すなわち、三角形の重心（Ｘｏ（ｉ１，ｉ２，ｉ３）、Ｙｏ（ｉ１，ｉ２，ｉ３）、Ｚｏ（ｉ１，ｉ２，ｉ３））は、以下の〔数式３〕により定義される。
【００７９】
〔数式３〕
Ｘｏ（ｉ１，ｉ２，ｉ３）＝｛Ｘｃ（ｉ１）＋Ｘｃ（ｉ２）＋Ｘｃ（ｉ３）｝／３
Ｙｏ（ｉ１，ｉ２，ｉ３）＝｛Ｙｃ（ｉ１）＋Ｙｃ（ｉ２）＋Ｙｃ（ｉ３）｝／３
Ｚｏ（ｉ１，ｉ２，ｉ３）＝｛Ｚｃ（ｉ１）＋Ｚｃ（ｉ２）＋Ｚｃ（ｉ３）｝／３
【００８０】
そして、以下の〔数式４〕により、三角形の重心からポリゴンｉ１のポリゴン重心（Ｘｃ（ｉ１），Ｙｃ（ｉ１），Ｚｃ（ｉ１））への単位ベクトル（Ｅｘ（ｉ２，ｉ３，ｉ１），Ｅｙ（ｉ２，ｉ３，ｉ１），Ｅｚ（ｉ２，ｉ３，ｉ１））を定義する。
【００８１】
〔数式４〕
Ｅ（ｉ２，ｉ３，ｉ１）＝［｛Ｘｃ（ｉ１）−Ｘｏ（ｉ１，ｉ２，ｉ３）｝2＋｛Ｙｃ（ｉ１）−Ｙｏ（ｉ１，ｉ２，ｉ３）｝2＋｛Ｚｃ（ｉ１）−Ｚｏ（ｉ１，ｉ２，ｉ３）｝2］1/2
Ｅｘ（ｉ２，ｉ３，ｉ１）＝｛Ｘｃ（ｉ１）−Ｘｏ（ｉ１，ｉ２，ｉ３）｝／Ｅ（ｉ２，ｉ３，ｉ１）
Ｅｙ（ｉ２，ｉ３，ｉ１）＝｛Ｙｃ（ｉ１）−Ｙｏ（ｉ１，ｉ２，ｉ３）｝／Ｅ（ｉ２，ｉ３，ｉ１）
Ｅｚ（ｉ２，ｉ３，ｉ１）＝｛Ｚｃ（ｉ１）−Ｚｏ（ｉ１，ｉ２，ｉ３）｝／Ｅ（ｉ２，ｉ３，ｉ１）
【００８２】
三角形の重心と三角形の各頂点への単位ベクトルは、上記〔数式３〕、〔数式４〕に従った処理を実行することにより、後述するステップＳ５０８において度数分布の算出に用いられる。
【００８３】
次に、ポリゴンモデルを構成するポリゴンの集合を３つのグループに分け、各グループのポリゴンの順序を入れ替える（ステップＳ５０３）。３つのグループへの分け方としては、同数に分けることができれば、どのような手法を用いてもよい。本実施形態では、特に好ましい態様として、ポリゴンモデルのデータ配列における順序に基づき、３個単位でランダムにグループ分けを行う。
【００８４】
具体的には、ポリゴンモデルを構成するポリゴンの集合から３個単位でポリゴンを取得し、３の剰余である０〜２の整数をランダムに発生する乱数に基づいて、第１グループ、第２グループ、第３グループのいずれかのグループに分類する。そして、この処理を、ポリゴンモデルを構成する全ポリゴンについて繰り返し実行することにより、ポリゴンモデルを構成するＮ個のポリゴンを、Ｎ／３個ずつのグループに分ける。乱数としては、必ずしも０〜２である必要はなく、１／３の確率で発生する状態を実現できればよい。
【００８５】
各グループのポリゴン数が同数になるように、元のポリゴン数Ｎの３の剰余が２の場合、先頭のポリゴン０を、最後尾のポリゴンＮ＝ポリゴン０として重複してもたせ、全ポリゴン数がＮ＋１個になるように修正する。また、元のポリゴン数Ｎの３の剰余が１の場合、先頭のポリゴン０および２番目のポリゴン１を、最後尾から２番目のポリゴンＮ＝ポリゴン０、最後尾のポリゴンＮ＋１＝ポリゴン１として重複してもたせ、全ポリゴン数がＮ＋２個になるように修正する。各グループのポリゴン数が同数になるように、ポリゴンを重複して追加し、全ポリゴン数がＮ＋１個またはＮ＋２個となった場合であっても、以下では、全ポリゴン数をＮ個として置き換えて説明していく。
【００８６】
３で除した余りによりグループ分けすることにより、３つの配列Ｇ１（ｈ）＝３ｈ＋Ｑ０（ｑ）、Ｇ２（ｈ）＝３ｈ＋Ｑ１（ｑ）、Ｇ３（ｈ）＝３ｈ＋Ｑ２（ｑ）（ｈ＝０，・・・，Ｎ／３−１）が得られる。ここで、整数値ｑ（ｑ＝０，・・・，Ｎ／３−１）にはＧ１（ｈ）に与えた整数値ｈと同一値を与え、Ｑ０（ｑ）、Ｑ１（ｑ）、Ｑ２（ｑ）は整数値ｑを基に｛０，１，２｝のいずれかの整数値をとる。即ち、Ｑ０（ｑ）＝ｑ  ｍｏｄ  ３、Ｑ１（ｑ）＝（ｑ＋１）ｍｏｄ  ３、Ｑ２（ｑ）＝（ｑ＋２）ｍｏｄ  ３となる（“ｍｏｄ  ３”は３の剰余を表す）。後述の通り、整数値ｑはランダムに与えるため、Ｑ０（ｑ）、Ｑ１（ｑ）、Ｑ２（ｑ）は互いに重複せずに、｛０，１，２｝のいずれかの整数値をランダムにとる。
【００８７】
次に、各グループのポリゴンの配列の順序を入れ替える。順序の入れ替えは無作為に行われる。すなわち、シャッフルされる。ポリゴンの配列の順序を入れ替えることができれば、どのような手法を用いてもよいが、本実施形態では、以下のような手法によりポリゴンの配列の順序を入れ替えている。まず、３種類の乱数配列Ｒ１（ｋ）、Ｒ２（ｋ）、Ｒ３（ｋ）を作成する。具体的には、ｋ＝０，・・・，Ｎ／３−１について、Ｒ１（ｋ）＝ｋに初期化する。続いて、０≦Ｒｎｄ（ｋ）＜１の範囲で実数値の一様乱数をＮ／３回発生させ、１回発生させるごとに、ｐｐ＝Ｒｎｄ（ｋ）×Ｎ／３なる演算で０≦ｐｐ≦Ｎ／３−１の整数値を算出し、Ｒ１（ｋ）の値とＲ１（ｐｐ）の値を交換する処理をＮ／３回繰り返す。繰り返しの結果、Ｎ／３個の連続する整数をランダムに入れ替えた乱数配列Ｒ１（ｋ）が得られる。これにより、例えば、第１グループのポリゴンの配列Ｇ１（ｈ）に対して、ｈ＝ｑ＝Ｒ１（ｋ）で与え、Ｇ１（Ｒ１（ｋ））＝３Ｒ１（ｋ）＋Ｑ０（Ｒ１（ｋ））（ｋ＝０，・・・，Ｎ／３−１）のように、順序が入れ替えられた配列を得ることができる。第２の乱数配列Ｒ２（ｋ）に対しては、Ｒ２（ｋ）＝Ｒ１（Ｎ／３−１−ｋ）で与える。すなわち、第１の乱数配列Ｒ１（ｋ）の先頭から末尾への順序を逆にしたものが乱数配列Ｒ２（ｋ）である。乱数配列Ｒ１（ｋ）、乱数配列Ｒ２（ｋ）は、互いに他方の反転乱数配列となる。また、第３の乱数配列Ｒ３（ｋ）に対しては、乱数配列Ｒ３（ｋ）＝ｋとし乱数にせず、ｋ＝０，・・・，Ｎ／３−１なるシーケンシャルな値に設定する。このように、ポリゴンの配列の順序を入れ替えることにより、各グループのポリゴンの配列順序を、３次元空間である対象モデル内のポリゴンからランダムに設定することができ、ランダムなポリゴン上の点の組み合わせで作成された三角形の面積、三角形の外接円の半径（外接円の面積は外接円の半径の２乗で与える）に基づいて、外接円分布および面積比分布を求めることが可能となる。従って、第２グループのポリゴンの配列Ｇ２（ｈ）に対して、ｈ＝Ｒ２（ｋ）、ｑ＝Ｒ１（ｋ）で与え、Ｇ２（Ｒ２（ｋ））＝３Ｒ２（ｋ）＋Ｑ１（Ｒ１（ｋ））となり、第３グループのポリゴンの配列Ｇ３（ｈ）に対して、ｈ＝Ｒ３（ｋ）、ｑ＝Ｒ１（ｋ）で与え、Ｇ３（Ｒ３（ｋ））＝３Ｒ３（ｋ）＋Ｑ２（Ｒ１（ｋ））となり、３つのグループの順序が入れ替えられた配列を得ることができる。また、後述の通り、第１グループのポリゴンの配列Ｇ１（ｈ）に対してｈ＝ｑ＝Ｒ２（ｋ）を与えてもよく、Ｇ１（Ｒ２（ｋ））＝３Ｒ２（ｋ）＋Ｑ０（Ｒ２（ｋ））のような順序が入れ替えられた配列を得ることもできる。
【００８８】
このように３つのグループにポリゴンを分類するのは、３つのポリゴンをランダムに選択して三角形を作成する際、互いに重複しないようにするためである。ポリゴンモデルを構成する全てのポリゴンの組み合わせで三角形を順次構成することも可能であるが、ポリゴン数が多いと組み合わせが膨大な数になり実用的ではない。また、グループ分けをせず、ポリゴンモデルを構成する全てのポリゴンよりランダムに３つのポリゴンを選択して三角形を構成する方法も考えられるが、ある確率で同一の三角形が発生してしまう。ランダムに抽出される三角形のサンプル数が十分に多くないと、偏った度数分布が算出される可能性がある。本実施形態のように、３つのグループに分類し、各グループから１つずつポリゴンを選択して計３つ選択するようにすることにより、三角形を形成するための３つのポリゴンを互いに重複することなくランダム性をもたせながら効率的に選択することが可能になる。
【００８９】
図８は、本実施形態におけるポリゴンのグループ分類を説明するための図である。例えば、図８に示すようにＰ１〜Ｐ９の９個の原ポリゴン配列（ポリゴンの集合）をＡグループ、Ｂグループ、Ｃグループの３つのグループに分類するものとする。この場合、最初の３個のポリゴンＰ１、Ｐ２、Ｐ３が［０，１，２］の乱数に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類され、次の３個のポリゴンＰ４、Ｐ５、Ｐ６が［１，２，０］の乱数に基づいて、それぞれＢグループ、Ｃグループ、Ａグループに分類され、最後の３個のポリゴンＰ７、Ｐ８、Ｐ９が［２，０，１］の乱数に基づいて、それぞれＣグループ、Ａグループ、Ｂグループに分類される。そして、各グループのポリゴンの配列の順序を入れ替える（シャッフルする）。この結果、ポリゴンＰ６、Ｐ９、Ｐ３による三角形、ポリゴンＰ１、Ｐ２、Ｐ５による三角形、ポリゴンＰ８、Ｐ４、Ｐ７による三角形が得られることになる。
【００９０】
図９は、乱数に基づいてグループを決定するのではなく、ポリゴンモデルのデータ配列における順序に基づき、３で除して余りが０、１、２のいずれであるかによるグループ分類を説明するための図である。例えば、図９に示すようにＰ１〜Ｐ９の９個の原ポリゴン配列（ポリゴンの集合）をＡグループ、Ｂグループ、Ｃグループの３つのグループに分類するものとする。この場合、最初の３個のポリゴンＰ１、Ｐ２、Ｐ３が、整数部分を３で除した余り［０，１，２］に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類され、次の３個のポリゴンＰ４、Ｐ５、Ｐ６が、整数部分を３で除した余り［０，１，２］に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類され、最後の３個のポリゴンＰ７、Ｐ８、Ｐ９が、整数部分を３で除した余り［０，１，２］に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類される。そして、各グループのポリゴンの配列の順序を入れ替える（シャッフルする）。この結果、ポリゴンＰ４、Ｐ８、Ｐ３による三角形、ポリゴンＰ１、Ｐ２、Ｐ６による三角形、ポリゴンＰ７、Ｐ５、Ｐ９による三角形が得られることになる。図９に示したように、３で除した余りに基づいてグループ分けした場合、図８に示したように、乱数を用いてランダムにグループ分けした場合に比べて、構成される三角形にポリゴン配列による癖が生じることになる。
【００９１】
次に、初期設定を行う（ステップＳ５０４）。具体的には、算出する外接円分布、面積比分布の初期化、ループカウンタの初期化、重み総和値の初期化を行う。本実施形態で算出される外接円分布は、ポリゴンの面積を加重した、三角形の外接円の半径の分布であり、要素数をＭＤとし、各要素ｍｄ（ｍｄ＝０，・・・，ＭＤ−１）の度数をＨｄ（ｍｄ）と表す。Ｈｄ（ｍｄ）は、所定数ＭＤの要素で構成される１次元配列である。要素数ＭＤとしては、任意の値を設定することができるが、本実施形態では、ＭＤ＝３６０としている。このような１次元の配列を準備した後、度数分布算出手段１０は、初期値をＨｄ（ｍｄ）＝０と設定する。本実施形態で算出される面積比分布は、ポリゴンの面積を加重した、三角形、三角形の外接円、それぞれの面積の比率の分布であり、要素数をＭＡとし、各要素ｍａ（ｍａ＝０，・・・，ＭＡ−１）の度数をＨａ（ｍａ）と表す。Ｈａ（ｍａ）は、所定数ＭＡの要素で構成される１次元配列である。要素数ＭＡは、上記要素数ＭＤと同一であっても異なっていてもよい。要素数ＭＡとしては、任意の値を設定することができるが、本実施形態では、要素数ＭＤと同一とし、ＭＡ＝３６０としている。このような１次元の配列を準備した後、度数分布算出手段１０は、初期値をＨａ（ｍａ）＝０と設定する。ループカウンタＬＣについては、初期値ＬＣ＝０と設定する。また、重み値ＳＱの総和値である重み総和値ＳＱｓｕｍ＝０と設定する。
【００９２】
次に、度数分布算出手段１０は、３つのグループ間における各ポリゴン重心を頂点とする三角形の作成を行う（ステップＳ５０５）。３つのポリゴンを用いて三角形を作成する際、ポリゴン重心に限らず、ポリゴン上の点としては、様々な点を用いることができる。しかし、ポリゴン重心が、１つのポリゴンを代表する点として好ましいため、本実施形態では、ポリゴン重心を頂点として三角形を作成する。ポリゴン上の点とは、ポリゴンを構成する頂点を全て通る面上に位置する点を意味する（外心のように三角形の外側に位置する点でも良い）。ステップＳ５０５においては、三角形の数がポリゴン総数Ｎと同一になるように、グループ間の組み合わせを変えて３通り作成する。具体的には、ｑ＝Ｒ１（ｋ）として、第１グループのポリゴンＧ１（ｈ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた順序ｋ（ｋ＝０，・・・，Ｎ／３−１）のポリゴンＧ１（Ｒ１（ｋ））の重心（Ｘｃ（Ｇ１（Ｒ１（ｋ））），Ｙｃ（Ｇ１（Ｒ１（ｋ））），Ｚｃ（Ｇ１（Ｒ１（ｋ））））、第２グループのポリゴンＧ２（ｈ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ２（Ｒ２（ｋ））の重心（Ｘｃ（Ｇ２（Ｒ２（ｋ））），Ｙｃ（Ｇ２（Ｒ２（ｋ））），Ｚｃ（Ｇ２（Ｒ２（ｋ））））、第３グループのポリゴンＧ３（ｈ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ３（Ｒ３（ｋ））の重心（Ｘｃ（Ｇ３（Ｒ３（ｋ））），Ｙｃ（Ｇ３（Ｒ３（ｋ））），Ｚｃ（Ｇ３（Ｒ３（ｋ））））の３点を頂点とする第１三角形をＮ／３個作成する。
【００９３】
同様に、ｑ＝Ｒ２（ｋ）として、第１グループのポリゴンＧ１（ｈ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた順序ｋのポリゴンＧ１（Ｒ２（ｋ））の重心（Ｘｃ（Ｇ１（Ｒ２（ｋ））），Ｙｃ（Ｇ１（Ｒ２（ｋ））），Ｚｃ（Ｇ１（Ｒ２（ｋ））））、第２グループのポリゴンＧ２（ｈ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ２（Ｒ３（ｋ））の重心（Ｘｃ（Ｇ２（Ｒ３（ｋ））），Ｙｃ（Ｇ２（Ｒ３（ｋ））），Ｚｃ（Ｇ２（Ｒ３（ｋ））））、第３グループのポリゴンＧ３（ｈ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ３（Ｒ１（ｋ））の重心（Ｘｃ（Ｇ３（Ｒ１（ｋ））），Ｙｃ（Ｇ３（Ｒ１（ｋ））），Ｚｃ（Ｇ３（Ｒ１（ｋ））））の３点を頂点とする第２三角形をＮ／３個作成する。
【００９４】
さらに、ｑ＝Ｒ３（ｋ）として、第１グループのポリゴンＧ１（ｈ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた順序ｋのポリゴンＧ１（Ｒ３（ｋ））の重心（Ｘｃ（Ｇ１（Ｒ３（ｋ））），Ｙｃ（Ｇ１（Ｒ３（ｋ））），Ｚｃ（Ｇ１（Ｒ３（ｋ））））、第２グループのポリゴンＧ２（ｈ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ２（Ｒ１（ｋ））の重心（Ｘｃ（Ｇ２（Ｒ１（ｋ））），Ｙｃ（Ｇ２（Ｒ１（ｋ））），Ｚｃ（Ｇ２（Ｒ１（ｋ））））、第３グループのポリゴンＧ３（ｈ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ３（Ｒ２（ｋ））の重心（Ｘｃ（Ｇ３（Ｒ２（ｋ））），Ｙｃ（Ｇ３（Ｒ２（ｋ））），Ｚｃ（Ｇ３（Ｒ２（ｋ））））の３点を頂点とする第３三角形をＮ／３個作成する。
【００９５】
次に、度数分布算出手段１０は、ポリゴン重心を頂点とする三角形の外接円の半径の算出を行う（ステップＳ５０６）。具体的には、まず、以下の〔数式５〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で、第１三角形の面積Ｓ（ｋ）を算出する。
【００９６】
〔数式５〕
ｑ＝Ｒ１（ｋ）として、
Ｄ１２＝［[Ｘｃ（Ｇ２（Ｒ２（ｋ）））−Ｘｃ（Ｇ１（Ｒ１（ｋ）））]2＋[Ｙｃ（Ｇ２（Ｒ２（ｋ）））−Ｙｃ（Ｇ１（Ｒ１（ｋ）））]2］1/2
Ｄ２３＝［[Ｘｃ（Ｇ３（Ｒ３（ｋ）））−Ｘｃ（Ｇ２（Ｒ２（ｋ）））]2＋[Ｙｃ（Ｇ３（Ｒ３（ｋ）））−Ｙｃ（Ｇ２（Ｒ２（ｋ）））]2］1/2
Ｄ３１＝［[Ｘｃ（Ｇ１（Ｒ１（ｋ）））−Ｘｃ（Ｇ３（Ｒ３（ｋ）））]2＋[Ｙｃ（Ｇ１（Ｒ１（ｋ）））−Ｙｃ（Ｇ３（Ｒ３（ｋ）））]2］1/2
Ｄ＝（Ｄ１２＋Ｄ２３＋Ｄ３１）／２
Ｓ（ｋ）＝[Ｄ・（Ｄ−Ｄ１２）・（Ｄ−Ｄ２３）・（Ｄ−Ｄ３１）]1/2 
【００９７】
上記〔数式５〕において、“・”は乗算を示す。以下の〔数式〕においても同様である。そして、以下の〔数式６〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で、第１三角形の外接円の半径Ｄ（ｋ）を算出する。
【００９８】
〔数式６〕
Ｄ（ｋ）＝Ｄ１２・Ｄ２３・Ｄ３１／（４・Ｓ（ｋ））
【００９９】
度数分布算出手段１０は、同様に、以下の〔数式７〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で、第２三角形の面積Ｓ（ｋ）を算出する。
【０１００】
〔数式７〕
ｑ＝Ｒ２（ｋ）として、
Ｄ２３＝［[Ｘｃ（Ｇ３（Ｒ１（ｋ）））−Ｘｃ（Ｇ２（Ｒ３（ｋ）））]2＋[Ｙｃ（Ｇ３（Ｒ１（ｋ）））−Ｙｃ（Ｇ２（Ｒ３（ｋ）））]2］1/2
Ｄ３１＝［[Ｘｅ（Ｇ１（Ｒ２（ｋ）））−Ｘｃ（Ｇ３（Ｒ１（ｋ）））]2＋[Ｙｃ（Ｇ１（Ｒ２（ｋ）））−Ｙｃ（Ｇ３（Ｒ１（ｋ）））]2］1/2
Ｄ１２＝［[Ｘｃ（Ｇ２（Ｒ３（ｋ）））−Ｘｃ（Ｇ１（Ｒ２（ｋ）））]2＋[Ｙｃ（Ｇ２（Ｒ３（ｋ）））−Ｙｃ（Ｇ１（Ｒ２（ｋ）））]2］1/2
Ｄ＝（Ｄ１２＋Ｄ２３＋Ｄ３１）／２
Ｓ（ｋ）＝[Ｄ・（Ｄ−Ｄ１２）・（Ｄ−Ｄ２３）・（Ｄ−Ｄ３１）]1/2 
【０１０１】
そして、上記〔数式６〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で、第２三角形の外接円の半径Ｄ（ｋ）を算出する。度数分布算出手段１０は、同様に、以下の〔数式８〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で、第３三角形の面積Ｓ（ｋ）を算出する。
【０１０２】
〔数式８〕
ｑ＝Ｒ３（ｋ）として、
Ｄ３１＝［[Ｘｃ（Ｇ１（Ｒ３（ｋ）））−Ｘｃ（Ｇ３（Ｒ２（ｋ）））]2＋[Ｙｃ（Ｇ１（Ｒ３（ｋ）））−Ｙｃ（Ｇ３（Ｒ２（ｋ）））]2］1/2
Ｄ１２＝［[Ｘｃ（Ｇ２（Ｒ１（ｋ）））−Ｘｃ（Ｇ１（Ｒ３（ｋ）））]2＋[Ｙｃ（Ｇ２（Ｒ１（ｋ）））−Ｙｃ（Ｇ１（Ｒ３（ｋ）））]2］1/2
Ｄ２３＝［[Ｘｃ（Ｇ３（Ｒ２（ｋ）））−Ｘｃ（Ｇ２（Ｒ１（ｋ）））]2＋[Ｙｃ（Ｇ３（Ｒ２（ｋ）））−Ｙｃ（Ｇ２（Ｒ１（ｋ）））]2］1/2
Ｄ＝（Ｄ１２＋Ｄ２３＋Ｄ３１）／２
Ｓ（ｋ）＝[Ｄ・（Ｄ−Ｄ１２）・（Ｄ−Ｄ２３）・（Ｄ−Ｄ３１）]1/2 
【０１０３】
そして、上記〔数式６〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で、第３三角形の外接円の半径Ｄ（ｋ）を算出する。上記〔数式５〕〔数式７〕〔数式８〕においては、三角形の各辺の長さＤ１２、Ｄ２３、Ｄ３１が、以下の〔数式９〕に示した６条件全てを満たした三角形のみ、外接円半径の度数分布の対象とする。したがって、〔数式９〕に示した６条件のうち１つでも満たさなかった三角形については、外接円半径の度数分布の対象としない。下記〔数式９〕に示した６条件を満たさない場合は、外接円の半径Ｄ（ｋ）が極端に大きくなり、精度のよい度数分布を求めることができないためである。
【０１０４】
〔数式９〕
Ｄ１２＞０
Ｄ２３＞０
Ｄ３１＞０
｜Ｄ１２−Ｄ２３−Ｄ３１｜／Ｄ１２＞０．１
｜Ｄ２３−Ｄ３１−Ｄ１２｜／Ｄ２３＞０．１
｜Ｄ３１−Ｄ１２−Ｄ２３｜／Ｄ３１＞０．１
【０１０５】
上記〔数式９〕に示すように、６条件のうち前半３条件は、全ての辺が０でない正の値をとること、すなわち三角形を形成することを意味する。６条件のうち後半３条件は、作成される三角形が極端に偏平な形状にならないことを意味する。三角形が極端に偏平な形状になると、外接円の半径が無限大に近付き、精度のよい度数分布が得られないことになる。上記〔数式９〕に示した６条件を満たさない場合は、三角形を形成しないか（いずれかの辺が０の場合）、外接円の半径Ｄ（ｋ）が極端に大きくなり、精度のよい度数分布を求めることができないためである。
【０１０６】
上記〔数式６〕により算出されたＮ／３個の第１三角形の外接円の半径と、Ｎ／３個の第２三角形の外接円の半径と、Ｎ／３個の第３三角形の外接円の半径の３種のＮ／３個の配列Ｄ（ｋ）に対し、第２三角形のＮ／３個の配列にはＮ／３だけオフセットを加え、第３三角形のＮ／３個の配列には２Ｎ／３だけオフセットを加えた上で、通し番号ｉでまとめて、その範囲をｉ＝０，・・・，Ｎ−１に設定し直してＮ個の三角形の外接円半径Ｄ（ｉ）（ｉ＝０，・・・，Ｎ−１）を得る。そして、ｉ＝０，・・・，Ｎ−１のＮ個の外接円半径Ｄ（ｉ）のうち最大のものを最大外接円半径Ｄｍａｘとする。
【０１０７】
次に、度数分布算出手段１０は、ポリゴン重心を頂点とする三角形と、その三角形の外接円との面積の比率である面積比の算出を行う（ステップＳ５０７）。具体的には、以下の〔数式１０〕に従った処理を実行することにより、ｋ＝０，・・・，Ｎ／３−１の範囲で第１三角形、第２三角形、第３三角形について面積比Ａ（ｋ）を算出する。
【０１０８】
〔数式１０〕
Ａ（ｋ）＝Ｄ（ｋ）2／Ｓ（ｋ）1/2
【０１０９】
上記〔数式１０〕に示すように、面積比Ａ（ｋ）は、外接円の半径Ｄ（ｋ）を二乗したものを、三角形の面積Ｓ（ｋ）の平方根で除することにより、算出される。したがって、面積比Ａ（ｋ）は、三角形とその外接円の正確な面積比ではない。しかし、正確な面積比より三角形の形状差異に鋭敏に反映した値となっており、度数分布の横軸が外接円分布と同じ距離の次元となり、外接円分布とスケールを合わせることが可能になるため、本実施形態では、算出されたＡ（ｋ）を面積比として扱うことにする。なお、〔数式９〕に示した６条件のうち１つでも満たさなかった三角形については、外接円の半径および面積比の度数分布にカウントしない。
【０１１０】
上記〔数式１０〕により算出されたＮ／３個の第１三角形の面積比Ａ（ｋ）と、Ｎ／３個の第２三角形の面積比Ａ（ｋ）と、Ｎ／３個の第３三角形の面積比Ａ（ｋ）の３種のＮ／３個の配列Ａ（ｋ）に対し、第２三角形についてのＮ／３個の配列にはＮ／３だけオフセットを加え、第３三角形についてのＮ／３個の配列には２Ｎ／３だけオフセットを加えた上で、通し番号ｉの範囲をｉ＝０，・・・，Ｎ−１に設定し直してＮ個の三角形の面積比Ａ（ｉ）（ｉ＝０，・・・，Ｎ−１）を得る。そして、ｉ＝０，・・・，Ｎ−１のＮ個の面積比Ａ（ｉ）のうち最大のものを最大面積比Ａｍａｘとする。
【０１１１】
この後、度数分布算出手段１０は、三角形の外接円の半径の度数分布である外接円分布（ステップＳ５０８）を算出し、各三角形と、その外接円との面積の比率である面積比の度数分布である面積比分布を算出する（ステップＳ５０９）。本実施形態では、外接円分布、面積比分布を算出する際には、ポリゴンの法線ベクトルを考慮して行う。その理由について、説明しておく。
【０１１２】
図１０は、３Ｄ形状のポリゴンモデルと、選定される三角形との関係を示す図である。図１０においては、説明の便宜上、３Ｄ形状を２次元に投影した状態で示している。図１０（ａ）、図１０（ｂ）における上側の五角形は１０個のポリゴン（図面上は５つのポリゴンしか見えていないが、裏側に５つのポリゴンが隠れている）で構成される構成部品Ａを示し、図１０（ａ）、図１０（ｂ）における下側の六角形は１２個のポリゴン（図面上は６つのポリゴンしか見えていないが、裏側に６つのポリゴンが隠れている）で構成される構成部品Ｂを示している。図１０（ａ）は、十面体の部品と十二面体の部品で構成される複合部品を単体として扱う場合を示し、図１０（ｂ）は、十面体の部品、十二面体の部品それぞれを単体として扱う場合を示している。
【０１１３】
図１０（ａ）においては、３つのポリゴン上の点で構成される三角形が３個、図１０（ｂ）においては、３つのポリゴン上の点で構成される三角形が２個示されている。また、図１０（ａ）、図１０（ｂ）においては、これら計５個の三角形のそれぞれの外接円を破線で示している。上述のように、これらの外接円の半径は、３次元のポリゴンモデルの特徴を表現した度数分布（外接円分布、面積比分布）を算出するのに使用される。
【０１１４】
３つのポリゴン上の点で構成される三角形を度数分布の基礎として選定しようとするとき、図１０（ｂ）のような単体部品では、言うまでもなく、各構成部品内だけで三角形が選定される。これに対して、図１０（ａ）のような複合部品では、構成部品内にも三角形が選定されるが、各構成部品間でも三角形が選定される。図１０（ａ）と図１０（ｂ）を比較するとわかるように、図１０（ａ）のような複合部品で選定された三角形の中には、図１０（ｂ）のように各構成部品内だけで選定された三角形が含まれることが多い。ただし、複合部品、構成部品とも三角形の選定はランダムに行われるため、図１０（ｂ）の各構成部品内で選定された全ての三角形が、必ずしも図１０（ａ）の複合部品で選定された三角形の中に含まれる訳ではない。即ち、複合部品のポリゴンモデルの度数分布には、各構成部品のポリゴンモデルの度数分布の成分が含まれるため、データベースに複合部品の形態でポリゴンモデルの度数分布を登録しておけば、部品単位のポリゴンモデルにより立体形状の出力を行う際、部品単位のポリゴンモデルの度数分布をデータベースに登録されている複合部品のポリゴンモデルの度数分布と部分的に一致するか否かを照合することができ、一致するものを出力規制することができる。
【０１１５】
ここで、３つのポリゴン上の点により互いに合同な三角形が選定される場合を考えてみる。図１１は、互いに合同な三角形が選定される場合における、３Ｄ形状の構成部品と、選定される三角形との関係を示す図である。図１１（ａ）に示すポリゴンモデルは図１０（ａ）に示すポリゴンモデルとは説明の都合上、形状を若干変えているが多面体の構成は同一であり、図１１（ｂ）に示すポリゴンモデルと図１０（ｂ）に示すポリゴンモデルも同様に形状が若干異なるが多面体の構成は同一である。したがって、図１１（ａ）は、十面体の部品と十二面体の部品で構成される複合部品を単体として扱う場合を示し、図１１（ｂ）は、十面体の部品、十二面体の部品それぞれを単体として扱う場合を示している。
【０１１６】
図１１（ａ）においては、３つのポリゴン上の点で構成される三角形が３個、図１１（ｂ）においては、３つのポリゴン上の点で構成される三角形が２個示されているが、図１１（ａ）における下２つの三角形は互いに合同な三角形となっている。この場合、互いに合同な三角形は、外接円半径が同一であるため、図１１（ａ）における下２つの三角形は外接円半径に基づく度数分布においては、差が付かないことになる。
【０１１７】
そこで、本実施形態では、外接円分布、面積比分布を作成する際に、ポリゴンの法線ベクトルを考慮するようにした。図１２は、図１１と同一のポリゴンモデルにおいて、三角形とポリゴンとの位置関係と、ポリゴンの法線ベクトルとの関係を示す図である。図１２（ａ）は、３つのポリゴン上の点で構成される三角形がポリゴンとどのように交差しているかを示している。図１２（ａ）において、実線は三角形がポリゴンより手前に位置している部分を示し、破線は三角形がポリゴンより奥に位置している部分を示す。図１２（ａ）の下２つの三角形を比較すると、互いに合同ではあるが、ポリゴンとの位置関係では、異なっていることがわかる。
【０１１８】
図１２（ａ）に示す３つの三角形のうち、上と下の三角形は、それぞれ１０面体の構成部品、１２面体の構成部品におけるポリゴンに基づいて作成された三角形であるため、三角形の全てが、手前側のポリゴンより奥に位置する。しかし、図１２（ａ）に示す３つの三角形のうち、真ん中の三角形は、１０面体におけるポリゴン１つと１２面体におけるポリゴン２つに基づいて作成された三角形であるため、三角形の上側の頂点が、１０面体における下方の手前側のポリゴンよりさらに手前に位置することになる。
【０１１９】
図１２（ｂ）では、図１２（ａ）に示した三角形を構成する基礎となったポリゴンの法線ベクトルと、三角形の３つの頂点の平均座標をもつ点である重心から各ポリゴンへのベクトルを示している。図１２（ｂ）において、Ｎａ１、Ｎａ２、Ｎａ３、Ｎｂ１、Ｎｂ２、Ｎｂ３、Ｎｂ４、Ｎｂ５は、ポリゴンの法線ベクトルであり、Ｔａ１、Ｔａ２、Ｔａ３、Ｔａｂ１、Ｔａｂ２、Ｔａｂ３、Ｔｂ１、Ｔｂ２、Ｔｂ３は、三角形の３つの頂点の平均座標をもつ点である重心から各ポリゴンの３つの頂点の平均座標をもつ点である重心へのベクトルである。図１２（ａ）に示す上側の同一の構成部品内で構成された三角形の３つの頂点における法線ベクトルと重心から各ポリゴンへのベクトルＮａ１とＴａ１、Ｎａ２とＴａ２、Ｎａ３とＴａ３は、ほぼ同じ方向を向いている。図１２（ａ）に示す下側の同一の構成部品内で構成された三角形の３つの頂点における法線ベクトルと重心から各ポリゴンへのベクトルＮｂ２とＴｂ１、Ｎｂ３とＴｂ２、Ｎｂ４とＴｂ３も、ほぼ同じ方向を向いている。ところが、図１２（ａ）に示す真ん中の上下の構成部品を跨って構成された三角形の３つの頂点における法線ベクトルと重心から各ポリゴンへのベクトルＮｂ１とＴａｂ１、Ｎｂ１とＴａｂ２、Ｎｂ５とＴａｂ３は、９０度から１８０度程度の隔たりがありＴａｂ２は反対方向を向いている。即ち、同一の構成部品内で構成された三角形との複数の構成部品を跨って構成された三角形とでは、各頂点において法線ベクトルと重心から各ポリゴンへのベクトルの方向に顕著な相違が生じる。これらのベクトルを利用して度数分布を作成することにより、互いに合同または類似する三角形が存在した場合であっても、構成部品内のものであるか、構成部品に跨るものであるかの違いを考慮することができ、ポリゴンモデル同士の的確な類似判定を行うことが可能となる。
【０１２０】
図７のフローチャートに戻って、度数分布算出手段１０は、三角形の外接円の半径の度数分布である外接円分布を算出する（ステップＳ５０８）。具体的には、以下の〔数式１１〕に従った処理を実行することにより、要素ｍｄの度数Ｈｄ（ｍｄ）を、ｉ＝０，・・・，Ｎ−１について、算出する。
【０１２１】
〔数式１１〕
Ｄｍａｘ・ｍｄ／ＭＤ≦Ｄ（ｉ）＜Ｄｍａｘ・（ｍｄ＋１）／ＭＤならば、
Ｈｄ（ｍｄ）←Ｈｄ（ｍｄ）＋ＳＱ、ＳＱｓｕｍ←ＳＱｓｕｍ＋ＳＱ
ＳＱ＝［Ｓｐ（Ｇ１（ｉ））・｛Ｅｘ（Ｇ２（ｉ），Ｇ３（ｉ），Ｇ１（ｉ））・Ｘｎ（Ｇ１（ｉ））＋Ｅｙ（Ｇ２（ｉ），Ｇ３（ｉ），Ｇ１（ｉ））・Ｙｎ（Ｇ１（ｉ））＋Ｅｚ（Ｇ２（ｉ），Ｇ３（ｉ），Ｇ１（ｉ））・Ｚｎ（Ｇ１（ｉ））｝＋Ｓｐ（Ｇ２（ｉ））・｛Ｅｘ（Ｇ３（ｉ），Ｇ１（ｉ），Ｇ２（ｉ））・Ｘｎ（Ｇ２（ｉ））＋Ｅｙ（Ｇ３（ｉ），Ｇ１（ｉ），Ｇ２（ｉ））・Ｙｎ（Ｇ２（ｉ））＋Ｅｚ（Ｇ３（ｉ），Ｇ１（ｉ），Ｇ２（ｉ））・Ｚｎ（Ｇ２（ｉ））｝＋Ｓｐ（Ｇ３（ｉ））・｛Ｅｘ（Ｇ１（ｉ），Ｇ２（ｉ），Ｇ３（ｉ））・Ｘｎ（Ｇ３（ｉ））＋Ｅｙ（Ｇ１（ｉ），Ｇ２（ｉ），Ｇ３（ｉ））・Ｙｎ（Ｇ３（ｉ））＋Ｅｚ（Ｇ１（ｉ），Ｇ２（ｉ），Ｇ３（ｉ））・Ｚｎ（Ｇ３（ｉ））｝］／３
ただし、０≦ｉ≦Ｎ／３−１の場合、ｑ＝Ｒ１（ｉ）として、Ｇ１（ｉ）＝Ｇ１（Ｒ１（ｉ）），Ｇ２（ｉ）＝Ｇ２（Ｒ２（ｉ）），Ｇ３（ｉ）＝Ｇ３（Ｒ３（ｉ））とし、
Ｎ／３≦ｉ≦２Ｎ／３−１の場合、ｑ＝Ｒ２（ｉ）として、Ｇ１（ｉ）＝Ｇ１（Ｒ２（ｉ）），Ｇ２（ｉ）＝Ｇ２（Ｒ３（ｉ）），Ｇ３（ｉ）＝Ｇ３（Ｒ１（ｉ））とし、
２Ｎ／３≦ｉ≦Ｎ−１の場合、ｑ＝Ｒ３（ｉ）として、Ｇ１（ｉ）＝Ｇ１（Ｒ３（ｉ）），Ｇ２（ｉ）＝Ｇ２（Ｒ１（ｉ）），Ｇ３（ｉ）＝Ｇ３（Ｒ２（ｉ））とする。
【０１２２】
上記〔数式１１〕において、ＳＱは、三角形の重心から各頂点へのベクトル（Ｅｘ（），Ｅｙ（），Ｅｚ（））と各ポリゴンの法線ベクトルＸｎ（）の内積値に各ポリゴンの面積Ｓｐ（）を乗じた重み値である。三角形の重心から各頂点へのベクトル（Ｅｘ（），Ｅｙ（），Ｅｚ（））は、上記〔数式３〕、〔数式４〕を用いて算出される三角形の重心から各頂点への単位ベクトルを用いて算出される。上記〔数式１１〕は、三角形の外接円半径Ｄ（ｉ）が、最大外接円半径Ｄｍａｘにｍｄ／ＭＤを乗じた値以上で、（ｍｄ＋１）／ＭＤを乗じた値より小さい場合に、三角形の頂点をポリゴン重心として有する３つのポリゴンに基づく重み値ＳＱをＨｄ（ｍｄ）に加算することを意味している。また、重み値ＳＱを同様に、重み総和値ＳＱｓｕｍに加算する。この重み値ＳＱは、三角形の重心から各頂点へのベクトルと各ポリゴンの法線ベクトルの方向が異なると小さな値になり、更に方向が逆になると、負の値をとる場合がある。そうすると、度数Ｈｄ（ｍｄ）に加算される値が小さくなったり、減算されたりする。このような現象は、三角形を構成する３つのポリゴンが異なる部品のポリゴンモデルに属する場合に起こりやすく、結果的に三角形を構成する３つのポリゴンが同一の部品のポリゴンモデルに属するものが度数Ｈｄ（ｍｄ）にカウントされやすくなる。即ち、度数分布には複数の部品を跨る特徴は抑圧され、個々の部品の特徴が残りやすくなる。
【０１２３】
上記〔数式１１〕に従った処理を、Ｎ個の三角形について実行することにより、外接円分布Ｈｄ（ｍｄ）（ｍｄ＝０，・・・，ＭＤ−１）が算出される。各要素には、単なる頻度ではなく、三角形の重心から各頂点へのベクトルと各ポリゴンの法線ベクトルの内積値に、ポリゴンの面積を乗じた重み値が加算されているため、外接円分布Ｈｄ（ｍｄ）は、重み値加重の外接円分布を示すことになる。面積でなく単に１を加算する場合や、単にポリゴンの面積を加算した場合では、複数の部品で構成されるポリゴンモデルに対して複数の部品を跨る特徴も残り、個々の部品の特徴が埋もれてしまう。そこで、本実施形態では、外接円分布算出時に上記重み値ＳＱを加算するようにしている。ただし、対象とするポリゴンモデルが単一の部品で構成される場合、単に１を加算する場合や、単にポリゴンの面積を加算した場合であっても、ある程度の照合精度を保つことはできるが、法線ベクトルが考慮されていないため、ポリゴンモデルに空洞を含むか否か相違を識別できない。
【０１２４】
結局、上記〔数式１１〕に従った処理を実行することにより、度数分布算出手段１０は、所定数ＭＤの要素で構成される１次元の配列を準備し、算出された外接円の半径の最大値（最大外接円半径Ｄｍａｘ）で正規化された範囲を、所定数ＭＤに均等に分割した上で、各外接円の半径Ｄ（ｉ）を、その値に基づいて所定数ＭＤのいずれかの要素ｍｄに割り当て、要素ｍｄに該当する数を得て、３つのポリゴンの所定の点により形成される三角形の重心から各頂点への単位ベクトルと当該頂点を含むポリゴンの法線ベクトルとの内積値を当該ポリゴンの面積に乗算した値の平均値を重み値として算出し、重み付けを行うことにより、外接円分布を算出している。
【０１２５】
次に、度数分布算出手段１０は、各三角形と、その外接円との面積の比率である面積比の度数分布である面積比分布を算出する（ステップＳ５０９）。具体的には、以下の〔数式１２〕に従った処理を実行することにより、要素ｍａの度数Ｈａ（ｍａ）を、ｉ＝０，・・・，Ｎ−１について、算出する。
【０１２６】
〔数式１２〕
Ｄｍａｘ2・ｍａ／ＭＡ≦Ａ（ｉ）＜Ｄｍａｘ2・（ｍａ＋１）／ＭＡならば、
Ｈａ（ｍａ）←Ｈａ（ｍａ）＋ＳＱ
Ａ（ｉ）≧Ｄｍａｘ2ならば、Ｈａ（ＭＡ−１）←Ｈａ（ＭＡ−１）＋ＳＱ
【０１２７】
上記〔数式１２〕における、三角形の重心から各頂点へのベクトルと各ポリゴンの法線ベクトルの内積値に、ポリゴンの面積を乗じた重み値ＳＱについても、上記〔数式１１〕に従った処理により算出したものを用いる。上記〔数式１２〕は、面積比Ａ（ｉ）が、最大外接円半径の二乗Ｄｍａｘ2にｍａ／ＭＡを乗じた値以上で、（ｍａ＋１）／ＭＡを乗じた値より小さい場合に、三角形の頂点を重心として有する３つのポリゴンを用いた重み値ＳＱをＨａ（ｍａ）に加算することを意味している。
【０１２８】
結局、上記〔数式１２〕に従った処理を実行することにより、度数分布算出手段１０は、所定数ＭＡの要素で構成される１次元の配列を準備し、算出された外接円の半径の最大値（最大外接円半径Ｄｍａｘ）を二乗した値で正規化された範囲を、所定数ＭＡに均等に分割した上で、各面積比Ａ（ｉ）を、その値に基づいて所定数ＭＡのいずれかの要素ｍａに割り当て、要素ｍａに該当する数を計数することにより、面積比分布を算出している。
【０１２９】
外接円半径や面積比はポリゴンモデルのスケールに依存するため、横軸を最大値の範囲に正規化して分布を作成すると、スケールに依存しない分布ができる。この時、外接円半径と面積比とで独立した最大値で正規化した分布を作成すると、外接円半径と面積比との間のスケールにも依存しない分布ができ、形状変形に対するロバストが強くなる反面、形状識別性が弱くなる。本発明では、面積比も外接円半径と同一の基準値である最大外接円半径を用いて定義した最大値で正規化した分布を作成するようにしたため、外接円半径と面積比とで最大値は異なるものの、両者の間のスケール比が維持された分布ができ、外接円半径と面積比とで独立した最大値で正規化した場合よりも、分布の広がりが狭くシャープになり、形状識別性が高くなる。実際には、面積比は外接円半径の最大値（最大外接円半径）の二乗以上の値をとるため、最大値の二乗の範囲に飽和させるように正規化するようにする。本実施形態では、上記〔数式１２〕の最終行に示したように、最大外接円半径Ｄｍａｘの二乗であるＤｍａｘ2を超えた場合は、最大値に対応する要素でカウントしている。この設定により、球体の場合、面積比分布は最大値にピークをもち、外接円分布と殆ど同一の形態になる。しかし、球体から外れた形状になるにつれ、面積比分布と外接円分布の差が大きくなる。正規化の範囲は、適宜設定することが可能であるが、外接円半径の最大値の３／２乗〜３乗であることが好ましい。３／２乗未満の場合は、面積比が要素ｍａ（スケール）の最大値（外接円半径の最大値の３／２乗）を超える割合が増えて分布が要素ｍａの最大値に集中してしまい、形状を正確に反映しなくなる。また、３乗を超える場合は、要素ｍａの最大値側の空白が大きい分布ができてしまう。
【０１３０】
上記〔数式１２〕に従った処理を、Ｎ個の三角形について実行することにより、面積比分布Ｈａ（ｍａ）（ｍａ＝０，・・・，ＭＡ−１）が算出される。各要素には、単なる頻度ではなく、三角形の重心から各頂点へのベクトルと各ポリゴンの法線ベクトルの内積値に、ポリゴンの面積を乗じた重み値が加算されているため、面積比分布Ｈａ（ｍａ）は、重み値加重の面積比分布を示すことになる。面積でなく単に１を加算する場合や、単にポリゴンの面積を加算した場合では、複数の部品で構成されるポリゴンモデルに対して複数の部品を跨る特徴も残り、個々の部品の特徴が埋もれてしまう。そこで、本実施形態では、面積比分布算出時に上記重み値ＳＱを加算するようにしている。ただし、対象とするポリゴンモデルが単一の部品で構成される場合、単に１を加算する場合や、単にポリゴンの面積を加算した場合であっても、ある程度の照合精度を保つことはできるが、法線ベクトルが考慮されていないため、ポリゴンモデルに空洞を含むか否か相違を識別できない。
【０１３１】
結局、上記〔数式１２〕に従った処理を実行することにより、度数分布算出手段１０は、所定数ＭＡの要素で構成される１次元の配列を準備し、算出された外接円の半径の最大値の２乗（Ｄｍａｘ2）で正規化された範囲を、所定数ＭＡに均等に分割した上で、各面積比Ａ（ｉ）を、その値に基づいて所定数ＭＡのいずれかの要素ｍａに割り当て、要素ｍａに該当する数を得て、３つのポリゴンの所定の点により形成される三角形の重心から各頂点への単位ベクトルと当該頂点を含むポリゴンの法線ベクトルとの内積値を当該ポリゴンの面積に乗算した値の平均値を重み値として算出し、重み付けを行うことにより、面積比分布を算出している。
【０１３２】
外接円分布および面積比分布が算出されたら、次に、ループカウンタＬＣが規定値以上であるかどうかを判定する（ステップＳ５１０）。判定の結果、ループカウンタＬＣが規定値未満である場合は、２つのグループの配列を１だけずらす処理を行う（ステップＳ５１１）。例えば、第１グループの順序を固定する場合、本実施形態では、以下の〔数式１３〕に従った処理を実行することにより、第２、第３グループの２つのグループに用いる乱数配列Ｒ２（ｋ）、乱数配列Ｒ３（ｋ）の順序をずらしている。
【０１３３】
〔数式１３〕
Ｒｏ＝Ｒ２（０）、Ｒｏ３＝Ｒ３（０）とし、
ｋ＝０，・・・，Ｎ／３−２に対して、
Ｒ２（ｋ）←Ｒ２（ｋ＋１）、Ｒ３（ｋ）←Ｒ３（ｋ＋１）を繰り返し、
Ｒ２（Ｎ／３−１）＝Ｒｏ、Ｒ３（Ｎ／３−１）＝Ｒｏ３とする。
【０１３４】
第２グループの順序を固定する場合、第３グループの順序を固定する場合については、グループの関係を変えて、〔数式１３〕に従った処理を実行することにより行われる。併せて、ループカウンタＬＣをインクリメント（ＬＣ←ＬＣ＋１）する処理も行う。既に算出された度数分布が存在する場合は、その度数分布の各要素について、各要素に該当する度数の値を加算する。ステップＳ５１１において、２つのグループの配列をずらした後、２つのグループともう１つのグループのポリゴンの組み合わせを１回目とは変えて、ステップＳ５０５〜ステップＳ５０９の処理を実行し、外接円分布および面積比分布を算出する。ステップＳ５０５〜ステップＳ５０９の外接円分布および面積比分布の算出処理は、規定値として設定された所定回数だけ繰り返される。規定値としては、適宜設定することが可能であるが、ポリゴン総数Ｎ＝１００００の場合、１０程度である。
【０１３５】
すなわち、外接円分布および面積比分布を１回算出するごとに、３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、外接円分布および面積比分布を改めて算出する処理を繰り返し行うことになる。ループカウンタＬＣが規定値に達した場合、ステップＳ５１０において、ループカウンタＬＣが規定値以上であると判定されるため、２種の度数分布の正規化を行う（ステップＳ５１２）。
【０１３６】
具体的には、上記〔数式１１〕で算出されたＨｄ（ｍｄ）に、更に１００／｛ＳＱｓｕｍ×ＬＣ｝を乗じてＨｄ（ｍｄ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記重み値ＳＱの総和値である重み総和値ＳＱｓｕｍとループ回数ＬＣの乗算値により、各要素の値Ｈｄ（ｍｄ）を除算している。重み値ＳＱはポリゴンの面積を用いて得られているので、ポリゴンの面積の総和値が異なる、即ちスケールが異なるポリゴンモデルであっても同一スケールの外接円分布に変換され、同一スケール基準のポリゴンモデルとして判定が可能になる。また、ループ回数ＬＣで除算していることになるため、ループ回数分の平均値が得られることになる。Ｈｄ（ｍｄ）は度数分布であるため、０以上の値である必要がある。しかし、〔数式１１〕で算出される重み値ＳＱは負の値をとりうるため、得られたＨｄ（ｍｄ）が負の値になる場合があり、その場合は、絶対値を取り（すなわち−１を乗じる）、Ｈｄ（ｍｄ）を０以上の値に変更する。
【０１３７】
また、上記〔数式１２〕で算出されたＨａ（ｍａ）に、更に１００／｛ＳＱｓｕｍ×ＬＣ｝を乗じてＨａ（ｍａ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記重み値ＳＱの総和値である重み総和値ＳＱｓｕｍとループ回数ＬＣの乗算値により、各要素の値Ｈａ（ｍａ）を除算している。重み値ＳＱはポリゴンの面積を用いて得られているので、ポリゴンの面積の総和値が異なる、即ちスケールが異なるポリゴンモデルであっても同一スケールの面積比分布に変換され、同一スケール基準のポリゴンモデルとして判定が可能になる。また、ループ回数ＬＣで除算していることになるため、ループ回数分の平均値が得られることになる。Ｈａ（ｍａ）は度数分布であるため、０以上の値である必要がある。しかし、〔数式１１〕で算出される重み値ＳＱは負の値をとりうるため、〔数式１２〕で得られたＨａ（ｍａ）が負の値になる場合があり、その場合は、絶対値を取り（すなわち−１を乗じる）、Ｈａ（ｍａ）を０以上の値に変更する。
【０１３８】
２種の度数分布の正規化が行われたら、次に、実寸最大外接円半径を算出する（ステップＳ５１３）。具体的には、以下の〔数式１４〕に従った処理を実行することにより、実寸最大外接円半径Ｗｍａｘを算出する。
【０１３９】
〔数式１４〕
Ｗｍａｘ＝Ｄｍａｘ・Ｓｏｕｔ
【０１４０】
上記〔数式１４〕において、Ｄｍａｘは最大外接円半径、Ｓｏｕｔは出力スケール情報である。実寸最大外接円半径Ｗｍａｘは、最大外接円半径Ｄｍａｘに、出力スケール情報Ｓｏｕｔを乗じたものとなっている。
【０１４１】
本実施形態では、三角形の外接円の半径と、三角形の面積比の算出に際し、３つのポリゴンの重心を３つの頂点とする三角形を作成するようにした。三角形の頂点は、ポリゴンの各頂点の平均座標をもつ重心とすることが好ましいが、重心以外のポリゴン上の所定の点同士を結んだ三角形とすることも可能である。ポリゴン上の所定の点としては、例えば、ポリゴンを構成するいずれかの頂点、ポリゴンの頂点のｘｙｚ座標別の最大値と最小値の丁度中間となる値をもつ点等、また、ポリゴンが三角形である場合、内心・外心・垂心・傍心等を用いることができる。
【０１４２】
＜３．３．２．第２の手法＞
次に、第２の手法について説明する。図１３は、第２の手法による度数分布の算出処理の詳細を示すフローチャートである。第１の手法と同様の処理については、同一符号を付して説明を省略する。第２の手法においても、ステップＳ５０１〜ステップＳ５０９までは、第１の手法と同様に行われる。そして、第１の手法のステップＳ５１２と同様に、２種の度数分布の正規化を行う（ステップＳ５１２）。第２の手法では、２種の度数分布の算出後、強制的に正規化を行う。具体的には、上記〔数式１１〕で算出されたＨｄ（ｍｄ）に、更に１００／ＳＱｓｕｍを乗じてＨｄ（ｍｄ）と置き換えることにより、単位を率［％］に正規化している。また、上記〔数式１２〕で算出されたＨａ（ｍａ）に、更に１００／ＳＱｓｕｍを乗じてＨａ（ｍａ）と置き換えることにより、単位を率［％］に正規化している。第１の手法とは異なり、ループカウンタＬＣによる除算は行わない。
【０１４３】
外接円分布および面積比分布の正規化が行われたら、次に、ループカウンタＬＣが１以上であるかどうかを判定する（ステップＳ５２１）。これは、度数分布の算出が初回であるか否かの判定を行っている。ループカウンタＬＣが１未満である場合は、度数分布の算出が初回であることを意味するので、２つのグループの配列を１だけずらす処理を行う（ステップＳ５１１）。具体的には、第１の手法のステップＳ５１１と同様に、上記〔数式１３〕に従った処理を実行することにより、配列Ｒ１（ｋ）、Ｒ２（ｋ）、Ｒ３（ｋ）のうち２つの配列の順序をずらしている。
【０１４４】
ステップＳ５１１において、２つのグループの配列をずらした後、２つのグループともう１つのグループのポリゴンの組み合わせを１回目とは変えて、ステップＳ５０５〜ステップＳ５０９、Ｓ５１２、Ｓ５２１の処理を実行し、外接円分布および面積比分布の正規化を行う。すなわち、外接円分布および面積比分布を１回算出するごとに、３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、外接円分布および面積比分布を改めて算出する処理を繰り返し行う。２回目以降では、ステップＳ５２１において、ループカウンタＬＣが１以上と判定されるため、直前の外接円分布および面積比分布との比較を行う（ステップＳ５２２）。まず、以下の〔数式１５〕に従った処理を実行することにより、算出された外接円分布と直前の外接円分布のユークリッド距離ＤＤを算出する。ユークリッド距離とは、各要素の度数同士の差分の絶対値を２乗した値で与えられるユークリッド空間上の距離である。ユークリッド距離ＤＤは、ＭＤ次元ユークリッド空間内の２点の距離として求められる。
【０１４５】
〔数式１５〕
ＤＤ＝Σmd=0,MD-1［｛Ｈｄ（ｍｄ）−Ｈｄｐ（ｍｄ）｝2／ＭＤ］1/2
【０１４６】
上記〔数式１５〕において、Σの添え字の“ｍｄ＝０，ＭＤ−１”は、ｍｄが０からＭＤ−１の全ての整数をとる場合について、後続の［・・・］1/2の総和を求めることを示している。また、Ｈｄｐ（ｍｄ）は、直前の外接円分布を示している。
【０１４７】
続いて、以下の〔数式１６〕に従った処理を実行することにより、算出された面積比分布と直前の面積比分布のユークリッド距離ＤＡを算出する。ユークリッド距離ＤＡは、ＭＡ次元ユークリッド空間内の２点の距離として求められる。
【０１４８】
〔数式１６〕
ＤＡ＝Σma=0,MA-1［｛Ｈａ（ｍａ）−Ｈａｐ（ｍａ）｝2／ＭＡ］1/2
【０１４９】
上記〔数式１６〕において、Σの添え字の“ｍａ＝０，ＭＡ−１”は、ｍａが０からＭＡ−１の全ての整数をとる場合について、後続の［・・・］1/2の総和を求めることを示している。また、Ｈａｐ（ｍａ）は、直前の面積比分布を示している。
【０１５０】
次に、度数分布算出手段１０は、ステップＳ５２２において算出された外接円分布、面積比分布のユークリッド距離と、それぞれの判定しきい値との比較を行う（ステップＳ５２３）。具体的には、ユークリッド距離ＤＤ、ＤＡが判定しきい値よりともに小さい場合は、飽和状態と判定し、ユークリッド距離ＤＤ、ＤＡのいずれか一方が判定しきい値以上である場合は、生成途上と判定する。判定しきい値としては、任意に設定可能であるが、ここでは、０．０５としてある。
【０１５１】
ステップＳ５２３において飽和状態と判定された場合、すなわち両者に類似性が認められる場合には、度数分布算出手段１０は、最後に算出された外接円分布および面積比分布を、正式に２種の度数分布とすることを決定する（ステップＳ５２４）。すなわち、算出直後の外接円分布および面積比分布と、その直前に得られた外接円分布および面積比分布を比較し、比較の結果で類似性が認められる場合に、算出直後の外接円分布および面積比分布を、照合対象の外接円分布および面積比分布とする。この際、Ｈｄ（ｍｄ）は度数分布であるため、０以上の値である必要がある。そのため、得られたＨｄ（ｍｄ）が負の値である場合は、絶対値を取り（すなわち−１を乗じる）、Ｈｄ（ｍｄ）を０以上の値に変更する。また、Ｈａ（ｍａ）は度数分布であるため、０以上の値である必要がある。そのため、得られたＨａ（ｍａ）が負の値である場合は、絶対値を取り（すなわち−１を乗じる）、Ｈａ（ｍａ）を０以上の値に変更する。
【０１５２】
ステップＳ５２３において生成途上と判定された場合には、２つのグループの配列を１だけずらす処理を行った後（ステップＳ５１１）、ステップＳ５０５〜ステップＳ５０９、Ｓ５１２、Ｓ５２１、Ｓ５２２の処理を繰り返し実行する。
【０１５３】
２種の度数分布が決定したら、第１の手法と同様、上記〔数式１４〕に従った処理を実行して実寸最大外接円半径を算出する（ステップＳ５１３）。
【０１５４】
対象モデルから得られた外接円分布と面積比分布を求めるための三角形とその外接円を図１４に示す。図１４は、ポリゴンが三角形状の場合のポリゴンモデルを示している。ポリゴンモデル上から選択された３つのポリゴンについて、それぞれのポリゴンの頂点の平均座標をもつ重心を結ぶことにより三角形が作成される。そして、三角形の外接円を求める。図１４は、三角形とその外接円と半径の関係を示している。図１４において、下向きの矢印は、外接円の半径を示している。
【０１５５】
一般に、ポリゴンモデルが球体に限りなく近い形状の場合、ランダムに選択された３つのポリゴンの中心を結ぶ三角形の外接円は、当該球体を３つの中心で形成される平面で切断したときの円になる。即ち、球体の場合、外接円半径は当該球体の半径に一致する場合が多く、外接円分布では球の半径に相当する箇所にピークが１ヶ所に現れる形態になる。ただし、ポリゴンの密度が粗くなって多面体に近づくにつれ、外接円分布は外接円半径が短い方に広がり、ポリゴンモデルが球体から逸脱するにつれ、外接円分布は複雑な形態になる。そのため、外接円半径を用いた外接円分布は３Ｄ形状を識別するのに極めて有効である。これに対して、面積比はポリゴンモデルが球体の場合には、殆どの値が最大値に設定した最大外接円半径の２乗を超えてしまい、面積比分布は最大値の箇所にピークが現れる外接円分布と殆ど同様な形態になるが、ポリゴンモデルが球体から外れた形状になるにつれ、最大外接円半径の２乗を超える値が少なくなり、面積比分布は０側にずれ、外接円分布と同等以上に形状の識別性を備える。ただし、球体以外では外接円分布とは異なる複雑な形態になるため、外接円分布を補足する機能をもつ。本発明では、面積比分布の最大値を最大外接円半径に依存した値に設定しているため、外接円分布と面積比分布の横軸のスケールは所定の比率に自動的に維持される。
【０１５６】
＜３．４．度数分布の整合処理＞
次に、ステップＳ１３０の度数分布の整合処理について説明する。まず、度数分布整合手段２０は、規制モデルデータベース６０に記憶されているＲＥ個のレコードの中からレコードｒｅ（ｒｅ＝０，・・・，ＲＥ−１）に登録されている度数分布の実寸最大外接円半径を抽出する。レコードｒｅの実寸最大外接円半径は、Ｗｍａｘｏ（ｒｅ）で表現される。そして、度数分布整合手段２０は、以下の〔数式１７〕に従った処理を実行することにより、対象モデルから算出された外接円分布Ｈｄ（ｍｄ）を整合処理する。
【０１５７】
〔数式１７〕
ＭＤ´＝ＭＤ・Ｗｍａｘ／Ｗｍａｘｏ（ｒｅ）
ＭＤ１＝ｍｄ・Ｗｍａｘ／Ｗｍａｘｏ（ｒｅ）
ＭＤ２＝（ｍｄ＋１）・Ｗｍａｘ／Ｗｍａｘｏ（ｒｅ）−１
ｍｄ≦ＭＤ´の場合、Ｈｄ´（ｍｄ）＝Σmd=MD1,MD2Ｈｄ（ｍｄ）
ＭＤ´＜ｍｄ＜ＭＤの場合、Ｈｄ´（ｍｄ）＝０
【０１５８】
上記〔数式１７〕に従った処理を実行した結果、整合処理された外接円分布Ｈｄ´（ｍｄ）が得られる。続いて、度数分布整合手段２０は、以下の〔数式１８〕に従った処理を実行することにより、対象モデルから算出された面積比分布Ｈａ（ｍａ）を整合処理する。
【０１５９】
〔数式１８〕
ＭＡ´＝ＭＡ・Ｗｍａｘ／Ｗｍａｘｏ（ｒｅ）
ＭＡ１＝ｍａ・Ｗｍａｘ／Ｗｍａｘｏ（ｒｅ）
ＭＡ２＝（ｍａ＋１）・Ｗｍａｘ／Ｗｍａｘｏ（ｒｅ）−１
ｍａ≦ＭＡ´の場合、Ｈａ´（ｍａ）＝Σmd=MA1,MA2Ｈａ（ｍａ）
ＭＡ´＜ｍａ＜ＭＡの場合、Ｈａ´（ｍａ）＝０
【０１６０】
上記〔数式１８〕に従った処理を実行した結果、整合処理された面積比分布Ｈａ´（ｍａ）が得られる。
【０１６１】
＜３．５．度数分布の強調処理＞
次に、ステップＳ１７０の度数分布の強調処理について説明する。この強調処理は、対象モデルが、ある製品の部品を表現しており、規制モデルデータベース６０に製品全体の度数分布が登録されているような場合に特に有効である。まず、度数分布強調手段３０は、整合された対象モデルの度数分布と規制モデルデータベース６０に記憶されている度数分布に対して強調処理を行う。具体的には、度数分布強調手段３０は、まず、以下の〔数式２０〕で定義される強調成分（窓関数）Ｗ（ｍｄ）、Ｗ（ｍａ）を準備する。
【０１６２】
〔数式２０〕
Ｗ（ｍｄ）＝１／（ｍｄ＋１）2
ｍｄ＝０，・・・，ＭＤ−１
Ｗ（ｍａ）＝１／（ｍａ＋１）2
ｍａ＝０，・・・，ＭＡ−１
【０１６３】
Ｗ（ｍｄ）、Ｗ（ｍａ）は、ともに０＜Ｗ（ｍｄ）、Ｗ（ｍａ）≦１の値を取り得る。続いて、度数分布強調手段３０は、規制モデルデータベース６０に記憶されているＲＥ個のレコードの中からレコードｒｅ（ｒｅ＝０，・・・，ＲＥ−１）に登録されている度数分布として、外接円分布Ｈｄｏ（ｒｅ，ｍｄ）（ｍｄ＝０，・・・，ＭＤ−１）、面積比分布Ｈａｏ（ｒｅ，ｍａ）（ｍａ＝０，・・・，ＭＡ−１）を抽出する。そして、以下の〔数式２１〕に従った処理を実行することにより、整合された対象モデルの外接円分布Ｈｄ´（ｍｄ）、規制モデルデータベース６０に記憶されている各レコードｒｅの外接円分布Ｈｄｏ（ｒｅ，ｍｄ）に対して、ｍｄ＝０，・・・，ＭＤ−１の範囲の全ての値を更新するように、強調処理を行う。
【０１６４】
〔数式２１〕
Ｈｄ´´（ｍｄ）＝Ｈｄ´（ｍｄ）・Ｗ（ｍｄ）
Ｈｄｏ´（ｒｅ，ｍｄ）＝Ｈｄｏ（ｒｅ，ｍｄ）・Ｗ（ｍｄ）
【０１６５】
上記〔数式２１〕においては、整合された対象モデルの外接円分布Ｈｄ´（ｍｄ）、規制モデルデータベース６０に記憶されている各レコードｒｅの外接円分布Ｈｄｏ（ｒｅ，ｍｄ）それぞれに対して、ｍｄ＝０，・・・，ＭＤ−１の範囲の全ての値に強調成分Ｗ（ｍｄ）を乗じる処理を行っている。強調成分Ｗ（ｍｄ）は、データの特定の区間だけを抽出する、いわゆる窓関数としての役割を果たしており、上記〔数式２１〕は、窓関数を掛ける処理を行っていることになる。上記〔数式２１〕に従った処理を実行した結果、強調処理された対象モデルの外接円分布Ｈｄ´´（ｍｄ）、強調処理された各規制モデルの外接円分布Ｈｄｏ´（ｒｅ，ｍｄ）が強調度数分布として得られる。続いて、度数分布強調手段３０は、以下の〔数式２２〕に従った処理を実行することにより、整合された対象モデルの面積比分布Ｈａ´（ｍａ）、規制モデルデータベース６０に記憶されている各レコードｒｅの面積比分布Ｈａｏ（ｒｅ，ｍａ）に対してｍａ＝０，・・・，ＭＡ−１の範囲の全ての値を更新するように、強調処理を行う。
【０１６６】
〔数式２２〕
Ｈａ´´（ｍａ）＝Ｈａ´（ｍａ）・Ｗ（ｍａ）
Ｈａｏ´（ｒｅ，ｍａ）＝Ｈａｏ（ｒｅ，ｍａ）・Ｗ（ｍａ）
【０１６７】
上記〔数式２２〕においては、正規化された対象モデルの面積比分布Ｈａ´（ｍａ）、規制モデルデータベース６０に記憶されている各レコードｒｅの面積比分布Ｈａｏ（ｒｅ，ｍａ）それぞれに対して、ｍａ＝０，・・・，ＭＡ−１の範囲の全ての値に強調成分Ｗ（ｍａ）を乗じる処理を行っている。強調成分Ｗ（ｍａ）は、データの特定の区間だけを抽出する、いわゆる窓関数としての役割を果たしており、上記〔数式２２〕は、上記〔数式２１〕と同様、窓関数を掛ける処理を行っていることになる。上記〔数式２２〕に従った処理を実行した結果、強調処理された対象モデルの面積比分布Ｈａ´´（ｍａ）、強調処理された各規制モデルの面積比分布Ｈａｏ´（ｒｅ，ｍａ）が強調度数分布として得られる。
【０１６８】
図１５は、ステップＳ１７０の度数分布の強調処理による度数分布の変化の様子を示す図である。図１５（ａ）（ｂ）（ｄ）（ｅ）は、度数分布を示しており、横軸は要素ｍｄまたはｍａ、縦軸は、度数Ｈｄ（ｍｄ）またはＨａ（ｍａ）等を示している。図１５（ｃ）は、強調成分である窓関数Ｗ（ｍ）＝１／（ｍ＋１）2を示している（ｍは、ｍｄまたはｍａを一般化したもの）。
【０１６９】
図１５の例では、図１５（ａ）に対応する規制モデルが、ある製品全体を表現しており、図１５（ｂ）に対応する対象モデルが、ある製品の部品を表現している状態を示している。このため、部品のみに比較して外接円の半径が大きい傾向がある規制モデルは、図１５（ａ）に示すように、最大外接円半径を最大値とする横軸全体に渡って、分布が存在するが、製品全体に比較して外接円の半径が小さい傾向がある対象モデルは、図１５（ｂ）に示すように、最大外接円半径を最大値とする横軸においては、短距離域（低域）すなわち図面左方の部分にしか分布が存在しない。
【０１７０】
図１５（ｃ）に示すように、本実施形態で用いる強調成分は、要素ｍの値が小さい程、値が大きくなる窓関数である。そのため、短距離域のみが強調され易い。このため、強調処理を行うと、製品全体を表現した規制モデルの度数分布は、短距離域のみが強調され、強調処理後の対象モデルとの照合を行った場合に、相関が高くなり易くなる。
【０１７１】
＜３．６．度数分布の照合処理＞
次に、ステップＳ２００の度数分布の照合処理について説明する。図１６は、度数分布の照合処理を示すフローチャートである。まず、度数分布照合手段４０は、規制モデルデータベース６０から抽出され、強調処理された度数分布（強調度数分布）を取得する（ステップＳ６１０）。強調処理された度数分布として、外接円分布Ｈｄｏ´（ｒｅ，ｍｄ）（ｍｄ＝０，・・・，ＭＤ−１）、面積比分布Ｈａｏ´（ｒｅ，ｍａ）（ｍａ＝０，・・・，ＭＡ−１）を取得する。なお、ステップＳ２００の度数分布の照合処理においては、説明の簡便化のため、上記〔数式２１〕〔数式２２〕において算出された強調度数分布Ｈｄ´´（ｍｄ）、Ｈｄｏ´（ｒｅ，ｍｄ）、Ｈａ´´（ｍａ）、Ｈａｏ´（ｒｅ，ｍａ）をそれぞれ、Ｈｄ（ｍｄ）、Ｈｄｏ（ｒｅ，ｍｄ）、Ｈａ（ｍａ）、Ｈａｏ（ｒｅ，ｍａ）として扱うものとする。
【０１７２】
次に、度数分布照合手段４０は、強調処理された対象モデルの外接円分布と、規制モデルデータベース６０から抽出されて強調処理された規制モデルの外接円分布同士で各要素間の相関係数を算出する（ステップＳ６２０）。度数分布照合手段４０は、以下の〔数式２３〕に従った処理を実行することにより、強調処理された対象モデルの外接円分布Ｈｄ（ｍｄ）の平均値Ａｄ、強調処理された規制モデルの外接円分布Ｈｄｏ（ｒｅ，ｍｄ）の平均値Ａｄｏ（ｒｅ）を算出する。
【０１７３】
〔数式２３〕
Ａｄ＝Σmd=0,MD-1Ｈｄ（ｍｄ）／ＭＤ
Ａｄｏ（ｒｅ）＝Σmd=0,MD-1Ｈｄｏ（ｒｅ，ｍｄ）／ＭＤ
【０１７４】
続いて、以下の〔数式２４〕に従った処理を実行することにより、対象モデルの外接円分布Ｈｄ（ｍｄ）の標準偏差Ｓｄ、規制モデルの外接円分布Ｈｄｏ（ｒｅ，ｍｄ）の標準偏差Ｓｄｏ（ｒｅ）を算出する。
【０１７５】
〔数式２４〕
Ｓｄ＝[Σmd=0,MD-1（Ｈｄ（ｍｄ）−Ａｄ）2]1/2
Ｓｄｏ（ｒｅ）＝[Σmd=0,MD-1（Ｈｄｏ（ｒｅ，ｍｄ）−Ａｄｏ（ｒｅ））2]1/2
【０１７６】
厳密には、標準偏差は、上記〔数式２４〕の｛｝内において、さらに定数ＭＤで除算しておく必要がある。しかし、ここでは、相関係数を算出することが目的であるため、後述の〔数式２５〕における分子の共分散を算出する項においても定数ＭＤで除算する必要があり、分子と分母で重複して定数ＭＤで除算する演算がキャンセルされる（分母は定数ＭＤの平方根で２回除算）。
【０１７７】
次に、算出された平均値および標準偏差を用いて、以下の〔数式２５〕に従った処理を実行することにより、対象モデルの外接円分布とレコードｒｅに対応する規制モデルの外接円分布の相関係数Ｄｄ（ｒｅ）を算出する。
【０１７８】
〔数式２５〕
Ｄｄ（ｒｅ）＝[Σmd=0,MD-1（Ｈｄ（ｍｄ）−Ａｄ）・（Ｈｄｏ（ｒｅ，ｍｄ）−Ａｄｏ（ｒｅ））]／（Ｓｄｏ（ｒｅ）・Ｓｄ）
【０１７９】
上記〔数式２５〕において、Σの添え字の“ｍｄ＝０，ＭＤ−１”は、ｍｄが０からＭＤ−１の全ての整数をとる場合について、総和を求めることを示している。相関係数Ｄｄ（ｒｅ）は、度数分布Ｈｄ（ｍｄ）、Ｈｄｏ（ｒｅ，ｍｄ）の共分散を、それぞれの標準偏差で除したものとなっている。上記〔数式２５〕の演算のように、分母の平方根の割算を２回行うのは一般に処理負荷が高い。このため、画像処理の分野においては、分子の積和演算だけで済ますものを「相関係数」と呼び、上記〔数式２５〕に示したＤｄ（ｒｅ）を「正規化相関係数」と呼ぶ習慣もある。
【０１８０】
次に、度数分布照合手段４０は、ステップＳ６２０において算出された外接円分布の相関係数Ｄｄ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ６３０）。相関係数Ｄｄ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、相関係数Ｄｄ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋２０．０（−１から＋１の範囲をとる相関係数値を１００倍して％次元で表現した場合）としてある。
【０１８１】
ステップＳ６３０において適合と判定された場合には、度数分布照合手段４０は、対象モデルの面積比分布と、規制モデルの面積比分布で、各要素間の相関係数を算出する（ステップＳ６４０）。まず、以下の〔数式２６〕に従った処理を実行することにより、対象モデルの面積比分布Ｈａ（ｍａ）の平均値Ａａ、規制モデルの面積比分布Ｈａｏ（ｒｅ，ｍａ）の平均値Ａａｏ（ｒｅ）を算出する。
【０１８２】
〔数式２６〕
Ａａ＝Σma=0,MA-1Ｈａ（ｍａ）／ＭＡ
Ａａｏ（ｒｅ）＝Σma=0,MA-1Ｈａｏ（ｒｅ，ｍａ）／ＭＡ
【０１８３】
続いて、以下の〔数式２７〕に従った処理を実行することにより、対象モデルの面積比分布Ｈａ（ｍａ）の標準偏差Ｓａ、規制モデルの面積比分布Ｈａｏ（ｒｅ，ｍａ）の標準偏差Ｓａｏ（ｒｅ）を算出する。
【０１８４】
〔数式２７〕
Ｓａ＝[Σma=0,MA-1（Ｈａ（ｍａ）−Ａａ）2]1/2
Ｓａｏ（ｒｅ）＝[Σma=0,MA-1（Ｈａｏ（ｒｅ，ｍａ）−Ａａｏ（ｒｅ））2]1/2
【０１８５】
厳密には、標準偏差は、上記〔数式２７〕の｛｝内において、さらに定数ＭＡで除算しておく必要がある。しかし、ここでは、相関係数を算出することが目的であるため、後述の〔数式２８〕における分子の共分散を算出する項においても定数ＭＡで除算する必要があり、分子と分母で重複して定数ＭＡで除算する演算がキャンセルされる（分母は定数ＭＡの平方根で２回除算）。
【０１８６】
次に、算出された平均値および標準偏差を用いて、以下の〔数式２８〕に従った処理を実行することにより、対象モデルの面積比分布とレコードｒｅに対応する規制モデルの面積比分布の相関係数Ｄａ（ｒｅ）を算出する。
【０１８７】
〔数式２８〕
Ｄａ（ｒｅ）＝[Σma=0,MA-1（Ｈａ（ｍａ）−Ａａ）・（Ｈａｏ（ｒｅ，ｍａ）−Ａａｏ（ｒｅ））]／（Ｓａｏ（ｒｅ）・Ｓａ）
【０１８８】
上記〔数式２８〕において、Σの添え字の“ｍａ＝０，ＭＡ−１”は、ｍａが０からＭＡ−１の全ての整数をとる場合について、総和を求めることを示している。相関係数Ｄａ（ｒｅ）は、度数分布Ｈａ（ｍａ）、Ｈａｏ（ｒｅ，ｍａ）の共分散を、それぞれの標準偏差で除したものとなっている。上記〔数式２８〕の演算のように、分母の平方根の割算を２回行うのは一般に処理負荷が高い。このため、画像処理の分野においては、分子の積和演算だけで済ますものを「相関係数」と呼び、上記〔数式２８〕に示したＤａ（ｒｅ）を「正規化相関係数」と呼ぶ習慣もある。
【０１８９】
次に、度数分布照合手段４０は、ステップＳ６４０において算出された面積比分布の相関係数Ｄａ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ６５０）。相関係数Ｄａ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、相関係数Ｄａ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋２０．０（−１から＋１の範囲をとる相関係数値を１００倍して％次元で表現した場合）としてある。
【０１９０】
ステップＳ６５０において適合と判定された場合には、度数分布照合手段４０は、強調処理された対象モデルの外接円分布と、規制モデルデータベース６０から抽出されて強調処理された規制モデルの外接円分布同士でピーク位置相関を算出する（ステップＳ６６０）。ピーク位置相関とは、度数分布において、最も度数が高くなる位置であるピーク位置同士の相関を示している。度数分布照合手段４０は、以下の〔数式２９〕に従った処理を実行することにより、強調処理された対象モデルの外接円分布Ｈｄ（ｍｄ）と強調処理された規制モデルの外接円分布Ｈｄｏ（ｒｅ，ｍｄ）のピーク位置相関Ｐｄ（ｒｅ）を算出する。
【０１９１】
〔数式２９〕
Ｐｄ（ｒｅ）＝｛ＭＤ／４−｜ｍｄＭ−ｍｄｏＭ（ｒｅ）｜｝・４００／ＭＤ
【０１９２】
上記〔数式２９〕において、ｍｄＭは、Ｈｄ（ｍｄ）が最大となるときのｍｄの値、ｍｄｏＭ（ｒｅ）は、Ｈｄｏ（ｒｅ，ｍｄ）が最大となるときのｍｄの値、すなわちピーク位置である。また、｜ｍｄＭ−ｍｄｏＭ（ｒｅ）｜は、ピーク位置どうしの差分を示すピーク位置差分である。ｍｄＭとｍｄｏＭ（ｒｅ）が一致するときは、ピーク位置差分｜ｍｄＭ−ｍｄｏＭ（ｒｅ）｜＝０でピーク位置相関Ｐｄ（ｒｅ）＝１００、ｍｄＭとｍｄｏＭ（ｒｅ）が最も離れるときは、理論上、ピーク位置差分｜ｍｄＭ−ｍｄｏＭ（ｒｅ）｜＝ＭＤ−１でピーク位置相関はおおよそＰｄ（ｒｅ）が−３００であるため、ピーク位置相関Ｐｄ（ｒｅ）は、理論上、−３００＜Ｐｄ（ｒｅ）≦１００の値をとる。ただし、経験上、ピーク位置差分｜ｍｄＭ−ｍｄｏＭ（ｒｅ）｜がＭＤ／２を超えるのは稀であるため、ピーク位置相関Ｐｄ（ｒｅ）は、通常、−１００＜Ｐｄ（ｒｅ）≦１００の値をとる。ピーク位置相関Ｐｄ（ｒｅ）は、ピーク位置差分｜ｍｄＭ−ｍｄｏＭ（ｒｅ）｜が小さくなる程大きくなる値であり、ピーク位置差分に基づいて決定される。
【０１９３】
次に、度数分布照合手段４０は、ステップＳ６６０において算出された外接円分布のピーク位置相関Ｐｄ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ６７０）。ピーク位置相関Ｐｄ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、ピーク位置相関Ｐｄ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋５０．０としてある。
【０１９４】
ステップＳ６７０において適合と判定された場合には、度数分布照合手段４０は、強調処理された対象モデルの面積比分布と、規制モデルデータベース６０から抽出されて強調処理された規制モデルの面積比分布同士でピーク位置相関を算出する（ステップＳ６８０）。度数分布照合手段４０は、以下の〔数式３０〕に従った処理を実行することにより、強調処理された対象モデルの面積比分布Ｈａ（ｍａ）と強調処理された規制モデルの面積比分布Ｈａｏ（ｒｅ，ｍａ）のピーク位置相関Ｐａ（ｒｅ）を算出する。
【０１９５】
〔数式３０〕
Ｐａ（ｒｅ）＝｛ＭＡ／４−｜ｍａＭ−ｍａｏＭ（ｒｅ）｜｝・４００／ＭＡ
【０１９６】
上記〔数式３０〕において、ｍａＭは、Ｈａ（ｍａ）が最大となるときのｍａの値、ｍａｏＭ（ｒｅ）は、Ｈａｏ（ｒｅ，ｍａ）が最大となるときのｍａの値、すなわちピーク位置である。また、｜ｍａＭ−ｍａｏＭ（ｒｅ）｜は、ピーク位置どうしの差分を示すピーク位置差分である。ｍａＭとｍａｏＭ（ｒｅ）が一致するときは、ピーク位置差分｜ｍａＭ−ｍａｏＭ（ｒｅ）｜＝０でピーク位置相関Ｐａ（ｒｅ）＝１００、ｍａＭとｍａｏＭ（ｒｅ）が最も離れるときは、理論上、ピーク位置差分｜ｍａＭ−ｍａｏＭ（ｒｅ）｜＝ＭＡ−１でピーク位置相関はおおよそＰａ（ｒｅ）が−３００であるため、ピーク位置相関Ｐａ（ｒｅ）は、理論上、−３００＜Ｐａ（ｒｅ）≦１００の値をとる。ただし、経験上、ピーク位置差分｜ｍａＭ−ｍａｏＭ（ｒｅ）｜がＭＡ／２を超えるのは稀であるため、ピーク位置相関Ｐａ（ｒｅ）は、通常、−１００＜Ｐａ（ｒｅ）≦１００の値をとる。ピーク位置相関Ｐａ（ｒｅ）は、ピーク位置差分｜ｍａＭ−ｍａｏＭ（ｒｅ）｜が小さくなる程大きくなる値であり、ピーク位置差分に基づいて決定される。
【０１９７】
次に、度数分布照合手段４０は、ステップＳ６８０において算出された面積比分布のピーク位置相関Ｐａ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ６９０）。ピーク位置相関Ｐａ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、ピーク位置相関Ｐａ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋５０．０としてある。ステップＳ６９０において適合と判定された場合には、度数分布照合手段４０は、対象モデルとレコードｒｅの規制モデルが適合することになるため、出力を規制すべきである（出力不適）との判定を行う。図１７は、外接円分布（ヒストグラム）とピーク位置との関係を示す図である。図１７において、左側は規制モデル、右側は対象モデルを示している。ステップＳ６９０において適合と判定された場合には、度数分布照合手段４０は、対象モデルとレコードｒｅの規制モデルが適合することになるため、出力を規制すべきである（出力不適）との判定を行う。
【０１９８】
本実施形態では、図１６を用いて説明したように、ピーク位置相関と相関係数の２つの手法を用いて度数分布の照合を行った。しかし、必ずしも２つの手法を用いる必要はなく、ピーク位置相関、相関係数のいずれか一方を用いて度数分布の照合を行ってもよい。どちらか一方を用いる場合、相関係数の方がより精度が高いと考えられるが、ピーク位置相関を用いた場合であっても、かなり高精度な照合を行うことができる。
【０１９９】
ステップＳ６３０、Ｓ６５０、Ｓ６７０、Ｓ６９０のいずれかにおいて不適合と判定された場合には、度数分布照合手段４０は、対象モデルとレコードｒｅの規制モデルの照合を終え、次のレコードｒｅ＋１の規制モデルとの照合に移行する。図１６のフローチャートに従った処理を、規制モデルデータベース６０内の全レコードに対して実行し、適合となる規制モデルが１つでも存在した場合、対象モデルを“出力を規制すべきである（出力不適）”としてステップＳ２００の照合処理を終了することになる。
【０２００】
＜４．３Ｄプリンタへのデータ出力＞
上記ステップＳ２００において、度数分布照合手段４０により“出力を規制すべきでない（出力適正）”と判定された場合には、立体物造形装置である３Ｄプリンタ７へ対象モデルを出力する。すなわち、立体物造形用データ出力規制装置で出力が許可されたポリゴンモデルである対象モデルを、立体物を造形する立体物造形装置に出力する。一方、度数分布照合手段４０により“出力を規制すべきである（出力不適）”と判定された場合には、立体物造形装置である３Ｄプリンタ７へ対象モデルを出力しない。また、出力適正か出力不適かの判定に時間がかかる場合には、３Ｄプリンタ７に対象モデルを出力し、３Ｄプリンタ７の出力処理(立体物造形処理)と並行して出力適正か出力不適かの判定を行い、出力不適である場合に出力中止命令を３Ｄプリンタ７に出力するようにしてもよい。この際、利用者から見れば、対象モデルの出力という一つの命令を行うことにより、３Ｄプリンタにおける立体物造形処理が開始されることが確認できるだけで、並行して出力適正か出力不適かの判定のための処理の実行が開始されることは気付かない。
【０２０１】
＜５．規制モデルの度数分布算出および登録について＞
変形例として、度数分布照合手段４０を備えた立体物造形用データ出力規制装置とは別の場所で、規制モデルに対して算出された外接円分布および面積比分布を、立体物造形用データ出力規制装置にネットワークを介して送信して登録するようにしてもよい。
【０２０２】
図１８は、変形例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。図１８に示した立体物造形システムにおいて、立体物造形用データ出力規制装置１０１は、図３に示した立体物造形用データ出力規制装置１００の構成に、インターネット等の公衆ネットワークと通信するためのネットワーク通信部８を備えた構成となっている。規制モデル度数分布算出装置１０２は、汎用のコンピュータで実現することができ、図１８に示すように、ＣＰＵ（Central Processing Unit）１ａと、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２ａと、ＣＰＵ１ａが実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３ａと、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４ａと、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５ａと、液晶ディスプレイ等の表示デバイスである表示部６ａと、インターネット等の公衆ネットワークと通信するためのネットワーク通信部８ａを備え、互いにバスを介して接続されている。立体物造形用データ出力規制装置１０１のネットワーク通信部８と規制モデル度数分布算出装置１０２のネットワーク通信部８ａは互いに通信を行い、規制モデル度数分布算出装置１０２から立体物造形用データ出力規制装置１０１へ、規制モデルに対して算出された２種の度数分布の送信を行うことが可能になっている。
【０２０３】
図１８では、立体物造形用データ出力規制装置１０１と３Ｄプリンタ７は分離した形態で示されているが、現在市販されている殆どの３Ｄプリンタ製品には立体物造形用データ出力規制装置１０１の構成要素である、ＣＰＵ１、ＲＡＭ２、記憶装置３、キー入力Ｉ／Ｆ４（汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン）、データ入出力Ｉ／Ｆ５、表示部６（数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させてキー入力Ｉ／Ｆ４を兼ねることも多い）、ネットワーク通信部８（無線ＬＡＮ機能）も小規模ながら重複して備えている。従って、３Ｄプリンタ自体が外部記憶媒体やインターネット経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている（特に民生用の３Ｄプリンタではこちらの形態の方が多い）。すなわち、図１８に示した立体物造形用データ出力規制装置１０１および３Ｄプリンタ７を１つの筐体に収めて、“３Ｄプリンタ”という製品として流通することも多い。
【０２０４】
規制モデル度数分布算出装置１０２においては、ＣＰＵ１ａが、記憶装置３ａに記憶されているプログラムを実行することにより、第２の度数分布算出手段、度数分布送信手段が実現される。規制モデル度数分布算出装置１０２で実現される第２の度数分布算出手段は、立体物造形用データ出力規制装置１００で実現される度数分布算出手段１０と同様の機能を有し、規制モデルに対して２種の度数分布として外接円分布、面積比分布を算出する。度数分布送信手段は、規制モデルについて算出された２種の度数分布である外接円分布、面積比分布を立体物造形用データ出力規制装置１０１に送信する。立体物造形用データ出力規制装置１０１では、ネットワーク通信部８が、規制モデル度数分布算出装置１０２から度数分布を受信すると、ＣＰＵ１が所定のプログラムを実行して度数分布登録手段として機能し、受信した度数分布を記憶装置３で実現される規制モデルデータベース６０に登録する。
【０２０５】
＜６．クラウド型の立体物造形システム＞
本発明は、クラウド型の立体物造形システムに適用することも可能である。「クラウド型の立体物造形システム」とは、ユーザが出力依頼する対象モデルをクラウドに上げると、クラウド上で出力可否の審査を行い（人手による目視審査、３Ｄプリンタ出力整合性検査も含む）、許可された対象モデルの立体物造形をクラウド上の３Ｄプリンタで出力して、出力造形物を依頼者に返却するという３Ｄプリンタ受託出力サービスの意味で一般に使用されるが、本願では、前者の出力可否の審査をクラウド上の遠隔地のコンピュータで実施することにフォーカスしており、立体物造形（３Ｄプリンタ出力）をクラウド上で行うことは必須ではない。図１９は、クラウド型の立体物造形システムのハードウェア構成図である。図１９に示した立体物造形システムでは、出力制御用端末２０１と処理サーバ２０２により立体物造形用データ出力規制装置が実現される。図１９に示した立体物造形システムにおいて、出力制御用端末２０１は、図１８において立体物造形用データ出力規制装置１０１として示したコンピュータと同等のハードウェア構成を有する。すなわち、出力制御用端末２０１は、ＣＰＵ１１、ＲＡＭ１２、記憶装置１３、キー入力Ｉ／Ｆ１４、データ入出力Ｉ／Ｆ１５、表示部１６、ネットワーク通信部１８を備え、互いにバスを介して接続されている。
【０２０６】
処理サーバ２０２は、汎用のコンピュータに専用のプログラムを組み込むことにより実現することができる。図１９に示すように、ＣＰＵ１１ａ、ＲＡＭ１２ａ、記憶装置１３ａ、キー入力Ｉ／Ｆ１４ａ、データ入出力Ｉ／Ｆ１５ａ、表示部１６ａ、ネットワーク通信部１８ａを備え、互いにバスを介して接続されている。出力制御用端末２０１のネットワーク通信部１８と処理サーバ２０２のネットワーク通信部１８ａは互いに通信を行い、処理サーバ２０２から出力制御用端末２０１へ出力適否の判定に基づく出力適否データの送信を行うことが可能になっている。図１９では、出力制御用端末２０１と３Ｄプリンタ７は分離した形態で示されているが、図１８の例と同様、３Ｄプリンタ製品に出力制御用端末２０１の構成要素である、ＣＰＵ１１、ＲＡＭ１２、記憶装置１３、キー入力Ｉ／Ｆ１４、データ入出力Ｉ／Ｆ１５、表示部１６、ネットワーク通信部１８を重複して備えていてもよい。
【０２０７】
図２０は、クラウド型の立体物造形システムの機能ブロック図である。クラウド型の立体物造形システムを構成する処理サーバ２０２は、図４に示した立体物造形用データ出力規制装置の各手段に加えて、対象モデル受信手段７０、出力適否データ送信手段８０を備えた構成となっている。対象モデル記憶手段５１は、対象モデル自体ではなく、対象モデルについて算出された２種の度数分布を記憶する。また、度数分布算出手段１０は、処理サーバ２０２ではなく、出力制御用端末２０１が備えた構成となっている。
【０２０８】
図４に示した立体物造形用データ出力規制装置と同等の機能を有するものについては、同一符号を付して説明を省略する。対象モデル受信手段７０は、出力制御用端末２０１から送信された対象モデルの度数分布を受信して対象モデル記憶手段５１に登録する手段であり、ＣＰＵ１１ａが所定のプログラムを実行するとともに、ネットワーク通信部１８ａを制御することにより実現される。出力適否データ送信手段８０は、度数分布照合手段４０により判定された“出力を規制すべきであるか否か”に基づき、出力適否データを出力制御用端末２０１に送信する手段であり、ＣＰＵ１１ａが所定のプログラムを実行するとともに、ネットワーク通信部１８ａを制御することにより実現される。
【０２０９】
処理サーバ２０２は、インターネット等のネットワークに接続されたクラウド型コンピュータで、多数の出力制御用端末からアクセス可能になっている。従来のサーバ型コンピュータでは多数の利用者のアクセスが集中すると応答性が遅くなり利用者に迷惑をかけることが多かったが、クラウド型では仮想化技術によりコンピュータの物理的構成を動的に変更することが可能になるため、常に安定した応答性を維持できるという特徴がある。処理サーバ２０２は物理的には複数台のコンピュータにより実現されるのが一般的である。
【０２１０】
図１９、図２０に示したクラウド型の立体物造形システムの処理動作について説明する。出力制御用端末２０１において、利用者がキー入力Ｉ／Ｆ１４を介して出力したい対象モデルを指定すると、ＣＰＵ１１は、記憶装置１３に記憶されている指定された対象モデルを抽出し、対象モデルを特定する識別情報であるモデルＩＤを付与する。そして、ＣＰＵ１１は、モデルＩＤが付与された対象モデルに対して、図７または図１３に示したフローチャートに従って、度数分布算出手段１０が処理を行い、外接円分布および面積比分布で構成される度数分布を生成する。さらにＣＰＵ１１は、生成された度数分布を、記憶装置１３に事前に設定されているＵＲＬ等のアドレス宛に、ネットワーク通信部１８を介して送信する。ポリゴンデータに比べ情報量が顕著に少ない度数分布を送信する方法をとることにより、伝送時間が大幅に短縮されるだけでなく、処理サーバ２０２側には著作物であるポリゴンデータが送信されず、処理サーバ２０２側に複製物が残らないため、著作権侵害を回避することができる。
【０２１１】
並行してＣＰＵ１１は、モデルＩＤが付与された対象モデルを、データ入出力Ｉ／Ｆ１５を介して３Ｄプリンタ７のデータ処理部７ａに送信する。データ処理部７ａ内のプリンタキューには、出力制御用端末２０１から受信した対象モデルが保持され、出力ジョブとして待機状態となる。この時、３Ｄプリンタ出力における前処理であるポリゴン形式のデータを積層形式のデータに変換する処理のみ実行させるようにし、積層形式のデータに変換された段階で待機状態にする手法もとることができる。このデータ処理負荷もそれなりに高いため、この間に出力適否判定が完了すれば、利用者側に余分な待ち時間を感じさせないようにすることができる。
【０２１２】
処理サーバ２０２では、対象モデル受信手段７０が、出力制御用端末２０１から送信された対象モデルの度数分布を受信すると、その度数分布を対象モデル記憶手段５１に記憶する。ここで、図５に示したフローチャートに従って、度数分布整合手段２０、度数分布強調手段３０、度数分布照合手段４０が処理を行い、受信した度数分布に対応する対象モデルの出力適否を判定する。出力適否の結果である出力適否データは、度数分布照合手段４０から出力適否データ送信手段８０に渡される。そして、出力適否データ送信手段８０は、度数分布の送信元（アクセス元）である出力制御用端末２０１に、モデルＩＤを付加した出力適否データを送信する。
【０２１３】
出力制御用端末２０１では、ネットワーク通信部１８が処理サーバ２０２から出力適否データを受信すると、ＣＰＵ１１が、受信した出力適否データを、データ入出力Ｉ／Ｆ１５を介して３Ｄプリンタ７のデータ処理部７ａに送信する。データ処理部７ａは、受信した出力適否データに付与されたモデルＩＤでプリンタキュー内の出力ジョブを参照する。そして、出力適否データが“適（出力適正）”である場合、データ処理部７ａは、その出力ジョブを待機状態から出力状態に変更し、出力部７ｂに対象モデルを出力する。出力適否データが“否（出力不適）”である場合、データ処理部７ａは、その出力ジョブを破棄する。すなわち、プリンタキューから削除する。
【０２１４】
＜７．照合事例＞
図２１、図２２に、比較事例と本発明による照合事例１を示す。図２１、図２２のいずれにおいても、３Ｄ球体モデルｂを、３Ｄ球体モデルａ、３Ｄ達磨モデルと照合した事例を示している。上段は、各ポリゴンモデルの外観であり、下段は、各ポリゴンモデルから得られる２種の度数分布である。２種の度数分布は、図２１における比較事例では、上側が外接円半径の度数分布（外接円分布）、下側が内接円半径の度数分布（内接円分布）である。２種の度数分布は、図２２における照合事例１では、上側が外接円分布、下側が面積比分布である。３Ｄ球体モデルａ、３Ｄ球体モデルｂは、球体を模しているが、正確には正多面体のポリゴンモデルであり、３Ｄ球体モデルａは５０４０ポリゴン、３Ｄ球体モデルｂは１２０ポリゴンで構成されている。３Ｄ達磨モデルは、達磨を模した多面体のポリゴンモデルであり、１５９４４ポリゴンで構成されている。
【０２１５】
図中、２箇所の中段に記載されているＣｏｒｒ（Ｄ，Ａ）およびＰｅａｋ（Ｄ，Ａ）の値は、強調処理を行う前（中段の中央に記載）と強調処理を行った後（中段の右端に記載）で上下に示される度数分布間の照合結果を示し、Ｃｏｒｒ（Ｄ，Ａ）は、相関係数Ｄｄ（ｒｅ）、Ｄａ（ｒｅ）をそれぞれ示し、Ｐｅａｋ（Ｄ，Ａ）は、ピーク位置相関Ｐｄ（ｒｅ）、Ｐａ（ｒｅ）をそれぞれ示す。図２１においては、Ｄの値は外接円分布の照合結果、Ａの値は内接円半径の度数分布の照合結果を示す。図２２においては、Ｄの値は外接円分布の照合結果、Ａの値は面積比分布の照合結果を示す。
【０２１６】
３Ｄ球体モデルａと３Ｄ球体モデルｂは、いずれも球体を模しているので、これらの相関が高くなることが好ましい。一方、３Ｄ球体モデルｂと３Ｄ達磨モデルは、全く異なる形状を模したものであるので、相関が低くなることが好ましい。３Ｄ球体モデルａと３Ｄ球体モデルｂの照合結果について、図２１と図２２を比較すると、特に面積比分布については、相関係数、ピーク位置相関どちらの手法においても、本発明の方が、相関が大きくなっていることがわかる。その理由は、図２１の内接円分布は外接円分布に比べ顕著に異なる広範な分布になっているとともに、３Ｄ球体モデルａと３Ｄ球体モデルｂ間で相違が見られる。これに対して、図２２の面積比分布は外接円分布と類似した分布になっていて、３Ｄ球体モデルａと３Ｄ球体モデルｂ間で相違が殆ど見られない。３Ｄ球体モデルｂと３Ｄ達磨モデルの照合結果について、図２１と図２２を比較すると、特に面積比分布については、相関係数、ピーク位置相関どちらの手法においても、本発明の方が、相関が小さくなっていることがわかる。その理由は、図２１の３Ｄ達磨モデルの内接円分布と図２２の３Ｄ達磨モデルの面積比分布はピーク位置は似ているが、分布の広がりに差があり、図２１の３Ｄ達磨モデルの内接円分布は外接円分布に比べ広範な分布になっている。そのため、図２１の３Ｄ球体モデルｂの内接円分布との差があまり大きくない。一方、図２２の３Ｄ達磨モデルの面積比分布は外接円分布と同様にシャープな分布になっており、ピーク位置が図２２の３Ｄ球体モデルｂの面積比分布と顕著に異なり、３Ｄ球体モデルｂと３Ｄ達磨モデル間の差が大きい。以上のことから、面積比分布を用いた本発明の方が、他方式に比較して、より識別精度が向上していることがわかる。
【０２１７】
図２３に、本発明による照合事例２を示す。図２３においては、３Ｄ球体モデルａを、３Ｄ円柱モデル、３Ｄ楕円体モデルと照合した事例を示している。２種の度数分布は、図２３における照合事例では、上側が外接円分布、下側が面積比分布である。３Ｄ球体モデルａは、図２１（ａ）、図２２（ａ）に示したものと同じものである。３Ｄ円柱モデルは、円柱を模しているが、正確には多角柱のポリゴンモデルである。３Ｄ楕円体モデルは、３Ｄ球体モデルａを上下方向に潰したような楕円状の球体を模しているが、正確には、多面体のポリゴンモデルである。３Ｄ球体モデルａは５０４０ポリゴン、３Ｄ円柱モデルは２８８ポリゴン、３Ｄ楕円体モデルは５０４０ポリゴンで構成されている。
【０２１８】
３Ｄ球体モデルａと３Ｄ円柱モデルの照合結果を見ると、外接円分布についてはピーク位置がずれているものの、分布形状は類似していることがわかり、ピーク位置相関は正の値を示すことから、これだけでは両者は類似性ありと誤判断される可能性がある。一方、面積比分布についてはピーク位置も分布形状も全く異なり、相関係数、ピーク位置相関のどちらの値も負値を示し、両者は不適合と判断できる。即ち、３Ｄ球体モデルａと３Ｄ円柱モデルの相違は外接円分布だけでは判断できないことがわかる。続いて、３Ｄ球体モデルａと３Ｄ楕円体モデルの照合結果を見ると、面積比分布についてはピーク位置、分布形状とも殆ど同一であり、相関係数、ピーク位置相関のどちらの値も高い正の値を示すことから、これだけでは両者は適合と判断される。一方、外接円分布についてはピーク位置も分布形状も全く異なり、相関係数、ピーク位置相関どちらの値も負値を示し、両者は不適合と判断できる。即ち、３Ｄ球体モデルａと３Ｄ楕円体モデルの相違は面積比分布だけでは判断できないことがわかる。したがって、例えば、３Ｄ球体モデルａを規制モデルとして、その度数分布をデータベースに登録する際は、外接円分布と面積比分布の双方を登録しておき、３Ｄ円柱モデル、３Ｄ楕円体モデルを対象モデルとして、本実施形態の立体物造形用データ出力規制装置で出力適否の判定を行う際は、外接円分布と面積比分布の双方を用いて照合しないと、３Ｄ楕円体モデルおよび３Ｄ円柱モデルとも出力適正（不適合）と適切に判定されなくなる。
【０２１９】
立体物造形用データ出力規制装置１００では、単に適合・不適合を判定するだけでなく、図１６に示したステップＳ６２０、Ｓ６４０、Ｓ６６０、Ｓ６８０において度数分布照合手段４０が算出したピーク位置相関、相関係数等を、表示部６が出力するようにすることもできる。表示部６により表示出力されたピーク位置相関、相関係数を目視で確認することにより、例えば、不適合の場合、単に不適合であるというだけでなく、その不適合の度合を判断することが可能となる。
【０２２０】
＜８．変形例等＞
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、処理対象のポリゴンを三角形状としたが、四角形状以上の多角形状であってもよい。
【０２２１】
また、上記実施形態では、２種の度数分布として外接円分布と面積比分布を用いて照合を行うようにしたが、外接円分布を用いず、面積比分布のみを用いて照合を行い、出力適否を判定するようにしてもよい。外接円分布と面積比分布の双方を用いた場合には、より照合の精度は高まるが、面積比分布のみであっても、照合対象のポリゴンモデルの特徴によっては、高い精度で出力適否を判定することができる。
【０２２２】
また、上記実施形態では、三角形を構成するためのポリゴン上の一点として、ポリゴンの各頂点の平均座標をもつポリゴン重心を用いた。重心を用いると三角形形状に限定されず、任意の頂点数をもつポリゴンにも適用可能であるが、ポリゴン上の点であれば、ポリゴン重心以外の点であってもよい。例えば、ポリゴン上の点としては、ポリゴンの頂点のｘｙｚ座標別の最大値と最小値の丁度中間となる値をもつ点、等を用いることができる。
【０２２３】
また、上記実施形態では、規制モデルが複数の部品で構成され、対象モデルが規制モデルの一部品である場合に両者の部分照合を実現するため、対象モデルの度数分布のスケールを規制モデルのスケールに整合させる度数分布の整合処理を行った上で、各々の度数分布に対して強調成分を各々乗算し、対象モデルの強調度数分布と規制モデルの強調度数分布を照合するようにしたが、規制モデルと対象モデルとの完全照合を行う際は、このような度数分布の整合処理や強調処理を行わず、対象モデルの度数分布と、データベースから抽出された規制モデルの度数分布を相関係数のみを用いて照合するようにしてもよい。
【０２２４】
また、上記実施形態では、三角形の外接円の面積を、ポリゴン間三角形の面積の平方根で除した値、に基づく度数分布の算出のため、〔数式１０〕に示したように、外接円の半径を二乗したもの（外接円の面積をπで除したもの）を、三角形の面積の平方根で除することにより得られた擬似的な面積比を算出した。しかし、面積比分布算出のため〔数式１０〕に示したものに限定されず、適当な係数を乗算したものであってもよい。
【符号の説明】
【０２２５】
１、１ａ、１１、１１ａ・・・ＣＰＵ（Central Processing Unit）
２、２ａ、１２、１２ａ・・・ＲＡＭ（Random Access Memory）
３、３ａ、１３、１３ａ・・・記憶装置
４、４ａ、１４、１４ａ・・・キー入力Ｉ／Ｆ
５、５ａ、１５、１５ａ・・・データ入出力Ｉ／Ｆ
６、６ａ、１６、１６ａ・・・表示部
７・・・３Ｄプリンタ（立体物造形装置）
７ａ・・・データ処理部
７ｂ・・・出力部
８、８ａ、１８、１８ａ・・・ネットワーク通信部
１０・・・度数分布算出手段（度数分布算出装置）
２０・・・度数分布整合手段
３０・・・度数分布強調手段
４０・・・度数分布照合手段
５０、５１・・・対象モデル記憶手段
６０・・・規制モデルデータベース
７０・・・対象モデル受信手段
８０・・・出力適否データ送信手段
１００、１０１・・・立体物造形用データ出力規制装置
１０２・・・規制モデル度数分布算出装置
２０１・・・出力制御用端末
２０２・・・処理サーバ
【図１】
2018075754.tif 000003
【図２】
2018075754.tif 000004
【図３】
2018075754.tif 000005
【図４】
2018075754.tif 000006
【図５】
2018075754.tif 000007
【図６】
2018075754.tif 000008
【図７】
2018075754.tif 000009
【図８】
2018075754.tif 000010
【図９】
2018075754.tif 000011
【図１０】
2018075754.tif 000012
【図１１】
2018075754.tif 000013
【図１２】
2018075754.tif 000014
【図１３】
2018075754.tif 000015
【図１４】
2018075754.tif 000016
【図１５】
2018075754.tif 000017
【図１６】
2018075754.tif 000018
【図１７】
2018075754.tif 000019
【図１８】
2018075754.tif 000020
【図１９】
2018075754.tif 000021
【図２０】
2018075754.tif 000022
【図２１】
2018075754.tif 000023
【図２２】
2018075754.tif 000024
【図２３】
2018075754.tif 000025