(57)【要約】【課題】メッシュモデルデータが示す立体物により近い三次元構造物を製造すること。【解決手段】三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した３Ｄメッシュモデルデータに基づき、複数のメッシュ要素の集合であって、各組立部材に対応する立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション工程と、３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した３Ｄ帯状領域に含まれる複数のメッシュ要素の法線ベクトルが全て同一となるよう複数のメッシュ要素の位置を変更して、３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割工程と、３Ｄメッシュモデルデータに基づき、立体物における位置関係に応じて２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合工程と、を備える。【選択図】図１
2014203366.tif 000002
【特許請求の範囲】
【請求項１】
三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した前記３Ｄメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション工程と、
前記３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した前記３Ｄ帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割工程と、
前記３Ｄメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合工程と、
を備えることを特徴とする三次元構造物の製造方法。
【請求項２】
前記帯状分割工程は、前記メッシュ要素が三角形である場合、
当該三角形の三辺のうち、前記３Ｄセグメントの輪郭線の一部を構成する辺を有する第１のメッシュ要素を選択する工程と、
前記３Ｄセグメントの輪郭線の一部を構成する辺以外の前記第１のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している２つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第２のメッシュ要素と決定する工程と、
前記第１のメッシュ要素との共有辺以外の前記第２のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している２つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第３のメッシュ要素と決定する工程と、
前記第１〜３のメッシュ要素を含む領域を前記３Ｄ帯状領域として、前記３Ｄセグメントから分割する工程と、
を含むことを特徴とする請求項１に記載の三次元構造物の製造方法。
【請求項３】
前記帯状分割工程は、
前記第２のメッシュ要素との共有辺以外の前記第３のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している２つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第４のメッシュ要素と決定するとともに、いずれか短い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第５のメッシュ要素と決定する第１工程と、
前記第１のメッシュ要素から前記第２のメッシュ要素への第１の方向ベクトルと、前記第２のメッシュ要素から前記第３のメッシュ要素への第２の方向ベクトルと、前記第３のメッシュ要素から前記第４のメッシュ要素への第３の方向ベクトルと、前記第３のメッシュ要素から前記第５のメッシュ要素への第４の方向ベクトルと、を計算する第２工程と、
前記第２の方向ベクトルから前記第１の方向ベクトルを減算した第５の方向ベクトルと、前記第３の方向ベクトルから前記第２の方向ベクトルを減算した第６の方向ベクトルと、前記第４の方向ベクトルから前記第２の方向ベクトルを減算した第７の方向ベクトルと、を計算する第３工程と、
前記第５の方向ベクトルと前記第６の方向ベクトルのなす第１の角と、前記第５の方向ベクトルと前記第７の方向ベクトルのなす第２の角とを計算する第４工程と、
前記第１の角及び前記第２の角のうち、９０°より大きく２７０°より小さくなる方の角がどちらであるかを判定し、前記第１の角が９０°より大きく２７０°より小さくなる場合、前記第４のメッシュ要素を次のメッシュ要素と決定し、前記第２の角が９０°より大きく２７０°より小さくなる場合、前記第５のメッシュ要素を次のメッシュ要素と決定する第５工程と、
を備えることを特徴とする請求項２に記載の三次元構造物の製造方法。
【請求項４】
前記次のメッシュ要素と決定したメッシュ要素を前記第３のメッシュ要素に置き換えるとともに、前記第１〜３工程における前記第３，２のメッシュ要素をそれぞれ前記第２，１に置き換えて、前記第１〜５工程を繰り返す第６工程と、
前記第６工程において前記次のメッシュ要素を決定できなくなるまで前記第１〜５工程を繰り返し、前記次のメッシュ要素を決定できなくなった場合、前記第１〜３のメッシュ要素と前記次のメッシュ要素として決定されたメッシュ要素とを含む領域を前記３Ｄ帯状領域として、前記３Ｄセグメントから分割する第７工程と、
を含むことを特徴とする請求項３に記載の三次元構造物の製造方法。
【請求項５】
前記セグメンテーション工程において、（i）プラトン立体を用いる方法、（ii）メッシュセグメントの曲面型の同定を用いる方法、（iii）領域成長法を用いる方法のうち、少なくともいずれか一つを用いて、前記立体物のメッシュモデルから前記複数の３Ｄセグメントを分割することを特徴とする請求項１から４のうちいずれか一項に記載の三次元構造物の製造方法。
【請求項６】
前記２Ｄセグメントを前記組立部材として、前記立体物を組み立てるための２Ｄ展開図を作成し、作成した２Ｄ展開図を平面材に出力する製作化工程をさらに備えることを特徴とする請求項１から５のうちいずれか一項に記載の三次元構造物の製造方法。
【請求項７】
前記立体物と前記２Ｄセグメントとの誤差評価、又は、前記２Ｄ帯状領域の結合の最適化についての評価のうち、少なくともいずれか一方を評価する評価工程をさらに備えることを特徴とする請求項１から６のうちいずれか一項に記載の三次元構造物の製造方法。
【請求項８】
三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した前記３Ｄメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション部と、
前記３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した前記３Ｄ帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割部と、
前記３Ｄメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合部と、
を備えることを特徴とする三次元構造物の製造装置。
【請求項９】
コンピュータに、
三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した前記３Ｄメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション工程、
前記３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した前記３Ｄ帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割工程、
前記３Ｄメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合工程、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、３Ｄメッシュモデルに基づき三次元構造物を製造する製造方法、製造装置、及び、プログラムに関するものである。
【背景技術】
【０００２】
三次元構造物を製造するため、平面素材を切り貼りせずに展開図の折線に従って折ることで、三次元構造物を組立てることのできる展開図を１枚の平面から作成するものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２４３０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複雑な三次元構造物を製作する場合、特許文献１に記載された方法では、平面と平面との接続部分が曲面であるような形状等を再現することが困難であった。
【０００５】
そこで本発明は、３Ｄメッシュモデルが表す仮想的な立体物により近い三次元構造物を製作することができる三次元構造物の製造方法、三次元構造物の製造装置、及び、プログラムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
（１）本発明に係る三次元構造物の製造方法の一態様は、上記課題を解決するために、三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した前記３Ｄメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション工程と、前記３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した前記３Ｄ帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割工程と、前記３Ｄメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合工程と、を備える。
【０００７】
（２）また、本発明に係る三次元構造物の製造方法の一態様は、前記帯状分割工程は、前記メッシュ要素が三角形である場合、当該三角形の三辺のうち、前記３Ｄセグメントの輪郭線の一部を構成する辺を有する第１のメッシュ要素を選択する工程と、前記３Ｄセグメントの輪郭線の一部を構成する辺以外の前記第１のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している２つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第２のメッシュ要素と決定する工程と、前記第１のメッシュ要素との共有辺以外の前記第２のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している２つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第３のメッシュ要素と決定する工程と、前記第１〜３のメッシュ要素を含む領域を前記３Ｄ帯状領域として、前記３Ｄセグメントから分割する工程と、を含む。
【０００８】
（３）また、本発明に係る三次元構造物の製造方法の一態様は、前記帯状分割工程は、
前記第２のメッシュ要素との共有辺以外の前記第３のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している２つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第４のメッシュ要素と決定するとともに、いずれか短い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第５のメッシュ要素と決定する第１工程と、前記第１のメッシュ要素から前記第２メッシュ要素への第１の方向ベクトル（→Ｖ０１）と、前記第２のメッシュ要素から前記第３メッシュ要素への第２の方向ベクトル（→Ｖ１２）と、前記第３のメッシュ要素から前記第４メッシュ要素への第３の方向ベクトル（→Ｖ２３）と、前記第３のメッシュ要素から前記第５メッシュ要素への第４の方向ベクトル（→Ｖ２２´）と、を計算する第２工程と、前記第２の方向ベクトルから前記第１の方向ベクトルを減算した第５の方向ベクトル（→Ｖ０１２）と、前記第３の方向ベクトルから前記第２の方向ベクトルを減算した第６の方向ベクトル（→Ｖ１２３）と、前記第４の方向ベクトルから前記第２の方向ベクトルを減算した第７の方向ベクトル（→Ｖ１２２´）と、を計算する第３工程と、前記第５の方向ベクトルと前記第６の方向ベクトルのなす第１の角（θｖ３）と、前記第５の方向ベクトルと前記第７の方向ベクトルのなす第２の角（θｖ２´）とを計算する第４工程と、前記第１の角及び前記第２の角のうち、９０°より大きく２７０°より小さくなる方の角がどちらであるかを判定し、前記第１の角が９０°より大きく２７０°より小さくなる場合、前記第４のメッシュ要素を次のメッシュ要素と決定し、前記第２の角が９０°より大きく２７０°より小さくなる場合、前記第５のメッシュ要素を次のメッシュ要素と決定する第５工程と、を備える。
【０００９】
（４）また、本発明に係る三次元構造物の製造方法の一態様は、前記次のメッシュ要素と決定したメッシュ要素を前記第３のメッシュ要素に置き換えるとともに、前記第１〜３工程における前記第３，２のメッシュ要素をそれぞれ前記第２，１に置き換えて、前記第１〜５工程を繰り返す第６工程と、前記第６工程において前記次のメッシュ要素を決定できなくなるまで前記第１〜５工程を繰り返し、前記次のメッシュ要素を決定できなくなった場合、前記第１〜３のメッシュ要素と前記次のメッシュ要素として決定されたメッシュ要素とを含む領域を前記３Ｄ帯状領域として、前記３Ｄセグメントから分割する第７工程と、を含む。
【００１０】
（５）また、本発明に係る三次元構造物の製造方法の一態様は、前記セグメンテーション工程において、（i）プラトン立体を用いる方法、（ii）メッシュセグメントの曲面型の同定を用いる方法、（iii）領域成長法を用いる方法のうち、少なくともいずれか一つを用いて、前記立体物のメッシュモデルから前記複数の３Ｄセグメントを分割する。
【００１１】
（６）また、本発明に係る三次元構造物の製造方法の一態様は、前記２Ｄセグメントを前記組立部材として、前記立体物を組み立てるための２Ｄ展開図を作成し、作成した２Ｄ展開図を平面材に出力する製作化工程をさらに備える。
【００１２】
（７）また、本発明に係る三次元構造物の製造方法の一態様は、前記立体物と前記２Ｄセグメントとの誤差評価、又は、前記２Ｄ帯状領域の結合の最適化についての評価のうち、少なくともいずれか一方を評価する評価工程をさらに備える。
【００１３】
（８）本発明に係る三次元構造物の製造装置の一態様は、上記課題を解決するために、三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した前記３Ｄメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション部と、前記３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した前記３Ｄ帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割部と、前記３Ｄメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合部と、を備える。
【００１４】
（９）本発明に係るプログラムの一態様は、上記課題を解決するために、コンピュータに、三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した３Ｄメッシュモデルデータを入力し、入力した前記３Ｄメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の３Ｄセグメントを作成するセグメンテーション工程、前記３Ｄセグメントを複数の３Ｄ帯状領域に分割し、分割した前記３Ｄ帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記３Ｄ帯状領域を２Ｄ帯状領域に変換する帯状分割工程、前記３Ｄメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記２Ｄ帯状領域を結合して２Ｄセグメントを作成する結合工程、を実行させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、３Ｄメッシュモデルが表す仮想的な立体物により近い三次元構造物を製作することができる。また、簡便に立体物を模した三次元構造物を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る三次元構造物の製造装置の概略ブロック図である。
【図２】本発明の一実施形態に係る三次元構造物の製造方法の一例を示すフローチャートである。
【図３】本発明の一実施形態に係る仮想的な立体物の一例を示す図である。
【図４】本発明の一実施形態に係るメッシュモデルデータの一例を示す図である。
【図５】本発明の一実施形態に係る（i）プラトン立体を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。
【図６】プラトン立体（正六面体）に対する方向ベクトルの一例を示す参考図である。
【図７】プラトン立体（正四面体）のＸＹＺモデル座標系への埋め込みの一例を示す参考図である。
【図８】図４に示したメッシュモデルデータを複数の３Ｄセグメントで分割してカラーリングした３Ｄモデルデータを示す図である。
【図９】正四面体のプラトン立体を用いてカラーリングした一例を示す図である。
【図１０】正六面体のプラトン立体を用いてカラーリングした一例を示す図である。
【図１１】正六面体のプラトン立体を用いて３Ｄセグメントを生成するためのアルゴリズムの流れの一例を示す図である。
【図１２】ガウス写像の次元の一例を示す参考図である。
【図１３】本発明の一実施形態に係る（ii）メッシュセグメントの曲面型の同定を用いる方法を用いたセグメンテーション工程後の３Ｄセグメントの一例を示す参考図である。
【図１４】本発明の一実施形態に係る（iii）領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。
【図１５】本発明の一実施形態に係る（iii）領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するための参考図である。
【図１６】本発明の一実施形態に係る（iii）領域成長法を用いる方法による射影点とオリジナルの３Ｄモデルの一例を示す参考図である。
【図１７】本発明の一実施形態に係るセグメンテーション部によりセグメンテーションされた３Ｄセグメントの一例を示す図である。
【図１８】本発明の一実施形態に係る帯状分割部による３Ｄ帯状領域の分割処理の一例を説明するためのフローチャートである。
【図１９】本発明の一実施形態に係る帯状分割部による３Ｄ帯状領域の分割処理の一例を説明するための参考図である。
【図２０】本発明の一実施形態に係る帯状分割部による３Ｄ帯状領域の分割処理の一例を説明するための参考図である。
【図２１】本発明の一実施形態に係る帯状分割部による３Ｄ帯状領域の分割処理の一例を説明するための参考図である。
【図２２】本発明の一実施形態に係る帯状分割部による方向ベクトルの計算方法の一例を説明するためのフローチャートである。
【図２３】本発明の一実施形態に係る帯状分割部による方向ベクトルの計算方法の一例を説明するための参考図である。
【図２４】本発明の一実施形態に係る帯状分割部による３Ｄ帯状領域を２Ｄ帯状領域に変換する処理の一例を説明するためのフローチャートである。
【図２５】本発明の一実施形態に係る帯状分割部による３Ｄ帯状領域を２Ｄ帯状領域に変換する処理の一例を説明するための参考図である。
【図２６】本発明の一実施形態に係る回転行列の計算方法の一例を説明するための参考図である。
【図２７】本発明の一実施形態に係る結合部の処理の一例を説明するための参考図である。
【図２８】本発明の一実施形態に係る結合部の処理の一例を説明するための参考図である。
【図２９】本発明の一実施形態に係る結合部の処理の一例を説明するための参考図である。
【図３０】本発明の一実施形態に係る面の全てのつながりを表現したグラフである。
【図３１】本発明の一実施形態に係る最適化により求めた最小限のつながりを示すグラフである。
【図３２】本発明の一実施形態に係る三次元構造物の製造方法によって作成された２Ｄ展開図の一例を示す図である。
【図３３】本発明の一実施形態に係る２Ｄセグメントに割り当てられた識別番号同士の接続を表したグラフを示す図である。
【図３４】本発明の一実施形態に係る三次元構造物の製造方法により製作された三次元構造物の一例を示す図である。
【発明を実施するための形態】
【００１７】
［第１実施形態］
図１は、本実施形態に係る三次元構造物の製造装置１００の概略ブロック図である。図１に示す通り、本実施形態に係る三次元構造物の製造装置１００は、セグメンテーション部１と、帯状分割部２と、結合部３と、評価部４と、製作化部５と、記憶部６とを備える。本実施形態に係る三次元構造物の製造装置１００は、板状の二次元平面物である組立部品によって組み立てられる三次元構造物を製作するための装置である。この二次元平面物としては、紙、鉄、樹脂など、さまざまな材質の板状物を利用することができる。
【００１８】
セグメンテーション部１は、三次元構造物を表した３Ｄメッシュモデルのデータ（以下、３Ｄメッシュモデルデータという）を入力する。この３Ｄメッシュモデルデータは、例えば、三次元空間において表現される仮想的な立体物を、二次元平面の多角形である複数のメッシュ要素で表したデータである。本実施形態において、メッシュ要素は、二次元平面の三角形であるが、本発明はこれに限られず、他の多角形であってもよい。
このセグメンテーション部１は、入力する３Ｄメッシュモデルデータに基づき、３Ｄメッシュモデルを構成する複数のメッシュ要素の集合であって、三次元構造物を構成する複数の組立部材のそれぞれに対応する立体物の一部である三次元組立部材（以下、３Ｄセグメントという）を作成する。つまり、セグメンテーション部１は、３Ｄメッシュモデルデータから、組立部材に対応する３Ｄセグメントを切り出す。
【００１９】
帯状分割部２は、セグメンテーション部１によって切り出された３Ｄセグメントを、複数の３Ｄ帯状領域に分割し、分割した３Ｄ帯状領域に含まれる複数のメッシュ要素の法線ベクトルが全て同一となるようにメッシュ要素の位置を変更して、３Ｄ帯状領域を２Ｄ帯状領域に変換する。
【００２０】
結合部３は、三次元空間において表現される仮想的な立体物（つまり３Ｄメッシュモデルデータ）における位置関係に応じて、２Ｄ帯状領域を結合して、２Ｄセグメントを作成する。つまり、結合部３は、帯状分割部２によって作成された２Ｄ帯状領域のうち、同じ３Ｄセグメントに含まれる２Ｄ帯状領域同士を、当該３Ｄセグメントにおける３Ｄ帯状領域同士の位置関係に基づき結合し、２Ｄセグメントを作成する。また、結合部３は、３Ｄセグメントごとに結合した２Ｄ帯状領域の集合（つまり２Ｄセグメント）同士を、メッシュモデルデータにおける３Ｄセグメント同士の位置関係に基づき結合し、２Ｄ展開図を生成する。
【００２１】
評価部４は、３Ｄモデルと２Ｄモデルとの誤差評価と、２Ｄ帯状領域の結合が最適かどうかについての評価を行う。
【００２２】
製作化部５は、実物モデルを組み立てる際に製作を容易にするため、２Ｄ展開図に、色やマーク、切込みを入れる。この製作化部５は、例えば、接続する部分をマーキングしたり、表裏をカラーリングしたり、切込みを入れたりする。これにより、複雑な実物モデルにおいて適用することにより、製作が非常に容易となる。
また、製作化部５は、２Ｄ展開図に基づき、三次元構造物を製造する手段を備えるものであってもよい。例えば、製作化部５は、２Ｄ展開図に従って平面材を切断するハサミや、２Ｄ展開図を組み立てる手段や、組み立てたものを接着する手段等を備える。
記憶部６は、各種情報を記憶する。
【００２３】
次に、図２を参照して、本実施形態に係る三次元構造物の製造装置１００による三次元構造物の製造方法の一例について説明する。図２は、本実施形態に係る三次元構造物の製造装置１００のよる三次元構造物の製造方法の一例を示すフローチャートである。
（ステップＳＴ１０１）
セグメンテーション部１は、３Ｄセグメントを作成するための複数のセグメンテーション方法のうち、一のセグメンテーション方法を選択する。本実施形態において、セグメンテーション部１は、３Ｄセグメントの作成するための複数のセグメンテーション方法として、（i）プラトン立体を用いる方法、（ii）メッシュセグメントの曲面型の同定を用いる方法、（iii）領域成長法を用いる方法のうち、少なくともいずれか一つを実行することができる。つまり、ステップＳＴ１０１において、セグメンテーション部１は、これら（i）プラトン立体を用いる方法、（ii）メッシュセグメントの曲面型の同定を用いる方法、（iii）領域成長法を用いる方法のうち、一のセグメンテーション方法を選択する。
【００２４】
（ステップＳＴ１０２）
セグメンテーション部１は、選択したセグメンテーション方法に従って、入力する３Ｄメッシュモデルデータに表された三次元構造物の表面領域から、３Ｄセグメントを切り出す。
（ステップＳＴ１０３）
なお、セグメンテーション部１が、（i）プラトン立体を用いる手法に従って３Ｄセグメントを切り出す場合は、ステップＳＴ１０３の処理を実行する。つまり、セグメンテーション部１は、最適なパラメーターを決定する。
これらステップＳＴ１０１〜ＳＴ１０３の処理を、セグメンテーション部１によるセグメンテーション工程という。
【００２５】
（ステップＳＴ１０４）
次いで、帯状分割部２は、セグメンテーション部１によって切り出された３Ｄセグメントを、複数の３Ｄ帯状領域に分割する。
（ステップＳＴ１０５）
そして、帯状分割部２は、分割した３Ｄ帯状領域に含まれるメッシュ要素の法線ベクトルが同一となるようにして、３Ｄメッシュモデルデータにおけるメッシュ要素の位置を変更、３Ｄ帯状領域を２Ｄ帯状領域に変換する。
これらステップＳＴ１０４〜ＳＴ１０５の処理を、帯状分割部２による帯状分割工程という。
【００２６】
（ステップＳＴ１０６）
次いで、結合部３は、帯状分割部２によって作成された２Ｄ帯状領域のうち、同じ３Ｄセグメントに含まれる２Ｄ帯状領域同士を、当該３Ｄセグメントにおける３Ｄセグメント同士の位置関係に基づき結合し、２Ｄセグメントを作成する。また、結合部３は、作成した２Ｄセグメント同士を、３Ｄメッシュモデルデータにおける３Ｄセグメント同士の位置関係に基づき結合し、２Ｄ展開図を生成する。
このステップＳＴ１０６の処理を、結合部３による結合工程という。
【００２７】
（ステップＳＴ１０７）
そして、評価部４は、３Ｄモデルと２Ｄモデルとの誤差評価と、２Ｄ帯状領域の結合が最適かどうかについて評価を行う。最適でない場合、ステップＳＴ１０５に戻る。
（ステップＳＴ１０８）
次いで、評価部４は、ツリー構造を利用した評価（線の数を最小化）を行う。
これらステップＳＴ１０７〜ＳＴ１０８の処理を、評価部４による評価工程という。
【００２８】
（ステップＳＴ１０９）
次いで、製作化部５は、作成した２Ｄ展開図をプリントアウト（出力）する。
（ステップＳＴ１１０）
なお、製作化部５は、プリントアウトする前に、実物モデルを組み立てる際に製作を容易にするため、接続する部分をマーキングしたり、表裏をカラーリングしたり、２Ｄ展開図をプリントした二次元平面物に切込みを入れたりしてもよい。
これらステップＳＴ１０９〜ＳＴ１１０の処理を、製作化部５による製作化工程という。
【００２９】
次に、三次元構造物の製造装置１００に含まれる各構成について、詳細に説明する。
［セグメンテーション部１の処理について］
図３，４を参照して、セグメンテーション部１に入力する３Ｄメッシュモデルデータの一例について説明する。
図３は、三次元空間において表現される仮想的な立体物の一例を示す図である。本実施形態において、三次元空間において表現される仮想的な立体物は、例えば、自動車のフロント部分であり、図３は、この自動車のフロント部分を正面から見た図である。
図４は、図３に示した自動車のフロント部分の３Ｄメッシュモデルデータの一例を示す図である。図４に示す通り、３Ｄメッシュモデルデータは、三次元空間において表現される仮想的な立体物である自動車のフロント部分の形状を、複数の二次元平面の三角形であるメッシュ要素により構成した３Ｄモデルのデータである。
【００３０】
本実施形態において、セグメンテーション部１は、ＣＡＤモデル等から得られる３Ｄメッシュモデルデータを入力する。なお、セグメンテーション部１は、３Ｄメッシュモデルデータを生成する三次元構造物の製造装置１００に内蔵された他の処理部から、メッシュモデルデータを入力するものであってもよく、外部の処理部から３Ｄメッシュモデルデータを入力するものであってもよい。
【００３１】
なお、３Ｄメッシュモデルとしては、例えば、ＣＡＤモデルから得られる三次元のメッシュモデル、二次元画像の組み合わせにより得られる３Ｄモデルから得られる３Ｄメッシュモデル、又は、レーザースキャンやＸ線ＣＴを利用する際の計測点群データから得られる３Ｄメッシュモデル等が利用可能である。
なお、各３Ｄメッシュモデルを作成する際のメッシュの方法については、特に限定されない。例えば、ＣＡＤモデルから得られる３Ｄメッシュモデルを作成する際のメッシュの方法については、アドバンシング・フロント法（参考ＵＲＬ： ｈｔｔｐ：//ｗｗｗ.ｍｅ.ｔｏｋｕｓｈｉｍａ−ｕ.ａｃ.ｊｐ/〜ｏｉｓｈｉ/ｓｍ/ＭＳ００２.ｐｄｆ）を用いることができる。
また、例えば、二次元画像の組み合わせにより得られる３Ｄモデルから得られる３Ｄメッシュモデルを作成する際のメッシュの方法については、ＳＦＭ（Ｓｔｒｕｃｔｕｒｅ ｆｒｏｍ Ｍｏｔｉｏｎ）法（参考ＵＲＬ：ｈｔｔｐ：//ｗｗｗ.ａｍ.ｓａｎｋｅｎ.ｏｓａｋａ−ｕ.ａｃ.ｊｐ/〜ｍｉｔｓｕｇａｍｉ/ｐｄｆ/ｄｏｍｍａｇ/ｍｉｔｓｕｇａｍｉ−ｉｔｅ−２０１１.ｐｄｆ）を用いることができる。
さらに、レーザースキャンやＸ線ＣＴを利用する際の計測点群データから得られる３Ｄメッシュモデルを作成する際のメッシュの方法については、ＭＯＡ（Ｍａｘｉｍｕｍ Ｏｐｐｏｓｉｔｅ Ａｎｇｕｌａｔｉｏｎ）法（参考ＵＲＬ：ｈｔｔｐ：//ｊｓｔｏｒｅ.ｊｓｔ.ｇｏ.ｊｐ/ｎａｔｉｏｎａｌＰａｔｅｎｔＤｅｔａｉｌ.ｈｔｍｌ？ｐａｔ＿ｉｄ＝２４８４１）を用いることができる。
【００３２】
このセグメンテーション部１は、入力した３Ｄメッシュモデルデータに基づき、３Ｄセグメントごとに、複数のメッシュ要素をグループ化（クラスタ化）する。
本実施形態において、セグメンテーション部１は、セグメンテーションアルゴリズムとして、（i）プラトン立体を用いる方法、（ii）メッシュセグメントの曲面型の同定を用いる方法、（iii）領域成長法を用いる方法のうち、少なくともいずれか一つを用いて、複数のメッシュ要素の集合を３セグメントごとにグループ化する。
【００３３】
初めに、（i）プラトン立体を用いる方法の具体例について説明する。
セグメンテーション部１は、専用のソフトウエアを使用して、この方法を迅速かつ自動的に実行することができる。このセグメンテーション部１は、例えば、ノイズモデルを適用して、ＣＡＤモデルや自由な造形物（フリフォーム）の表面の詳細な特徴を抽出することができる。
なお、プラトン立体とは、凸で合同な正多角形面からなる凸多面体のことである。プラトン立体としては、以下の５つが存在することが知られている。
（ａ）４つの正三角形面から成る正四面体
（ｂ）６つの正方形面から成る正六面体
（ｃ）８つの正三角形面から成る正八面体
（ｄ）１２の正五角形面から成る正十二面体
（ｅ）２０の正三角形面から成る正二十面体
【００３４】
本実施形態において、各プラトン立体を構成する各面には、メッシュ要素を３Ｄセグメントに分割するためのグループが割り当てられている。例えば、正六面体には、６つのグループＧ１，Ｇ２，Ｇ３，Ｇ４，Ｇ５，Ｇ６が割り当てられている。また、３Ｄセグメントに分割するためのグループには、それぞれ異なる色が割り当てられている。メッシュ要素を対応するグループに決定した場合、つまり、グループ化した場合、セグメンテーション部１は、グループに割り当てられた色を、当該グループに対応するメッシュ要素に仮想的に着色する。すなわち、セグメンテーション部１は、グループ化されたメッシュ要素に、それぞれグループに割り当てられた色を付す（つまり、カラーリングする）。
【００３５】
セグメンテーション部１は、プラトン立体の方向ベクトル（つまり、プラトン立体の各面の法線ベクトル）に従って、３Ｄメッシュモデルに含まれる各メッシュ要素を、３Ｄセグメントにグループ化（言い換えると、カラーリング）する。つまり、セグメンテーション部１は、各メッシュ要素の法線ベクトルに基づき、３Ｄメッシュモデルに含まれる各メッシュ要素を、各メッシュ要素の法線ベクトルに対応する法線ベクトルを有するプラトン立体の各面に割り当てられたグループに分ける。
なお、特に計測から得られたメッシュ要素は、ノイズを多く含んでいるため、３Ｄセグメント同士の境界線がジグザグになることが多い。しかし、このアルゴリズム（プラトン立体を用いる方法）を用いることにより、境界線を滑らかで自然なものにすることができる。また、特徴線がないような部分に意識的に分割線を挿入する場合にも有効である。
【００３６】
セグメンテーション部１は、プラトン立体を用いたセグメンテーションの最適化を行うことが好ましい。この処理は、図２に示すステップＳＴ１０３に相当する処理である。メッシュモデルに表された三次元構造物によって、最適なプラトン立体は異なるため、セグメンテーション部１は、（１）カラーリングされていないメッシュ要素(uncolored model elements)が最も少なくなる場合、（２）孤立したカラーリング箇所(islands)が最も少なくなる場合を、３つのパラメーター（Ｓ：プラトン立体の種類、θ、オイラー（Euler）角α,β,γ）を変化させて算出する。この方法について、図５を参照して、以下に説明する。
次のとおりである。
【００３７】
図５は、本実施形態に係るセグメンテーション部１による（i）プラトン立体を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。
（ステップＳＴ１１）
セグメンテーション部１は、上述の（ａ）〜（ｅ）に示すプラトン立体のうち、一つを選択し、Ｘ軸，Ｙ軸，Ｚ軸周りの回転角α，β，γを用いて、選択したプラトン立体を仮想的に回転させる。
（ステップＳＴ１２）
そして、セグメンテーション部１は、選択したプラトン立体に含まれる各面の法線ベクトルを計算する。
（ステップＳＴ１３）
次いで、セグメンテーション部１は、選択したプラトン立体に含まれる各面の法線ベクトルと、各メッシュ要素の法線ベクトル（ｎｘ，ｎｙ，ｎｚ）とのなす角度τを計算する。
ここでは、参考として、図６に、プラトン立体（正六面体）に対する方向ベクトルの一例を示す。また、図７に、プラトン立体（正四面体）のＸＹＺモデル座標系への埋め込みの一例を示す。
【００３８】
（ステップＳＴ１４）
そして、セグメンテーション部１は、τ＞θ（最小角）ならば色付けはされない（どこにも属さない）、τ≦θならばτが最小となるプラトン立体の面にメッシュ要素を対応させる。つまり、セグメンテーション部１は、プラトン立体ごとに、各メッシュ要素の法線ベクトル（ｎｘ，ｎｙ，ｎｚ）と、プラトン立体に含まれる各面Ｆｉの法線ベクトルとのなす角度τを計算し、計算した角度τと予め決められたパラメーターである最小角θとを比較する。
（ステップＳＴ１５）
τ＞θである場合、セグメンテーション部１は、当該メッシュ要素はどのグループにも属さないと判定し、当該メッシュ要素には色を付さない。
（ステップＳＴ１６）
一方、τ≦θである場合、セグメンテーション部１は、τが最小となるプラトン立体の各面Ｆｉに割り当てられた色を、当該メッシュ要素に付する。
（ステップＳＴ１７）
そして、セグメンテーション部１は、プラトン立体の各面Ｆｉに対応するメッシュ要素、つまり、同じ色が付されたメッシュ要素を集めて、一つの３Ｄセグメントを生成する。このようにして、３Ｄメッシュモデルデータに対して、それぞれ同じ色が付されたメッシュ要素の集合が、３Ｄセグメントであり、その一例を図８に示す。
【００３９】
図８は、図４に示した３Ｄメッシュモデルデータを複数の３Ｄセグメントで分割し、分割した３Ｄセグメントに対して、グループに応じた色を仮想的に着色した３Ｄモデルデータの一例を示す図である。
図８に示す通り、３Ｄメッシュモデルデータは、セグメンテーション部１によって、複数の３Ｄセグメントに分割される。
【００４０】
なお、図９，１０を参照して、セグメンテーション部１によって分割される３Ｄセグメントの他の例について説明する。図９，１０には、それぞれ、異なるプラトン立体を用いて、当該プラトン立体の各面Ｆｉに応じた色で各メッシュ要素をカラーリングした三次元構造物の３Ｄメッシュモデルデータを示す。
図９は、正四面体のプラトン立体を用いてカラーリングした一例を示す図である。
図１０は、正六面体のプラトン立体を用いてカラーリングした一例を示す図である。
図９，１０に示す通り、セグメンテーション部１によって分割される３Ｄセグメントの領域は、プラトン立体に応じて異なる。
【００４１】
図１１は、セグメンテーション部１によるセグメンテーション工程のアルゴリズムの流れの一例を示す概略図である。
図１１には、正六面体のプラトン立体を用いて、モヤイ像に似た３Ｄメッシュモデルデータを３Ｄセグメントに分割する際のアルゴリズムの流れの一例を示す図である。
図示の通り、この３Ｄメッシュモデルデータは、３Ｄセグメントに分割され、正六面体の各面Ｆｉに応じて割り当てられた色に仮想的に着色されている。
【００４２】
そして、セグメンテーション部１は、図５を参照して説明した処理の後、（１）色付けされていないメッシュ要素の数の最適化と、（２）色付けされたセグメントにおける島（islands）の数を最小にするための最適化を実行する。
【００４３】
（１）色付けされていないメッシュ要素の数の最適化
セグメンテーション部１は、以下の式（１）に従って、カラーリングされていないメッシュ要素の数を最小化する最適化を行う。
【００４４】
【数１】
2014203366.tif 000003
【００４５】
ただし、式（１）において、Ｆ１はカラーリングされていないメッシュ要素の数を表す目的関数、Ｓはプラトン立体の種類、Ｎはメッシュモデル全体に含まれるメッシュ要素の数、→ｎｉ（→はｎの上に付く、以下、同様）はメッシュ要素の単位法線ベクトルである。さらに、カラーリングされていないメッシュ要素とカラーリングされているメッシュ要素を判別するための閾値θは、θ＝１０°とし、このθを用いてＦは、以下の式（２）で定義される。
【００４６】
【数２】
2014203366.tif 000004
【００４７】
ただし、式（２）において、→ｎｉはメッシュ要素ｉの単位法線ベクトルであり、ＮＦＳは、プラトン立体Ｓに含まれる面の数である。
また、￣Ｓｊ（α，β，γ）（￣は、Ｓｊ（α，β，γ）の上に付く、以下、同様）は、角度α，β，γによる回転行列によって変換されたプラトン立体Ｓに含まれる各面ｊに対する単位法線ベクトルである。
【００４８】
（２）色付けされたセグメントにおける島（islands）の数を最小にするための最適化
セグメンテーション部１は、以下の式（３）に従って、色付けされたセグメントにおける島の数を最小化する最適化を行う。なお、色付けされたセグメントにおける島とは、周りと異なる色のメッシュ要素の集合であり、かつ、そのメッシュ要素の集合に含まれるメッシュ要素の数が予め決められた閾値Ｔよりも少ない集合のことである。本実施形態において、島の一例を、図９に示す。
【００４９】
【数３】
2014203366.tif 000005
【００５０】
ただし、式（３）において、Ｆ２は島の数を表す目的関数、Ｓはプラトン立体の種類、ＮＦＳはプラトン立体Ｓの面の数、Ｒｉは３Ｄセグメントの数、ＮＦｄは３Ｄセグメントｄのメッシュ要素の数、Ｔは島のサイズを定義するための閾値、α，β，γはプラトン立体Ｓの回転角である。
【００５１】
［実施例］
本実施形態に係る三次元構造物の製造装置１００のセグメンテーション部１によって、（i）プラトン立体を用いる方法を用いてセグメンテーションが実行された場合に最適なパラメーターを決定する方法の一例を説明する。
下の表１は、セグメンテーション部１によるセグメンテーション工程によって得られた、色付けされていないメッシュ要素の数を、プラトン立体の種類ごとに示した表である。
【００５２】
【表１】
2014203366.tif 000006
【００５３】
また、下の表２は、セグメンテーション部１によって算出された目的関数Ｆ１，Ｆ２を、プラトン立体の種類ごとに示した表である。
【００５４】
【表２】
2014203366.tif 000007
【００５５】
表１に示す通り、正六面体のプラトン立体を用いたカラーリングと、正八面体を用いたカラーリングにおいて、カラーリングされていないメッシュ要素が、他のプラトン立体を用いたカラーリングに比べて少なかった。
本実施形態において、セグメンテーション部１は、２つの目的関数Ｆ１，Ｆ２を基づく（１）（２）の判断を、独立に行う。つまり、セグメンテーション部１は、（１）色付けされていないメッシュ要素の数の最適化、及び（２）色付けされたセグメントにおける島（islands）の数を最小にするための最適化の両方の観点から、最適なプラトン立体を選択することができる。又は、セグメンテーション部１は、最適なプラトン立体を選択したり、方向ベクトルを定義したりする目的のために、（１）（２）の最適化を同時に用いることも可能である。
【００５６】
例えば、セグメンテーション部１は、目的関数Ｆ１に基づき最適化される（１）色付けされていないメッシュ要素の数が他のプラトン立体に比べてより少ないプラトン立体が複数あり、且つ、当該より少ないプラトン立体の色付けされていないメッシュ要素の数が互いに近接している場合は、目的関数Ｆ２を用いて、結果を評価する。つまり、セグメンテーション部１は、色付けされていないメッシュ要素の数が他のプラトン立体に比べてより少ないプラトン立体についての目的関数Ｆ２を比較して、目的関数Ｆ２が最も小さいプラトン立体を選択する。
表１に記載されている例では、正六面体と正八面体において、色付けされていないメッシュ要素の数（＝５２８３，５７９７）が、他の正四面体、正十二面体、正二十面体のそれと比べて少なく、且つ、色付けされていないメッシュ要素の数（＝５２８３，５７９７）が互いに近似している。
一方、表２に記載されている例では、正六面体の目的関数Ｆ２（＝６）の方が、正八面体の目的関数Ｆ２（＝５９）に比べて小さい。
よって、セグメンテーション部１は、（１）（２）の最適化による最適なプラトン立体として、正六面体を選択することができる。
【００５７】
次に、（ii）メッシュセグメントの曲面型の同定を用いる方法の具体例について説明する。
この方法は、曲面の型の同定によるセグメンテーションであり、曲面の型（平面，２次曲面，円筒面，球面，トーラス面，線織面など）を正確に同定する必要がある場合に有効な方法である。そして、オリジナルのメッシュモデルの形状を保ちながら、ＣＡＤモデルやリバースエンジニアリングモデルのセグメンテーションをするために有効な方法である。
つまり、セグメンテーション部１は、３Ｄメッシュモデルデータが表す三次元構造物の表面領域のうち、平面に対応する平面領域を平面グループに割り当てられた色（例えば緑）で着色する。また、セグメンテーション部１は、３Ｄメッシュモデルデータが表す三次元構造物の表面領域のうち、予め決められた曲面の型に対応する曲面領域を曲面グループに割り当てられた色（例えば青）で着色する。さらに、セグメンテーション部１は、３Ｄメッシュモデルデータが表す三次元構造物の表面領域のうち、平面グループ及び曲面グループのいずれにも該当しない領域をその他グループに割り当てられた色（例えば赤）で着色する。つまり、セグメンテーション部１は、各グループに応じて着色された領域を、それぞれ３Ｄセグメントとして分割する。
【００５８】
なお、滑らかな境界を持つ３Ｄセグメントの表面を正確に同定することは、オリジナルのメッシュモデルの形状の確認（再現）、及び、結果として得られるＮＵＲＢＳ曲面の品質にとって重要なものとなる。
本実施形態において、セグメンテーション部１は、平面、円筒面、球面、押し出し面、線織面、回転面、トーラス面、フィレット曲面に焦点を当てて、これらの面毎にグループ化した３Ｄセグメントで、３Ｄメッシュモデルデータを分割することができる。
【００５９】
本実施形態において、セグメンテーション部１は、近くのメッシュ要素の節点（頂点）の法線ベクトルと主曲率を、シャープなエッジを特定するために計算することができる。なお、シャープなエッジとは、３Ｄモデルデータに含まれる一の面と他の面の境界辺によって、３Ｄセグメントを鮮明に分割する分割線のことをいう。
このシャープなエッジが得られれば、このシャープなエッジに基づく分割が可能となり、セグメンテーション部１が、３Ｄセグメントを正確に抽出することができるようになる。
【００６０】
なお、セグメンテーションのプロセスを自動で行うために、３Ｄセグメントの一連の抽出過程を決定しなければならない。セグメンテーション部１は、これを、各３Ｄセグメントおよび他の表面（以下、非３Ｄセグメントという）と区別するための判定基準に対して、図１２に示すようなガウス写像の次元を求めることにより、３Ｄセグメントの一連の抽出過程を決定することができる。
【００６１】
図１３には、この（ii）メッシュセグメントの曲面型の同定を用いる方法により、セグメンテーション部１がセグメンテーションした３Ｄセグメントの一例を示す。
図１３に示す通り、オリジナルの３Ｄモデルデータは、平面グループと、曲面グループと、その他のグループによって構成されている。図１３に示す通り、３Ｄモデルデータが表す三次元構造物によっては、シャープなエッジが得られない場合がある。
このように、オリジナルの３Ｄモデルデータの形状に含まれるシャープなエッジやコーナーが、サンプリングの過程（つまり、図１３に示す３Ｄセグメントで分割する過程）で失われてしまう。図１３のオリジナルの３Ｄモデルデータに対して（ii）メッシュセグメントの曲面型の同定を用いる方法は適用する場合、セグメンテーション部１は、シャープなエッジや境界を修復する前処理を実行することが好ましい。
【００６２】
次に、（iii）領域成長法を用いる方法の具体例について説明する。
この方法を用いることにより、セグメンテーション部１は、複雑な３Ｄモデルを分解することや最小の３Ｄセグメント数を得るために、分解した３Ｄセグメントを統合することが可能である。
言い換えると、領域成長法とは、複雑な形状の３Ｄモデルを分割し、３Ｄセグメントの数を最小にしながら３Ｄセグメントをマージすることが可能な方法である。
また、既存のラインベースの領域成長セグメンテーション法としては、各メッシュ要素の法線ベクトルの方向を計算し、それを正規化して、単位球面上の点として扱うものがあるが、本実施形態におけるラインベースの領域成長セグメンテーション法は、点の生成方法が既存の方法と異なり、生成した各点に対して、それに接続する全てのメッシュ要素が対応づけられている。つまり、本実施形態におけるラインベースの領域成長セグメンテーション法では、各メッシュ要素の法線ベクトルの平均をこれら複数のメッシュ要素を代表する点の方向として定義している。なお、この複数のメッシュ要素を代表する点を、以下、射影点という。
【００６３】
次に、図１４〜１５を参照して、（iii）領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明する。図１４は、本実施形態に係るセグメンテーション部１による（iii）領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。図１５は、この（iii）領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するための参考図である。
（ステップＳＴ２１）
セグメンテーション部１は、３Ｄメッシュモデルデータに含まれる全てのメッシュ要素の法線ベクトルを算出する。ここでは、例えば、図１５（ａ）に示すような３Ｄモデルのメッシュモデルデータに基づき、セグメンテーション部１が、全てのメッシュ要素の法線ベクトルを算出する。
（ステップＳＴ２２）
そして、セグメンテーション部１は、算出したメッシュ要素の法線ベクトルを、予め用意されているクラスタリング球面に射影する。なお、クラスタリング球面に射影された点が射影点である。本実施形態において、クラスタリング球面は、その直径が、少なくとも３Ｄモデルの最長部分の長さよりも長いものである。これにより、例えば、図１５（ｂ）に示すような射影点が得られる。つまり、各射影点は、それぞれ、メッシュ要素と対応付けられている。
【００６４】
（ステップＳＴ２３）
次いで、セグメンテーション部１は、得られた複数の射影点を、法線ベクトルの近さによって点群のクラスタリングを行う。つまり、セグメンテーション部１は、法線ベクトルの値に応じて予め決められた点群クラスターごとに、射影点の属する点群クラスターを決定する。なお、各点群クラスターにはそれぞれ異なる色が割り当てられている。セグメンテーション部１は、射影点が属する点群グラスターに割り当てられた色で、射影点を仮想的に着色する。これにより、例えば、図１５（ｃ）に示すようなカラーリングされた射影点が得られる。つまり、各射影点は、それぞれ当該射影点が属する点群クラスターと対応づけられている。
（ステップＳＴ２４）
そして、セグメンテーション部１は、平均シフト法により点群クラスターの密度中心を求める。
（ステップＳＴ２５）
次いで、セグメンテーション部１は、Ｗａｒｄの最小残差法と経路密度法によって点群クラスターをマージする。
そして、セグメンテーション部１は、射影点に対応付られた点群クラスターに基づき、当該射影点に対応付られたメッシュ要素を点群クラスターに応じた色で仮想的に着色する。これにより、セグメンテーション部１は、図１５（ｄ）に示すような３Ｄセグメントに分割された３Ｄモデルデータを生成することができる。
【００６５】
なお、本発明はこれに限られない。例えば、セグメンテーション部１は、平均値シフト法により、各メッシュ要素の法線ベクトルをクラスタリング球面へ射影することによるものであってもよい。図１６には、この方法による射影点とオリジナルの３Ｄモデルとを示す。
図１６（ａ）は、オリジナルの３Ｄモデルを示す図である。なお、この図１６（ａ）には、射影点に対応付られた点群クラスターに応じた色が仮想的に付されている。
図１６（ｂ）は、平均値シフト法により、各メッシュ要素の法線ベクトルをクラスタリング球面へ射影した際の射影点であって、各点群クラスターに応じた色が仮想的に付された射影点を示す。
図１６（ａ），１６（ｂ）に示す通り、この例では、２つの点群クラスターに属する２つの３Ｄセグメントが得られる。
【００６６】
また、本発明はこれに限られない。例えば、セグメンテーション部１は、Ｗａｒｄの方法による点群クラスターのマージにおいて、３つの点群クラスターにマージするものであってもよい。
なお、セグメンテーション部１は、（iii）領域成長法を用いる方法に関する技術として、非特許文献「日本応用数理学会２０１２年度年会  Ｐ１４１〜１４２参照」に記載されている技術を用いることができる。
【００６７】
［帯状分割部２の処理について］
帯状分割部２は、セグメンテーション部１によるセグメンテーション工程において得られた各３Ｄセグメントから複数の３Ｄ帯状領域を分割し、各３Ｄ帯状領域に含まれるメッシュ要素の法線ベクトルが全て同一となるようにして、各メッシュ要素の位置を２Ｄ帯状領域上に変換する。言い換えると、帯状分割部２は、各３Ｄ帯状領域に含まれる全てのメッシュ要素の法線ベクトルを、全て同一の法線ベクトルに変換して、３Ｄ帯状領域を平面上の２Ｄ帯状領域に変形させる。
ここで、複数の３Ｄ帯状領域に分割するのは、３Ｄのメッシュモデルデータが表す三次元構造物が複雑な曲面である場合、射影などの単純な変換では、長さなどを変えずに２Ｄ平面に変換するのが困難な場合に有効である。この帯状分割部２の変換により、３Ｄ帯状領域に含まれる全てのメッシュ要素の法線ベクトルが同一となる。よって、帯状分割部２は、回転移動によって２Ｄ帯状領域へと長さを変えずに写像することができる。この帯状分割部２の変換処理により、３Ｄから２Ｄへの変換が容易になり処理速度も向上する。言い換えると、帯状分割部２は、境界形状の乱れを最小にしながら、メッシュ要素による３Ｄ帯状領域を２Ｄ帯状領域に長さを変えずに写像することができる。
【００６８】
次に、図１７を参照して、帯状分割部２による３Ｄ帯状領域の２Ｄ変換の概念について説明する。
図１７は、セグメンテーション部１によりセグメンテーションされた３Ｄセグメントの一例を示す。
図１７（ａ）は、セグメンテーション部１によって得られた３Ｄ帯状領域の集合体の一例を示す斜視図である。なお、図１７（ａ）に示す一点鎖線は、３Ｄ帯状領域の境界線（輪郭線）である。この例では、５個の３Ｄ帯状領域の集合体を示す。
図１７（ｂ）は、図１７（ａ）に示す３Ｄ帯状領域の集合体を真横（図の矢印Ｑの方向）から見た状態を示す図である。なお、実線で示す曲線が、図１７（ａ）に示す３Ｄ帯状領域の曲面に対応する。破線で示す直線が、帯状分割部２によって２Ｄ帯状領域に変換された際の平面（つまり写像）に対応する。
つまり、帯状分割部２は、図１７（ｂ）に示す実線の曲線部分を、同図に示す破線の直線部分に対応する平面上へ、長さを変えずに変換する写像を求めることで、３Ｄ帯状領域を２Ｄ帯状領域に変換する。具体的には、帯状分割部２は、法線ベクトルの変換行列を決定することによりこの写像を実現させることができる。
【００６９】
（４−１）  ３Ｄセグメントを複数の３Ｄ帯状領域に分割
［３Ｄ帯状領域（ストリップ）の生成方法］
ここで、図１８を参照して、帯状分割部２による３Ｄ帯状領域の分割処理の一例について説明する。図１８は、帯状分割部２による３Ｄ帯状領域の分割処理の一例を説明するためのフローチャートである。また、図１９〜２１は、帯状分割部２による３Ｄ帯状領域の分割処理の一例を説明するための参考図である。以下に説明するアルゴリズムは、帯状分割部２が、なるべく直線状に近い形状の３Ｄ帯状領域を分割するためのアルゴリズムの一例である。
（ステップＳＴ３１）
帯状分割部２は、セグメンテーション部１によって作成された複数の３Ｄセグメントのうち、一の３Ｄセグメントを選択（固定）する。ここで、選択された３Ｄセグメントの一例を、図１９に示す。
（ステップＳＴ３２）
そして、帯状分割部２は、選択した３Ｄセグメントに含まれる複数のメッシュ要素の中から、当該３Ｄセグメントの境界線（輪郭線）と辺を共有するメッシュ要素Ｖ０（以下、シード要素ともいう）を一つ選択する。つまり、このステップＳＴ３２は、三角形であるメッシュ要素の三辺のうち、３Ｄセグメントの輪郭線の一部を構成する辺を有する第１のメッシュ要素Ｖ０を選択する工程である。
【００７０】
（ステップＳＴ３３）
次いで、帯状分割部２は、選択したメッシュ要素Ｖ０の３辺のうち、３Ｄセグメントの輪郭線の一部を構成する共有辺をｅ１とする。そして、帯状分割部２は、メッシュ要素Ｖ０の３辺のうち共有辺ｅ１以外の二辺（共有辺ｅ２と共有辺ｅ３）を比較して、両者のうちどちらの長さが長いか判定する。
帯状分割部２は、判定の結果、メッシュ要素Ｖ０と隣接するメッシュ要素のうち、共有辺の長さが長い方の共有辺ｅ２又はｅ３を共有している他のメッシュ要素を、Ｖ１とする。図１９に示す例では、共有辺ｅ３＞共有辺ｅ２であるため、帯状分割部２は、長い方の共有辺ｅ３を共有するメッシュ要素をＶ１と決定する。
つまり、ステップＳＴ３３は、３Ｄセグメントの輪郭線の一部を構成する辺ｅ１以外の第１のメッシュ要素Ｖ０の二辺（共有辺ｅ２と共有辺ｅ３）であって、他のメッシュ要素と辺を共有している２つの共有辺（共有辺ｅ２と共有辺ｅ３）のうち、いずれか長い方の共有辺ｅ３を三角形の一辺とする他のメッシュ要素を第２のメッシュ要素Ｖ１と決定する工程である。
【００７１】
（ステップＳＴ３４）
ステップＳＴ３３の処理と同様にして、帯状分割部２は、メッシュ要素Ｖ１の３辺のうち共有辺ｅ３以外の二辺（共有辺ｅ４と共有辺ｅ５）を比較して、両者のうちどちらの長さが長いか判定する。図１９に示す例では、共有辺ｅ５＞共有辺ｅ４であるため、帯状分割部２は、長い方の共有辺ｅ５を共有するメッシュ要素をＶ２と決定する。
つまり、ステップＳＴ３４は、第１のメッシュ要素Ｖ０との共有辺ｅ３以外の第２のメッシュ要素Ｖ１の二辺（共有辺ｅ４と共有辺ｅ５）であって、他のメッシュ要素と辺を共有している２つの共有辺（共有辺ｅ４と共有辺ｅ５）のうち、いずれか長い方の共有辺ｅ５を三角形の一辺とする他のメッシュ要素を第３のメッシュ要素Ｖ２と決定する工程である。
（ステップＳＴ３５）
そして、帯状分割部２は、ステップＳＴ２２〜ＳＴ２４の処理により得られたメッシュ要素の列Ｖ０→Ｖ１→Ｖ２に基づき、Ｖ０→Ｖ１の方向ベクトル→Ｖ０１（→はＶの上に付く、以下、同様）と、Ｖ１→Ｖ２の方向ベクトル→Ｖ１２とを求め、記憶部６に格納する。
つまり、帯状分割部２は、第１のメッシュ要素Ｖ０から第２メッシュ要素Ｖ１への第１の方向ベクトル→Ｖ０１と、第２のメッシュ要素Ｖ１から第３メッシュ要素Ｖ２への第２の方向ベクトル→Ｖ１２と、を計算する。この工程は、第２工程に含まれる一部である。
【００７２】
（ステップＳＴ３６）
次いで、帯状分割部２は、ステップＳＴ３４の処理と同様にして、メッシュ要素Ｖ２の３辺のうち共有辺ｅ５以外の２辺（共有辺ｅ６と共有辺ｅ７）を比較して、両者のうちどちらの長さが長いか判定する。図１９に示す例では、共有辺ｅ７＞共有辺ｅ６であるため、帯状分割部２は、長い方の共有辺ｅ７を共有するメッシュ要素をＶ３とする。また、帯状分割部２は、短い方の共有辺ｅ６を共有するメッシュ要素をＶ２´とする。
つまり、ステップＳＴ３６の処理は、第２のメッシュ要素Ｖ１との共有辺ｅ５以外の第３のメッシュ要素Ｖ２の二辺（共有辺ｅ６と共有辺ｅ７）であって、他のメッシュ要素と辺を共有している２つの共有辺（共有辺ｅ６と共有辺ｅ７）のうち、いずれか長い方の共有辺ｅ７を三角形の一辺とする他のメッシュ要素を第４のメッシュ要素Ｖ３と決定するとともに、いずれか短い方の共有辺ｅ７を三角形の一辺とする他のメッシュ要素を第５のメッシュ要素Ｖ２´と決定する第１工程である。
【００７３】
（ステップＳＴ３７）
そして、帯状分割部２は、メッシュ要素Ｖ２の次の候補として、Ｖ３、Ｖ２´のうちいずれを選択するかを判定する。つまり、帯状分割部２は、そのどちらかを選択するため、上述同様にＶ２→Ｖ３の方向ベクトル→Ｖ２３と、Ｖ２→Ｖ２´の方向ベクトル→Ｖ２２´を計算する。
つまり、帯状分割部２は、第３のメッシュ要素Ｖ２から第４メッシュ要素Ｖ３への第３の方向ベクトル→Ｖ２３と、第３のメッシュ要素Ｖ２から第５メッシュ要素Ｖ２´への第４の方向ベクトル→Ｖ２２´と、を計算する。この工程は、第２工程に含まれる一部である。
【００７４】
さらに、帯状分割部２は、図２０に示す方向ベクトル→Ｖ０１２と方向ベクトル→Ｖ１２３のなす角θＶ３と、図２１に示す方向ベクトル→Ｖ０１２と方向ベクトル→Ｖ１２２´のなす角θＶ２´を算出する。
なお、方向ベクトル→Ｖ０１２、方向ベクトル→Ｖ１２３、及び、方向ベクトル→Ｖ１２２´は、以下の数式に示すようなベクトルである。
つまり、帯状分割部２は、第２の方向ベクトル→Ｖ１２から第１の方向ベクトル→Ｖ０１を減算した第５の方向ベクトル→Ｖ０１２と、第３の方向ベクトル→Ｖ２３から第２の方向ベクトル→Ｖ１２を減算した第６の方向ベクトル→Ｖ１２３と、第４の方向ベクトル→Ｖ２２´から第２の方向ベクトル→Ｖ１２を減算した第７の方向ベクトル→Ｖ１２２´と、を計算する。この工程を、第３工程という。
また、帯状分割部２は、第５の方向ベクトル→Ｖ０１２と第６の方向ベクトル→Ｖ１２３のなす第１の角θＶ３と、第５の方向ベクトル→Ｖ０１２と第７の方向ベクトル→Ｖ１２２´のなす第２の角θＶ２´と、を計算する。この工程を、第４工程という。
【００７５】
【数４】
2014203366.tif 000008
【００７６】
そして、帯状分割部２は、算出した角θＶ３及び角θＶ２´のうち、９０°より大きく２７０°より小さくなる角度がどちらであるかを判定する。本実施形態では、図２０，２１に示す通り、９０°＜角θＶ３＜２７０°であり、９０≧角θＶ２´である。このため、帯状分割部２は、メッシュ要素Ｖ２の次の候補が、メッシュ要素Ｖ３であると判定する。
つまり、帯状分割部２は。第１の角θＶ３及び第２の角θＶ２´のうち、９０°より大きく２７０°より小さくなる方の角がどちらであるかを判定し、第１の角θＶ３が９０°より大きく２７０°より小さくなる場合、第４のメッシュ要素Ｖ３を次のメッシュ要素と決定し、第２の角θＶ２´が９０°より大きく２７０°より小さくなる場合、第５のメッシュ要素Ｖ２´を次のメッシュ要素と決定する。この工程を、第５工程という。
【００７７】
（ステップＳＴ３８）
帯状分割部２は、ステップＳＴ３７の処理を繰り返し、メッシュ要素Ｖ３の次の候補であるメッシュ要素Ｖ４を選択し、メッシュ要素Ｖ４の次の候補であるメッシュ要素Ｖ５を選択する。
つまり、帯状分割部２は、次のメッシュ要素と決定したメッシュ要素Ｖ３を第３のメッシュ要素に置き換えるとともに、第１〜３工程における第３，２のメッシュ要素をそれぞれ前記第２，１に置き換えて、第１〜５工程を繰り返す。この工程を、第６工程という。
そして、帯状分割部２は、このステップＳＴ３７の処理を繰り返し、次のメッシュ要素の選択ができなければ、一つの３Ｄ帯状領域の生成を終了する。
本実施形態において、帯状分割部２は、図１９に示す通り、メッシュ要素Ｖ５の次の候補を選択することができない。よって、帯状分割部２は、メッシュ要素Ｖ５を選択したところで一つの３Ｄ帯状領域の生成を終了する。つまり、帯状分割部２は、メッシュ要素Ｖ１〜Ｖ５の集合を、一つの３Ｄ帯状領域とする。
つまり、帯状分割部２は、第６工程において次のメッシュ要素を決定できなくなるまで第１〜５工程を繰り返し、次のメッシュ要素を決定できなくなった場合、第１〜３のメッシュ要素と次のメッシュ要素として決定されたメッシュ要素とを含む領域を３Ｄ帯状領域として、３Ｄセグメントから分割する。この工程を、第７工程という。
【００７８】
そして、帯状分割部２は、ステップＳＴ３２に戻って、３Ｄセグメントの境界辺（輪郭線）と辺を共有するメッシュ要素のうち、いまだ３Ｄ帯状領域を構成するメッシュ要素として選択されていないメッシュ要素をシード要素とする。そして、帯状分割部２は、ステップＳＴ３３〜３８の処理を実行し、３Ｄセグメントから３Ｄ帯域領域を分割する。
帯状分割部２が上記処理を繰り返すと、ステップＳＴ３１で選択された３Ｄセグメントの輪郭辺は、全て分割された３Ｄ帯域領域の一部となる。
【００７９】
また、ステップＳＴ３８の処理が終了した地点で、ステップＳＴ３１で選択された３Ｄセグメント内に、いずれの３Ｄ帯域領域にも属さないメッシュ要素が残っている可能性がある。ここで、帯状分割部２は、分割された３Ｄ帯域領域のうち、輪郭辺の一部がただ一つの３Ｄ帯状領域の輪郭辺としか共有していない３Ｄ帯状領域を、新しい共有辺と判定する。つまり、帯状分割部２は、新しい共有辺を有すると判定した３Ｄ帯状領域の輪郭辺のうち、ステップＳＴ３１で選択された３Ｄセグメントの輪郭辺と辺を共有するメッシュ要素を、シード要素として、ステップＳＴ３３からの処理を繰り返すことができる。これにより、３Ｄセグメント内の全てのメッシュ要素が、いずれかの３Ｄ帯状領域に属することになり、３Ｄセグメントからの３Ｄ帯状領域の分割が完了する。
【００８０】
［方向ベクトルの計算方法］
次に、図２２，２３を参照して、ステップＳＴ３５，３７で用いられる方向ベクトルの計算方法の一例について説明する。図２２は、帯状分割部２による方向ベクトルの計算方法の一例を説明するためのフローチャートである。また、図２３は、帯状分割部２による方向ベクトルの計算方法の一例を説明するための参考図である。
図２３には、３Ｄセグメントに含まれるメッシュ要素Ｖ６（ΔＡＢＣ）とメッシュ要素Ｖ７（ΔＢＣＤ）の一例を示す。ここでは、図２３を参照して、メッシュ要素Ｖ６からメッシュ要素Ｖ７へ向かう方向ベクトル→Ｖ６７を、以下に示す処理を実行して帯状分割部２が求める一例について説明する。
【００８１】
（ステップＳＴ４１）
帯状分割部２は、メッシュ要素Ｖ６（ΔＡＢＣ）とメッシュ要素Ｖ７（ΔＢＣＤ）との共有辺である辺ＢＣの中点を求め、この中点をｏとする。そして、帯状分割部２は、図２３に示すように、この中点ｏを通過する辺ＢＣに対する垂線Ｇをとる。
（ステップＳＴ４２）
そして、帯状分割部２は、図２３に示す通り、メッシュ要素Ｖ６（ΔＡＢＣ）上にある垂線Ｇであって、辺ＡＣの側に向かって任意の長さとなる点を、メッシュ要素Ｖ６の中心点ａとする。
（ステップＳＴ４３）
次に、帯状分割部２は、同様にして、図２３に示す通り、メッシュ要素Ｖ７（ΔＢＣＤ）上にある垂線Ｇであって、辺ＤＣの側に向かって任意の長さとなる点を、メッシュ要素Ｖ７の中心点ａ´とする。
【００８２】
（ステップＳＴ４４）
そして、帯状分割部２は、以下の式（４）を計算して、Ｖ６（ΔＡＢＣ）からＶ７（ΔＢＣＤ）へ向かう方向ベクトル→Ｖ６７を算出する。
【００８３】
【数５】
2014203366.tif 000009
【００８４】
（４−２）  ３Ｄ帯状領域を２Ｄ帯状領域に変換する
次に、図２４，２５を参照して、帯状分割部２による３Ｄ帯状領域を２Ｄ帯状領域に変換する処理について説明する。図２４は、帯状分割部２による３Ｄ帯状領域を２Ｄ帯状領域に変換する処理の一例を説明するためのフローチャートである。また、図２５は、帯状分割部２による３Ｄ帯状領域を２Ｄ帯状領域に変換する処理の一例を説明するための参考図である。三次元空間内にある１本の３Ｄ帯状領域を２Ｄ平面上へ写像して、２Ｄ帯状領域に変換する方法は、例えば以下の通りである。
【００８５】
（ステップＳＴ５１）
帯状分割部２は、３Ｄ帯状領域に含まれる複数のメッシュ要素のうち、出発点となるメッシュ要素（例えば、シード要素）の各頂点に、記号Ｔ１，Ｔ２，Ｔ３・・・，Ｔｎを割り当てる。
はじめに、帯状分割部２は、出発点となるメッシュ要素（シード要素）の頂点をＴ１，Ｔ２，Ｔ３とする。
（ステップＳＴ５２）
そして、帯状分割部２は、次の頂点Ｔｍの添え字ｍを、ｍ＝４とする。
（ステップＳＴ５３）
また、帯状分割部２は、後述する回転行列を算出するための各頂点のＴの添え字ｋを、ｋ＝ｍとする。
【００８６】
（ステップＳＴ５４）
次いで、帯状分割部２は、互いに隣接するメッシュ要素Ｖ８（ΔＴｋＴｋ−１Ｔｋ−２）とメッシュ要素Ｖ９（ΔＴｋ−１Ｔｋ−２Ｔｋ−３）とのなす角θｋを計算する。
（ステップＳＴ５５）
そして、帯状分割部２は、辺Ｔｋ−１Ｔｋ−２の周りに、点Ｔｋを角θｋだけ回転させる回転行列を計算する。
（ステップＳＴ５６）
帯状分割部２は、計算した回転行列を用いて、点Ｔｍを角度θｋ回転させる。
（ステップＳＴ５７）
そして、帯状分割部２は、ｋ＝ｋ+１とする。
（ステップＳＴ５８）
次いで、帯状分割部２は、ｋ＜ｎであるならば、ステップＳＴ５４に戻って、処理を繰り返す。
【００８７】
（ステップＳＴ５９）
一方、ｋ＝ｎであるならば、帯状分割部２は、ｍ＝ｍ+１とする。
（ステップＳＴ６０）
そして、帯状分割部２は、ｍ＜ｎであるならば、ステップＳＴ５３に戻って、処理を繰り返す。
一方、ｍ＝ｎならば、帯状分割部２は、処理を終了する。
【００８８】
なお、この図２４の示す処理フローを、図２５に示す例で説明すると、以下の通りである。
帯状分割部２は、はじめに、出発点となるメッシュ要素（シード要素）の頂点に、記号Ｔ１，Ｔ２，Ｔ３を割り当てる。
そして、帯状分割部２は、次の頂点Ｔｍの添え字ｍを、ｍ＝４とし、回転行列を算出するための各頂点のＴの添え字ｋを、ｋ＝ｍ＝４とする。
次いで、帯状分割部２は、互いに隣接するメッシュ要素Ｖ８（ΔＴ４Ｔ３Ｔ２）とメッシュ要素Ｖ９（ΔＴ３Ｔ２Ｔ１）とのなす角θ４（図示せず）を計算する。
そして、帯状分割部２は、辺Ｔ３Ｔ２の周りに、点Ｔ４を角θ４だけ回転させる回転行列を計算し、計算した回転行列を用いて、点Ｔ４を角度θ４回転させる。
次いで、帯状分割部２は、ｋ＝５とする。５＜ｎであるため、帯状分割部２は、ステップＳＴ５４に戻って、処理を繰り返す。
【００８９】
［回転行列の計算方法］
図２６には、３Ｄ帯状領域に含まれるメッシュ要素Ｖ１０（ΔＡＢＣ）とメッシュ要素Ｖ１１（ΔＢＣＤ）との一例を示す。ここでは、図２６を参照して、メッシュ要素Ｖ１０とメッシュ要素Ｖ１１とを同一平面上の図形とするため、メッシュ要素Ｖ１１を回転させるための回転行列を、帯状分割部２が以下に示す処理を実行して求める一例について説明する。
【００９０】
ここで、メッシュ要素Ｖ１０（ΔＡＢＣ）の法線ベクトルをＮＡＢＣと、メッシュ要素Ｖ１１（ΔＢＣＤ）の法線ベクトルをＮＢＣＤとし、これらを以下の式（５）で表す。
【００９１】
【数６】
2014203366.tif 000010
【００９２】
帯状分割部２は、これらＮＸＡＢＣ、ＮＹＡＢＣ、ＮＺＡＢＣ、ＮＸＢＣＤ、ＮＹＢＣＤ、ＮＺＢＣＤに基づき、法線ベクトルをＮＡＢＣと法線ベクトルをＮＢＣＤとを計算する。なお、ＮＸＡＢＣ、ＮＹＡＢＣ、ＮＺＡＢＣは、メッシュ要素Ｖ１０（ΔＡＢＣ）の法線ベクトルＮＡＢＣのＸ，Ｙ，Ｚ成分であり、ＮＸＢＣＤ、ＮＹＢＣＤ、ＮＺＢＣＤは、メッシュ要素Ｖ１１（ΔＢＣＤ）の法線ベクトルをＮＢＣＤのＸ，Ｙ，Ｚ成分である。
【００９３】
また、メッシュ要素Ｖ１０（ΔＡＢＣ）とメッシュ要素Ｖ１１（ΔＢＣＤ）とがなす角を、θｋとし、これを以下の式（６）で表す。
【００９４】
【数７】
2014203366.tif 000011
【００９５】
ただし、式（６）において、「・」はベクトルの内積を表す。なお、点Ａ〜Ｄの座標は、以下の通りである。帯状分割部２は、法線ベクトルをＮＡＢＣと法線ベクトルをＮＢＣＤとに基づき、式（６）に従って、θｋを計算する。
【００９６】
【数８】
2014203366.tif 000012
【００９７】
次に、辺ＢＣを回転中心として、点Ｄを角θｋだけ回転させた座標を、以下の式（７）で表す。
【００９８】
【数９】
2014203366.tif 000013
【００９９】
ただし、式（７）において、ｕ、ｖ、ｗは、それぞれ図２６においてＣＢ方向のベクトルを正規化したときのｘ、ｙ、ｚ成分である。
帯状分割部２は、θｋ、点Ｂ，Ｄの座標値に基づき、式（７）に従って、回転行列を計算する。
【０１００】
［結合部３の処理について］
次に、図２７〜２９を参照して、本実施形態に係る結合部３の処理の一例について説明する。図２７〜２９は、本実施形態に係る結合部３の処理の一例を説明するための参考図である。
この結合部３は、帯状分割部２によって作成された２Ｄ帯状領域のうち、同じ３Ｄセグメントに含まれる２Ｄ帯状領域同士を、当該３Ｄセグメントにおける位置関係に基づき結合する。また、結合部３は、３Ｄセグメントごとに結合した２Ｄ帯状領域の集合を、メッシュモデルデータにおける位置関係に基づき結合する。本実施形態に係る結合部３の処理によれば、２Ｄ帯状領域の境界制御点による形状の乱れを最小限にする二次元展開図を生成する。
【０１０１】
（５−１）  複数の帯状領域のそれぞれ制御点を求める。
結合部３は、複数の２Ｄ帯状領域に含まれる制御点を求める。この結合部３は、各２Ｄ帯状領域の制御点を、以下の通り定義する。ここでは、図２７を参照して説明する。図２７は、２Ｄ帯状領域の一例である２Ｄ帯状領域２０１，２０２を示す図である。
まず、結合部３は、帯状分割部２によって作成された複数の２Ｄ帯状領域のうち、一つの２Ｄ帯状領域２０１を選択する。
なお、図２７に示す通り、２Ｄ帯状領域２０１には、それぞれ、他のメッシュ要素と共有している辺が１辺のみであるメッシュ要素が２つ存在する。つまり、２Ｄ帯状領域２０１の両端にあるメッシュ要素Ｖ１２（ΔＡＢＣ）とメッシュ要素Ｖ１３（ΔＤＦＧ）が、１辺のみが他のメッシュ要素の辺と共有するメッシュ要素である。その他のメッシュ要素は、２辺が他のメッシュ要素の辺と共有している。
結合部３は、１辺のみが他のメッシュ要素と辺を共有するメッシュ要素Ｖ１２（ΔＡＢＣ）とメッシュ要素Ｖ１３（ΔＤＥＦ）の頂点のうち、他のメッシュ要素と頂点を共有していない頂点を、２Ｄ帯状領域２０１の制御点と決定する。つまり、図２７に示す例において、結合部３は、点Ａと点Ｄを、２Ｄ帯状領域２０１の制御点と決定する。
【０１０２】
なお、結合部３は、全ての２Ｄ帯状領域について、それぞれの制御点を求める。
例えば、結合部３は、２Ｄ帯状領域２０２を選択する。なお、図２７に示す通り、２Ｄ帯状領域２０２には、２Ｄ帯状領域２０２の両端にあるメッシュ要素Ｖ１４（ΔＡＢＣ）とメッシュ要素Ｖ１５（ΔＤＥＦ）が、１辺のみが他のメッシュ要素の辺と共有するメッシュ要素である。その他のメッシュ要素は、２辺が他のメッシュ要素の辺と共有している。
結合部３は、１辺のみが他のメッシュ要素と辺を共有するメッシュ要素Ｖ１４（ΔＡＢＣ）とメッシュ要素Ｖ１５（ΔＤＥＦ）の頂点のうち、他のメッシュ要素と頂点を共有していない頂点を、２Ｄ帯状領域２０２の制御点と決定する。つまり、図２７に示す例において、結合部３は、点Ａと点Ｄを、２Ｄ帯状領域２０２の制御点と決定する。
【０１０３】
（５‐２）  帯状領域に接続する帯状領域を求める。
次いで、結合部３は、決定した制御点に基づき、同一の３Ｄセグメントに含まれる全ての２Ｄ帯状領域同士を結合する。ここでは、図２８，２９を参照して説明する。図２８は、２Ｄ帯状領域の一例である２Ｄ帯状領域２０３，２０４を示す図である。
まず、結合部３は、同一の３Ｄセグメントに含まれる複数の２Ｄ帯状領域のうち、３Ｄセグメントの輪郭辺と辺を共有する２Ｄ帯状領域２０３を、２Ｄ展開図の下地となる平面上に固定する。つまり、図２８に示す例において、結合部３は、メッシュ要素Ｖ１６（Δａ１ａ２ａ３）とメッシュ要素Ｖ１７（Δａ２ａ３ａ４）とを含む２Ｄ帯状領域２０３を固定する。なお、この２Ｄ帯状領域２０３の制御点は、点ａ１と点ａ４である。
次に、結合部３は、３Ｄセグメントの輪郭辺と辺を共有する２Ｄ帯状領域であって、３Ｄセグメント内の２Ｄ帯状領域２０３とは異なる２Ｄ帯状領域のうち、２Ｄ帯状領域２０３に含まれる点（点ａ１，ａ２，ａ３，ａ４）のいずれかと同一の点を制御点として有する２Ｄ帯状領域２０４を固定する。つまり、図２８に示す例において２Ｄ帯状領域２０４に含まれる点ａ３と、２Ｄ帯状領域２０４の制御点ｂ１とが一致している。
【０１０４】
結合部３は、この処理を繰り返すことにより、３Ｄセグメントの輪郭辺と辺を共有する２Ｄ帯状領域を、全て平面上（２Ｄ展開図の下地となる平面上）に展開する。これにより、結合部３は、図２９に示すように３Ｄセグメントの外縁に沿って２Ｄ帯状領域を展開する。
次に、結合部３は、３Ｄセグメントの輪郭辺と辺を共有していない２Ｄ帯状領域の展開処理を実行する。図２９に示す通り、結合部３は、平面上に展開された２Ｄ帯状領域の内部境界辺（つまり、３Ｄセグメントの輪郭辺ではない方の内側の辺）にある頂点と制御点を共有する２Ｄ帯状領域を選択する。そして、結合部３は、選択した２Ｄ帯状領域を、平面上に展開し、内部境界辺に接続していく。これにより、結合部３は、２Ｄ展開図を作成することができる。
【０１０５】
［評価部４の処理について］
評価部４は、（６−１）３Ｄモデルと２Ｄモデルとの誤差評価と、（６−２）２Ｄ帯状領域の結合が最適かどうかについて評価を行う。
（６−１）  ３Ｄセグメントと２Ｄ展開図の誤差評価
結合部３による２Ｄ展開図の生成の過程から、特徴線や特徴点の対応は明確となる。評価部４は、これらを利用して点の位置、辺の長さ、モデルの体積などを誤差の指標とする。例えば、評価部４は、与えられた３Ｄメッシュモデルデータを構成する３Ｄセグメント全体の表面積と、２Ｄ展開図全体の表面積との誤差が最少となるように、３Ｄセグメントと２Ｄ展開図との誤差評価を行う。
なお、評価部４による評価方法は、特に表面積に限定されず、長さで評価するものであってもよい。例えば、図１７（ｂ）に示した通り、評価部４は、実線の曲線部分の長さと、破線の直線部分の長さとを比較して、両者の差に基づき、３Ｄモデルと２Ｄモデルとの誤差を評価することもできる。
また、三次元構造物の製造装置１００は、帯状分割部２による帯状分割工程と、評価部４による評価工程とを繰り返し、３Ｄモデルと２Ｄモデルとの誤差が最少となるようなに、２Ｄ帯状領域を作成するものであってもよい。
さらに、評価部４は、メッシュの品質に基づいた指標や、体積に基づいた指標に基づき、３Ｄモデルと２Ｄモデルとの誤差評価を行うものであってもよい。なお、各３Ｄセグメントの構造がパネルであれば、表面積、ソリッド構造であれば体積とすることが好ましい。
【０１０６】
（６−１）  ツリー構造を利用した評価（線の数を最小化）
ツリー構造の基本的な考え方は、各２Ｄ帯状領域の接続関係を線（グラフ理論の辺）で表現し、なるべく簡素化された構造でその構造物（展開図）を表現することにある。
（５−１）で求めた各３Ｄ帯状領域に対応する２Ｄ帯状領域について考える。
図３０は、面の全てのつながりを表現したグラフである。つまり、図３０は、２Ｄ帯状領域の接続関係を線（グラフ理論の辺）で表現したグラフである。
また、図３１は、最適化により求めた最小限のつながりを示すグラフである。つまり、図３１は、なるべく簡素化された構造でその構造物（展開図）を表現したグラフである。
図３０，３１において、丸印は、各２Ｄ帯状領域セグメントを表している。また、丸印内の記号は、各２Ｄ帯状領域に割り当てられた識別情報である。図示の通り、２Ｄセグメントはそれぞれ複数の別の２Ｄセグメントと接続している。このように、２Ｄ帯状領域同士が接続している場合は対応する丸印を線で結ぶことにすると、丸印をグラフ理論の点、線をグラフ理論の辺と考えることにより、図３０に示すグラフが構成される。これを最小全域のアルゴリズムを適用して最適化したものが、図３１に示す通り、簡素化されたグラフである。ここで、最適化の基準は線の数を最小化することにある。
【０１０７】
ここで、図３２に、本実施形態に係る三次元構造物の製造装置１００によって作成された２Ｄ展開図の一例を示す。これら３Ｄセグメントに対応する２Ｄセグメントには、それぞれ識別番号が付与されている。
図３３は、この２Ｄセグメントに割り当てられた識別番号同士の接続を表したグラフを示す。
この図３２に示す２Ｄ展開図から２Ｄセグメントを切り抜き、組み立てると、三次元構造物を製造することができる。図３４（ａ）には本実施形態に用いた、基のモデルとなる３Ｄモデルの一例を示し、図３４（ｂ）には、本実施形態に係る組立後の三次元構造物の一例を示す。
【０１０８】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【０１０９】
また、本実施の形態に係る三次元構造物の製造装置１００は、内部にコンピュータシステムを有している。そして、動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいう「コンピュータシステム」とは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１１０】
また、各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、また、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、検出対象物の形状情報の推定値を算出する処理を行ってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１１１】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１１２】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【産業上の利用可能性】
【０１１３】
本発明の三次元構造物の製造方法、製造装置又はプログラムを用いれば、例えば、３ＤのメッシュデータやCADデータから実物モデルを簡便に作成することができ、二次元形状の金属、樹脂、複合材料等の素材から車体、航空機、船舶等の三次元構造物の設計開発及び製造やサンプル模型の製作、精度の高い折紙遊具の作成に利用することが可能である。
【符号の説明】
【０１１４】
１  セグメンテーション部
２  帯状分割部
３  結合部
４  評価部
５  製作化部
６  記憶部
【図１】
2014203366.tif 000014
【図２】
2014203366.tif 000015
【図３】
2014203366.tif 000016
【図５】
2014203366.tif 000017
【図６】
2014203366.tif 000018
【図７】
2014203366.tif 000019
【図１２】
2014203366.tif 000020
【図１４】
2014203366.tif 000021
【図１７】
2014203366.tif 000022
【図１８】
2014203366.tif 000023
【図１９】
2014203366.tif 000024
【図２０】
2014203366.tif 000025
【図２１】
2014203366.tif 000026
【図２２】
2014203366.tif 000027
【図２３】
2014203366.tif 000028
【図２４】
2014203366.tif 000029
【図２５】
2014203366.tif 000030
【図２６】
2014203366.tif 000031
【図２７】
2014203366.tif 000032
【図３０】
2014203366.tif 000033
【図３１】
2014203366.tif 000034
【図３２】
2014203366.tif 000035
【図３３】
2014203366.tif 000036
【図４】
2014203366.tif 000037
【図８】
2014203366.tif 000038
【図９】
2014203366.tif 000039
【図１０】
2014203366.tif 000040
【図１１】
2014203366.tif 000041
【図１３】
2014203366.tif 000042
【図１５】
2014203366.tif 000043
【図１６】
2014203366.tif 000044
【図２８】
2014203366.tif 000045
【図２９】
2014203366.tif 000046
【図３４】
2014203366.tif 000047