(57)【特許請求の範囲】
【請求項１】
三次元構造物の面を構成する複数の面要素が連なった面要素群の輪郭を示す輪郭線と、隣接する前記面要素の間を区切る折線とを含む展開図、および接合すべき輪郭線の対を示す情報を取得する展開図取得部と、
前記面要素の頂点であって輪郭線に接続されない点である内包点に接続する２つの折線を、輪郭線の対に変換することで前記展開図を分割する切断部と、
２つの前記展開図に含まれる前記輪郭線の対を１つの折線に変換することで前記展開図を接合する接合部と
を備える展開図作成装置。
【請求項２】
前記切断部が、内包点と輪郭線に接続される端点とを接続する折線を、輪郭線の対に変換する
請求項１に記載の展開図作成装置。
【請求項３】
前記接合部が、前記面要素に重複部分が生じないように前記展開図を接合する
請求項１または請求項２に記載の展開図作成装置。
【請求項４】
前記面要素に重複部分が生じないように前記展開図を接合することができない場合に、前記切断部が、２つの内包点を接続する折線および当該内包点と輪郭線とを接続する折線を、それぞれ輪郭線の対に変換することで前記展開図を分割する
請求項１から請求項３の何れか１項に記載の展開図作成装置。
【請求項５】
複数の内包点が複数の折線を介して接続される場合に、前記切断部が、当該複数の内包点に接続される最小の数の連続する折線と、当該内包点と前記輪郭線とを接続する折線とを、それぞれ輪郭線の対に変換する
請求項４に記載の展開図作成装置。
【請求項６】
前記面要素をノードとし、前記折線をリンクとする接続グラフを生成する接続グラフ生成部をさらに備え、
前記切断部が、前記接続グラフに閉路が存在する場合に、当該閉路を構成するリンクに対応する折線を、輪郭線の対に変換する
請求項１から請求項５の何れか１項に記載の展開図作成装置。
【請求項７】
展開図作成装置が、三次元構造物の面を構成する複数の面要素が連なった面要素群の輪郭を示す輪郭線と、隣接する前記面要素の間を区切る折線とを含む展開図、および接合すべき輪郭線の対を示す情報を取得するステップと、
前記展開図作成装置が、前記面要素の頂点であって輪郭線に接続されない点である内包点に接続する２つの折線を、輪郭線の対に変換することで前記展開図を分割するステップと、
前記展開図作成装置が、２つの前記展開図に含まれる前記輪郭線の対を１つの折線に変換することで前記展開図を接合するステップと
を有する展開図データの作成方法。
【請求項８】
コンピュータを、
三次元構造物の面を構成する複数の面要素が連なった面要素群の輪郭を示す輪郭線と、隣接する前記面要素の間を区切る折線とを含む展開図、および接合すべき輪郭線の対を示す情報を取得する展開図取得部、
前記面要素の頂点であって輪郭線に接続されない点である内包点に接続する２つの折線を、輪郭線の対に変換することで前記展開図を分割する切断部、
２つの前記展開図に含まれる前記輪郭線の対を１つの折線に変換することで前記展開図を接合する接合部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、展開図作成装置、展開図データの作成方法、およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、三次元構造物を再現するための展開図を作成する方法が開示されている。このような技術により生成された展開図に基づいて三次元構造物を再現するには、手作業による折り曲げおよび接着が必要とされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２０３３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
展開図に基づいて三次元構造物を再現するために、折り曲げおよび接着を機械に実行させることが求められている。しかしながら、展開図によっては、中割り折りやかぶせ折りなど、複数の折線を同時に折り曲げる作業が必要となる場合がある。このような複雑な動作を可能とする機械は高価であり、また複雑な制御を要する。また、展開図を複数に分割することによって、折り曲げの動作を容易にしても、接着箇所が増えたり、展開図の枚数が増えたりすることによってかえって複雑な動作が必要となるという課題があった。
【０００５】
本発明の目的は、複数の折線を同時に折り曲げることなしに三次元構造物を再現できる展開図を作成する展開図作成装置、展開図データの作成方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、展開図作成装置は、三次元構造物の面を構成する複数の面要素が連なった面要素群の輪郭を示す輪郭線と、隣接する前記面要素の間を区切る折線とを含む展開図、および接合すべき輪郭線の対を示す情報を取得する展開図取得部と、前記面要素の頂点であって輪郭線に接続されない点である内包点に接続する２つの折線を、輪郭線の対に変換することで前記展開図を分割する切断部と、２つの前記展開図に含まれる前記輪郭線の対を１つの折線に変換することで前記展開図を接合する接合部とを備える。
【０００７】
本発明の第２の態様によれば、第１の態様に係る展開図作成装置は、前記切断部が、内包点と輪郭線に接続される端点とを接続する折線を、輪郭線の対に変換する。
【０００９】
本発明の第３の態様によれば、第１または第２の態様に係る展開図作成装置は、前記接合部が、前記面要素に重複部分が生じないように前記展開図を接合する。
【００１０】
本発明の第４の態様によれば、第１から第３の何れかの態様に係る展開図作成装置は、前記面要素に重複部分が生じないように前記展開図を接合することができない場合に、前記切断部が、２つの内包点を接続する折線および当該内包点と輪郭線とを接続する折線を、それぞれ輪郭線の対に変換することで前記展開図を分割する。
【００１１】
本発明の第５の態様によれば、第４の態様に係る展開図作成装置は、複数の内包点が複数の折線を介して接続される場合に、前記切断部が、当該複数の内包点に接続される最小の数の連続する折線と、当該内包点と前記輪郭線とを接続する折線とを、それぞれ輪郭線の対に変換する。
【００１２】
本発明の第６の態様によれば、第１から第５の何れかの態様に係る展開図作成装置は、前記面要素をノードとし、前記折線をリンクとする接続グラフを生成する接続グラフ生成部をさらに備え、前記切断部が、前記接続グラフに閉路が存在する場合に、当該閉路を構成するリンクに対応する折線を、輪郭線の対に変換する。
【００１３】
本発明の第７の態様によれば、展開図データの作成方法は、展開図作成装置が、三次元構造物の面を構成する複数の面要素が連なった面要素群の輪郭を示す輪郭線と、隣接する前記面要素の間を区切る折線とを含む展開図、および接合すべき輪郭線の対を示す情報を取得するステップと、前記展開図作成装置が、前記面要素の頂点であって輪郭線に接続されない点である内包点に接続する２つの折線を、輪郭線の対に変換することで前記展開図を分割するステップと、前記展開図作成装置が、２つの前記展開図に含まれる前記輪郭線の対を１つの折線に変換することで前記展開図を接合するステップとを有する。
【００１４】
本発明の第８の態様によれば、プログラムは、コンピュータを、三次元構造物の面を構成する複数の面要素が連なった面要素群の輪郭を示す輪郭線と、隣接する前記面要素の間を区切る折線とを含む展開図、および接合すべき輪郭線の対を示す情報を取得する展開図取得部、前記面要素の頂点であって輪郭線に接続されない点である内包点に接続する２つの折線を、輪郭線の対に変換することで前記展開図を分割する切断部、２つの前記展開図に含まれる前記輪郭線の対を１つの折線に変換することで前記展開図を接合する接合部として機能させる。
【発明の効果】
【００１５】
上記態様のうち少なくとも１つの態様によれば、展開図作成装置は、複数の折線を同時に折り曲げることなしに三次元構造物を再現できる展開図データを作成することができる。
【図面の簡単な説明】
【００１６】
【図１】一実施形態に係る展開図作成装置の構成を示す概略ブロック図である。
【図２】展開図データの第１の例を示す図である。
【図３】接続グラフの第１の例を示す図である。
【図４】一実施形態に係る展開図データの作成方法を示すフローチャートである。
【図５】展開図の第２の例を示す図である。
【図６】接続グラフの第２の例を示す図である。
【図７】接続グラフの第３の例を示す図である。
【図８】展開図の第３の例を示す図である。
【図９】一実施形態に係る展開図作成装置によって出力される展開図の例を示す図である。
【図１０】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら実施形態について詳しく説明する。
図１は、一実施形態に係る展開図作成装置の構成を示す概略ブロック図である。
展開図作成装置１は、展開図取得部１０１、展開図記憶部１０２、グラフ生成部１０３、グラフ記憶部１０４、グラフ処理部１０５、切断部１０６、接合部１０７、出力部１０８を備える。
【００１８】
展開図取得部１０１は、三次元構造物を再現するための展開図データを取得する。展開図取得部１０１は、例えば、特許文献１に記載の技術に基づいて生成した展開図データを取得する。なお、展開図データの取得方法は特に限定されない。
図２は、展開図データの第１の例を示す図である。
展開図データ２は、展開図２１と接合対応情報２２とを有する。展開図２１は、三次元構造物が有する全ての面要素２１１を二次元平面上に表した図面である。面要素とは、三次元構造物の表面をメッシュ分割した際のメッシュ１つ分のことを指す。メッシュの形状としては３角形、４角形、５角形、６角形等が挙げられるが特に限定されない。展開図２１は、面要素２１１、折線２１２、輪郭線２１３、およびのりしろ面２１４を有する。折線２１２は、展開図２１において隣接する面要素２１１の間を区切る線である。折線２１２は、当該線に沿って折り曲げられることにより、三次元構造物の稜線を形成する。なお、折線２１２は、三角ポリゴンモデルにおいて、ｎ角形（ｎは４以上の整数）の平面を三角形の領域に区切るための線であっても良い。このような折線２１２は折り曲げられないため、三次元構造物の稜線を形成しない。また、折線２１２は山折りをするための折線、谷折りをするための折線のいずれでもよく、再現する三次元構造物の形状に合わせて適宜選択できる。輪郭線２１３は、面要素２１１が連なった面要素群の輪郭を示す線である。輪郭線２１３は、対応する他の輪郭線２１３と接合することにより、三次元構造物の稜線を形成する。つまり、面要素２１１は、折線２１２または輪郭線２１３によって囲まれた領域である。のりしろ面２１４は、輪郭線２１３を介して面要素２１１に隣接して設けられる面である。のりしろ面２１４は、対応する輪郭線２１３どうしを接合する接着剤を塗布するために設けられる。
図２に示す展開図２１には、４つの面要素２１１（ａ１）〜（ａ４）、３つの折線２１２（ａ１）〜（ａ３）、６つの輪郭線２１３（ａ１）〜（ａ６）、および３つののりしろ面２１４（ａ１）〜（ａ３）が含まれる。面要素２１１、折線２１２、輪郭線２１３およびのりしろ面２１４に付された丸括弧内の符号は、各要素を特定するための識別子である。面要素２１１（ａ１）は、折線２１２（ａ１）、輪郭線２１３（ａ１）および輪郭線２１３（ａ２）に囲まれる面である。面要素２１１（ａ２）は、折線２１２（ａ１）、折線２１２（ａ２）および折線２１２（ａ３）に囲まれる面である。面要素２１１（ａ３）は、折線２１２（ａ２）、輪郭線２１３（ａ３）および輪郭線２１３（ａ４）に囲まれる面である。面要素２１１（ａ４）は、折線２１２（ａ３）、輪郭線２１３（ａ５）および輪郭線２１３（ａ６）に囲まれる面である。のりしろ面２１４（ａ１）は、輪郭線２１３（ａ１）を介して面要素２１１（ａ１）に隣接して設けられる。のりしろ面２１４（ａ２）は、輪郭線２１３（ａ４）を介して面要素２１１（ａ３）に隣接して設けられる。のりしろ面２１４（ａ３）は、輪郭線２１３（ａ５）を介して面要素２１１（ａ４）に隣接して設けられる。
接合対応情報２２は、三次元構造物を再現するために接合する必要がある輪郭線２１３の対を関連付けた情報である。当該輪郭線２１３の対は、１つの稜線を形成する。
図２に示す接合対応情報２２は、輪郭線２１３（ａ１）と輪郭線２１３（ａ３）の対、輪郭線２１３（ａ２）と輪郭線２１３（ａ５）の対、および輪郭線２１３（ａ４）と輪郭線２１３（ａ６）の対を関連付けた情報である。
展開図記憶部１０２は、展開図取得部１０１が取得した展開図データ２を記憶する。
【００１９】
グラフ生成部１０３は、展開図取得部１０１が取得した展開図データ２に基づいて接続グラフを生成する。
図３は、接続グラフの第１の例を示す図である。図３に示す接続グラフ３０は、図２に示す展開図データ２に対応するものである。
接続グラフ３０は、面要素２１１に対応するノード３０１と、折線２１２に対応するリンク３０２とを有する無向グラフである。
図３に示す接続グラフ３０には、４つのノード３０１（ａ１）〜（ａ４）および３つのリンク３０２（ａ１）〜（ａ３）が含まれる。ノード３０１およびリンク３０２に付された丸括弧内の符号は、各要素を特定するための識別子である。ノード３０１（ａ１）は、面要素２１１（ａ１）に対応するノードである。ノード３０１（ａ２）は、面要素２１１（ａ２）に対応するノードである。ノード３０１（ａ３）は、面要素２１１（ａ３）に対応するノードである。ノード３０１（ａ４）は、面要素２１１（ａ４）に対応するノードである。リンク３０２（ａ１）は、折線２１２（ａ１）に対応するリンクであり、ノード３０１（ａ１）とノード３０１（ａ２）を接続する。リンク３０２（ａ２）は、折線２１２（ａ２）に対応するリンクであり、ノード３０１（ａ２）とノード３０１（ａ３）を接続する。リンク３０２（ａ３）は、折線２１２（ａ３）に対応するリンクであり、ノード３０１（ａ２）とノード３０１（ａ４）を接続する。
【００２０】
グラフ記憶部１０４は、グラフ生成部１０３が生成した接続グラフ３０を記憶する。
グラフ処理部１０５は、グラフ記憶部１０４が記憶する接続グラフ３０を木構造に変換する処理を行う。
切断部１０６は、展開図記憶部１０２が記憶する展開図２１に含まれる内包点に接続する折線２１２を、輪郭線２１３の対に変換する。これにより、１つの展開図２１を複数の展開図２１に分割することができる。内包点とは、面要素２１１の頂点であって輪郭線２１３に接続されない点である。
接合部１０７は、展開図記憶部１０２が記憶する接合対応情報２２が示す輪郭線２１３の対を、折線２１２に変換する。これにより、複数の展開図２１を１つの展開図２１に接合することができる。
出力部１０８は、展開図記憶部１０２が記憶する展開図データ２を出力する。例えば、出力部１０８が展開図データ２を印刷機に出力することで、所定のシートに展開図データ２を印刷することができる。また例えば、出力部１０８が展開図データ２をレーザカッターなどの切断装置に出力することで、展開図データ２に基づいてシートを切断することができる。シートの例としては、紙、金属箔、プラスチックシートなどの折り曲げ可能なシートが挙げられる。
【００２１】
次に、本実施形態に係る展開図作成装置１の動作を説明する。
図４は、一実施形態に係る展開図データの作成方法を示すフローチャートである。
展開図作成装置１の展開図取得部１０１は、利用者または外部装置からの入力により、展開図データ２を取得する（ステップＳ１）。展開図取得部１０１は、取得した展開図データ２を展開図記憶部１０２に記録する（ステップＳ２）。
次に、グラフ生成部１０３は、展開図取得部１０１が取得した展開図データ２に基づいて、面要素２１１をノード３０１とし、折線２１２をリンク３０２とする接続グラフ３０を生成する（ステップＳ３）。グラフ生成部１０３は、生成した接続グラフ３０をグラフ記憶部１０４に記録する（ステップＳ４）。
【００２２】
次に、グラフ処理部１０５は、グラフ記憶部１０４が記憶する接続グラフ３０に閉路が存在するか否かを判定する（ステップＳ５）。閉路とは、リンク３０２を介してノード３０１たどった場合に、始点のノード３０１と終点のノード３０１が一致する経路である。なお、接続グラフ３０のリンク３０２は折線２１２に対応するため、接続グラフ３０に閉路が存在するということは、展開図２１に内包点が存在することと等しい。
【００２３】
図５は、展開図の第２の例を示す図である。
図５に示す展開図２１には、６つの面要素２１１（ｂ１）〜（ｂ６）と、６つの折線２１２（ｂ１）〜（ｂ６）とが含まれる。面要素２１１（ｂ１）と面要素２１１（ｂ２）の間には、折線２１２（ｂ１）が設けられる。面要素２１１（ｂ２）と面要素２１１（ｂ３）の間には、折線２１２（ｂ２）が設けられる。面要素２１１（ｂ３）と面要素２１１（ｂ４）の間には、折線２１２（ｂ３）が設けられる。面要素２１１（ｂ４）と面要素２１１（ｂ５）の間には、折線２１２（ｂ４）が設けられる。面要素２１１（ｂ５）と面要素２１１（ｂ６）の間には、折線２１２（ｂ５）が設けられる。面要素２１１（ｂ６）と面要素２１１（ｂ１）の間には、折線２１２（ｂ６）が設けられる。
このような展開図２１において、折線２１２（ｂ１）〜（ｂ６）は、共通する端点Ｐを有する。図５に示すように、端点Ｐは、輪郭線２１３に接しない内包点である。
【００２４】
図６は、接続グラフの第２の例を示す図である。
図５に示す展開図２１の変換により、図６に示す接続グラフ３０が生成される。図６に示す接続グラフ３０には、６つのノード３０１（ｂ１）〜（ｂ６）と、６つのリンク３０２（ｂ１）〜（ｂ６）とが含まれる。リンク３０２（ｂ１）は、ノード３０１（ｂ１）とノード３０１（ｂ２）とを接続する。リンク３０２（ｂ２）は、ノード３０１（ｂ２）とノード３０１（ｂ３）とを接続する。リンク３０２（ｂ３）は、ノード３０１（ｂ３）とノード３０１（ｂ４）とを接続する。リンク３０２（ｂ４）は、ノード３０１（ｂ４）とノード３０１（ｂ５）とを接続する。リンク３０２（ｂ５）は、ノード３０１（ｂ５）とノード３０１（ｂ６）とを接続する。リンク３０２（ｂ６）は、ノード３０１（ｂ６）とノード３０１（ｂ１）とを接続する。つまり、図６に示す接続グラフ３０は、リンク３０２（ｂ１）〜（ｂ６）からなる閉路を有する。当該閉路は、図５に示す端点Ｐに対応する。
【００２５】
接続グラフ３０に閉路が存在する場合（ステップＳ５：ＹＥＳ）、グラフ処理部１０５は、閉路を形成する任意のノード３０１を１つ選択し、当該ノード３０１に接続するリンク３０２のうち当該閉路を形成するものを切断する（ステップＳ６）。これにより、グラフ記憶部１０４が記憶する接続グラフ３０は２つの接続グラフ３０に分割される。なお、本実施形態に係る接合部１０７は、任意のノード３０１を選択するが、これに限られない。例えば他の実施形態では、所定の優先順位に従ってノード３０１を選択しても良い。優先順位の例としては、当該ノード３０１から閉路の外側へ伸びる経路の長さ（木構造における木の高さ）が短いほど高い優先順位や、当該ノード３０１に対応する面要素２１１の面積が小さいほど高い優先順位などが挙げられる。当該優先順位が高いほど、後述の展開図２１の接合処理において、重複部分が生じる確率が低い。重複部分とは、展開図２１を平面上に置いて、当該平面に垂直な方向から展開図２１を観察した場合に、２つ以上の面要素２１１の一部、２つ以上のりしろ面２１４の一部、または面要素２１１とのりしろ面２１４の一部が重なる部分である。
なお、共通のリンク３０２を有する閉路群が存在する場合、グラフ処理部１０５は、当該閉路群の輪郭の頂点に相当するノード３０１を１つ選択し、当該ノード３０１に接続するリンク３０２のうち当該閉路群の輪郭を形成するものを切断する。閉路群の輪郭の頂点に相当しないノード３０１は、全ての頂点を内包点とする面要素２１１に相当する。このような面要素２１１は、輪郭線２１３を有しないため、当該面要素２１１を分割した場合、後述する展開図２１の接合処理において展開図２１を接合することができない。
【００２６】
図７は、接続グラフの第３の例を示す図である。
ここで、共通のリンク３０２を有する閉路群の例を挙げる。図７に示す接続グラフ３０には、１０個のノード３０１（ｃ１）〜（ｃ１０）と、１２個のリンク３０２（ｃ１）〜（ｃ１２）とが含まれる。図７に示す接続グラフ３０は、リンク３０２（ｃ１）、リンク３０２（ｃ２）、リンク３０２（ｃ３）、リンク３０２（ｃ１０）およびリンク３０２（ｃ１１）からなる閉路と、リンク３０２（ｃ４）、リンク３０２（ｃ５）、リンク３０２（ｃ６）、リンク３０２（ｃ１１）およびリンク３０２（ｃ１２）からなる閉路と、リンク３０２（ｃ７）、リンク３０２（ｃ８）、リンク３０２（ｃ９）、リンク３０２（ｃ１０）およびリンク３０２（ｃ１２）からなる閉路とを有する。これらの閉路は、共通のリンク３０２を有する閉路群を構成する。
【００２７】
図８は、展開図の第３の例を示す図である。
図７に示す接続グラフ３０は、図８に示す展開図２１に相当するものである。図８に示す展開図２１には、１０個の面要素２１１（ｃ１）〜（ｃ１０）と、１３個の折線２１２（ｃ１）〜（ｃ１３）と、８個の輪郭線２１３（ｃ１）〜（ｃ８）とが含まれる。ここで、当該閉路群の輪郭を形成しないリンク３０２（ｃ１０）〜（ｃ１２）に相当する折線２１２（ｃ１０）〜（ｃ１２）は、いずれもが２つの内包点を接続する折線２１２である。ここで、図８に示すように、閉路群の輪郭の頂点に相当しないノード３０１（ｃ１０）に相当する面要素２１１（ｃ１０）は、全ての頂点Ｐ１〜Ｐ３が内包点となっている。当該面要素２１１を切断することで展開図２１を分割しても、輪郭線２１３に接続することができない。
【００２８】
次に、切断部１０６は、グラフ処理部１０５が切断したリンク３０２に対応する折線２１２を輪郭線２１３の対に変換する（ステップＳ７）。つまり、切断部１０６は、展開図記憶部１０２が記憶する展開図２１を２つの展開図２１に分割し、展開図記憶部１０２が記憶する接合対応情報２２に、折線２１２から変換した輪郭線２１３の対を追加する。なお、グラフ処理部１０５が切断したリンク３０２に対応する折線２１２は、内包点と輪郭線２１３に接続される端点とを接続する折線２１２となる。
【００２９】
次に、接合部１０７は、展開図記憶部１０２が記憶する接合対応情報２２を参照し、分割された２つの展開図２１それぞれに分かれて存在する輪郭線２１３の対であって、ステップＳ７で変換されたものでないものを特定する（ステップＳ８）。次に、接合部１０７は、特定した輪郭線２１３の対を折線２１２に変換した場合に、面要素２１１に重複部分が生じるか否かを判定する（ステップＳ９）。つまり接合部１０７は、特定した輪郭線２１３の対の折線２１２への変換を検討する。面要素２１１に重複部分が生じない場合（ステップＳ９：ＮＯ）、接合部１０７は、特定した輪郭線２１３の対を折線２１２に変換し、展開図記憶部１０２が記憶する展開図データ２を更新する（ステップＳ１０）。つまり、接合部１０７は、切断部１０６により分割された２つの展開図２１を１つの展開図２１に接合し、展開図記憶部１０２が記憶する接合対応情報２２から、折線２１２に変換した輪郭線２１３の対を削除する。このとき接合部１０７は、折線２１２に変換した輪郭線２１３に隣接するのりしろ面２１４を削除し、切断部１０６が変換した輪郭線２１３の対の一方に隣接するのりしろ面２１４を追加する。
次に、グラフ処理部１０５は、接合部１０７が変換した折線２１２によって区画される２つの面要素２１１に対応する２つのノード３０１を、新たなリンク３０２で接続し、グラフ記憶部１０４が記憶する接続グラフ３０を更新する（ステップＳ１１）。つまりグラフ処理部１０５は、接続グラフ３０に、接合部１０７が変換した折線２１２に対応するリンク３０２を追加する。そして展開図作成装置１は、ステップＳ５に戻り、更新された接続グラフ３０について、閉路の有無の判定を行う。
【００３０】
他方、特定した輪郭線２１３の対を折線２１２に変換することで面要素２１１に重複部分が生じる場合（ステップＳ９：ＹＥＳ）、接合部１０７は、分割された２つの展開図２１それぞれに分かれて存在する輪郭線２１３の対のうち、折線２１２への変換が未検討であるものが存在するか否かを判定する（ステップＳ１２）。折線２１２への変換を検討していない輪郭線２１３の対がある場合（ステップＳ１２：ＹＥＳ）、ステップＳ８に戻り、当該輪郭線２１３の対について折線２１２への変換を検討する。つまり、接合部１０７は、面要素２１１に重複部分が生じないように、展開図２１を接合する。他方、全ての輪郭線２１３の対について折線２１２への変換を検討した場合（ステップＳ１２：ＮＯ）、グラフ処理部１０５は、ステップＳ６におけるリンク３０２の切断を取り消す（ステップＳ１３）。つまり、グラフ処理部１０５は、ステップＳ６でリンク３０２が切断された２つのノード３０１を、再度リンク３０２で接続する。
【００３１】
次に、グラフ処理部１０５は、閉路を構成するノード３０１のうち、リンク３０２の切断が未検討の他のノード３０１が存在するか否かを判定する（ステップＳ１４）。リンク３０２の切断を検討していない他のノード３０１が存在する場合（ステップ１４：ＹＥＳ）、グラフ処理部１０５は、ステップＳ６に戻り当該ノード３０１に接続されるリンク３０２の切断を検討する。
他方、閉路を構成する全てのノード３０１について、リンク３０２の切断を検討した場合（ステップＳ１４：ＮＯ）、グラフ処理部１０５は、当該閉路が、共通のリンク３０２を有する閉路群であるか否かを判定する（ステップＳ１５）。当該閉路が共通のリンク３０２を有する閉路群でない場合（ステップＳ１５：ＮＯ）、グラフ処理部１０５は、当該閉路を構成する任意のノード３０１に接続するリンク３０２のうち当該閉路を構成するものを切断する（ステップＳ１６）。これにより、グラフ処理部１０５は、１つの接続グラフ３０を２つの接続グラフ３０に分割する。
【００３２】
他方、当該閉路が共通のリンク３０２を有する閉路群である場合（ステップＳ１５：ＹＥＳ）、グラフ処理部１０５は、当該閉路群を構成する各閉路をノードとし、閉路に共通のリンク３０２をリンクとする閉路グラフを作成する（ステップＳ１７）。つまり、閉路グラフのノードは、展開図２１の内包点に対応し、閉路グラフのリンクは、内包点どうしを接続する折線２１２に対応する。次に、グラフ処理部１０５は、閉路グラフの最大数のノードを辿ることができる最小の経路（リンクの組み合わせ）を探索する（ステップＳ１８）。閉路グラフの最大数のノードを辿ることができる最小の経路が複数ある場合、グラフ処理部１０５は、任意の経路を選択する。なお、他の実施形態では、グラフ処理部１０５は、閉路グラフの各リンクに、当該リンクに対応する折線２１２の長さに相当する重みを与え、重みの和が最小となる経路を探索しても良い。
【００３３】
次に、グラフ処理部１０５は、接続グラフ３０のリンク３０２のうち、探索された経路に対応するリンク３０２と、当該経路の始点に接続するリンク３０２と、当該経路の始点に接続するリンク３０２とを切断し（ステップＳ１９）、グラフ記憶部１０４が記憶する接続グラフ３０を更新する。これにより、グラフ処理部１０５は、できる限り多くの閉路を解消するように接続グラフ３０を分割することができる。
例えば、図７に示す接続グラフ３０および図８に示す展開図２１に基づいて生成される閉路グラフは、内包点Ｐ１〜Ｐ３をノードとし、Ｐ１とＰ３を接続するリンク３０２（ｃ１０）、Ｐ１とＰ２を接続するリンク３０２（ｃ１１）、およびＰ２とＰ３を接続するリンク３０２（ｃ１２）をリンクとするグラフである。当該閉路グラフの最大数のノードを辿ることができる経路としては、リンク３０２（ｃ１１）に相当するリンクとリンク３０２（ｃ１２）に相当するリンクとを辿る経路が挙げられる。この場合、グラフ処理部１０５は、ステップＳ１９において、経路に対応するリンク３０２（ｃ１１）およびリンク３０２（ｃ１２）と、経路の始点に接続するリンク３０２（ｃ３）と、経路の終点に接続するリンク３０２（ｃ７）とを切断する。これにより、グラフ処理部１０５は、図７に示す接続グラフ３０から閉路をなくすことができる。
【００３４】
ステップＳ１６またはステップＳ１９で接続グラフ３０が分割されると、切断部１０６は、グラフ処理部１０５が切断したリンク３０２に対応する折線２１２を、輪郭線２１３の対に変換し（ステップＳ２０）、展開図記憶部１０２が記憶する展開図データ２を更新する。これにより、切断部１０６は、１つの展開図２１を２つの展開図２１に分割することができる。このとき、分割された展開図２１における内包点の数は、分割された接続グラフ３０の閉路の数と同じ数になる。なお、接続グラフ３０が閉路をできる限り少なくするように分割されているため、ステップＳ２０の処理は、内包点の数をできる限り少なくするように展開図２１を分割することと等価である。展開図作成装置１は、展開図２１および接続グラフ３０を分割すると、ステップＳ５に戻り、各接続グラフ３０について、閉路の有無の判定を行う。
【００３５】
グラフ記憶部１０４が記憶する接続グラフ３０に閉路が存在しない場合（ステップＳ５：ＮＯ）、すなわち接続グラフ３０が木構造になっている場合、出力部１０８は、展開図記憶部１０２が記憶する展開図データ２を出力し（ステップＳ２１）、処理を終了する。これにより、展開図作成装置１は、内包点のない展開図２１、すなわち全ての折線２１２の端点が輪郭線２１３に接する展開図２１を出力することができる。
【００３６】
ここで、本実施形態によって出力される展開図２１によって、複数の折線２１２を同時に折り曲げることなしに三次元構造物を再現することができる理由を説明する。
図５には、内包点Ｐを有する展開図２１の例が挙げられている。図５に示す展開図２１に従って三次元構造物を作成する場合、折線２１２（ｂ５）を折り曲げる際、内包点Ｐを中心に、折線２１２（ｂ１）〜（ｂ６）を同時に折り曲げる必要がある。これは、内包点Ｐを頂点に有する面要素２１１が、複数のルーチンから変形を受けるためである。例えば、面要素２１１（ｂ１）を折線２１２（ｂ１）、に沿って折り曲げると、面要素２１１（ｂ２）が変形する。当該変形は、折線２１２（ｂ２）を介して面要素２１１（ｂ３）へ影響する。同様に、当該変形は、面要素２１１（ｂ４）、面要素２１１（ｂ５）、および面要素２１１（ｂ６）に影響する。他方、面要素２１１（ｂ１）を折線２１２（ｂ６）、に沿って折り曲げると、面要素２１１（ｂ６）が変形する。このように、面要素２１１（ｂ６）は、２つのルーチンから変形を受ける。また、図５に示す展開図２１は、１つの折線２１２を折り曲げる際に、シートの一端から他端までを折り曲げると、折線２１２のない部分までも折り曲げられてしまう可能性がある。例えば、折線２１２（ｂ４）に沿ってシートの一端から他端までを折り曲げると、折線２１２のない面要素２１１（ｂ１）までもが折り曲げられてしまう。
【００３７】
図９は、一実施形態に係る展開図作成装置によって出力される展開図の例を示す図である。
図９に示す展開図２１には、内包点が存在しない。つまり、全ての折線２１２の両端が輪郭線２１３に接続される。したがって、全ての面要素２１１が１つのルーチンからのみ変形を受けるため、図９に示す展開図２１に従って三次元構造物を作成する場合、全ての折線２１２を、シートの一端から他端まで折り曲げることができる。
【００３８】
したがって、本実施形態に係る作成方法によって作成された展開図２１を用いることで、２つのアームを有する工作機械の単純な制御によって三次元構造物を作成することができる。具体的には、以下の手順で三次元構造物を作成することが出来る。
まず、工作機械の第１のアームは、展開図２１の輪郭線２１３に沿って切り取られたシートを折線２１２に沿って押さえる。次に、工作機械の第２のアームは、第１のアームによって押さえられたシートを、折線２１２に沿って折り曲げる。このとき、折線２１２の両端は輪郭線２１３に接続されるため、第２のアームは、シートの一端から他端までを折線２１２に沿ってスライドさせることで、シートを折線２１２に沿って折り曲げることができる。以降、工作機械は、上記動作を全ての折線２１２について繰り返し実行する。このように、工作機械は、単純な制御によって、三次元構造物を作成することができる。なお、工作機械の構造は、２つのアームを有するものに限られない。
【００３９】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述した実施形態に係る展開図２１は、のりしろ面２１４を含むが、これに限られない。例えば、他の実施形態において、シートに十分な厚みがあり切断面に接着剤を塗布できる場合、およびテープなどの接着面を有する接着手段を用いる場合、切断面を合わせるようにシートを接合するため、展開図２１にはのりしろ面２１４が含まれなくても良い。この場合、展開図作成装置１は、ステップＳ７〜Ｓ２０の手順により展開図２１を変形させなくても良い。つまり、展開図作成装置１は、内包点に接続する折線２１２を輪郭線２１３の対に変換するだけでも、複数の折線２１２を同時に折り曲げることなしに三次元構造物を再現することができる展開図２１を作成することができる。つまり、本実施形態に係るステップＳ７〜Ｓ２０の手順は、のりしろ面２１４を設けるための余白を得るためになされるものである。
なお、他の実施形態に係る展開図作成装置１は、接合部１０７を機能させずに（ステップＳ１０およびステップＳ１１を実行せずに）、複数の展開図２１に対応する展開図データを出力しても良い。この場合、展開図２１の数は最小にはならないものの、展開図作成装置１は、複数の折線２１２を同時に折り曲げることなしに三次元構造物を再現することができる展開図２１を作成することができる。
【００４０】
図１０は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ９００は、ＣＰＵ９０１、主記憶装置９０２、補助記憶装置９０３、インタフェース９０４を備える。
上述の展開図作成装置１は、コンピュータ９００に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置９０３に記憶されている。ＣＰＵ９０１は、プログラムを補助記憶装置９０３から読み出して主記憶装置９０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ９０１は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置９０２に確保する。
【００４１】
なお、少なくとも１つの実施形態において、補助記憶装置９０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース９０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムを主記憶装置９０２に展開し、上記処理を実行しても良い。
【００４２】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置９０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４３】
１  展開図作成装置
１０１  展開図取得部
１０２  展開図記憶部
１０３  グラフ生成部
１０４  グラフ記憶部
１０５  グラフ処理部
１０６  切断部
１０７  接合部
１０８  出力部
２  展開図データ
２１  展開図
２２  接合対応情報
２１１  面要素
２１２  折線
２１３  輪郭線
２１４  のりしろ面
３０  接続グラフ
３０１  ノード
３０２  リンク
【図１】
0006529025.tif 000002
【図２】
0006529025.tif 000003
【図３】
0006529025.tif 000004
【図４】
0006529025.tif 000005
【図５】
0006529025.tif 000006
【図６】
0006529025.tif 000007
【図７】
0006529025.tif 000008
【図８】
0006529025.tif 000009
【図９】
0006529025.tif 000010
【図１０】
0006529025.tif 000011