以下、図面を参照しながら本発明の各実施形態を説明する。本発明は、例えばデジタル一眼レフやデジタルコンパクトカメラに限らず、デジタルビデオカメラ、携帯電話、3次元スキャナ及びコンピュータ装置における3次元印刷データの生成装置等に適用可能である。
[第1実施形態]
図1は、本発明の第1実施形態に係る印刷データ分割装置100の構成を示す。図1に示されるように、印刷データ分割装置100は、一般的なコンピュータを用いて構成可能である。
印刷データ分割装置100は、内部バス108に接続された中央演算処理部(CPU)101、ハードディスクドライブ(HDD)102、メモリ103、表示制御部104、操作部105、ドライブ装置106及び通信装置109を備える。内部バス108に接続された各部101〜106、109は、内部バス108を介して互いにデータのやりとりを行う。
HDD102には、三次元画像データや二次元画像データやその他のデータ、及びCPU101が動作するための各種プログラムなどが格納される。メモリ103は、例えばRAMからなる。CPU101は、HDD102に格納されたプログラムに従い、メモリ103をワークメモリとして用いて、印刷データ分割装置100の各部を制御する。また、CPU101は、所定のプログラムに基づき機能する入力手段、分割手段、判定手段及び生成手段でもある。なお、CPU101を動作させるためのプログラムは、HDD102に限られず、例えば図示されないROMに予め記憶させておいてもよい。
操作部105は、ユーザの操作を受け付け、操作に応じた制御信号を生成し、CPU101に供給する。例えば、操作部105は、ユーザの操作を受け付ける入力デバイスとして、キーボード等の文字情報入力デバイスや、マウス、スタイラスペン、タッチパネル等のポインティングデバイスなどを有する。なお、タッチパネルは、例えば平面的に構成された操作部105に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。
CPU101は、入力デバイスに対してなされたユーザの操作に応じて操作部105で生成され供給される制御信号に基づき、所定のプログラムに従いこの印刷データ分割装置100の各部102〜106、109を制御する。これにより、印刷データ分割装置100は、ユーザの操作に応じた動作を行う。
表示制御部104は、ディスプレイ107に対して画像を表示させるための表示信号を出力する。例えば、CPU101が所定のプログラムに従い生成した表示制御信号が表示制御部104に供給され、表示制御部104は、この表示制御信号に基づき表示信号を生成し、ディスプレイ107に出力する。また、表示制御部104は、CPU101から供給された表示制御信号に基づき、GUI(Graphical User Interface)を構成するGUI画面をディスプレイ107に対して表示させる。
なお、操作部105としてタッチパネルを用いる場合、操作部105とディスプレイ107とを一体的に構成することができる。例えば、ディスプレイ107の表示を妨げないように、ディスプレイ107の表示面の上層にタッチパネルを取り付け、タッチパネルにおける入力座標と、ディスプレイ107上の表示座標とを対応付けるようにして一体的に構成する。これにより、恰もユーザがディスプレイ107上に表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。
ドライブ装置106は、CDやDVDといった外部記憶媒体(不図示)が装着可能とされ、CPU101の制御に基づき、装着された外部記憶媒体からのデータの読み出しや、当該外部記憶媒体に対するデータの書き込みを行う。なお、ドライブ装置106が装着可能な外部記憶媒体は、CDやDVDといったディスク記録媒体に限られず、例えばメモリカードなどの不揮発性の半導体メモリをドライブ装置106に装着するものとしてもよい。
通信装置109は、CPU101の制御に基づき、LANやインターネットといったネットワーク(不図示)を通じて、印刷データ分割装置100に接続された印刷装置110等の外部機器と通信を行う。印刷装置110は、仕様により印刷可能な最大印刷サイズ(縦、横、厚み)が予め決まっており、印刷データ分割装置100からのデータに応じた印刷物を作製する。
次に、本実施形態の印刷データ分割装置100による、二次元の画素ごとの画像情報と画素ごとの距離情報とを有する三次元画像データから、分割印刷用の三次元形状データの生成方法について説明する。
まず、CPU101は、印刷装置110の最大印刷サイズに基づき、ユーザの希望の印刷縦横サイズ(「希望印刷サイズ」ともいう。)に合わせた元の三次元画像データを複数の領域に分割する。そして、CPU101は、各領域の接合面の厚み及び各領域の三次元画像データ全体内における位置に基づいて、各領域の接合面に対して異なる種類の接ぎ部を設けた分割印刷用の三次元形状データを生成する。
図2は、三次元画像データを分割印刷用の三次元形状データへと変換するフローチャートであり、図3は、接ぎ処理の種類(即ち、接合面に設けられる接ぎ部の種類)を判定するフローチャートである。また、図4は、各領域の位置(行列)に応じて決定される嵌め合いに関する凹凸属性を判定するフローチャートであり、図5は、各領域及びその接合面に設けられる接ぎ部の形状等を表す概念図である。
まず、図2のS201で、CPU101(入力手段)は、表示制御信号を表示制御部104に送り、それに応じて表示制御部104は、使用する印刷装置の縦横厚みの3方向の最大印刷サイズの入力をユーザに促す表示をディスプレイ107に表示する。S202で、CPU101は、操作部105からの制御信号に基づき、ユーザによる最大印刷サイズの入力が確定したかを判定し、確定していればS203へ処理を移す。
S203で、CPU101(入力手段)は、表示制御信号を表示制御部104に送り、表示制御部104は、印刷装置により作製される複数の領域に係る複数の印刷物の接合後の希望印刷縦横サイズの入力をユーザに促す表示をディスプレイ107に表示する。S204で、CPU101は、操作部105からの制御信号に基づき、希望印刷縦横サイズの入力が確定したかを判定し、確定していればS205へ処理を移す。
S205で、CPU101(入力手段)は、表示制御信号を表示制御部104に送り、それに応じて表示制御部104は、希望する接合後の印刷厚みサイズの入力をユーザに促す表示をディスプレイ107に表示する。なお、ユーザが入力できる印刷厚みサイズは、印刷装置110が印刷可能な最大印刷厚みまでに限るようにしてもよい。S206で、CPU101は、操作部105からの制御信号に基づき、ユーザによる希望印刷厚みサイズの入力が確定したかを判定する。確定していればS207へ処理を移す。
ここで、作製される印刷物に係る三次元画像データのうち画素の位置は、印刷縦横サイズに相似な情報になる。また、三次元画像データの各画素が有する距離情報について、三次元印刷するときの各画素間での相対的な距離差は、印刷物の印刷厚みサイズに相似な情報になる。なお、本実施形態において印刷装置110により作製される印刷物は、限定されないがレリーフ形状を想定しており、印刷縦横サイズとはレリーフ形状の縦横サイズに相当する。
S207で、CPU101(分割手段)は、接ぎ部を設けることによる各領域のサイズの増加を見込み、S201で入力された最大印刷サイズの範囲内に収まるように、三次元画像データを複数の領域に行列状に分割する処理(領域分割処理)を行う。なお、CPU101は、HDD102等に予め記憶された値を用いて、接ぎ部を設けることによるサイズの増加程度を判断するようにしてもよいし、印刷装置110等の外部機器から供給された情報を基に当該増加程度を判断するようにしてもよい。なお、この時点では、各領域の接合面には接ぎ部が設けられていないので、各領域は、平面状の接合面を有する。
ここで、領域分割処理について図5の例を用いて説明する。図5(A)は、S201で入力された印刷装置110の最大縦横印刷サイズを示す例500である。この例では最大縦横印刷サイズは縦サイズ3×横サイズ3であるとする。図5(B)は、元の三次元画像データをS203で入力された希望印刷サイズに合わせて複数の領域501〜515に分割した例を示す。なお、各領域501〜515に係る印刷物を接合した全体の印刷物の縦横サイズは、S203で入力された希望印刷縦横サイズになる。
分割する領域の数及び領域のサイズは、印刷装置110の最大印刷サイズと、各領域の接合面に接ぎ部を設けることによるサイズの増加等を考慮して設定される。言い換えると、分割される各領域に接ぎ部を設けたとしても、各領域のサイズが印刷装置110の最大印刷サイズ(縦横厚み)を超えないように、分割する領域の数及び領域のサイズは設定される。
図5(B)の例では、CPU101は、接ぎ部の増加サイズを最大で1と見込み、印刷装置の最大印刷サイズ(縦サイズ3×横サイズ3)に収まるように、各領域501〜515のサイズを縦サイズ2×横サイズ2以内と設定している。また、S203でユーザにより入力された希望の印刷縦横サイズが縦サイズ6×横サイズ9であるとする。そのため、図5(B)は、各領域のサイズの制限(縦サイズ2×横サイズ2以内)を考慮して、ユーザの希望するサイズに合わせられた3次元画像データが、結果として3行5列に配置された15個の領域501〜515に分割された例を示す。
なお、図5(B)で斜線が付された領域501、503、505、507、509、511、513、515は、後述する嵌め合いに関する凹凸属性のうち凸属性を有する領域である。後述するが、各領域501〜515の凹凸属性は、接ぎ部の嵌め合い形状の衝突や、逆ピラミッド形状を有する領域の発生を防ぐために、隣接する領域どうしで同じ凹凸属性を有しないように、領域分割処理(S207)の際にCPU101により設定される。つまり、凹凸属性は、接ぎ部の凹凸状態に関するものであり、凸属性を有する領域には、凸状の接ぎ部が設けられ、凹属性を有する領域には、隣接する領域の凸状の接ぎ部を受けるように形成された凹状の接ぎ部が設けられる。
以上のように、各領域に接ぎ部を設けたとしても印刷装置の最大印刷サイズの範囲内に収まるように領域分割処理を行うことが可能となる。なお、本明細書において、「上」とは行数の小さい方向、「下」とは行数の大きい方向、「左」とは列数の小さい方向、「右」とは列数の大きい方向を表す。
また、領域501〜515の位置は、行及び列からなる行列で表される。なお、以後、領域501〜515のうちCPU101による接ぎ処理の種類の判定の対象となる領域を、「対象領域」と称し、その位置(行列)を、「対象行」及び「対象列」からなる「対象行列」で表す。例えば、領域509の位置は、行2列4で表され、対象領域512の位置は、対象行3、対象列2で表される。なお、第2実施形態においても同様である。
図2の説明に戻り、S208で、CPU101は、3次元画像データの各画素が有する距離情報の最大距離差を、S205で入力されたユーザが希望する印刷厚みで正規化する。これにより、遠距離から近距離までの最大距離差が印刷時の最大印刷厚みに変換される。ただし、遠距離といってもゼロ厚には出来ないので前記最大印刷厚みとはベース厚を差し引いた残りである。
S209で、CPU101は、分割された領域の接合面に対する接ぎ処理の種類(つまり、接合面に設けられる接ぎ部の種類)を判定する処理を行う。ここで、この判定処理の詳細について図3、図4を用いて説明する。
図3は、分割された領域の接合面に対する接ぎ処理の種類を判定するフローチャートである。S301で、CPU101は、接ぎ処理の種類を判定する対象となる領域(対象領域)を、対象行1、対象列1にある領域として初期化する。つまり、初期化後の対象領域は、図5(B)の最も左上の領域501である。
S302で、CPU101は、対象領域の対象列が列1であるかを判定し、列1であればS303へ、列1でなければS304へ処理を移す。つまり、S302で、CPU101は、対象領域の位置が図5の例では列1(最も左側)に位置するものであるかを判定する。S303で、CPU101は、対象領域の左接合面に対する接ぎ処理の種類を「左接ぎ処理無し」と判定して、S313へ処理を移す。
ここで、図5(C)は、接ぎ処理をした後の領域501〜515に関する三次元形状の正投影図の例である。各正投影図において、紙面に向かって、中心が三次元形状の印刷物の表面である平面図、上が背面図、下が正面図、右が右側面図、左が左側面図である。図5(C)の領域501〜515の配置は図5(B)のものと対応している。
対象領域の位置(対象行列)が行1列1、行2列1及び行3列1である場合、対象領域501、506、511の左接合面には接合する相手が存在しないので、CPU101により「左接ぎ処理無し」と判定される。よって、図5(C)の領域501、506、511に係る正投影図の平面図、正面図、背面図の左端が表すように、「左接ぎ処理無し」と判定された領域の左側面には接ぎ部が設けられず、一枚平面的になる。
なお、CPU101により判定された接ぎ処理の種類は、対象領域の対象となる接合面と関連付けてメモリ103に記憶され、後述するS210における分割印刷用の三次元形状データの生成の際に用いられる。以下の接ぎ処理の種類の判定についても同様に対象領域の対象となる接合面に関連付けてメモリ103に格納される。
図3の説明に戻り、S304で、CPU101は、対象領域の位置を示す対象行が行1又はS207で行われた分割行数と等しいか判定し、等しければS306へ、等しくなければS305へ処理を移す。つまり、CPU101は、対象領域が最初又は最終の行に位置する領域であるか判定する。図5(B)の例で言えば、対象領域が行1又は行3に位置する領域であるかを判定している。
S305で、CPU101は、対象領域が最初又は最終の行に位置する領域ではないので、対象領域の左接合面に対する接ぎ処理の種類を「左波状相欠き接ぎ処理」と判定して、S313へ処理を移す。ここで、「左波状相欠き接ぎ処理」は、図5(C)の領域507の平面図の左端が表すように「左波状相欠き接ぎ部」として、領域507の左接合面に、凹凸部分を有する正弦波曲面状の相欠き接ぎ部が設けられる。図5(C)に示す「左波状相欠き接ぎ処理」の例では、図5(B)の領域507の左接合面に対して、最大横凸サイズ0.25、最小横凹サイズ0.25、一つの波が縦サイズ2になる正弦波状の曲面を設けている。
また、S316で後述するように、領域507の左側の嵌め合い相手となる領域506には、領域507の平面図の右端が表すように「右波状相欠き接ぎ部」として、領域507の右側面に相対する凹凸部分を備える正弦波曲面状の相欠き接ぎ部が設けられる。そのため、領域507の左接合面に設けられた「左波状相欠き接ぎ部」は、領域506の「右波状相欠き接ぎ部」と嵌り合う。
なお、図5(D)は、接合面に接ぎ処理が行われた各領域501〜515に係る三次元形状の斜投影図であり、図5(C)の正面図、平面図及び右側面図に対応する面が見えている。領域501〜515の配置は図5(B)及び(C)のものと対応している。
行2列2に位置する領域507の接合面には、表面(平面図)から裏面(不図示)まで垂直に分断する方向に波状相欠き接ぎとしての曲面が設けられているので、接合に必要な最小厚みの制限は無い。また、波状相欠き接ぎ部の形状として正弦波曲面の例をあげているがこれに限らず、相対する面が嵌り合うような面であれば、矩形状や三角波状であってもよいし、凹凸状の分割線であっても構わない。作図し易くするために、奥行き方向からでも横方向からでも接合可能な正弦波状の分割線としている。そのため、例えば、ジグソーパズルのように円状の凹凸な分割線であっても、パズルを組み立てるがごとく、奥行き方向に相対的にスライドさせることで嵌め合いが可能である。
「左波状相欠き接ぎ処理」では、S207における領域分割処理(この時点では領域間の分割線は直線状である。)の後に、行2列2に位置する領域507は、左隣の行2列1に位置する領域506から、「左波状相欠き接ぎ部」の凸状の波に当たる画素分を取込む。同時に、領域507は、凹状の波に当たる画素分を領域506へ移設し、言い換えると、領域506は、領域507の「左波状相欠き接ぎ部」の凸状の波に当たる画素分を取込む。このように隣接する領域506、507どうしで互いに画素データを交換し、新たな波状の分割線を定義し、領域506の右側及び領域507の左側に波状相欠き接ぎ部が設けられる。そして、波状相欠き接ぎ部が設けられた領域は、波状の噛み合い効果を有し、後述するように三次元形状データへ変換され、当該領域に係る分割印刷用の三次元形状データが生成される。
S306で、CPU101は、対象領域の凹凸属性が凹属性であるかを判定し、凹属性であればS310へ、凹属性でなければS307へ処理を移す。つまり、CPU101は、対象領域が図5(B)の白抜きで表された領域か否かを判定する。
S307で、CPU101は、対象領域の左接合面の厚みが所定の基準値以上であるかを判定し、当該所定の基準値以上であればS308へ、そうでなければS309へ処理を移す。例えば、対象領域が行1列3にある領域503である場合、CPU101は、図5(C)に示すように、領域503の左接合面の厚み(D3)を判定し、所定の基準値以上と判定する。他方、対象領域が行1列5にある領域505である場合、CPU101は、図5(C)に示すように、領域505の左接合面の厚み(D5(<D3))を判定し、当該所定の基準値に達しないと判定する。ここで例として、所定の基準値が「凸相欠き接ぎ部」として凸状に突起する部分の厚みの3倍であるとすると、当該凸状の突起の厚みサイズが0.5の場合、当該所定の基準値は1.5となる。なお、所定の基準値は、これに限定されるものではなく、印刷物に使う素材の強度等の条件を基に設定すれば良い。
S308で、CPU101は、対象領域の左接合面の厚みが所定の基準値以上であるので、対象領域の左接合面に対する処理を「左凸相欠き接ぎ処理」と判定し、S313へ処理を移す。
「左凸相欠き接ぎ処理」では、対象領域が行1列3にある領域503である場合、図5(C)の領域503の背面図及び正面図の左端に示すように領域503の左接合面に左に凸状の「左凸相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示す領域分割処理後の領域503の左接合面に対し、横サイズ0.5及び縦サイズ1.5を有する「左凸相欠き接ぎ部」に相当する画素サイズとその厚みサイズ0.5の距離情報とを有する付加用領域を生成する。そして、CPU101は、当該付加用領域を領域503に設け、後述するように三次元形状データへ変換し、左凸相欠きの接ぎ部が左接合面に設けられた領域503に係る分割印刷用の三次元形状データを生成する。他方、詳細にはS323で後述するが、嵌め合い相手の行1列2にある領域502の右接合面には、図5(C)の背面図及び正面図の右端に示すように右に凹状の「右凹相欠き接ぎ部」が設けられ、領域503の左接合面の「左凸相欠き接ぎ部」と嵌め合う。
S309で、CPU101は、対象領域の左接合面の厚みが所定の基準値以上でないため、対象領域の左接合面に対する接ぎ処理の種類を「左凸傾斜接ぎ処理」と判定し、S313へ処理を移す。
「左凸傾斜接ぎ処理」では、行1列5にある領域505である場合、図5(C)の領域505の背面図及び正面図に示すように左斜めに凸状の「左凸傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)の領域505の左接合面に対して、横サイズ0.5及び縦サイズ1.5の「左凸傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5まで右に向けて線形的に増加する距離情報とを有する付加用領域を生成する。そして、CPU101は、当該付加用領域を領域505に付加し、後述するように三次元形状データへ変換し、「左凸傾斜接ぎ部」が左接合面に設けられた領域505に係る分割印刷用の三次元形状データを生成する。他方、S322で後述するが、嵌め合い相手の行1列4にある領域504の右接合面には、図5(C)の背面図及び正面図の右端に示すように右斜めに凹状に傾斜した「右凹傾斜接ぎ部」が設けられ、領域505の左接合面の「左凸傾斜接ぎ部」と嵌り合う。
S310で、CPU101は、対象領域の左接合面の厚みが所定の基準値以上であるかを判定し、基準値以上であればS312へ、そうでなければS311へ処理を移す。例えば、対象領域が行1列2にある領域502である場合、CPU101は、図5(C)に示す対象領域502の左接合面の厚み(D2)を判定し、所定の基準値以上と判定する。他方、対象領域が行1列4にある領域504である場合、CPU101は、図5(C)に示す対象領域504の左接合面の厚み(D4(<D2))を判定し、当該所定の基準値に達しないと判定する。
S311で、CPU101は、対象領域の左接合面の厚みが所定の基準値以上でないので、対象領域の左接合面に対する接ぎ処理の種類を「左凹傾斜接ぎ処理」と判定し、S313へ処理を移す。
「左凹傾斜接ぎ処理」では、対象領域が行1列4にある領域504である場合、図5(C)における対象領域504の背面図及び正面図の左端に示すように左斜めに凹状の「左凹傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示す領域504の左接合面に対して、横サイズ0.5及び縦サイズ2の「左凹傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5から右に向けて線形的に減少する距離情報とを有する削除用領域を生成する。そして、CPU101は、当該削除用領域を領域504から削除し、後述するように三次元形状データに変換し、「左凹傾斜接ぎ部」が左接合面に設けられた領域504に係る分割印刷用の三次元形状データを生成する。他方、S320で後述するように嵌め合い相手の領域503には、図5(C)の背面図及び正面図の右端に示すように右斜めに凸状の「右凸傾斜接ぎ部」が設けられ、領域504の左接合面の「右凸傾斜接ぎ部」と嵌り合う。
S312で、CPU101は、対象領域の左側面の厚みが所定の基準以上であるため、対象領域の左接合面に対する接ぎ処理の種類を「左凹相欠き接ぎ処理」と判定し、S313へ処理を移す。
「左凹相欠き接ぎ処理」では、対象領域が行1列2にある領域502である場合、図5(C)における対象領域502の背面図及び正面図の左端に示すように左接合面に凹んだ「左凹相欠き接ぎ」部が設けられる。詳細には、CPU101は、図5(B)に示す領域502の左接合面に対して、横サイズ0.5及び縦サイズ2の「左凹相欠き接ぎ部」に相当する画素サイズとその厚みサイズ0.5の距離情報とを有する削除用領域を生成する。そして、CPU101は、当該削除用領域を領域502から削除し、後述するように三次元形状データに変換し、「左凹相欠き接ぎ部」が左接合面に設けられた領域502に係る分割印刷用の三次元形状データを生成する。他方、S319で後述するように、嵌め合い相手の行1列1にある領域501には、図5(C)の背面図及び正面図に示すように右に凸状の「右凸相欠き接ぎ部」が設けられ、領域502の左接合面の「左凹相欠き接ぎ部」と嵌り合う。
S313で、CPU101は、対象領域の対象列がS207で行われた分割列数と等しいかを判定し、等しければS314へ、等しくなければS315へ処理を移す。つまり、S313で、CPU101は、対象領域の位置が図5の例では列5(最も右側)に位置する領域であるかを判定する。
S314で、CPU101は、対象領域の対象列がS207で行われた分割列数と等しいので、対象領域の右接合面に対する接ぎ処理の種類を「右接ぎ処理無し」と判定して、S324へ処理を移す。対象領域が行1列5、行2列5又は行3列5に位置する場合、対象領域の右接合面には接合する相手がいないので「右接ぎ処理無し」と判定され、当該右接合面は、図5(C)の背面図、平面図及び正面図の右端が表すように平面的になる。
S315で、CPU101は、対象領域の対象行が行1又はS207で行われた分割行数と等しいかを判定し、等しければS317へ、等しくなければS316へ処理を移す。つまり、CPU101は、対象領域が最初行又は最終行に位置する領域であるか、図5(B)の例では行1又は行3に位置する領域であるかを判定している。
S316で、CPU101は、最初行又は最終行に位置する領域ではないので、対象領域の右接合面に対する接ぎ処理の種類を「右波状相欠き接ぎ処理」と判定し、S324へ処理を移す。
「右波状相欠き接ぎ処理」では、対象領域が行2列1にある領域506である場合、図5(C)における領域506の平面図の右端に示すように、領域506の右接合面に凹凸両部分を備える正弦波曲面状の「右波状相欠き接ぎ部」が設けられる。S305で前述したように、嵌め合い相手の行2列2にある領域507の左接合面には「左波状相欠き接ぎ部」が設けられ、領域506の右接合面の「右波状相欠き接ぎ部」と嵌り合う。
図5(D)に示すように、行2列1にある領域506の右接合面には正弦波曲面状の「右波状相欠き接ぎ部」が設けられ、相対する行2列2にある領域507の左接合面には正弦波曲面状の「左波状相欠き接ぎ部」が設けられる。このように、領域506及び領域507間の接合は、平面的な「すり合わせ接ぎ」ではなく、表面から裏面まで垂直に分断する曲面として設けられた「波状相欠き接ぎ」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S317で、CPU101は、対象領域の属性が凹属性であるかを判定し、凹属性であればS321へ、凹属性でなければS318へ処理を移す。
S318で、CPU101は、対象領域の右接合面の厚みが所定の基準値以上であるかを判定し、所定の基準値以上であればS319へ、そうでなければS320へ処理を移す。対象領域が行1列1にある領域501である場合、CPU101は、図5(C)に示すように、領域501の右接合面の厚み(d1)を判定し、所定の基準値以上と判定する。他方、対象領域が行1列3にある領域503である場合、CPU101は、図5(C)に示すように、領域503の右接合面の厚み(d3(<d1))を判定し、所定の基準値に達しないと判定される。
S319で、CPU101は、対象領域の右接合面の厚みが所定の基準値以上であるので、対象領域の右接合面に対する接ぎ処理の種類を「右凸相欠き接ぎ処理」と判定して、S324へ処理を移す。
「右凸相欠き接ぎ処理」では、対象領域が行1列1にある領域501である場合、図5(C)において領域501の背面図及び正面図の右端に示すように右に凸状の「右凸相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示す領域分割処理後の領域501の右接合面に対し、横サイズ0.5及び縦サイズ1.5を有する「右凸相欠き接ぎ部」に相当する画素サイズとその厚みサイズ0.5の距離情報とを有する付加用領域を生成する。そして、CPU101は、当該付加用領域を領域501に付加し、後述するように三次元形状データへ変換し、右凸相欠き接ぎ部が右接合面に設けられた領域501に係る分割印刷用の三次元形状データを生成する。他方、S312で前述したように嵌め合い相手の行1列2にある領域502の左接合面には、「左凹相欠き接ぎ部」が設けられており、領域501の右接合面の「右凸相欠き部」と嵌り合う。
図5(D)に示す領域501の右接合面には右に凸状の「右凸相欠き接ぎ部」が設けられ、相対する領域502の左接合面には凹状の「左凹相欠き接ぎ部」が設けられる。このように領域501及び領域502間の接合面には平面的な「すり合わせ接ぎ」ではなく、領域501、502の表面層とは離れた底位置に設けられた「相欠き接ぎ部」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S320で、CPU101は、対象領域の右接合面の厚みが所定の基準値以上でないので、対象領域の右接合面に対する接ぎ処理の種類を「右凸傾斜接ぎ処理」と判定して、S324へ処理を移す。
「右凸傾斜接ぎ処理」では、対象領域が行1列3にある領域503である場合、図5(C)の領域503の背面図及び正面図の右端に示すように、右斜めに凸な傾斜状の「右凸傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)の分割後の領域503の右接合面について、横サイズ0.5及び縦サイズ1.5を有する「右凸傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5から右に線形的に減少する距離情報とを有する付加用領域を生成する。そして、CPU101は、当該付加用領域を領域503の右接合面に付加し、後述するように三次元形状データへ変換し、「右凸傾斜接ぎ部」を有する領域503に係る分割印刷用の三次元形状データを生成する。また、S311で前述したように嵌め合い相手の行1列4にある領域504には、「左凹傾斜接ぎ部」が設けられているので、領域503の右接合面に設けられた「右凸傾斜接ぎ部」と嵌り合う。
図5(D)に示す行1列3にある領域503の右接合面には右斜めに凸状の「右凸傾斜接ぎ部」が設けられ、相対する行1列4にある領域504の左接合面には斜めに凹状の「左凹傾斜接ぎ部」が設けられる。このように、領域503及び領域504間の接合は平面的な「すり合わせ接ぎ」ではなく、噛み合い厚みが薄い「傾斜接ぎ」によりコンパクトに噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S321で、CPU101は、対象領域の右接合面の厚みが所定の基準値以上であるかを判定し、当該所定の基準値以上であればS323へ、そうでなければS322へ処理を移す。対象領域が行1列2にある領域502である場合、CPU101は、図5(C)に示す領域502の右接合面の厚み(d2)を判定し、所定の基準値以上と判定する。他方、対象領域が行1列4にある領域504である場合、CPU101は、図5(C)に示す領域504の右接合面の厚み(d4(<d2))を判定し、当該所定の基準値に達しないと判定する。
S322で、CPU101は、対象領域の右接合面の厚みが所定の基準値以上でないので、対象領域の右接合面に対する接ぎ処理の種類を「右凹傾斜接ぎ処理」と判定して、S324へ処理を移す。
「右凹傾斜接ぎ処理」では、対象領域が行1列4にある領域504である場合、図5(C)における領域504の背面図及び正面図に示すように、右斜めに凹な傾斜状の「右凹傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)の分割後の領域504の右接合面に対して、横サイズ0.5及び縦サイズ2.25を有する「右凹傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5から左に減少する距離情報とを有する削除用領域を生成する。そして、CPU101は、後述するように、当該削除用領域を領域504から削除し、三次元形状データに変換し、「右凹傾斜接ぎ部」が設けられた領域504に係る分割印刷用の三次元形状データを生成する。また、S309で前述したように嵌め合い相手の行1列5にある領域505の左接合面には、左斜めに凸状の「左凸傾斜接ぎ部」が設けられているので、領域504の右接合面に設けられた「右凹傾斜接ぎ部」と嵌り合う。
図5(D)に示す行1列4にある領域504の右接合面には斜めに凹状の「右凹傾斜接ぎ部」が設けられ、相対する行1列5にある領域505の左接合面には左斜めに凸状の「左凸傾斜接ぎ部」が設けられる。このように、領域504及び領域505間の接合は平面的な「すり合わせ接ぎ」ではなく、領域504、505の表面層から見えない底位置に設けられた噛み合い厚みが薄い「傾斜接ぎ」により噛み合わされ位置決めされる。そのため、領域504及び領域505は、位置ずれし難く接合しやすい。また、領域504、505の表面層に見える分割線を領域間の継ぎ目が目立たないように決め、領域504、505の底部の位置に「傾斜接ぎ」を設ければ、表面層の美観と、接合作業時の利便性の両立が可能になる。
S323で、CPU101は、対象領域の右接合面の厚みが所定の基準値以上であるので、対象領域の右接合面に対する接ぎ処理の種類を「右凹相欠き接ぎ処理」と判定して、S324へ処理を移す。
「右凹相欠き接ぎ処理」では、対象領域が行1列2にある領域502である場合、図5(C)における領域502の背面図及び正面図の右端に示すように凹状の「右凹相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)の分割後の領域502の右接合面に対して、横サイズ0.5及び縦サイズ2.25の「右凹相欠き接ぎ部」に相当する画素サイズとその厚みサイズ0.5の距離情報とを有する削除用領域を生成する。そして、CPU101は、当該削除用領域を領域502から削除し、後述するように三次元形状データへ変換し、「右凹相欠き接ぎ部」が設けられた領域502に係る分割印刷用の三次元形状データを生成する。S308で前述したように、嵌め合い相手の行1列3にある領域503の左接合面には、左に凸状の「左凸相欠き部」が設けられ、領域502の右接合面に設けられた「右凹相欠き部」と嵌り合う。
図5(D)の行1列2にある領域502の右接合面には凹状の「右凹相欠き接ぎ部」が設けられ、相対する行1列3にある領域503の左接合面には左に凸状の「左凸相欠き接ぎ部」が設けられる。このように、領域502及び領域503間の接合は、平面的な「すり合わせつぎ」ではなく、領域502、503の表面層とは離れた底位置に設けられた「相欠き接ぎ部」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。また、領域502、503の表面層に見られる分割線を継ぎ目が目立たないように決め、領域502、503の底部の位置に「相欠き接ぎ部」を設ければ、表面層の美観と、接合作業時の利便性の両立が可能になる。
S324で、CPU101は、対象領域の対象行が行1であるかを判定し、行1であればS325へ、行1でなければS326へ処理を移す。つまり、S324で、CPU101は、対象領域の位置が図5の例では行1(最も上側)に位置するものであるかを判定する。
S325で、CPU101は、対象領域の上接合面に対する接ぎ処理の種類を「上接ぎ処理無し」と判定して、S335へ処理を移す。例えば、対象領域が行1列1〜行1列5にある領域501〜505である場合、CPU101は、領域501〜505の上接合面には接合する相手がいないので「上接ぎ処理無し」と判定する。そのため、図5(C)の領域501〜505の左側面図、背面図及び右側面図の上端が表すように、領域501〜505の上接合面は平面的になる。
S326で、CPU101は、対象領域の対象列が列1又はS207で行われた分割列数と等しいかを判定し、等しければS328へ、等しくなければS327へ処理を移す。つまり、CPU101は、対象領域が複数行列に分割した場合の最初列又は最終列の領域であるか、図5(B)で言えば列1又は列5に位置するかを判定している。
S327で、CPU101は、対象領域が最初列又は最終列に位置する領域ではないので、対象領域の上接合面に対する接ぎ処理の種類を「上波状相欠き接ぎ処理」と判定して、S335へ処理を移す。
「上波状相欠き接ぎ処理」では、対象領域が行2列2にある領域である場合、領域507の上接合面には、図5(C)の領域507の正面図の上端が表すように凹凸両部分を備える正弦波曲面状の「上波状相欠き接ぎ部」が設けられる。図5に示す「上波状相欠き接ぎ部」は、図5(B)の同領域507の上端の形状に対して最大縦凸サイズ0.25、最小縦凹サイズ0.25、一つの波が横サイズ2になる正弦波状の曲面である。詳細には、CPU101は、図5(B)に示すS207で分割処理された同領域507に対して、上隣の行1列2にある領域502から凸状の波に相当する画素分を取込み、凹状の波に相当する画素分を領域502へ移設する。このようにして、CPU101は、領域502及び507との間で画素データを交換し、新たな分割線を定義することにより、領域507の上接合面に波状の噛み合い効果を有する「上波状相欠き接ぎ部」を設ける。そして、CPU101は、それを後述するように三次元形状データへ変換し、「上波状相欠き接ぎ部」が上接合面に設けられた領域507に係る分割印刷用の三次元形状データを生成する。なお、S338で後述するように領域507の上側の嵌め合い相手の行1列2にある領域502には、図5(C)の平面図の下端が表すように凹凸両部分を備える正弦波曲面状の「下波状相欠き部」が設けられ、領域507の「上波状相欠き接ぎ部」と嵌り合う。
S328で、CPU101は、対象領域の属性が凹属性であるかを判定し、凹属性であればS332へ、凹属性でなければS329へ処理を移す。
S329で、CPU101は、上接合面の厚みが所定の基準値以上であるかを判定し、当該所定の基準値以上であればS330へ、そうでなければS331へ処理を移す。例えば、CPU101は、対象領域が行3列1にある領域511である場合、図5(C)の領域511の上接合面の厚み(D11)を判定し、所定の基準値以上と判定する。他方、CPU101は、対象領域が行3列5にある領域515である場合、図5(C)の領域515の上接合面の厚み(D15)を判定し、所定の基準値に達しないと判定する。
S330で、CPU101は、対象領域の上接合面の厚みが所定の基準値以上であるので、対象領域の上接合面に対する接ぎ処理の種類を「上凸相欠き接ぎ処理」と判定して、S335へ処理を移す。
「上凸相欠き接ぎ処理」では、対象領域が行3列1にある領域511である場合、CPU101は、領域511の上接合面に対し、図5(C)の領域511の左側面図及び右側面図の上端が表すように、上に凸状の「上凸相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域511の上接合面に対し、縦サイズ0.5、横サイズ2の上凸相欠き接ぎ部に相当する画素サイズとその厚みサイズ0.5の距離情報を有する付加用領域を作成する。そして、CPU101は、当該付加用領域を図5(B)に示す領域511に付加し、後述するように三次元形状データへ変換することにより、上凸相欠き接ぎ部が上接合面に設けられた領域511に係る分割印刷用の三次元形状データを生成する。なお、S345で後述するように嵌め合い相手となる行2列1にある領域506には、図5(C)の左側面図及び右側面図の下端が表すように凹状の「下凹相欠き接ぎ部」が設けられ、領域511の上接合面の「上凸相欠き接ぎ部」と嵌り合う。
S331で、CPU101は、対象領域の上接合面の厚みが所定の基準値以上でないので、対象領域の上接合面に対する接ぎ処理の種類を「上凸傾斜接ぎ処理」と判定して、S335へ処理を移す。
「上凸傾斜接ぎ処理」では、対象領域が行3列5にある領域515である場合、図5(C)の領域515の左側面図及び右側面図の上端が表すように、上斜めに凸状の「上凸傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割された領域515の上接合面に対し、縦サイズ0.5、横サイズ1の「上凸傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5まで下に向けて増加する距離情報とを有する付加用領域を生成する。そして、CPU101は、当該付加用領域を図5(B)に示す領域515に付加し、後述するように三次元形状データへ変換することにより、「上凸傾斜接ぎ部」が上接合面に設けられた領域515に係る分割印刷用の三次元形状データを生成する。なお、S344で後述するように嵌め合い相手の行2列5にある領域510には、図5(C)の左側面図、右側面図の下端が表すように斜めに凹状の「下凹傾斜接ぎ部」が設けられ、領域515の上接合面の「上凸傾斜接ぎ部」と嵌り合う。
S332で、CPU101は、対象領域の上接合面の厚みが所定の基準値以上であるかを判定し、所定の基準値以上であればS334へ、そうでなければS333へ処理を移す。例えば、CPU101は、図5(C)の行2列1にある領域506の上接合面の厚み(D6)を判定し、所定の基準値以上と判定する。他方、CPU101は、図5(C)の行2列5にある領域510の上接合面の厚み(D10)を判定し、所定の基準値に達していないと判定する。
S333で、CPU101は、対象領域の上接合面の厚みが所定の基準値以上でないので、対象領域の上接合面に対する接ぎ処理の種類を「上凹傾斜接ぎ処理」と判定して、S335へ処理を移す。
「上凹傾斜接ぎ処理」では、対象領域が行2列5にある領域510である場合、図5(C)の領域510の左側面図及び右側面図の上端が表すように斜めに凹状の「上凹傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域510の上接合面に対し、縦サイズ0.5、横サイズ1の「上凹傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5から下に向けて減少する距離情報とを有する削除用領域を生成する。そして、CPU101は、当該削除用領域を図5(B)に示す領域510から削除し、後述するように三次元形状データに変換することにより、「上凹傾斜接ぎ部」が上接合面に設けられた領域510に係る分割印刷用の三次元形状データを生成する。なお、S342で後述するように嵌め合い相手の行1列5にある領域505には、図5(C)の左側面図及び右側面図の下端が表すように下斜めに凸状の「下凸傾斜接ぎ部」が設けられているので、領域510の上接合面の「上凹傾斜接ぎ部」と嵌り合う。
S334で、CPU101は、対象領域の上接合面の厚みが所定の基準値以上であるので、対象領域の上接合面に対する接ぎ処理の種類を「上凹相欠き接ぎ処理」と判定して、S335へ処理を移す。
「上凹相欠き接ぎ処理」では、対象領域が行2列1にある領域506である場合、図5(C)の領域506の左側面図及び右側面図の上端が表すように凹状の「上凹相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域506の上接合面に対し、縦サイズ0.5、横サイズ2.25の「上凹相欠き接ぎ部」に相当する画素サイズと厚みサイズ0.5の距離情報とを有する削除用領域を生成する。そして、CPU101は、当該削除用領域を図5(B)に示す領域510から削除し、後述するように三次元形状データに変換することにより、「上凹相欠き接ぎ部」が上接合面に設けられた領域510に係る分割印刷用の三次元形状データを生成する。なお、S341で後述するように嵌め合い相手の行1列1にある領域501には、図5(C)の左側面図及び右側面図の下端が表すように下に凸状の「下凸相欠き接ぎ部」が設けられ、領域506の上接合面の「上凹相欠き接ぎ部」と嵌り合う。
S335で、CPU101は、対象領域の対象行がS207で行った分割行数と等しいかを判定し、等しければS336へ、等しくなければS337へ処理を移す。つまり、S335で、CPU101は、対象領域の位置が図5の例では行3(最も下側)に位置するものであるかを判定している。
S336で、CPU101は、対象領域の下接合面に対する接ぎ処理の種類を「下接ぎ処理無し」と判定して、S346へ処理を移す。例えば、対象領域が行3にある領域511〜515の場合、領域511〜515の下接合面には接合する相手がいないので「下接ぎ処理無し」と判定され、図5(C)の領域511〜515に係る左側面図、平面図及び右側面図の下端が表すように平面的になる。
S337で、CPU101は、対象領域の対象列が列1又はS207で行われた分割列数と等しいかを判定し、等しければS339へ、等しくなければS338へ処理を移す。つまり、CPU101は、対象領域の対象列が複数行列に分割した場合の最初列又は最終列の領域であるか、図5(B)の例で言えば列1又は列5であるかを判定している。
S338で、CPU101は、対象領域が最初列又は最終列の領域ではないので、対象領域の下接合面に対する接ぎ処理の種類を「下波状相欠き接ぎ処理」と判定して、S346へ処理を移す。
「下波状相欠き接ぎ処理」では、対象領域が行1列2にある領域502である場合、図5(C)の領域502の平面図の下端が表すように凹凸両部分を備える正弦波曲面状の「下波状相欠き接ぎ部」が設けられる。S327で前述したように、嵌め合い相手の領域507の上接合面には凹凸両部分を備える正弦波曲面状の「上波状相欠き接ぎ部」が設けられており、領域502の下接合面の「下波状相欠き接ぎ部」と嵌り合う。また、図5(D)にも、領域502の下接合面に設けられた正弦波状な曲面状の「下波状相欠き接ぎ部」と、相対する領域507の上接合面に設けられた正弦波状な曲面状の「上波状相欠き接ぎ部」が示されている。このように、領域502、507間の「波状相欠き接ぎ部」に係る接合は、平面的な「すり合わせ接ぎ」ではなく、表面から裏面まで垂直に分断する曲面として設けられた「波状相欠き接ぎ部」により噛み合わされ位置決めされる。そのため、両領域は、位置ずれし難く接合しやすい。
S339で、CPU101は、対象領域の属性が凹属性であるかを判定し、凹属性であればS343へ、凹属性でなければS340へ処理を移す。
S340で、CPU101は、対象領域の下接合面の厚みが所定の基準値以上であるかを判定し、所定の基準値以上であればS341へ、そうでなければS342へ処理を移す。例えば、対象領域が行1列1にある領域501である場合、CPU101は、図5(C)の領域501の下接合面の厚み(D1)を判定し、所定の基準値以上と判定する。他方、対象領域が行1列5にある領域505である場合、CPU101は、図5(C)の領域505の下接合面の厚み(d5)を判定し、所定の基準値に達していないと判定する。
S341で、CPU101は、対象領域の下接合面の厚みが基準以上であるので、対象領域の下接合面に対する接ぎ処理の種類を「下凸相欠き接ぎ処理」と判定して、S346へ処理を移す。
「下凸相欠き接ぎ処理」では、対象領域が行1列1にある領域501である場合、図5(C)の領域501の左側面図及び右側面図の下端が表すように、下に凸状の「下凸相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域501の下接合面に対し、縦サイズ0.5、横サイズ2の「下凸相欠き接ぎ部」に相当する画素サイズと厚みサイズ0.5の距離情報とを有する付加用領域を生成する。そして、CPU101は、図5(B)の領域501に当該付加用領域を付加して後述するように三次元形状データへ変換することにより、「下凸相欠き接ぎ部」が下接合面に設けられた領域501に係る分割印刷料の三次元形状データを生成する。
なお、S334で前述したように嵌め合い相手の行2列1の領域506には、図5(C)の左側面図、右側面図の上端が表すように「上凹相欠き接ぎ」として、上面に凹な相欠き接ぎの嵌め合いが設けられているので、行1列1の領域501の底面の「下凸相欠き」と嵌り合う。また、図5(D)にも、領域501の下接合面に設けられた下に凸状の「下凸相欠き接ぎ部」と、相対する領域506の上接合面に設けられた凹状の「上凹相欠き接ぎ部」が示されている。このように領域501、506間の「相欠き接ぎ部」に係る接合は、平面的な「すり合わせ接ぎ」ではなく、表面層とは離れた底部の位置に設けられた「相欠き接ぎ部」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S342で、CPU101は、対象領域の下接合面の厚みが所定の基準値以上でないので、対象領域の下接合面に対する接ぎ処理の種類を「下凸傾斜接ぎ処理」と判定して、S346へ処理を移す。
「下凸傾斜接ぎ処理」では、対象領域が行1列5にある領域505である場合、図5(C)の領域505の左側面図及び右側面図の下端が表すように下斜めに凸状の「下凸傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域505の下接合面に対し、縦サイズ0.5、横サイズ1の「下凸傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5まで上に向けて増加する距離情報とを有する付加用領域を生成する。そして、CPU101は、図5(B)の領域505に当該付加用領域を付加して後述するように三次元形状データへ変換することにより、「下凸傾斜接ぎ部」が下接合面に設けられた領域505に係る分割印刷用の三次元形状データを生成する。
なお、S333で前述したように嵌め合い相手の行2列5にある領域510には、図5(C)の左側面図及び右側面図の上端が表すように斜めに凹状の「上凹傾斜接ぎ部」が設けられ、領域505の下接合面に設けられた「下凸傾斜接ぎ部」と嵌り合う。また、図5(D)にも、領域505の下接合面に設けられた下斜めに凸状の「下凸傾斜接ぎ部」と、相対する領域510の上接合面に設けられた斜めに凹状の「上凹傾斜接ぎ部」とが示されている。このように領域505、510間の接合は、平面的な「すり合わせ接ぎ」ではなく、噛み合い厚みが薄い「傾斜接ぎ」により噛み合わされ位置決めされるので、接合しやすい。
S343で、CPU101は、対象領域の下接合面の厚みが所定の基準値以上であるかを判定し、当該所定の基準値以上であればS345へ、そうでなければS344へ処理を移す。例えば、対象領域が行2列1にある領域506である場合、CPU101は、図5(C)の領域506の下接合面の厚み(d6)を判定し、所定の基準値以上と判定する。他方、対象領域が行2列5にある領域510である場合、CPU101は、図5(C)の領域510の下接合面の厚み(d10)を判定し、所定の基準値に達しないと判定する。
S344で、CPU101は、対象領域の下接合面の厚みが所定の基準値以上でないので、対象領域の下接合面に対する接ぎ処理の種類を「下凹傾斜接ぎ処理」と判定して、S346へ処理を移す。
「下凹傾斜接ぎ処理」では、対象領域が行2列5にある領域510である場合、図5(C)の領域510の左側面図及び右側面図の下端が表すように、斜めに凹状の「下凹傾斜接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域510の下接合面に対し、縦サイズ0.5、横サイズ1.25の「下凹傾斜接ぎ部」に相当する画素サイズと、厚みサイズ0.5から上に減少する距離情報とを有する削除用領域を生成する。そして、CPU101は、図5(B)の領域510から当該削除用領域を削除し、後述するように三次元形状データに変換することにより、「下凹傾斜接ぎ部」が設けられた領域510に係る分割印刷用の三次元形状データを生成する。
なお、S331で前述したように嵌め合い相手の領域515の上接合面には、図5(C)の左側面図及び右側面図の上端が表すように上斜めに凸状の「上凸傾斜接ぎ部」が設けられ、領域510の下接合面に設けられた「下凹傾斜接ぎ部」と嵌り合う。また、図5(D)にも、領域510の下接合面に設けられた斜めに凹状の「下凹傾斜接ぎ部」と、相対する領域515の上接合面に設けられた上斜めに凸状の「上凸傾斜接ぎ部」とが示されている。このように領域510、515間の接合は、平面的な「すり合わせ接ぎ」ではなく、噛み合い厚みが薄い「傾斜接ぎ」により噛み合わされ位置決めされるので、接合しやすい。
S345で、CPU101は、対象領域の下接合面の厚みが所定の基準値以上であるので、対象領域の下接合面に対する接ぎ処理の種類を「下凹相欠き接ぎ処理」と判定して、S346へ処理を移す。
「下凹相欠き接ぎ処理」では、対象領域が行2列1にある領域506である場合、図5(C)の領域506の左側面図及び右側面図の下端が表すように凹状の「下凹相欠き接ぎ部」が設けられる。詳細には、CPU101は、図5(B)に示すS207で分割した領域506の下接合面に対し、縦サイズ0.5、横サイズ2の「下凹相欠き接ぎ部」に相当する画素サイズと、厚みサイズ0.5の距離情報とを有する削除用領域を生成する。そして、CPU101は、図5(B)の領域506から当該削除用領域を削除し後述するように三次元形状データに変換することにより、「下凹相欠き接ぎ部」が下接合面に設けられた領域506に係る分割印刷用の三次元形状データを生成する。
なお、S330で前述したように嵌め合い相手の領域511には、図5(C)の左側面図及び右側面図の上端が表すように上に凸状の「上凸相欠き接ぎ部」が設けられ、領域506の下接合面に設けられた「下凹相欠き部」と嵌り合う。また、図5(D)には、領域506の下接合面に設けられた下に凹状の「下凹相欠き接ぎ部」と、相対する領域511の上接合面に設けられた上に凸状の「上凸相欠き接ぎ部」とが示されている。このように領域506、511間の接合は、平面的な「すり合わせ接ぎ」ではなく、表面層とは離れた底部の位置に設けられた「相欠き接ぎ部」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S346で、CPU101は、判定の対象となる対象領域を隣の列に位置する領域とするために、現在の対象列の値に1を加算し、S347へ処理を移す。S347で、CPU101は、現在の対象列の値がS207で行われた分割列数よりも大きいかを判定し、大きければS348へ、大きくなければS302へ処理を移す。つまり、CPU101は、図5の例では列5にある領域505、510又は515まで接ぎ処理の種類の判定が終わったかを判定している。
S348で、CPU101は、判定の対象となる対象領域を次の行に位置する領域とするために、現在の対象列の値を1にリセットし、現在の対象行の値に1を加算した上で、S349へ処理を移す。S349で、CPU101は、現在の判定の対象行がS207でのS207で行われた分割行数よりも大きいかを判定し、大きければ処理を終了し(END)、大きくなければS302へ処理を移す。つまり、CPU101は、図5(B)の例では、行3にある領域511〜515まで接ぎ処理の種類の判定が終わったかを判定している。
ここで、S346〜S349の処理について図5の例を用いてさらに説明する。まず、CPU101は、S301で初期化された対象行列(対象行1、対象列1)にある対象領域501に対して接ぎ処理の種類を判定し(S302〜S345)、S346で、対象列の値(=1)に1を加算する。同様に、CPU101は、対象行1及び対象列2から5までにある領域502〜505に対して接ぎ処理の種類の判定を行う(S302〜S346及びS347でN)。対象領域505に対する接ぎ処理の種類の判定が終了したら、S346で、CPU101は、対象列の値(=5)に1を加算し、これはS207での分割列数(=5)よりも大きい(S347でY)。そのため、S348で、CPU101は、対象列の値を1に設定し、対象行の値(=1)に1を加算する。同様に、CPU101は、対象行2〜3及び対象列1〜5にある領域506〜515に対して接ぎ処理の種類の判定を行う。対象領域515に対する接ぎ処理の種類の判定が終了したら、S348で、CPU101は、対象行の値(=3)に1を加算し、これはS207での分割行数(=3)よりも大きいため(S349でY)、フローは終了する。
図4は、領域の嵌め合いに関する凹凸属性を判定するフローチャートである。S401でCPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS402へ、偶数列でなければS404へ処理を移す。S402でCPU101は、対象領域の対象行が奇数行であるかを判定し、奇数行であればS403へ、奇数行でなければS404へ処理を移す。S403でCPU101は、対象領域の凹凸属性を凹属性と判定して処理を終了する。S404でCPU101は、対象領域の対象行が偶数行であるかを判定し、偶数行であればS403へ、偶数行でなければS405へ処理を移す。S405でCPU101は、対象領域の凹凸属性を凸属性と判定して処理を終了する。このように、偶数列及び奇数列並びに偶数行及び奇数行で凹凸属性を交互に繰り返すように設定することで、接合面に設けられる接ぎ部に関する嵌め合い形状の衝突や、逆ピラミッド形状の立体形状を有する領域の発生を防ぐことができる。
説明を図2へ戻す。S210で、CPU101は、複数の領域に分割された三次元画像データと各領域に対して判定された接ぎ処理の種類に基づいて、領域間での画素データの交換及び接ぎ部に係るデータの付加又は削除を行う。そして、最終的に、CPU101は、接ぎ部が設けられた各領域に係る分割印刷用の三次元形状データを、領域の数だけ生成して処理を終了する。
ここで、三次元形状データは、三次元印刷ファイルとも言われ、例えばSTL形式データ、VRML形式データなどで記述された3次元造形装置(印刷装置)で利用可能な形状のデータファイルである。本発明は、3次元画像データを分割印刷用の3次元形状データ化する際に分割された各領域の接合面に嵌め合い形状(接ぎ部)を付加(又は削除)するので、変換先のファイル形式には制約はない。三次元レリーフ形状の印刷において、見た目の違和感が出ないように二次元の画像方向の縦横比は維持されることが一般的であるが、奥行きは立体感をどの程度強調するかによって距離情報から厚み情報への変換が例えば対数比的な非線形になることも考えられる。しかし、距離情報から厚み情報への変換が非線形になろうとも、変換後の接合面の厚み情報と領域の全体内における配置に基づいて、接ぎ処理の種類を判定すれば、厚みと配置に応じた嵌め合い形状が判定できることに変わりは無い。
なお、領域501の各接合面に対する接ぎ処理の種類は、「右凸相欠き接ぎ」、「左接ぎ処理無し」、「上接ぎ処理無し」及び「下凸相欠き接ぎ」と判定される。そのため、図5(D)に示すように、領域501は、平面(左及び上接合面)と凸面(下及び右接合面)から構成されており、例えば、領域501に対して積層式の三次元造形を行う場合は、平面図側を頂点として積層すれば良い。
同様に、領域502の各接合面に対する接ぎ処理の種類は、「右凹相欠き接ぎ」、「左凹相欠き接ぎ」、「上接ぎ処理無し」及び「下波状相欠き接ぎ」と判定される。そのため、図5(D)に示すように、領域502は、平面(上接合面)、曲面(下接合面)及び凹面(左及び右接合面)から構成されており、例えば、領域502に対して積層式の三次元造形を行う場合は、曲面である正面図側を頂点として積層すれば良い。
領域503の各接合面に対する接ぎ処理の種類は、「右凸傾斜接ぎ」、「左凸相欠き接ぎ」、「上接ぎ処理無し」及び「下波状相欠き接ぎ」と判定される。そのため、図5(D)に示すように、領域503は、平面(上接合面)、曲面(下接合面)及び凸面(左及び右接合面)から構成されており、例えば、領域503に対して積層式の三次元造形を行う場合は、平面図側を頂点として積層すれば良い。
領域504の各接合面に対する接ぎ処理の種類は、「右凹傾斜接ぎ」、「左凹傾斜接ぎ」、「上接ぎ処理無し」及び「下波状相欠き接ぎ」と判定される。そのため、図5(D)に示すように、領域504は、平面(上接合面)、曲面(下接合面)及び凹面(左及び右接合面)から構成されており、例えば、領域504に対して積層式の三次元造形を行う場合は、曲面の正面図側を頂点として積層すれば良い。
領域505の各接合面に対する接ぎ処理の種類は、「右接ぎ処理無し」、「左凸傾斜接ぎ」、「上接ぎ処理無し」及び「下凸傾斜接ぎ」と判定される。そのため、図5(D)に示すように、領域505は、平面(上及び左接合面)と凸面(左及び下接合面)から構成されており、例えば、領域505に対して積層式の三次元造形を行う場合は、平面図側を頂点として積層すれば良い。
領域506の各接合面に対する接ぎ処理の種類は、「右波状相欠き接ぎ」、「左接ぎ処理無し」、「上凹相欠き接ぎ」及び「下凹相欠き接ぎ」と判定される。そのため、図5(D)に示すように、領域506は、平面(左接合面)、曲面(右接合面)及び凹面(上及び下接合面)から構成されており、例えば、領域506に対して積層式の三次元造形を行う場合は、曲面の右側面図側を頂点として積層すれば良い。
領域507の各接合面に対する接ぎ処理の種類は、「右波状相欠き接ぎ」、「左波状相欠き接ぎ」、「上波状相欠き接ぎ」及び「下波状相欠き接ぎ」と判定される。そのため、図5(D)に示すように、領域507の各接合面は、曲面から構成されており、例えば、領域507に対して積層式の三次元造形を行う場合は、平面図側を頂点として積層すれば良い。領域508〜509についても同様である。
領域510の各接合面に対する接ぎ処理の種類は、「右接ぎ処理無し」、「左波状相欠き接ぎ」、「上凹傾斜接ぎ」及び「下凹傾斜接ぎ」と判定される。そのため、図5(D)に示すように、領域510は、平面(右接合面)、曲面(左接合面)及び凹面(上及び下接合面)から構成されており、例えば、領域510に対して積層式の三次元造形を行う場合は、曲面の左側面図側を頂点として積層すれば良い。
領域511の各接合面に対する接ぎ処理の種類は、「右凸相欠き接ぎ」、「左接ぎ処理無し」、「上凸相欠き接ぎ」及び「下接ぎ処理無し」と判定される。そのため、図5(D)に示すように、領域511は、平面(左及び下接合面)及び凸面(上及び右接合面)から構成されており、例えば、領域511に対して積層式の三次元造形を行う場合は、平面図側を頂点として積層すれば良い。領域512〜514に対しては領域502〜504の上下逆の場合と同様である。
そして、領域515の各接合面に対する接ぎ処理の種類は、「右接ぎ処理無し」、「左凸傾斜接ぎ」、「上凸傾斜接ぎ」及び「下接ぎ処理無し」と判定される。そのため、図5(D)に示すように、領域515は、平面(右及び下接合面)と凸面(上及び左接合面)から構成されており、例えば、領域515に対して積層式の三次元造形を行う場合は、平面図側を頂点として積層すれば良い。
以上のように本実施形態では、元の三次元画像データが複数の領域に分割され、分割された各領域の嵌め合い形状(接ぎ部)を含めた縦横サイズは、印刷装置の仕様(最大印刷サイズ)内に収まるように設定される。そして、各領域の接合面の厚みと所定の基準値との比較に応じて嵌め合い形状の種類(相欠き接ぎ又は傾斜接ぎ)が設けられるので、各領域を接合するときに位置合わせがし易く、ずれ難くなるという効果がある。また、分割した複数の領域全体内における対象領域の位置に応じて逆ピラミッド形状にならないように嵌め合い形状を設ける種類(凹凸属性)を決めるので、積層式の造形装置であっても造形可能な三次元形状データへ変換できるという効果がある。また、各領域の表面層にあらわれる分割線を継ぎ目が目立たないように決め、図5(D)に示すように、各領域の底部の位置に「接ぎ部」を設けられれば、表面層の美観及び接合作業時の利便性の向上を両立させることが可能になるという効果もある。
[第2実施形態]
本発明の第2実施形態は、二次元の画像情報に対し画素ごとに距離情報を付加した三次元画像データの分割方法に関する。本実施形態では、印刷装置の仕様(最大印刷サイズ)に基づき三次元画像データを複数の領域に分割し、各領域の接合面の辺の長さと複数の領域全体内における対象領域の位置に基づいて凸又は凹状の本実接ぎ部を設けた分割印刷用の三次元形状データへ変換する。
図6は、本実接ぎ部が設けられた領域に係る分割印刷用の三次元形状データを生成するフローチャートであり、図7は、本実接ぎ処理の種類を判定するフローチャートである。また、図8は、分割された領域と領域に設けられる本実接ぎ部の形状を表す概念図である。図1とともに図6から図8について説明する。なお、図6におけるS201〜S206及びS208は、図2に係る前述の説明と同様であるため、説明を省略する。
S601で、CPU101は、本実接ぎ部を設けることによる各領域のサイズの増加を見込み、各領域が印刷装置の最大印刷サイズ内に収まるように、領域分割処理を行い、S208へ処理を移す。
ここで、図8(A)は、印刷装置の縦横最大印刷サイズの例で、縦サイズ3×横サイズ3であるとする。図8(B)は、元の三次元画像データがS203で入力された希望の印刷縦横サイズに合わせて複数の領域801〜815に分割された結果の例を示す。この例では、CPU101は、本実接ぎ部を設けることによる各領域の増加サイズを最大で1と見込み、S601の領域分割処理後の一つの領域を縦サイズ2、横サイズ2以内とする。S203で入力された希望の印刷縦横サイズの縦サイズ6、横サイズ9と各領域の縦横サイズの制限とを基に、ユーザの希望するサイズに合わせられた3次元画像データが、結果として3行5列に配置された15個の領域801〜815に分割された例である。このように、本実接ぎ部を設けた各領域が印刷装置の最大印刷サイズ内に収まるように領域分割処理が行われる。
S602で、CPU101は、分割された領域ごとに、対象領域の位置に基づき本実接ぎ処理の種類を判定し、S603へ処理を移す。図7を用いて本実接ぎ処理の種類の判定処理の詳細について述べる。
図7は、対象領域の接合面に対する本実接ぎ処理の種類を判定するフローチャートである。まず、S701で、CPU101は、対象領域の対象列を1、対象行を1と初期化して、S702へ処理を移す。初期化時の対象領域は、図8(B)の最も左上の領域801である。
S702で、CPU101は、対象領域の対象列が列1であるかを判定し、列1であればS703へ、列1でなければS704へ処理を移す。つまり、S702で、CPU101は、対象領域の位置が図8の例では列1(最も左側)に位置する領域であるかを判定する。S703で、CPU101は、対象領域の左接合面に対する本実接ぎ処理の種類を「左処理無し」と判定して、S709へ処理を移す。
ここで、図8(C)は本実接ぎ処理を付けた三次元形状の正投影図の例で、中心に印刷時の表面である平面図、上に背面図、下に正面図、右に右側面図、そして左に左側面図の五面から成る。各領域801〜815の配置は図8(B)の配置に対応している。
対象領域が行1〜行3、列1に位置する領域801、806、811である場合、対象領域の左接合面には接合する相手がいないので「左処理無し」となり、図8(C)の当該領域に係る背面図、平面図及び正面図の左端が表すように平面的になる。
S704で、CPU101は、対象領域の対象行が偶数行であるかを判定し、偶数行であればS706へ、奇数行であればS705へ処理を移す。S705で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS707へ、奇数列であればS708へ処理を移す。S706で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS708へ、奇数列であればS707へ処理を移す。
S707で、CPU101は、対象領域が奇数行及び偶数列、又は偶数行及び奇数列に位置するため、対象領域の左接合面に対する本実接ぎ処理の種類を「左凹本実接ぎ処理」と判定して、S709へ処理を移す。
「左凹本実接ぎ処理」では、対象領域が行1列2にある領域802である場合、図8(C)の領域802の平面図の左端が表すように左接合面の中央に凹状の「左凹本実接ぎ部」が設けられる。詳細には、図8(B)に示す分割処理した領域802の左接合面の中央に対し、横サイズ0.5、縦サイズ0.5の「左凹本実接ぎ部」に相当する画素サイズを左隣の領域801へ移設し、領域801、802間で新たな分割線を定義する。これにより、領域802の左接合面に、本実の噛み合い効果を有する「左凹本実接ぎ部」が設けられる。S715で後述するように嵌め合い相手の領域801には、図8(C)の平面図の右端が表すように右接合面の中央に凸状の「右凸本実接ぎ部」設けられ、領域802の左接合面に設けられた「左凹本実接ぎ部」と嵌り合う。
ここで、図8(D)は本実接ぎ処理部が設けられた各領域に係る三次元形状の斜投影図の例で、図8(C)の正面図、平面図及び右側面図に対応する面が見えている投影面であり、各領域の配置は図8(B)のものと対応している。対象領域が行1列2にある領域802である場合、領域802の表面から裏面まで垂直に分断する方向に本実面が設けられているので、接合部に必要な最小厚みの制限は無い。例えば、図8(B)の領域802に対して、左隣の領域801や右隣の領域803へ本実接ぎ部に相当する画素分を移す。同時に下の行2列2から本実の画素分を本領域へ移設して新たな分割線の領域と定義することにより本実接ぎ部の噛み合い効果の付いた分割線で囲まれた分割領域が形成される。前記の新たな分割領域を後述するように三次元形状データへ変換すれば、本実接ぎ部が設けられ、噛み合い効果の付いた当該領域に係る分割印刷用の三次元形状データが生成される。
S708で、CPU101は、対象領域が偶数行及び偶数列、又は奇数行及び奇数列に位置するため、対象領域の左接合面に対する本実接ぎ処理の種類を「左凸本実接ぎ処理」と判定して、S709へ処理を移す。
「左凸本実接ぎ処理」では、対象領域が行1列3にある領域803である場合、図8(C)の領域803の平面図の左端が表すように凸状の「左凸本実接ぎ部」が設けられる。図8(B)の領域803の左接合面の中央に、横サイズ0.5、縦サイズ0.5の「左凸本実接ぎ部」に相当する画素サイズを左隣の領域802から取込み、新たな分割線の領域と定義することにより本実接ぎ部の噛み合い効果の付いた分割線が形成される。なお、S714で後述するように嵌め合い相手の領域802には、図8(C)の平面図の右端が表すように凹状の「右凹本実接ぎ部」が設けられ、領域803の左接合面に設けられた「左凸本実接ぎ部」と嵌り合う。
S709で、CPU101は、対象領域の対象列がS607で行われた分割列数と等しいかを判定し、等しければS710へ、等しくなければS711へ処理を移す。つまり、CPU101は、対象領域の位置が図8の例では列5(最も右側)にある領域であるかを判定している。
S710で、CPU101は、対象領域の対象列がS607で行われた分割列数と等しいので、対象領域の右接合面に対する本実接ぎ処理の種類を「右処理無し」と判定して、S716へ処理を移す。例えば、対象領域が領域805、810、815である場合、領域805、810、815の右接合面には接合する相手がいないので「右処理無し」と判定され、図8(C)の当該領域に係る背面図、平面図及び正面図の右端が表すように平面的になる。
S711で、CPU101は、対象領域の対象行が偶数行であるかを判定し、偶数行であればS713へ、奇数行であればS712へ処理を移す。S712で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS714へ、奇数列であればS715へ処理を移す。S713で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS715へ、奇数列であればS714へ処理を移す。
S714でCPU101は、対象領域が奇数行及び偶数列、又は偶数行及び奇数列に位置するため、対象領域の右接合面に対する本実接ぎ処理の種類を「右凹本実接ぎ処理」と判定して、S716へ処理を移す。
「右凹本実接ぎ処理」では、対象領域が行1列2にある領域802である場合、図8(C)の領域802の平面図の右端が表すように右接合面の中央に横サイズ0.5、縦サイズ0.5を有する凹状の「右凹本実接ぎ部」が設けられる。S708で前述したように嵌め合い相手の領域803には、その平面図が表すように左接合面に「左凸本実接ぎ部」が設けられているので、領域802の右接合面の「右凹本実接ぎ部」と嵌り合う。
また、図8(D)に示すように、領域802の右接合面には凹状の「右凹本実接ぎ部」が設けられ、相対する領域803の左接合面に設けられた凸状の「左凸本実接ぎ部」と嵌り合う。このように領域802及び領域803間の接合面は平面的な「すり合わせ接ぎ部」ではなく、領域802、803の表面から裏面まで垂直に分断する断面として設けられた「本実接ぎ部」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。なお、第1実施形態と同様に、領域801、803、805、807、809、811、813、815は、本実接ぎ部に係る凸属性を有し、領域802、804、806、808、810、812、814は、本実接ぎ部に係る凹属性を有するともいえる。
S715で、CPU101は、対象領域が偶数行及び偶数列、又は奇数行及び奇数列に位置するため、対象領域の右接合面に対する本実接ぎ処理の種類を「右凸本実接ぎ処理」と判定して、S716へ処理を移す。
「右凸本実接ぎ処理」では、対象領域が行1列1にある領域801である場合、図8(C)の領域801の平面図の右端が表すように凸状の「右凸本実接ぎ部」が設けられる。なお、S707で前述したように嵌め合い相手の領域802の左接合面には、その平面図の左端が表すように凹状の「左凹本実接ぎ部」が設けられ、領域801の右接合面に設けられた「右凸本実接ぎ部」と嵌り合う。
図8(D)に示すように、領域801の右接合面には凸状の「右凸本実接ぎ部」が設けられ、対する領域802の左接合面に設けられた凹状の「左凹本実接ぎ部」と嵌り合い、「本実接ぎ部」により噛み合わされ位置決めされる。そのため、領域801及び領域802間は、位置ずれし難く接合しやすい。
S716で、CPU101は、対象領域の対象行が行1であるかを判定し、行1であればS717へ、行1でなければS718へ処理を移す。
S717で、CPU101は、対象領域の上接合面に対する本実接ぎ処理の種類を「上処理無し」と判定して、S723へ処理を移す。対象領域が行1の列1〜列5に位置する場合、対象領域の上接合面には接合する相手がいないので「上処理無し」となり、図8(C)の領域801〜805に係る左側面図、平面図及び右側面図の上端が表すように平面的になる。
S718で、CPU101は、対象領域の対象行が偶数行であるかを判定し、偶数行であればS720へ、奇数行であればS719へ処理を移す。S719で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS721へ、奇数列であればS722へ処理を移す。S720で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS722へ、奇数列であればS721へ処理を移す。
S721で、CPU101は、対象領域が奇数行及び偶数列、又は偶数行及び奇数列に位置するため、対象領域の上接合面に対する本実接ぎ処理の種類を「上凸本実接ぎ処理」と判定して、S723へ処理を移す。
「上凸本実接ぎ処理」では、対象領域が行2列1にある領域806である場合、図8(C)の領域806の平面図の上端が表すように中央に横サイズ0.5、縦サイズ0.5を有する凸状の「上凸本実接ぎ部」が設けられる。S729で後述するように嵌め合い相手の領域801の下接合面には、その平面図が表すように中央に凹状の「下凹本実接ぎ部」が設けられ、領域806の上接合面に設けられた「上凸本実接ぎ部」と嵌り合う。
S722で、CPU101は、対象領域が偶数行及び偶数列、又は奇数行及び奇数列に位置するため、対象領域の上接合面に対する本実接ぎ処理の種類を「上凹本実接ぎ処理」と判定して、S723へ処理を移す。
「上凹本実接ぎ処理」では、対象領域が行2列2にある領域807である場合、図8(C)の領域807の平面図の上端が表すように中央に横サイズ0.5、縦サイズ0.5を有する凹状の「上凹本実接ぎ部」が設けられる。S728で後述するように嵌め合い相手の領域802の下接合面には、その平面図の下端が表すように凸状の「下凸本実接ぎ部」が設けられ、領域807の上接合面に設けられた「上凹本実接ぎ部」と嵌り合う。
S723で、CPU101は、対象領域の対象行がS607で行われた分割行数と等しいかを判定し、等しければS724へ、等しくなければS725へ処理を移す。つまり、S723で、CPU101は、対象領域が図8の例では行3(最も下側)に位置する領域であるかを判定している。
S724で、CPU101は、対象領域の下接合面に対する本実接ぎ処理の種類を「下処理無し」と判定して、S730へ処理を移す。対象領域が行3の列1〜列5に位置する場合、対象領域の下接合面には接合する相手がいないので「下処理無し」となり、図8(C)の領域811〜815に係る左側面図、平面図及び右側面図の下端が表すように平面的になる。
S725で、CPU101は、対象領域の対象行が偶数行であるかを判定し、偶数行であればS727へ、奇数行であればS726へ処理を移す。S726で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS728へ、奇数列であればS729へ処理を移す。S727で、CPU101は、対象領域の対象列が偶数列であるかを判定し、偶数列であればS729へ、奇数列であればS728へ処理を移す。
S728で、CPU101は、対象領域が奇数行及び偶数列、又は偶数行及び奇数列に位置する領域のため、対象領域の下接合面に対する本実接ぎ処理の種類を「下凸本実接ぎ処理」と判定して、S730へ処理を移す。
「下凸本実接ぎ処理」では、対象領域が行1列2にある領域802である場合、図8(C)の領域802の平面図の下端が表すように中央に横サイズ0.5、縦サイズ0.5を有する凸状の「下凸本実接ぎ部」が設けられる。S722で前述したように嵌め合い相手の領域807の上接合面には、その平面図の上端が表すように凹状の「上凹本実接ぎ部」が設けられ、領域802の下接合面に設けられた「下凸本実接ぎ部」と嵌り合う。
図8(D)に示すように、領域802の下接合面には凸状の「下凸本実接ぎ部」が設けられ、相対する領域807の上接合面に設けられた凹状の「上凹本実接ぎ部」と「本実接ぎ」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S729で、CPU101は、対象領域が偶数行及び偶数列、又は奇数行及び奇数列に位置する領域のため、対象領域の下接合面に対する本実接ぎ処理の種類を「下凹本実接ぎ処理」と判定して、S730へ処理を移す。
「下凹本実接ぎ処理」では、対象領域が行1列1にある領域801である場合、図8(C)の領域801の平面図の下端が表すように中央に横サイズ0.5、縦サイズ0.5を有する凹状の「下凹本実接ぎ部」が設けられる。S721で前述したように嵌め合い相手の領域806の上接合面には、その平面図が表すように凸状の「上凸本実接ぎ部」が設けられ、領域801の下接合面に設けられた「下凹本実接ぎ部」と嵌り合う。
図8(D)に示すように、領域801の下接合面には凹状の「下凹本実接ぎ部」が設けられ、相対する領域806の上接合面に設けられた「上凸本実接ぎ部」と「本実接ぎ」により噛み合わされ位置決めされるので、位置ずれし難く接合しやすい。
S730で、CPU101は、対象領域の対象列の値に1を加算し、S731へ処理を移す。S731で、CPU101は、対象領域の対象列がS607で行われた分割列数より大きいかを判定し、大きければS732へ、大きくなければS702へ処理を移す。つまり、CPU101は、図8(B)に示す列5に位置する領域まで本実接ぎ処理の種類の判定が終わったかどうかを判定している。
S732で、CPU101は、対象領域の対象列がS607で行われた分割列数より大きいので、対象領域の対象列を列1にリセットし、対象行に1を加算し、S733へ処理を移す。S733で、CPU101は、対象領域の対象行がS607で行われた分割行数より大きいかを判定し、大きければ処理を終了し、大きくなければS702へ処理を移す。つまり、CPU101は、図8(B)に示す行3に位置する領域まで本実接ぎ処理の種類の判定が終わったかどうかを判定している。
説明を図6へ戻す。S603でCPU101は、S601で分割処理された領域801〜815の接合面の辺の長さに基づき「本実接ぎ部」のサイズを算出し、S604へ処理を移す。例えば、図8(C)では、各領域801〜815の接合面の辺の長さの1/4の縦横サイズ分の画素としている。対象領域が行1列5にある領域805である場合、その左接合面の「本実接ぎ部」のサイズは縦サイズ0.5及び横サイズ0.5、下接合面の「本実接ぎ部」のサイズは縦サイズ0.25及び横サイズ0.25としている。
S604で、CPU101は、三次元画像データに基づいて分割した各領域801〜815の接合面に対し、図7で判定された本実接ぎ処理の種類と、S603で算出された「本実接ぎ部」のサイズに相当する画素を領域間で移動・交換させる。そして、各領域に対して分割印刷用の三次元形状データを生成して処理を終了する。
本実施形態では隣接する領域間の接合面の長さは同一の例をあげているが、一つの接合面に対して複数の分割領域を接合したい場合もある。その場合は、接合面の短い領域の辺の長さに基づいた「本実接ぎ部」のサイズを算出し、当該領域の全体の配置内における位置から個々の凹凸属性が互いに重ならないように決定し、複数領域と接合される側の領域の接合面に複数の本実接ぎ部を設けてもよい。図8(D)に示すように、領域801〜815の各接合面は、裏面に垂直な平面及び凹凸面から構成されており、例えば、印刷装置により積層式の三次元造形を行う場合は、表面(即ち平面図側)を頂点として積層すれば良い。
以上のように本実施形態では、本実接ぎ部に係る嵌め合い形状込みで縦横サイズが印刷装置の最大印刷サイズ内で印刷できるサイズになるように三次元画像データを複数の領域に分割する。そして、領域全体内における対象領域の位置と接合面の辺の長さに基づいて嵌め合い形状(本実接ぎ部)を設けるので、各領域に係る印刷物を接合する時に位置合わせがし易く、ずれ難いので、分割順に並べるだけで容易に組みあがるという効果がある。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。