Top > Search of Japanese Patents > MANUFACTURING METHOD OF THREE-DIMENSIONAL STRUCTURE, MANUFACTURING APPARATUS OF THREE-DIMENSIONAL STRUCTURE, AND PROGRAM > Specification

Specification :(In Japanese)三次元構造物の製造方法、三次元構造物の製造装置、及び、プログラム

Country (In Japanese)日本国特許庁(JP)
Gazette (In Japanese)特許公報(B2)
Patent Number P6198107
Publication number P2014-203366A
Date of registration Sep 1, 2017
Date of issue Sep 20, 2017
Date of publication of application Oct 27, 2014
Title of the invention, or title of the device (In Japanese)三次元構造物の製造方法、三次元構造物の製造装置、及び、プログラム
IPC (International Patent Classification) G06F  17/50        (2006.01)
G06T  17/00        (2006.01)
FI (File Index) G06F 17/50 624G
G06F 17/50 624A
G06T 17/00
Number of claims or invention 9
Total pages 34
Application Number P2013-080862
Date of filing Apr 8, 2013
Date of request for substantive examination Jan 22, 2016
Patentee, or owner of utility model right (In Japanese)【識別番号】801000027
【氏名又は名称】学校法人明治大学
Inventor, or creator of device (In Japanese)【氏名】萩原 一郎
【氏名】マリア サブチェンコ
【氏名】ユウ ボウ
【氏名】篠田 淳一
Representative (In Japanese)【識別番号】100064908、【弁理士】、【氏名又は名称】志賀 正武
【識別番号】100106909、【弁理士】、【氏名又は名称】棚井 澄雄
【識別番号】100108578、【弁理士】、【氏名又は名称】高橋 詔男
【識別番号】100126882、【弁理士】、【氏名又は名称】五十嵐 光永
Examiner (In Japanese)【審査官】合田 幸裕
Document or reference (In Japanese)特開平06-325105(JP,A)
特開2007-076037(JP,A)
特開昭61-175782(JP,A)
Field of search G06F 17/50
G06T 17/00
IEEE Xplore
JSTPlus(JDreamIII)
Scope of claims (In Japanese)【請求項1】
三次元構造物の製造装置が、
三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した3Dメッシュモデルデータを入力し、入力した前記3Dメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の3Dセグメントを作成するセグメンテーション工程と、
前記3Dセグメントを複数の3D帯状領域に分割し、分割した前記3D帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記3D帯状領域を2D帯状領域に変換する帯状分割工程と、
前記3Dメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記2D帯状領域を結合して2Dセグメントを作成する結合工程と、
を実行する三次元構造物の製造方法。
【請求項2】
前記メッシュ要素が三角形である場合、
前記三次元構造物の製造装置が、前記帯状分割工程において、
当該三角形の三辺のうち、前記3Dセグメントの輪郭線の一部を構成する辺を有する第1のメッシュ要素を選択する工程と、
前記3Dセグメントの輪郭線の一部を構成する辺以外の前記第1のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している2つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第2のメッシュ要素と決定する工程と、
前記第1のメッシュ要素との共有辺以外の前記第2のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している2つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第3のメッシュ要素と決定する工程と、
前記第1~3のメッシュ要素を含む領域を前記3D帯状領域として、前記3Dセグメントから分割する工程と、
を実行する請求項1に記載の三次元構造物の製造方法。
【請求項3】
前記三次元構造物の製造装置が、前記帯状分割工程において、
前記第2のメッシュ要素との共有辺以外の前記第3のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している2つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第4のメッシュ要素と決定するとともに、いずれか短い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第5のメッシュ要素と決定する第1工程と、
前記第1のメッシュ要素から前記第2のメッシュ要素への第1の方向ベクトルと、前記第2のメッシュ要素から前記第3のメッシュ要素への第2の方向ベクトルと、前記第3のメッシュ要素から前記第4のメッシュ要素への第3の方向ベクトルと、前記第3のメッシュ要素から前記第5のメッシュ要素への第4の方向ベクトルと、を計算する第2工程と、
前記第2の方向ベクトルから前記第1の方向ベクトルを減算した第5の方向ベクトルと、前記第3の方向ベクトルから前記第2の方向ベクトルを減算した第6の方向ベクトルと、前記第4の方向ベクトルから前記第2の方向ベクトルを減算した第7の方向ベクトルと、を計算する第3工程と、
前記第5の方向ベクトルと前記第6の方向ベクトルのなす第1の角と、前記第5の方向ベクトルと前記第7の方向ベクトルのなす第2の角とを計算する第4工程と、
前記第1の角及び前記第2の角のうち、90°より大きく270°より小さくなる方の角がどちらであるかを判定し、前記第1の角が90°より大きく270°より小さくなる場合、前記第4のメッシュ要素を次のメッシュ要素と決定し、前記第2の角が90°より大きく270°より小さくなる場合、前記第5のメッシュ要素を次のメッシュ要素と決定する第5工程と、
を実行する請求項2に記載の三次元構造物の製造方法。
【請求項4】
前記三次元構造物の製造装置が、
前記次のメッシュ要素と決定したメッシュ要素を前記第3のメッシュ要素に置き換えるとともに、前記第1~3工程における前記第3,2のメッシュ要素をそれぞれ前記第2,1に置き換えて、前記第1~5工程を繰り返す第6工程と、
前記第6工程において前記次のメッシュ要素を決定できなくなるまで前記第1~5工程を繰り返し、前記次のメッシュ要素を決定できなくなった場合、前記第1~3のメッシュ要素と前記次のメッシュ要素として決定されたメッシュ要素とを含む領域を前記3D帯状領域として、前記3Dセグメントから分割する第7工程と、
を実行する請求項3に記載の三次元構造物の製造方法。
【請求項5】
前記三次元構造物の製造装置が、前記セグメンテーション工程において、
(i)プラトン立体を用いる方法、(ii)メッシュセグメントの曲面型の同定を用いる方法、(iii)領域成長法を用いる方法のうち、少なくともいずれか一つを用いて、前記立体物のメッシュモデルから前記複数の3Dセグメントを分割する請求項1から4のうちいずれか一項に記載の三次元構造物の製造方法。
【請求項6】
前記三次元構造物の製造装置が、
前記2Dセグメントを前記組立部材として、前記立体物を組み立てるための2D展開図を作成し、作成した2D展開図を平面材に出力する製作化工程をさらに実行する請求項1から5のうちいずれか一項に記載の三次元構造物の製造方法。
【請求項7】
前記三次元構造物の製造装置が、
前記立体物と前記2Dセグメントとの誤差評価、又は、前記2D帯状領域の結合の最適化についての評価のうち、少なくともいずれか一方を評価する評価工程をさらに実行する請求項1から6のうちいずれか一項に記載の三次元構造物の製造方法。
【請求項8】
三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した3Dメッシュモデルデータを入力し、入力した前記3Dメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の3Dセグメントを作成するセグメンテーション部と、
前記3Dセグメントを複数の3D帯状領域に分割し、分割した前記3D帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記3D帯状領域を2D帯状領域に変換する帯状分割部と、
前記3Dメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記2D帯状領域を結合して2Dセグメントを作成する結合部と、
を備えることを特徴とする三次元構造物の製造装置。
【請求項9】
コンピュータに、
三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した3Dメッシュモデルデータを入力し、入力した前記3Dメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の3Dセグメントを作成するセグメンテーション工程、
前記3Dセグメントを複数の3D帯状領域に分割し、分割した前記3D帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記3D帯状領域を2D帯状領域に変換する帯状分割工程、
前記3Dメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記2D帯状領域を結合して2Dセグメントを作成する結合工程、
を実行させるためのプログラム。
Detailed description of the invention (In Japanese)【技術分野】
【0001】
この発明は、3Dメッシュモデルに基づき三次元構造物を製造する製造方法、製造装置、及び、プログラムに関するものである。
【背景技術】
【0002】
三次元構造物を製造するため、平面素材を切り貼りせずに展開図の折線に従って折ることで、三次元構造物を組立てることのできる展開図を1枚の平面から作成するものがある(例えば、特許文献1参照)。
【先行技術文献】
【0003】

【特許文献1】特開2011-243033号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、複雑な三次元構造物を製作する場合、特許文献1に記載された方法では、平面と平面との接続部分が曲面であるような形状等を再現することが困難であった。
【0005】
そこで本発明は、3Dメッシュモデルが表す仮想的な立体物により近い三次元構造物を製作することができる三次元構造物の製造方法、三次元構造物の製造装置、及び、プログラムを提供しようとするものである。
【課題を解決するための手段】
【0006】
(1)本発明に係る三次元構造物の製造方法の一態様は、上記課題を解決するために、三次元構造物の製造装置が、三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した3Dメッシュモデルデータを入力し、入力した前記3Dメッシュモデルデーに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の3Dセグメントを作成するセグメンテーション工程と、前記3Dセグメントを複数の3D帯状領域に分割し、分割した前記3D帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記3D帯状領域を2D帯状領域に変換する帯状分割工程と、前記3Dメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記2D帯状領域を結合して2Dセグメントを作成する結合工程と、を実行する
【0007】
(2)また、本発明に係る三次元構造物の製造方法の一態様は、前記メッシュ要素が三角形である場合、前記三次元構造物の製造装置が、前記帯状分割工程において、当該三角形の三辺のうち、前記3Dセグメントの輪郭線の一部を構成する辺を有する第1のメッシュ要素を選択する工程と、前記3Dセグメントの輪郭線の一部を構成する辺以外の前記第1のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している2つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第2のメッシュ要素と決定する工程と、前記第1のメッシュ要素との共有辺以外の前記第2のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している2つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第3のメッシュ要素と決定する工程と、前記第1~3のメッシュ要素を含む領域を前記3D帯状領域として、前記3Dセグメントから分割する工程と、を実行する
【0008】
(3)また、本発明に係る三次元構造物の製造方法の一態様は、前記三次元構造物の製造装置が、前記帯状分割工程において、前記第2のメッシュ要素との共有辺以外の前記第3のメッシュ要素の二辺であって、他の前記メッシュ要素と辺を共有している2つの共有辺のうち、いずれか長い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第4のメッシュ要素と決定するとともに、いずれか短い方の前記共有辺を三角形の一辺とする前記他のメッシュ要素を第5のメッシュ要素と決定する第1工程と、前記第1のメッシュ要素から前記第2メッシュ要素への第1の方向ベクトル(→V01)と、前記第2のメッシュ要素から前記第3メッシュ要素への第2の方向ベクトル(→V12)と、前記第3のメッシュ要素から前記第4メッシュ要素への第3の方向ベクトル(→V23)と、前記第3のメッシュ要素から前記第5メッシュ要素への第4の方向ベクトル(→V22´)と、を計算する第2工程と、前記第2の方向ベクトルから前記第1の方向ベクトルを減算した第5の方向ベクトル(→V012)と、前記第3の方向ベクトルから前記第2の方向ベクトルを減算した第6の方向ベクトル(→V123)と、前記第4の方向ベクトルから前記第2の方向ベクトルを減算した第7の方向ベクトル(→V122´)と、を計算する第3工程と、前記第5の方向ベクトルと前記第6の方向ベクトルのなす第1の角(θv3)と、前記第5の方向ベクトルと前記第7の方向ベクトルのなす第2の角(θv2´)とを計算する第4工程と、前記第1の角及び前記第2の角のうち、90°より大きく270°より小さくなる方の角がどちらであるかを判定し、前記第1の角が90°より大きく270°より小さくなる場合、前記第4のメッシュ要素を次のメッシュ要素と決定し、前記第2の角が90°より大きく270°より小さくなる場合、前記第5のメッシュ要素を次のメッシュ要素と決定する第5工程と、を実行する
【0009】
(4)また、本発明に係る三次元構造物の製造方法の一態様は、前記三次元構造物の製造装置が、前記次のメッシュ要素と決定したメッシュ要素を前記第3のメッシュ要素に置き換えるとともに、前記第1~3工程における前記第3,2のメッシュ要素をそれぞれ前記第2,1に置き換えて、前記第1~5工程を繰り返す第6工程と、前記第6工程において前記次のメッシュ要素を決定できなくなるまで前記第1~5工程を繰り返し、前記次のメッシュ要素を決定できなくなった場合、前記第1~3のメッシュ要素と前記次のメッシュ要素として決定されたメッシュ要素とを含む領域を前記3D帯状領域として、前記3Dセグメントから分割する第7工程と、を実行する
【0010】
(5)また、本発明に係る三次元構造物の製造方法の一態様は、前記三次元構造物の製造装置が、前記セグメンテーション工程において、(i)プラトン立体を用いる方法、(ii)メッシュセグメントの曲面型の同定を用いる方法、(iii)領域成長法を用いる方法のうち、少なくともいずれか一つを用いて、前記立体物のメッシュモデルから前記複数の3Dセグメントを分割する。
【0011】
(6)また、本発明に係る三次元構造物の製造方法の一態様は、前記三次元構造物の製造装置が、前記2Dセグメントを前記組立部材として、前記立体物を組み立てるための2D展開図を作成し、作成した2D展開図を平面材に出力する製作化工程をさらに実行する
【0012】
(7)また、本発明に係る三次元構造物の製造方法の一態様は、前記三次元構造物の製造装置が、前記立体物と前記2Dセグメントとの誤差評価、又は、前記2D帯状領域の結合の最適化についての評価のうち、少なくともいずれか一方を評価する評価工程をさらに実行する
【0013】
(8)本発明に係る三次元構造物の製造装置の一態様は、上記課題を解決するために、三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した3Dメッシュモデルデータを入力し、入力した前記3Dメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の3Dセグメントを作成するセグメンテーション部と、前記3Dセグメントを複数の3D帯状領域に分割し、分割した前記3D帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記3D帯状領域を2D帯状領域に変換する帯状分割部と、前記3Dメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記2D帯状領域を結合して2Dセグメントを作成する結合部と、を備える。
【0014】
(9)本発明に係るプログラムの一態様は、上記課題を解決するために、コンピュータに、三次元空間において表現される仮想的な立体物を二次元平面の多角形である複数のメッシュ要素で表した3Dメッシュモデルデータを入力し、入力した前記3Dメッシュモデルデータに基づき、前記複数のメッシュ要素の集合であって、各組立部材に対応する前記立体物の一部である複数の3Dセグメントを作成するセグメンテーション工程、前記3Dセグメントを複数の3D帯状領域に分割し、分割した前記3D帯状領域に含まれる前記複数のメッシュ要素の法線ベクトルが全て同一となるよう前記複数のメッシュ要素の位置を変更して、前記3D帯状領域を2D帯状領域に変換する帯状分割工程、前記3Dメッシュモデルデータに基づき、前記立体物における位置関係に応じて前記2D帯状領域を結合して2Dセグメントを作成する結合工程、を実行させるためのプログラムである。
【発明の効果】
【0015】
本発明によれば、3Dメッシュモデルが表す仮想的な立体物により近い三次元構造物を製作することができる。また、簡便に立体物を模した三次元構造物を得ることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態に係る三次元構造物の製造装置の概略ブロック図である。
【図2】本発明の一実施形態に係る三次元構造物の製造方法の一例を示すフローチャートである。
【図3】本発明の一実施形態に係る仮想的な立体物の一例を示す図である。
【図4】本発明の一実施形態に係るメッシュモデルデータの一例を示す図である。
【図5】本発明の一実施形態に係る(i)プラトン立体を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。
【図6】プラトン立体(正六面体)に対する方向ベクトルの一例を示す参考図である。
【図7】プラトン立体(正四面体)のXYZモデル座標系への埋め込みの一例を示す参考図である。
【図8】図4に示したメッシュモデルデータを複数の3Dセグメントで分割してカラーリングした3Dモデルデータを示す図である。
【図9】正四面体のプラトン立体を用いてカラーリングした一例を示す図である。
【図10】正六面体のプラトン立体を用いてカラーリングした一例を示す図である。
【図11】正六面体のプラトン立体を用いて3Dセグメントを生成するためのアルゴリズムの流れの一例を示す図である。
【図12】ガウス写像の次元の一例を示す参考図である。
【図13】本発明の一実施形態に係る(ii)メッシュセグメントの曲面型の同定を用いる方法を用いたセグメンテーション工程後の3Dセグメントの一例を示す参考図である。
【図14】本発明の一実施形態に係る(iii)領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。
【図15】本発明の一実施形態に係る(iii)領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するための参考図である。
【図16】本発明の一実施形態に係る(iii)領域成長法を用いる方法による射影点とオリジナルの3Dモデルの一例を示す参考図である。
【図17】本発明の一実施形態に係るセグメンテーション部によりセグメンテーションされた3Dセグメントの一例を示す図である。
【図18】本発明の一実施形態に係る帯状分割部による3D帯状領域の分割処理の一例を説明するためのフローチャートである。
【図19】本発明の一実施形態に係る帯状分割部による3D帯状領域の分割処理の一例を説明するための参考図である。
【図20】本発明の一実施形態に係る帯状分割部による3D帯状領域の分割処理の一例を説明するための参考図である。
【図21】本発明の一実施形態に係る帯状分割部による3D帯状領域の分割処理の一例を説明するための参考図である。
【図22】本発明の一実施形態に係る帯状分割部による方向ベクトルの計算方法の一例を説明するためのフローチャートである。
【図23】本発明の一実施形態に係る帯状分割部による方向ベクトルの計算方法の一例を説明するための参考図である。
【図24】本発明の一実施形態に係る帯状分割部による3D帯状領域を2D帯状領域に変換する処理の一例を説明するためのフローチャートである。
【図25】本発明の一実施形態に係る帯状分割部による3D帯状領域を2D帯状領域に変換する処理の一例を説明するための参考図である。
【図26】本発明の一実施形態に係る回転行列の計算方法の一例を説明するための参考図である。
【図27】本発明の一実施形態に係る結合部の処理の一例を説明するための参考図である。
【図28】本発明の一実施形態に係る結合部の処理の一例を説明するための参考図である。
【図29】本発明の一実施形態に係る結合部の処理の一例を説明するための参考図である。
【図30】本発明の一実施形態に係る面の全てのつながりを表現したグラフである。
【図31】本発明の一実施形態に係る最適化により求めた最小限のつながりを示すグラフである。
【図32】本発明の一実施形態に係る三次元構造物の製造方法によって作成された2D展開図の一例を示す図である。
【図33】本発明の一実施形態に係る2Dセグメントに割り当てられた識別番号同士の接続を表したグラフを示す図である。
【図34】本発明の一実施形態に係る三次元構造物の製造方法により製作された三次元構造物の一例を示す図である。
【発明を実施するための形態】
【0017】
[第1実施形態]
図1は、本実施形態に係る三次元構造物の製造装置100の概略ブロック図である。図1に示す通り、本実施形態に係る三次元構造物の製造装置100は、セグメンテーション部1と、帯状分割部2と、結合部3と、評価部4と、製作化部5と、記憶部6とを備える。本実施形態に係る三次元構造物の製造装置100は、板状の二次元平面物である組立部品によって組み立てられる三次元構造物を製作するための装置である。この二次元平面物としては、紙、鉄、樹脂など、さまざまな材質の板状物を利用することができる。

【0018】
セグメンテーション部1は、三次元構造物を表した3Dメッシュモデルのデータ(以下、3Dメッシュモデルデータという)を入力する。この3Dメッシュモデルデータは、例えば、三次元空間において表現される仮想的な立体物を、二次元平面の多角形である複数のメッシュ要素で表したデータである。本実施形態において、メッシュ要素は、二次元平面の三角形であるが、本発明はこれに限られず、他の多角形であってもよい。
このセグメンテーション部1は、入力する3Dメッシュモデルデータに基づき、3Dメッシュモデルを構成する複数のメッシュ要素の集合であって、三次元構造物を構成する複数の組立部材のそれぞれに対応する立体物の一部である三次元組立部材(以下、3Dセグメントという)を作成する。つまり、セグメンテーション部1は、3Dメッシュモデルデータから、組立部材に対応する3Dセグメントを切り出す。

【0019】
帯状分割部2は、セグメンテーション部1によって切り出された3Dセグメントを、複数の3D帯状領域に分割し、分割した3D帯状領域に含まれる複数のメッシュ要素の法線ベクトルが全て同一となるようにメッシュ要素の位置を変更して、3D帯状領域を2D帯状領域に変換する。

【0020】
結合部3は、三次元空間において表現される仮想的な立体物(つまり3Dメッシュモデルデータ)における位置関係に応じて、2D帯状領域を結合して、2Dセグメントを作成する。つまり、結合部3は、帯状分割部2によって作成された2D帯状領域のうち、同じ3Dセグメントに含まれる2D帯状領域同士を、当該3Dセグメントにおける3D帯状領域同士の位置関係に基づき結合し、2Dセグメントを作成する。また、結合部3は、3Dセグメントごとに結合した2D帯状領域の集合(つまり2Dセグメント)同士を、メッシュモデルデータにおける3Dセグメント同士の位置関係に基づき結合し、2D展開図を生成する。

【0021】
評価部4は、3Dモデルと2Dモデルとの誤差評価と、2D帯状領域の結合が最適かどうかについての評価を行う。

【0022】
製作化部5は、実物モデルを組み立てる際に製作を容易にするため、2D展開図に、色やマーク、切込みを入れる。この製作化部5は、例えば、接続する部分をマーキングしたり、表裏をカラーリングしたり、切込みを入れたりする。これにより、複雑な実物モデルにおいて適用することにより、製作が非常に容易となる。
また、製作化部5は、2D展開図に基づき、三次元構造物を製造する手段を備えるものであってもよい。例えば、製作化部5は、2D展開図に従って平面材を切断するハサミや、2D展開図を組み立てる手段や、組み立てたものを接着する手段等を備える。
記憶部6は、各種情報を記憶する。

【0023】
次に、図2を参照して、本実施形態に係る三次元構造物の製造装置100による三次元構造物の製造方法の一例について説明する。図2は、本実施形態に係る三次元構造物の製造装置100のよる三次元構造物の製造方法の一例を示すフローチャートである。
(ステップST101)
セグメンテーション部1は、3Dセグメントを作成するための複数のセグメンテーション方法のうち、一のセグメンテーション方法を選択する。本実施形態において、セグメンテーション部1は、3Dセグメントの作成するための複数のセグメンテーション方法として、(i)プラトン立体を用いる方法、(ii)メッシュセグメントの曲面型の同定を用いる方法、(iii)領域成長法を用いる方法のうち、少なくともいずれか一つを実行することができる。つまり、ステップST101において、セグメンテーション部1は、これら(i)プラトン立体を用いる方法、(ii)メッシュセグメントの曲面型の同定を用いる方法、(iii)領域成長法を用いる方法のうち、一のセグメンテーション方法を選択する。

【0024】
(ステップST102)
セグメンテーション部1は、選択したセグメンテーション方法に従って、入力する3Dメッシュモデルデータに表された三次元構造物の表面領域から、3Dセグメントを切り出す。
(ステップST103)
なお、セグメンテーション部1が、(i)プラトン立体を用いる手法に従って3Dセグメントを切り出す場合は、ステップST103の処理を実行する。つまり、セグメンテーション部1は、最適なパラメーターを決定する。
これらステップST101~ST103の処理を、セグメンテーション部1によるセグメンテーション工程という。

【0025】
(ステップST104)
次いで、帯状分割部2は、セグメンテーション部1によって切り出された3Dセグメントを、複数の3D帯状領域に分割する。
(ステップST105)
そして、帯状分割部2は、分割した3D帯状領域に含まれるメッシュ要素の法線ベクトルが同一となるようにして、3Dメッシュモデルデータにおけるメッシュ要素の位置を変更、3D帯状領域を2D帯状領域に変換する。
これらステップST104~ST105の処理を、帯状分割部2による帯状分割工程という。

【0026】
(ステップST106)
次いで、結合部3は、帯状分割部2によって作成された2D帯状領域のうち、同じ3Dセグメントに含まれる2D帯状領域同士を、当該3Dセグメントにおける3Dセグメント同士の位置関係に基づき結合し、2Dセグメントを作成する。また、結合部3は、作成した2Dセグメント同士を、3Dメッシュモデルデータにおける3Dセグメント同士の位置関係に基づき結合し、2D展開図を生成する。
このステップST106の処理を、結合部3による結合工程という。

【0027】
(ステップST107)
そして、評価部4は、3Dモデルと2Dモデルとの誤差評価と、2D帯状領域の結合が最適かどうかについて評価を行う。最適でない場合、ステップST105に戻る。
(ステップST108)
次いで、評価部4は、ツリー構造を利用した評価(線の数を最小化)を行う。
これらステップST107~ST108の処理を、評価部4による評価工程という。

【0028】
(ステップST109)
次いで、製作化部5は、作成した2D展開図をプリントアウト(出力)する。
(ステップST110)
なお、製作化部5は、プリントアウトする前に、実物モデルを組み立てる際に製作を容易にするため、接続する部分をマーキングしたり、表裏をカラーリングしたり、2D展開図をプリントした二次元平面物に切込みを入れたりしてもよい。
これらステップST109~ST110の処理を、製作化部5による製作化工程という。

【0029】
次に、三次元構造物の製造装置100に含まれる各構成について、詳細に説明する。
[セグメンテーション部1の処理について]
図3,4を参照して、セグメンテーション部1に入力する3Dメッシュモデルデータの一例について説明する。
図3は、三次元空間において表現される仮想的な立体物の一例を示す図である。本実施形態において、三次元空間において表現される仮想的な立体物は、例えば、自動車のフロント部分であり、図3は、この自動車のフロント部分を正面から見た図である。
図4は、図3に示した自動車のフロント部分の3Dメッシュモデルデータの一例を示す図である。図4に示す通り、3Dメッシュモデルデータは、三次元空間において表現される仮想的な立体物である自動車のフロント部分の形状を、複数の二次元平面の三角形であるメッシュ要素により構成した3Dモデルのデータである。

【0030】
本実施形態において、セグメンテーション部1は、CADモデル等から得られる3Dメッシュモデルデータを入力する。なお、セグメンテーション部1は、3Dメッシュモデルデータを生成する三次元構造物の製造装置100に内蔵された他の処理部から、メッシュモデルデータを入力するものであってもよく、外部の処理部から3Dメッシュモデルデータを入力するものであってもよい。

【0031】
なお、3Dメッシュモデルとしては、例えば、CADモデルから得られる三次元のメッシュモデル、二次元画像の組み合わせにより得られる3Dモデルから得られる3Dメッシュモデル、又は、レーザースキャンやX線CTを利用する際の計測点群データから得られる3Dメッシュモデル等が利用可能である。
なお、各3Dメッシュモデルを作成する際のメッシュの方法については、特に限定されない。例えば、CADモデルから得られる3Dメッシュモデルを作成する際のメッシュの方法については、アドバンシング・フロント法(参考URL: http://www.me.tokushima-u.ac.jp/~oishi/sm/MS002.pdf)を用いることができる。
また、例えば、二次元画像の組み合わせにより得られる3Dモデルから得られる3Dメッシュモデルを作成する際のメッシュの方法については、SFM(Structure from Motion)法(参考URL:http://www.am.sanken.osaka-u.ac.jp/~mitsugami/pdf/dommag/mitsugami-ite-2011.pdf)を用いることができる。
さらに、レーザースキャンやX線CTを利用する際の計測点群データから得られる3Dメッシュモデルを作成する際のメッシュの方法については、MOA(Maximum Opposite Angulation)法(参考URL:http://jstore.jst.go.jp/nationalPatentDetail.html?pat_id=24841)を用いることができる。

【0032】
このセグメンテーション部1は、入力した3Dメッシュモデルデータに基づき、3Dセグメントごとに、複数のメッシュ要素をグループ化(クラスタ化)する。
本実施形態において、セグメンテーション部1は、セグメンテーションアルゴリズムとして、(i)プラトン立体を用いる方法、(ii)メッシュセグメントの曲面型の同定を用いる方法、(iii)領域成長法を用いる方法のうち、少なくともいずれか一つを用いて、複数のメッシュ要素の集合を3セグメントごとにグループ化する。

【0033】
初めに、(i)プラトン立体を用いる方法の具体例について説明する。
セグメンテーション部1は、専用のソフトウエアを使用して、この方法を迅速かつ自動的に実行することができる。このセグメンテーション部1は、例えば、ノイズモデルを適用して、CADモデルや自由な造形物(フリフォーム)の表面の詳細な特徴を抽出することができる。
なお、プラトン立体とは、凸で合同な正多角形面からなる凸多面体のことである。プラトン立体としては、以下の5つが存在することが知られている。
(a)4つの正三角形面から成る正四面体
(b)6つの正方形面から成る正六面体
(c)8つの正三角形面から成る正八面体
(d)12の正五角形面から成る正十二面体
(e)20の正三角形面から成る正二十面体

【0034】
本実施形態において、各プラトン立体を構成する各面には、メッシュ要素を3Dセグメントに分割するためのグループが割り当てられている。例えば、正六面体には、6つのグループG1,G2,G3,G4,G5,G6が割り当てられている。また、3Dセグメントに分割するためのグループには、それぞれ異なる色が割り当てられている。メッシュ要素を対応するグループに決定した場合、つまり、グループ化した場合、セグメンテーション部1は、グループに割り当てられた色を、当該グループに対応するメッシュ要素に仮想的に着色する。すなわち、セグメンテーション部1は、グループ化されたメッシュ要素に、それぞれグループに割り当てられた色を付す(つまり、カラーリングする)。

【0035】
セグメンテーション部1は、プラトン立体の方向ベクトル(つまり、プラトン立体の各面の法線ベクトル)に従って、3Dメッシュモデルに含まれる各メッシュ要素を、3Dセグメントにグループ化(言い換えると、カラーリング)する。つまり、セグメンテーション部1は、各メッシュ要素の法線ベクトルに基づき、3Dメッシュモデルに含まれる各メッシュ要素を、各メッシュ要素の法線ベクトルに対応する法線ベクトルを有するプラトン立体の各面に割り当てられたグループに分ける。
なお、特に計測から得られたメッシュ要素は、ノイズを多く含んでいるため、3Dセグメント同士の境界線がジグザグになることが多い。しかし、このアルゴリズム(プラトン立体を用いる方法)を用いることにより、境界線を滑らかで自然なものにすることができる。また、特徴線がないような部分に意識的に分割線を挿入する場合にも有効である。

【0036】
セグメンテーション部1は、プラトン立体を用いたセグメンテーションの最適化を行うことが好ましい。この処理は、図2に示すステップST103に相当する処理である。メッシュモデルに表された三次元構造物によって、最適なプラトン立体は異なるため、セグメンテーション部1は、(1)カラーリングされていないメッシュ要素(uncolored model elements)が最も少なくなる場合、(2)孤立したカラーリング箇所(islands)が最も少なくなる場合を、3つのパラメーター(S:プラトン立体の種類、θ、オイラー(Euler)角α,β,γ)を変化させて算出する。この方法について、図5を参照して、以下に説明する。
次のとおりである。

【0037】
図5は、本実施形態に係るセグメンテーション部1による(i)プラトン立体を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。
(ステップST11)
セグメンテーション部1は、上述の(a)~(e)に示すプラトン立体のうち、一つを選択し、X軸,Y軸,Z軸周りの回転角α,β,γを用いて、選択したプラトン立体を仮想的に回転させる。
(ステップST12)
そして、セグメンテーション部1は、選択したプラトン立体に含まれる各面の法線ベクトルを計算する。
(ステップST13)
次いで、セグメンテーション部1は、選択したプラトン立体に含まれる各面の法線ベクトルと、各メッシュ要素の法線ベクトル(nx,ny,nz)とのなす角度τを計算する。
ここでは、参考として、図6に、プラトン立体(正六面体)に対する方向ベクトルの一例を示す。また、図7に、プラトン立体(正四面体)のXYZモデル座標系への埋め込みの一例を示す。

【0038】
(ステップST14)
そして、セグメンテーション部1は、τ>θ(最小角)ならば色付けはされない(どこにも属さない)、τ≦θならばτが最小となるプラトン立体の面にメッシュ要素を対応させる。つまり、セグメンテーション部1は、プラトン立体ごとに、各メッシュ要素の法線ベクトル(nx,ny,nz)と、プラトン立体に含まれる各面Fiの法線ベクトルとのなす角度τを計算し、計算した角度τと予め決められたパラメーターである最小角θとを比較する。
(ステップST15)
τ>θである場合、セグメンテーション部1は、当該メッシュ要素はどのグループにも属さないと判定し、当該メッシュ要素には色を付さない。
(ステップST16)
一方、τ≦θである場合、セグメンテーション部1は、τが最小となるプラトン立体の各面Fiに割り当てられた色を、当該メッシュ要素に付する。
(ステップST17)
そして、セグメンテーション部1は、プラトン立体の各面Fiに対応するメッシュ要素、つまり、同じ色が付されたメッシュ要素を集めて、一つの3Dセグメントを生成する。このようにして、3Dメッシュモデルデータに対して、それぞれ同じ色が付されたメッシュ要素の集合が、3Dセグメントであり、その一例を図8に示す。

【0039】
図8は、図4に示した3Dメッシュモデルデータを複数の3Dセグメントで分割し、分割した3Dセグメントに対して、グループに応じた色を仮想的に着色した3Dモデルデータの一例を示す図である。
図8に示す通り、3Dメッシュモデルデータは、セグメンテーション部1によって、複数の3Dセグメントに分割される。

【0040】
なお、図9,10を参照して、セグメンテーション部1によって分割される3Dセグメントの他の例について説明する。図9,10には、それぞれ、異なるプラトン立体を用いて、当該プラトン立体の各面Fiに応じた色で各メッシュ要素をカラーリングした三次元構造物の3Dメッシュモデルデータを示す。
図9は、正四面体のプラトン立体を用いてカラーリングした一例を示す図である。
図10は、正六面体のプラトン立体を用いてカラーリングした一例を示す図である。
図9,10に示す通り、セグメンテーション部1によって分割される3Dセグメントの領域は、プラトン立体に応じて異なる。

【0041】
図11は、セグメンテーション部1によるセグメンテーション工程のアルゴリズムの流れの一例を示す概略図である。
図11には、正六面体のプラトン立体を用いて、モヤイ像に似た3Dメッシュモデルデータを3Dセグメントに分割する際のアルゴリズムの流れの一例を示す図である。
図示の通り、この3Dメッシュモデルデータは、3Dセグメントに分割され、正六面体の各面Fiに応じて割り当てられた色に仮想的に着色されている。

【0042】
そして、セグメンテーション部1は、図5を参照して説明した処理の後、(1)色付けされていないメッシュ要素の数の最適化と、(2)色付けされたセグメントにおける島(islands)の数を最小にするための最適化を実行する。

【0043】
(1)色付けされていないメッシュ要素の数の最適化
セグメンテーション部1は、以下の式(1)に従って、カラーリングされていないメッシュ要素の数を最小化する最適化を行う。

【0044】
【数1】
JP0006198107B2_000002t.gif

【0045】
ただし、式(1)において、F1はカラーリングされていないメッシュ要素の数を表す目的関数、Sはプラトン立体の種類、Nはメッシュモデル全体に含まれるメッシュ要素の数、→ni(→はnの上に付く、以下、同様)はメッシュ要素の単位法線ベクトルである。さらに、カラーリングされていないメッシュ要素とカラーリングされているメッシュ要素を判別するための閾値θは、θ=10°とし、このθを用いてFは、以下の式(2)で定義される。

【0046】
【数2】
JP0006198107B2_000003t.gif

【0047】
ただし、式(2)において、→niはメッシュ要素iの単位法線ベクトルであり、NFSは、プラトン立体Sに含まれる面の数である。
また、 ̄Sj(α,β,γ)( ̄は、Sj(α,β,γ)の上に付く、以下、同様)は、角度α,β,γによる回転行列によって変換されたプラトン立体Sに含まれる各面jに対する単位法線ベクトルである。

【0048】
(2)色付けされたセグメントにおける島(islands)の数を最小にするための最適化
セグメンテーション部1は、以下の式(3)に従って、色付けされたセグメントにおける島の数を最小化する最適化を行う。なお、色付けされたセグメントにおける島とは、周りと異なる色のメッシュ要素の集合であり、かつ、そのメッシュ要素の集合に含まれるメッシュ要素の数が予め決められた閾値Tよりも少ない集合のことである。本実施形態において、島の一例を、図9に示す。

【0049】
【数3】
JP0006198107B2_000004t.gif

【0050】
ただし、式(3)において、F2は島の数を表す目的関数、Sはプラトン立体の種類、NFSはプラトン立体Sの面の数、Riは3Dセグメントの数、NFdは3Dセグメントdのメッシュ要素の数、Tは島のサイズを定義するための閾値、α,β,γはプラトン立体Sの回転角である。

【0051】
[実施例]
本実施形態に係る三次元構造物の製造装置100のセグメンテーション部1によって、(i)プラトン立体を用いる方法を用いてセグメンテーションが実行された場合に最適なパラメーターを決定する方法の一例を説明する。
下の表1は、セグメンテーション部1によるセグメンテーション工程によって得られた、色付けされていないメッシュ要素の数を、プラトン立体の種類ごとに示した表である。

【0052】
【表1】
JP0006198107B2_000005t.gif

【0053】
また、下の表2は、セグメンテーション部1によって算出された目的関数F1,F2を、プラトン立体の種類ごとに示した表である。

【0054】
【表2】
JP0006198107B2_000006t.gif

【0055】
表1に示す通り、正六面体のプラトン立体を用いたカラーリングと、正八面体を用いたカラーリングにおいて、カラーリングされていないメッシュ要素が、他のプラトン立体を用いたカラーリングに比べて少なかった。
本実施形態において、セグメンテーション部1は、2つの目的関数F1,F2を基づく(1)(2)の判断を、独立に行う。つまり、セグメンテーション部1は、(1)色付けされていないメッシュ要素の数の最適化、及び(2)色付けされたセグメントにおける島(islands)の数を最小にするための最適化の両方の観点から、最適なプラトン立体を選択することができる。又は、セグメンテーション部1は、最適なプラトン立体を選択したり、方向ベクトルを定義したりする目的のために、(1)(2)の最適化を同時に用いることも可能である。

【0056】
例えば、セグメンテーション部1は、目的関数F1に基づき最適化される(1)色付けされていないメッシュ要素の数が他のプラトン立体に比べてより少ないプラトン立体が複数あり、且つ、当該より少ないプラトン立体の色付けされていないメッシュ要素の数が互いに近接している場合は、目的関数F2を用いて、結果を評価する。つまり、セグメンテーション部1は、色付けされていないメッシュ要素の数が他のプラトン立体に比べてより少ないプラトン立体についての目的関数F2を比較して、目的関数F2が最も小さいプラトン立体を選択する。
表1に記載されている例では、正六面体と正八面体において、色付けされていないメッシュ要素の数(=5283,5797)が、他の正四面体、正十二面体、正二十面体のそれと比べて少なく、且つ、色付けされていないメッシュ要素の数(=5283,5797)が互いに近似している。
一方、表2に記載されている例では、正六面体の目的関数F2(=6)の方が、正八面体の目的関数F2(=59)に比べて小さい。
よって、セグメンテーション部1は、(1)(2)の最適化による最適なプラトン立体として、正六面体を選択することができる。

【0057】
次に、(ii)メッシュセグメントの曲面型の同定を用いる方法の具体例について説明する。
この方法は、曲面の型の同定によるセグメンテーションであり、曲面の型(平面,2次曲面,円筒面,球面,トーラス面,線織面など)を正確に同定する必要がある場合に有効な方法である。そして、オリジナルのメッシュモデルの形状を保ちながら、CADモデルやリバースエンジニアリングモデルのセグメンテーションをするために有効な方法である。
つまり、セグメンテーション部1は、3Dメッシュモデルデータが表す三次元構造物の表面領域のうち、平面に対応する平面領域を平面グループに割り当てられた色(例えば緑)で着色する。また、セグメンテーション部1は、3Dメッシュモデルデータが表す三次元構造物の表面領域のうち、予め決められた曲面の型に対応する曲面領域を曲面グループに割り当てられた色(例えば青)で着色する。さらに、セグメンテーション部1は、3Dメッシュモデルデータが表す三次元構造物の表面領域のうち、平面グループ及び曲面グループのいずれにも該当しない領域をその他グループに割り当てられた色(例えば赤)で着色する。つまり、セグメンテーション部1は、各グループに応じて着色された領域を、それぞれ3Dセグメントとして分割する。

【0058】
なお、滑らかな境界を持つ3Dセグメントの表面を正確に同定することは、オリジナルのメッシュモデルの形状の確認(再現)、及び、結果として得られるNURBS曲面の品質にとって重要なものとなる。
本実施形態において、セグメンテーション部1は、平面、円筒面、球面、押し出し面、線織面、回転面、トーラス面、フィレット曲面に焦点を当てて、これらの面毎にグループ化した3Dセグメントで、3Dメッシュモデルデータを分割することができる。

【0059】
本実施形態において、セグメンテーション部1は、近くのメッシュ要素の節点(頂点)の法線ベクトルと主曲率を、シャープなエッジを特定するために計算することができる。なお、シャープなエッジとは、3Dモデルデータに含まれる一の面と他の面の境界辺によって、3Dセグメントを鮮明に分割する分割線のことをいう。
このシャープなエッジが得られれば、このシャープなエッジに基づく分割が可能となり、セグメンテーション部1が、3Dセグメントを正確に抽出することができるようになる。

【0060】
なお、セグメンテーションのプロセスを自動で行うために、3Dセグメントの一連の抽出過程を決定しなければならない。セグメンテーション部1は、これを、各3Dセグメントおよび他の表面(以下、非3Dセグメントという)と区別するための判定基準に対して、図12に示すようなガウス写像の次元を求めることにより、3Dセグメントの一連の抽出過程を決定することができる。

【0061】
図13には、この(ii)メッシュセグメントの曲面型の同定を用いる方法により、セグメンテーション部1がセグメンテーションした3Dセグメントの一例を示す。
図13に示す通り、オリジナルの3Dモデルデータは、平面グループと、曲面グループと、その他のグループによって構成されている。図13に示す通り、3Dモデルデータが表す三次元構造物によっては、シャープなエッジが得られない場合がある。
このように、オリジナルの3Dモデルデータの形状に含まれるシャープなエッジやコーナーが、サンプリングの過程(つまり、図13に示す3Dセグメントで分割する過程)で失われてしまう。図13のオリジナルの3Dモデルデータに対して(ii)メッシュセグメントの曲面型の同定を用いる方法は適用する場合、セグメンテーション部1は、シャープなエッジや境界を修復する前処理を実行することが好ましい。

【0062】
次に、(iii)領域成長法を用いる方法の具体例について説明する。
この方法を用いることにより、セグメンテーション部1は、複雑な3Dモデルを分解することや最小の3Dセグメント数を得るために、分解した3Dセグメントを統合することが可能である。
言い換えると、領域成長法とは、複雑な形状の3Dモデルを分割し、3Dセグメントの数を最小にしながら3Dセグメントをマージすることが可能な方法である。
また、既存のラインベースの領域成長セグメンテーション法としては、各メッシュ要素の法線ベクトルの方向を計算し、それを正規化して、単位球面上の点として扱うものがあるが、本実施形態におけるラインベースの領域成長セグメンテーション法は、点の生成方法が既存の方法と異なり、生成した各点に対して、それに接続する全てのメッシュ要素が対応づけられている。つまり、本実施形態におけるラインベースの領域成長セグメンテーション法では、各メッシュ要素の法線ベクトルの平均をこれら複数のメッシュ要素を代表する点の方向として定義している。なお、この複数のメッシュ要素を代表する点を、以下、射影点という。

【0063】
次に、図14~15を参照して、(iii)領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明する。図14は、本実施形態に係るセグメンテーション部1による(iii)領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するためのフローチャートである。図15は、この(iii)領域成長法を用いる方法を用いたセグメンテーション工程の一部を説明するための参考図である。
(ステップST21)
セグメンテーション部1は、3Dメッシュモデルデータに含まれる全てのメッシュ要素の法線ベクトルを算出する。ここでは、例えば、図15(a)に示すような3Dモデルのメッシュモデルデータに基づき、セグメンテーション部1が、全てのメッシュ要素の法線ベクトルを算出する。
(ステップST22)
そして、セグメンテーション部1は、算出したメッシュ要素の法線ベクトルを、予め用意されているクラスタリング球面に射影する。なお、クラスタリング球面に射影された点が射影点である。本実施形態において、クラスタリング球面は、その直径が、少なくとも3Dモデルの最長部分の長さよりも長いものである。これにより、例えば、図15(b)に示すような射影点が得られる。つまり、各射影点は、それぞれ、メッシュ要素と対応付けられている。

【0064】
(ステップST23)
次いで、セグメンテーション部1は、得られた複数の射影点を、法線ベクトルの近さによって点群のクラスタリングを行う。つまり、セグメンテーション部1は、法線ベクトルの値に応じて予め決められた点群クラスターごとに、射影点の属する点群クラスターを決定する。なお、各点群クラスターにはそれぞれ異なる色が割り当てられている。セグメンテーション部1は、射影点が属する点群グラスターに割り当てられた色で、射影点を仮想的に着色する。これにより、例えば、図15(c)に示すようなカラーリングされた射影点が得られる。つまり、各射影点は、それぞれ当該射影点が属する点群クラスターと対応づけられている。
(ステップST24)
そして、セグメンテーション部1は、平均シフト法により点群クラスターの密度中心を求める。
(ステップST25)
次いで、セグメンテーション部1は、Wardの最小残差法と経路密度法によって点群クラスターをマージする。
そして、セグメンテーション部1は、射影点に対応付られた点群クラスターに基づき、当該射影点に対応付られたメッシュ要素を点群クラスターに応じた色で仮想的に着色する。これにより、セグメンテーション部1は、図15(d)に示すような3Dセグメントに分割された3Dモデルデータを生成することができる。

【0065】
なお、本発明はこれに限られない。例えば、セグメンテーション部1は、平均値シフト法により、各メッシュ要素の法線ベクトルをクラスタリング球面へ射影することによるものであってもよい。図16には、この方法による射影点とオリジナルの3Dモデルとを示す。
図16(a)は、オリジナルの3Dモデルを示す図である。なお、この図16(a)には、射影点に対応付られた点群クラスターに応じた色が仮想的に付されている。
図16(b)は、平均値シフト法により、各メッシュ要素の法線ベクトルをクラスタリング球面へ射影した際の射影点であって、各点群クラスターに応じた色が仮想的に付された射影点を示す。
図16(a),16(b)に示す通り、この例では、2つの点群クラスターに属する2つの3Dセグメントが得られる。

【0066】
また、本発明はこれに限られない。例えば、セグメンテーション部1は、Wardの方法による点群クラスターのマージにおいて、3つの点群クラスターにマージするものであってもよい。
なお、セグメンテーション部1は、(iii)領域成長法を用いる方法に関する技術として、非特許文献「日本応用数理学会2012年度年会 P141~142参照」に記載されている技術を用いることができる。

【0067】
[帯状分割部2の処理について]
帯状分割部2は、セグメンテーション部1によるセグメンテーション工程において得られた各3Dセグメントから複数の3D帯状領域を分割し、各3D帯状領域に含まれるメッシュ要素の法線ベクトルが全て同一となるようにして、各メッシュ要素の位置を2D帯状領域上に変換する。言い換えると、帯状分割部2は、各3D帯状領域に含まれる全てのメッシュ要素の法線ベクトルを、全て同一の法線ベクトルに変換して、3D帯状領域を平面上の2D帯状領域に変形させる。
ここで、複数の3D帯状領域に分割するのは、3Dのメッシュモデルデータが表す三次元構造物が複雑な曲面である場合、射影などの単純な変換では、長さなどを変えずに2D平面に変換するのが困難な場合に有効である。この帯状分割部2の変換により、3D帯状領域に含まれる全てのメッシュ要素の法線ベクトルが同一となる。よって、帯状分割部2は、回転移動によって2D帯状領域へと長さを変えずに写像することができる。この帯状分割部2の変換処理により、3Dから2Dへの変換が容易になり処理速度も向上する。言い換えると、帯状分割部2は、境界形状の乱れを最小にしながら、メッシュ要素による3D帯状領域を2D帯状領域に長さを変えずに写像することができる。

【0068】
次に、図17を参照して、帯状分割部2による3D帯状領域の2D変換の概念について説明する。
図17は、セグメンテーション部1によりセグメンテーションされた3Dセグメントの一例を示す。
図17(a)は、セグメンテーション部1によって得られた3D帯状領域の集合体の一例を示す斜視図である。なお、図17(a)に示す一点鎖線は、3D帯状領域の境界線(輪郭線)である。この例では、5個の3D帯状領域の集合体を示す。
図17(b)は、図17(a)に示す3D帯状領域の集合体を真横(図の矢印Qの方向)から見た状態を示す図である。なお、実線で示す曲線が、図17(a)に示す3D帯状領域の曲面に対応する。破線で示す直線が、帯状分割部2によって2D帯状領域に変換された際の平面(つまり写像)に対応する。
つまり、帯状分割部2は、図17(b)に示す実線の曲線部分を、同図に示す破線の直線部分に対応する平面上へ、長さを変えずに変換する写像を求めることで、3D帯状領域を2D帯状領域に変換する。具体的には、帯状分割部2は、法線ベクトルの変換行列を決定することによりこの写像を実現させることができる。

【0069】
(4-1) 3Dセグメントを複数の3D帯状領域に分割
[3D帯状領域(ストリップ)の生成方法]
ここで、図18を参照して、帯状分割部2による3D帯状領域の分割処理の一例について説明する。図18は、帯状分割部2による3D帯状領域の分割処理の一例を説明するためのフローチャートである。また、図19~21は、帯状分割部2による3D帯状領域の分割処理の一例を説明するための参考図である。以下に説明するアルゴリズムは、帯状分割部2が、なるべく直線状に近い形状の3D帯状領域を分割するためのアルゴリズムの一例である。
(ステップST31)
帯状分割部2は、セグメンテーション部1によって作成された複数の3Dセグメントのうち、一の3Dセグメントを選択(固定)する。ここで、選択された3Dセグメントの一例を、図19に示す。
(ステップST32)
そして、帯状分割部2は、選択した3Dセグメントに含まれる複数のメッシュ要素の中から、当該3Dセグメントの境界線(輪郭線)と辺を共有するメッシュ要素V0(以下、シード要素ともいう)を一つ選択する。つまり、このステップST32は、三角形であるメッシュ要素の三辺のうち、3Dセグメントの輪郭線の一部を構成する辺を有する第1のメッシュ要素V0を選択する工程である。

【0070】
(ステップST33)
次いで、帯状分割部2は、選択したメッシュ要素V0の3辺のうち、3Dセグメントの輪郭線の一部を構成する共有辺をe1とする。そして、帯状分割部2は、メッシュ要素V0の3辺のうち共有辺e1以外の二辺(共有辺e2と共有辺e3)を比較して、両者のうちどちらの長さが長いか判定する。
帯状分割部2は、判定の結果、メッシュ要素V0と隣接するメッシュ要素のうち、共有辺の長さが長い方の共有辺e2又はe3を共有している他のメッシュ要素を、V1とする。図19に示す例では、共有辺e3>共有辺e2であるため、帯状分割部2は、長い方の共有辺e3を共有するメッシュ要素をV1と決定する。
つまり、ステップST33は、3Dセグメントの輪郭線の一部を構成する辺e1以外の第1のメッシュ要素V0の二辺(共有辺e2と共有辺e3)であって、他のメッシュ要素と辺を共有している2つの共有辺(共有辺e2と共有辺e3)のうち、いずれか長い方の共有辺e3を三角形の一辺とする他のメッシュ要素を第2のメッシュ要素V1と決定する工程である。

【0071】
(ステップST34)
ステップST33の処理と同様にして、帯状分割部2は、メッシュ要素V1の3辺のうち共有辺e3以外の二辺(共有辺e4と共有辺e5)を比較して、両者のうちどちらの長さが長いか判定する。図19に示す例では、共有辺e5>共有辺e4であるため、帯状分割部2は、長い方の共有辺e5を共有するメッシュ要素をV2と決定する。
つまり、ステップST34は、第1のメッシュ要素V0との共有辺e3以外の第2のメッシュ要素V1の二辺(共有辺e4と共有辺e5)であって、他のメッシュ要素と辺を共有している2つの共有辺(共有辺e4と共有辺e5)のうち、いずれか長い方の共有辺e5を三角形の一辺とする他のメッシュ要素を第3のメッシュ要素V2と決定する工程である。
(ステップST35)
そして、帯状分割部2は、ステップST22~ST24の処理により得られたメッシュ要素の列V0→V1→V2に基づき、V0→V1の方向ベクトル→V01(→はVの上に付く、以下、同様)と、V1→V2の方向ベクトル→V12とを求め、記憶部6に格納する。
つまり、帯状分割部2は、第1のメッシュ要素V0から第2メッシュ要素V1への第1の方向ベクトル→V01と、第2のメッシュ要素V1から第3メッシュ要素V2への第2の方向ベクトル→V12と、を計算する。この工程は、第2工程に含まれる一部である。

【0072】
(ステップST36)
次いで、帯状分割部2は、ステップST34の処理と同様にして、メッシュ要素V2の3辺のうち共有辺e5以外の2辺(共有辺e6と共有辺e7)を比較して、両者のうちどちらの長さが長いか判定する。図19に示す例では、共有辺e7>共有辺e6であるため、帯状分割部2は、長い方の共有辺e7を共有するメッシュ要素をV3とする。また、帯状分割部2は、短い方の共有辺e6を共有するメッシュ要素をVとする。
つまり、ステップST36の処理は、第2のメッシュ要素V1との共有辺e5以外の第3のメッシュ要素V2の二辺(共有辺e6と共有辺e7)であって、他のメッシュ要素と辺を共有している2つの共有辺(共有辺e6と共有辺e7)のうち、いずれか長い方の共有辺e7を三角形の一辺とする他のメッシュ要素を第4のメッシュ要素V3と決定するとともに、いずれか短い方の共有辺e7を三角形の一辺とする他のメッシュ要素を第5のメッシュ要素Vと決定する第1工程である。

【0073】
(ステップST37)
そして、帯状分割部2は、メッシュ要素V2の次の候補として、V3、Vのうちいずれを選択するかを判定する。つまり、帯状分割部2は、そのどちらかを選択するため、上述同様にV2→V3の方向ベクトル→V23と、V2→Vの方向ベクトル→V22´を計算する。
つまり、帯状分割部2は、第3のメッシュ要素V2から第4メッシュ要素V3への第3の方向ベクトル→V23と、第3のメッシュ要素V2から第5メッシュ要素Vへの第4の方向ベクトル→V22´と、を計算する。この工程は、第2工程に含まれる一部である。

【0074】
さらに、帯状分割部2は、図20に示す方向ベクトル→V012と方向ベクトル→V123のなす角θV3と、図21に示す方向ベクトル→V012と方向ベクトル→V122´のなす角θV2´を算出する。
なお、方向ベクトル→V012、方向ベクトル→V123、及び、方向ベクトル→V122´は、以下の数式に示すようなベクトルである。
つまり、帯状分割部2は、第2の方向ベクトル→V12から第1の方向ベクトル→V01を減算した第5の方向ベクトル→V012と、第3の方向ベクトル→V23から第2の方向ベクトル→V12を減算した第6の方向ベクトル→V123と、第4の方向ベクトル→V22´から第2の方向ベクトル→V12を減算した第7の方向ベクトル→V122´と、を計算する。この工程を、第3工程という。
また、帯状分割部2は、第5の方向ベクトル→V012と第6の方向ベクトル→V123のなす第1の角θV3と、第5の方向ベクトル→V012と第7の方向ベクトル→V122´のなす第2の角θV2´と、を計算する。この工程を、第4工程という。

【0075】
【数4】
JP0006198107B2_000007t.gif

【0076】
そして、帯状分割部2は、算出した角θV3及び角θV2´のうち、90°より大きく270°より小さくなる角度がどちらであるかを判定する。本実施形態では、図20,21に示す通り、90°<角θV3<270°であり、90≧角θV2´である。このため、帯状分割部2は、メッシュ要素V2の次の候補が、メッシュ要素V3であると判定する。
つまり、帯状分割部2は。第1の角θV3及び第2の角θV2´のうち、90°より大きく270°より小さくなる方の角がどちらであるかを判定し、第1の角θV3が90°より大きく270°より小さくなる場合、第4のメッシュ要素V3を次のメッシュ要素と決定し、第2の角θV2´が90°より大きく270°より小さくなる場合、第5のメッシュ要素Vを次のメッシュ要素と決定する。この工程を、第5工程という。

【0077】
(ステップST38)
帯状分割部2は、ステップST37の処理を繰り返し、メッシュ要素V3の次の候補であるメッシュ要素V4を選択し、メッシュ要素V4の次の候補であるメッシュ要素V5を選択する。
つまり、帯状分割部2は、次のメッシュ要素と決定したメッシュ要素V3を第3のメッシュ要素に置き換えるとともに、第1~3工程における第3,2のメッシュ要素をそれぞれ前記第2,1に置き換えて、第1~5工程を繰り返す。この工程を、第6工程という。
そして、帯状分割部2は、このステップST37の処理を繰り返し、次のメッシュ要素の選択ができなければ、一つの3D帯状領域の生成を終了する。
本実施形態において、帯状分割部2は、図19に示す通り、メッシュ要素V5の次の候補を選択することができない。よって、帯状分割部2は、メッシュ要素V5を選択したところで一つの3D帯状領域の生成を終了する。つまり、帯状分割部2は、メッシュ要素V1~V5の集合を、一つの3D帯状領域とする。
つまり、帯状分割部2は、第6工程において次のメッシュ要素を決定できなくなるまで第1~5工程を繰り返し、次のメッシュ要素を決定できなくなった場合、第1~3のメッシュ要素と次のメッシュ要素として決定されたメッシュ要素とを含む領域を3D帯状領域として、3Dセグメントから分割する。この工程を、第7工程という。

【0078】
そして、帯状分割部2は、ステップST32に戻って、3Dセグメントの境界辺(輪郭線)と辺を共有するメッシュ要素のうち、いまだ3D帯状領域を構成するメッシュ要素として選択されていないメッシュ要素をシード要素とする。そして、帯状分割部2は、ステップST33~38の処理を実行し、3Dセグメントから3D帯域領域を分割する。
帯状分割部2が上記処理を繰り返すと、ステップST31で選択された3Dセグメントの輪郭辺は、全て分割された3D帯域領域の一部となる。

【0079】
また、ステップST38の処理が終了した地点で、ステップST31で選択された3Dセグメント内に、いずれの3D帯域領域にも属さないメッシュ要素が残っている可能性がある。ここで、帯状分割部2は、分割された3D帯域領域のうち、輪郭辺の一部がただ一つの3D帯状領域の輪郭辺としか共有していない3D帯状領域を、新しい共有辺と判定する。つまり、帯状分割部2は、新しい共有辺を有すると判定した3D帯状領域の輪郭辺のうち、ステップST31で選択された3Dセグメントの輪郭辺と辺を共有するメッシュ要素を、シード要素として、ステップST33からの処理を繰り返すことができる。これにより、3Dセグメント内の全てのメッシュ要素が、いずれかの3D帯状領域に属することになり、3Dセグメントからの3D帯状領域の分割が完了する。

【0080】
[方向ベクトルの計算方法]
次に、図22,23を参照して、ステップST35,37で用いられる方向ベクトルの計算方法の一例について説明する。図22は、帯状分割部2による方向ベクトルの計算方法の一例を説明するためのフローチャートである。また、図23は、帯状分割部2による方向ベクトルの計算方法の一例を説明するための参考図である。
図23には、3Dセグメントに含まれるメッシュ要素V6(ΔABC)とメッシュ要素V7(ΔBCD)の一例を示す。ここでは、図23を参照して、メッシュ要素V6からメッシュ要素V7へ向かう方向ベクトル→V67を、以下に示す処理を実行して帯状分割部2が求める一例について説明する。

【0081】
(ステップST41)
帯状分割部2は、メッシュ要素V6(ΔABC)とメッシュ要素V7(ΔBCD)との共有辺である辺BCの中点を求め、この中点をoとする。そして、帯状分割部2は、図23に示すように、この中点oを通過する辺BCに対する垂線Gをとる。
(ステップST42)
そして、帯状分割部2は、図23に示す通り、メッシュ要素V6(ΔABC)上にある垂線Gであって、辺ACの側に向かって任意の長さとなる点を、メッシュ要素V6の中心点aとする。
(ステップST43)
次に、帯状分割部2は、同様にして、図23に示す通り、メッシュ要素V7(ΔBCD)上にある垂線Gであって、辺DCの側に向かって任意の長さとなる点を、メッシュ要素V7の中心点a´とする。

【0082】
(ステップST44)
そして、帯状分割部2は、以下の式(4)を計算して、V6(ΔABC)からV7(ΔBCD)へ向かう方向ベクトル→V67を算出する。

【0083】
【数5】
JP0006198107B2_000008t.gif

【0084】
(4-2) 3D帯状領域を2D帯状領域に変換する
次に、図24,25を参照して、帯状分割部2による3D帯状領域を2D帯状領域に変換する処理について説明する。図24は、帯状分割部2による3D帯状領域を2D帯状領域に変換する処理の一例を説明するためのフローチャートである。また、図25は、帯状分割部2による3D帯状領域を2D帯状領域に変換する処理の一例を説明するための参考図である。三次元空間内にある1本の3D帯状領域を2D平面上へ写像して、2D帯状領域に変換する方法は、例えば以下の通りである。

【0085】
(ステップST51)
帯状分割部2は、3D帯状領域に含まれる複数のメッシュ要素のうち、出発点となるメッシュ要素(例えば、シード要素)の各頂点に、記号T1,T2,T3・・・,Tnを割り当てる。
はじめに、帯状分割部2は、出発点となるメッシュ要素(シード要素)の頂点をT1,T2,T3とする。
(ステップST52)
そして、帯状分割部2は、次の頂点Tmの添え字mを、m=4とする。
(ステップST53)
また、帯状分割部2は、後述する回転行列を算出するための各頂点のTの添え字kを、k=mとする。

【0086】
(ステップST54)
次いで、帯状分割部2は、互いに隣接するメッシュ要素V8(ΔTkTk-1Tk-2)とメッシュ要素V9(ΔTk-1Tk-2Tk-3)とのなす角θkを計算する。
(ステップST55)
そして、帯状分割部2は、辺Tk-1Tk-2の周りに、点Tkを角θkだけ回転させる回転行列を計算する。
(ステップST56)
帯状分割部2は、計算した回転行列を用いて、点Tmを角度θk回転させる。
(ステップST57)
そして、帯状分割部2は、k=k+1とする。
(ステップST58)
次いで、帯状分割部2は、k<nであるならば、ステップST54に戻って、処理を繰り返す。

【0087】
(ステップST59)
一方、k=nであるならば、帯状分割部2は、m=m+1とする。
(ステップST60)
そして、帯状分割部2は、m<nであるならば、ステップST53に戻って、処理を繰り返す。
一方、m=nならば、帯状分割部2は、処理を終了する。

【0088】
なお、この図24の示す処理フローを、図25に示す例で説明すると、以下の通りである。
帯状分割部2は、はじめに、出発点となるメッシュ要素(シード要素)の頂点に、記号T1,T2,T3を割り当てる。
そして、帯状分割部2は、次の頂点Tmの添え字mを、m=4とし、回転行列を算出するための各頂点のTの添え字kを、k=m=4とする。
次いで、帯状分割部2は、互いに隣接するメッシュ要素V8(ΔT4T3T2)とメッシュ要素V9(ΔT3T2T1)とのなす角θ4(図示せず)を計算する。
そして、帯状分割部2は、辺T3T2の周りに、点T4を角θ4だけ回転させる回転行列を計算し、計算した回転行列を用いて、点T4を角度θ4回転させる。
次いで、帯状分割部2は、k=5とする。5<nであるため、帯状分割部2は、ステップST54に戻って、処理を繰り返す。

【0089】
[回転行列の計算方法]
図26には、3D帯状領域に含まれるメッシュ要素V10(ΔABC)とメッシュ要素V11(ΔBCD)との一例を示す。ここでは、図26を参照して、メッシュ要素V10とメッシュ要素V11とを同一平面上の図形とするため、メッシュ要素V11を回転させるための回転行列を、帯状分割部2が以下に示す処理を実行して求める一例について説明する。

【0090】
ここで、メッシュ要素V10(ΔABC)の法線ベクトルをNABCと、メッシュ要素V11(ΔBCD)の法線ベクトルをNBCDとし、これらを以下の式(5)で表す。

【0091】
【数6】
JP0006198107B2_000009t.gif

【0092】
帯状分割部2は、これらNXABC、NYABC、NZABC、NXBCD、NYBCD、NZBCDに基づき、法線ベクトルをNABCと法線ベクトルをNBCDとを計算する。なお、NXABC、NYABC、NZABCは、メッシュ要素V10(ΔABC)の法線ベクトルNABCのX,Y,Z成分であり、NXBCD、NYBCD、NZBCDは、メッシュ要素V11(ΔBCD)の法線ベクトルをNBCDのX,Y,Z成分である。

【0093】
また、メッシュ要素V10(ΔABC)とメッシュ要素V11(ΔBCD)とがなす角を、θkとし、これを以下の式(6)で表す。

【0094】
【数7】
JP0006198107B2_000010t.gif

【0095】
ただし、式(6)において、「・」はベクトルの内積を表す。なお、点A~Dの座標は、以下の通りである。帯状分割部2は、法線ベクトルをNABCと法線ベクトルをNBCDとに基づき、式(6)に従って、θkを計算する。

【0096】
【数8】
JP0006198107B2_000011t.gif

【0097】
次に、辺BCを回転中心として、点Dを角θkだけ回転させた座標を、以下の式(7)で表す。

【0098】
【数9】
JP0006198107B2_000012t.gif

【0099】
ただし、式(7)において、u、v、wは、それぞれ図26においてCB方向のベクトルを正規化したときのx、y、z成分である。
帯状分割部2は、θk、点B,Dの座標値に基づき、式(7)に従って、回転行列を計算する。

【0100】
[結合部3の処理について]
次に、図27~29を参照して、本実施形態に係る結合部3の処理の一例について説明する。図27~29は、本実施形態に係る結合部3の処理の一例を説明するための参考図である。
この結合部3は、帯状分割部2によって作成された2D帯状領域のうち、同じ3Dセグメントに含まれる2D帯状領域同士を、当該3Dセグメントにおける位置関係に基づき結合する。また、結合部3は、3Dセグメントごとに結合した2D帯状領域の集合を、メッシュモデルデータにおける位置関係に基づき結合する。本実施形態に係る結合部3の処理によれば、2D帯状領域の境界制御点による形状の乱れを最小限にする二次元展開図を生成する。

【0101】
(5-1) 複数の帯状領域のそれぞれ制御点を求める。
結合部3は、複数の2D帯状領域に含まれる制御点を求める。この結合部3は、各2D帯状領域の制御点を、以下の通り定義する。ここでは、図27を参照して説明する。図27は、2D帯状領域の一例である2D帯状領域201,202を示す図である。
まず、結合部3は、帯状分割部2によって作成された複数の2D帯状領域のうち、一つの2D帯状領域201を選択する。
なお、図27に示す通り、2D帯状領域201には、それぞれ、他のメッシュ要素と共有している辺が1辺のみであるメッシュ要素が2つ存在する。つまり、2D帯状領域201の両端にあるメッシュ要素V12(ΔABC)とメッシュ要素V13(ΔDFG)が、1辺のみが他のメッシュ要素の辺と共有するメッシュ要素である。その他のメッシュ要素は、2辺が他のメッシュ要素の辺と共有している。
結合部3は、1辺のみが他のメッシュ要素と辺を共有するメッシュ要素V12(ΔABC)とメッシュ要素V13(ΔDEF)の頂点のうち、他のメッシュ要素と頂点を共有していない頂点を、2D帯状領域201の制御点と決定する。つまり、図27に示す例において、結合部3は、点Aと点Dを、2D帯状領域201の制御点と決定する。

【0102】
なお、結合部3は、全ての2D帯状領域について、それぞれの制御点を求める。
例えば、結合部3は、2D帯状領域202を選択する。なお、図27に示す通り、2D帯状領域202には、2D帯状領域202の両端にあるメッシュ要素V14(ΔABC)とメッシュ要素V15(ΔDEF)が、1辺のみが他のメッシュ要素の辺と共有するメッシュ要素である。その他のメッシュ要素は、2辺が他のメッシュ要素の辺と共有している。
結合部3は、1辺のみが他のメッシュ要素と辺を共有するメッシュ要素V14(ΔABC)とメッシュ要素V15(ΔDEF)の頂点のうち、他のメッシュ要素と頂点を共有していない頂点を、2D帯状領域202の制御点と決定する。つまり、図27に示す例において、結合部3は、点Aと点Dを、2D帯状領域202の制御点と決定する。

【0103】
(5‐2) 帯状領域に接続する帯状領域を求める。
次いで、結合部3は、決定した制御点に基づき、同一の3Dセグメントに含まれる全ての2D帯状領域同士を結合する。ここでは、図28,29を参照して説明する。図28は、2D帯状領域の一例である2D帯状領域203,204を示す図である。
まず、結合部3は、同一の3Dセグメントに含まれる複数の2D帯状領域のうち、3Dセグメントの輪郭辺と辺を共有する2D帯状領域203を、2D展開図の下地となる平面上に固定する。つまり、図28に示す例において、結合部3は、メッシュ要素V16(Δa1a2a3)とメッシュ要素V17(Δa2a3a4)とを含む2D帯状領域203を固定する。なお、この2D帯状領域203の制御点は、点a1と点a4である。
次に、結合部3は、3Dセグメントの輪郭辺と辺を共有する2D帯状領域であって、3Dセグメント内の2D帯状領域203とは異なる2D帯状領域のうち、2D帯状領域203に含まれる点(点a1,a2,a3,a4)のいずれかと同一の点を制御点として有する2D帯状領域204を固定する。つまり、図28に示す例において2D帯状領域204に含まれる点a3と、2D帯状領域204の制御点b1とが一致している。

【0104】
結合部3は、この処理を繰り返すことにより、3Dセグメントの輪郭辺と辺を共有する2D帯状領域を、全て平面上(2D展開図の下地となる平面上)に展開する。これにより、結合部3は、図29に示すように3Dセグメントの外縁に沿って2D帯状領域を展開する。
次に、結合部3は、3Dセグメントの輪郭辺と辺を共有していない2D帯状領域の展開処理を実行する。図29に示す通り、結合部3は、平面上に展開された2D帯状領域の内部境界辺(つまり、3Dセグメントの輪郭辺ではない方の内側の辺)にある頂点と制御点を共有する2D帯状領域を選択する。そして、結合部3は、選択した2D帯状領域を、平面上に展開し、内部境界辺に接続していく。これにより、結合部3は、2D展開図を作成することができる。

【0105】
[評価部4の処理について]
評価部4は、(6-1)3Dモデルと2Dモデルとの誤差評価と、(6-2)2D帯状領域の結合が最適かどうかについて評価を行う。
(6-1) 3Dセグメントと2D展開図の誤差評価
結合部3による2D展開図の生成の過程から、特徴線や特徴点の対応は明確となる。評価部4は、これらを利用して点の位置、辺の長さ、モデルの体積などを誤差の指標とする。例えば、評価部4は、与えられた3Dメッシュモデルデータを構成する3Dセグメント全体の表面積と、2D展開図全体の表面積との誤差が最少となるように、3Dセグメントと2D展開図との誤差評価を行う。
なお、評価部4による評価方法は、特に表面積に限定されず、長さで評価するものであってもよい。例えば、図17(b)に示した通り、評価部4は、実線の曲線部分の長さと、破線の直線部分の長さとを比較して、両者の差に基づき、3Dモデルと2Dモデルとの誤差を評価することもできる。
また、三次元構造物の製造装置100は、帯状分割部2による帯状分割工程と、評価部4による評価工程とを繰り返し、3Dモデルと2Dモデルとの誤差が最少となるようなに、2D帯状領域を作成するものであってもよい。
さらに、評価部4は、メッシュの品質に基づいた指標や、体積に基づいた指標に基づき、3Dモデルと2Dモデルとの誤差評価を行うものであってもよい。なお、各3Dセグメントの構造がパネルであれば、表面積、ソリッド構造であれば体積とすることが好ましい。

【0106】
(6-1) ツリー構造を利用した評価(線の数を最小化)
ツリー構造の基本的な考え方は、各2D帯状領域の接続関係を線(グラフ理論の辺)で表現し、なるべく簡素化された構造でその構造物(展開図)を表現することにある。
(5-1)で求めた各3D帯状領域に対応する2D帯状領域について考える。
図30は、面の全てのつながりを表現したグラフである。つまり、図30は、2D帯状領域の接続関係を線(グラフ理論の辺)で表現したグラフである。
また、図31は、最適化により求めた最小限のつながりを示すグラフである。つまり、図31は、なるべく簡素化された構造でその構造物(展開図)を表現したグラフである。
図30,31において、丸印は、各2D帯状領域セグメントを表している。また、丸印内の記号は、各2D帯状領域に割り当てられた識別情報である。図示の通り、2Dセグメントはそれぞれ複数の別の2Dセグメントと接続している。このように、2D帯状領域同士が接続している場合は対応する丸印を線で結ぶことにすると、丸印をグラフ理論の点、線をグラフ理論の辺と考えることにより、図30に示すグラフが構成される。これを最小全域のアルゴリズムを適用して最適化したものが、図31に示す通り、簡素化されたグラフである。ここで、最適化の基準は線の数を最小化することにある。

【0107】
ここで、図32に、本実施形態に係る三次元構造物の製造装置100によって作成された2D展開図の一例を示す。これら3Dセグメントに対応する2Dセグメントには、それぞれ識別番号が付与されている。
図33は、この2Dセグメントに割り当てられた識別番号同士の接続を表したグラフを示す。
この図32に示す2D展開図から2Dセグメントを切り抜き、組み立てると、三次元構造物を製造することができる。図34(a)には本実施形態に用いた、基のモデルとなる3Dモデルの一例を示し、図34(b)には、本実施形態に係る組立後の三次元構造物の一例を示す。

【0108】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。

【0109】
また、本実施の形態に係る三次元構造物の製造装置100は、内部にコンピュータシステムを有している。そして、動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいう「コンピュータシステム」とは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。

【0110】
また、各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、また、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、検出対象物の形状情報の推定値を算出する処理を行ってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。

【0111】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。

【0112】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【産業上の利用可能性】
【0113】
本発明の三次元構造物の製造方法、製造装置又はプログラムを用いれば、例えば、3DのメッシュデータやCADデータから実物モデルを簡便に作成することができ、二次元形状の金属、樹脂、複合材料等の素材から車体、航空機、船舶等の三次元構造物の設計開発及び製造やサンプル模型の製作、精度の高い折紙遊具の作成に利用することが可能である。
【符号の説明】
【0114】
1 セグメンテーション部
2 帯状分割部
3 結合部
4 評価部
5 製作化部
6 記憶部
Drawing
(In Japanese)【図1】
0
(In Japanese)【図2】
1
(In Japanese)【図3】
2
(In Japanese)【図4】
3
(In Japanese)【図5】
4
(In Japanese)【図6】
5
(In Japanese)【図7】
6
(In Japanese)【図8】
7
(In Japanese)【図9】
8
(In Japanese)【図10】
9
(In Japanese)【図11】
10
(In Japanese)【図12】
11
(In Japanese)【図13】
12
(In Japanese)【図14】
13
(In Japanese)【図15】
14
(In Japanese)【図16】
15
(In Japanese)【図17】
16
(In Japanese)【図18】
17
(In Japanese)【図19】
18
(In Japanese)【図20】
19
(In Japanese)【図21】
20
(In Japanese)【図22】
21
(In Japanese)【図23】
22
(In Japanese)【図24】
23
(In Japanese)【図25】
24
(In Japanese)【図26】
25
(In Japanese)【図27】
26
(In Japanese)【図28】
27
(In Japanese)【図29】
28
(In Japanese)【図30】
29
(In Japanese)【図31】
30
(In Japanese)【図32】
31
(In Japanese)【図33】
32
(In Japanese)【図34】
33