以下、本発明に係る実施形態を、図面を参照しながら説明する。図1は、本発明の一実施形態に係る造形システム10について説明をする図である。図1(a)は、造形システム10の構成の一例を示す。図1(b)は、造形システム10における造形装置12の要部の構成の一例を造形物50と共に示す。本例において、造形システム10は、立体的な造形物を造形するシステムであり、造形装置12及び制御PC14を備える。また、以下において説明をする点を除き、造形システム10は、公知の造形システムと同一又は同様の特徴を有してよい。
造形装置12は、造形物50の造形を実行する装置であり、インクの層を積層することにより、積層造形法で造形物50を造形する。この場合、インクとは、例えば、機能性の液体のことである。また、本例において、インクは、造形の材料の一例である。インクについては、例えば、インクジェットヘッドから吐出する液体等と考えることもできる。この場合、インクジェットヘッドとは、例えば、インクジェット方式で液体を吐出する吐出ヘッドのことである。
また、より具体的に、本例において、造形装置12は、例えば図1(b)に示すように、造形中の造形物50へ向けてインクを吐出する構成であるヘッド部102を有する。また、ヘッド部102は、キャリッジ200、複数のインクジェットヘッド202、紫外線光源204、及びローラ206を有する。キャリッジ200は、ヘッド部102における他の構成を保持する保持部材である。また、複数のインクジェットヘッド202は、造形の材料であるインクを吐出する吐出ヘッドである。本例において、複数のインクジェットヘッド202は、紫外線の照射により硬化するインクである紫外線硬化型インクを吐出する。また、複数のインクジェットヘッド202のそれぞれは、例えば、互いに異なる色のインクを吐出する。このように構成すれば、例えば、複数のインクジェットヘッド202からインクを吐出することで、インクの層152を適切に形成することができる。また、互いに異なる色の複数色のインクを用いることで、例えば、着色された造形物50を適切に造形することができる。
紫外線光源204は、複数のインクジェットヘッド202により吐出されたインクを硬化させる硬化手段である。また、ローラ206は、インクの層152を平坦化する平坦化手段であり、例えば紫外線が照射される前のインクの一部をかき取ることにより、インクの層152を平坦化する。
また、造形装置12は、図1(b)に図示したヘッド部102以外に、公知の造形装置と同一又は同様の構成を更に備える。より具体的に、造形装置12は、例えば、造形中の造形物50に対して相対的に移動する走査動作をヘッド部102に行わせる走査駆動部や、造形装置12の各部の動作を制御する制御部等を更に有してよい。この場合、走査駆動部は、例えば、所定の主走査方向へ造形物50に対して相対的に移動しつつインクを吐出する主走査動作、積層方向へ造形物50に対して相対的に移動する積層方向走査、及び副走査方向へ造形物50に対して相対的に移動する副走査動作等の走査動作をヘッド部102に行わせる。この場合、積層方向とは、インクの層152が積層される方向である。また、副走査方向とは、主走査方向及び積層方向と直交する方向である。ヘッド部102に走査動作を行わせるとは、例えば、ヘッド部102における複数のインクジェットヘッド202に走査動作を行わせることである。
また、各回の主走査動作において、制御部は、制御PC14から受け取る造形データに基づいて決定される吐出位置へ、複数のインクジェットヘッド202にインクを吐出させる。このように構成すれば、例えば、造形物50を構成するそれぞれのインクの層152を適切に形成することができる。また、これにより、例えば、積層造形法で造形物50を適切に造形することができる。
制御PC14は、所定のプログラムに応じて動作するコンピュータであり、造形しようとする造形物50を示す造形データを造形装置12へ供給することにより、造形装置12の動作を制御する。また、以下において、造形装置12において造形中の造形物50や、造形が完了した後の造形物50等と区別する場合には、必要に応じて、造形しようとする造形物50について、予定造形物という。また、本例において、制御PC14は、予定造形物を示す立体データに基づき、造形装置12へ供給する造形データを生成する。この場合、立体データとしては、例えば、造形時の造形物50の向き(レイアウト)の指定がされていないデータを用いる。また、造形データとしては、例えば、造形時の造形物50の向きが指定されたデータを用いる。
また、本例において、制御PC14は、例えば立体データを作成したデザイナ等のユーザから造形時の造形物50の向きを指定する指示を受け取ることで、造形データでの向きを指定する。また、この場合において、予定造形物を示すコンピュータグラフィックス画像(以下、CG画像という)をユーザに示しつつ、ユーザの指示を受け取る。これにより、本例において、制御PC14は、予定造形物を示す立体データに基づいて予定造形物を示すCG画像を生成する画像生成装置としても機能する。また、この場合、制御PC14で作成するCG画像としては、造形物50の表面の状態を反映したCG画像を作成する。また、より具体的に、造形物50の表面の状態として、面の傾斜角度(造形角度)に応じて変化する質感を反映させる。
図1(c)は、面の傾斜角度に応じて変化する質感について説明をする図であり、造形物50の上面と側面との間で生じる質感の差の一例を示す。この場合、上面とは、積層方向における最も上側の面のことである。また、上面については、最後に積層されるインクの層152の表面に対応する面等と考えることもできる。また、側面とは、上面に対して交差する面のことである。
図示した構成等から理解できるように、積層造形法で造形を行う場合、造形物50の側面は、インクの層152の境界を多く含む面になる。そして、この場合、層152の境界が露出すること等の影響で、ザラツキ感のある粗面になりやすい。これに対し、造形物50の上面は、例えば平坦化したインクのドットが並ぶ面になるため、側面と比べて平滑な面になりやすい。また、本例のように、ヘッド部102におけるローラ206で層152の平坦化を行う場合、平坦化の影響により、上面がより平滑な面になる。
そのため、積層造形法で造形物50を造形する場合、通常、造形物50の上面と側面との間で、質感の差が大きくなると考えられる。これに対し、本例においては、上記のように、制御PC14で作成するCG画像として、面の傾斜角度に応じて変化する質感を反映させた画像を生成する。このように構成すれば、例えば、造形装置12において実際に造形物50の造形を行う前に、造形物50の質感をより高い精度で適切に予測することができる。また、これにより、例えば、必要に応じて、造形時の造形物50の向きの調整等を適切に行うことができる。そこで、以下、制御PC14で作成するCG画像について、更に詳しく説明をする。
図2は、本例において生成するCG画像での質感の反映のさせ方の概要を示す図である。図中に示すように、本例においては、予め作成した試料から取得したパラメータを反映させたCG画像を作成することで、予定造形物の質感を表現する。この場合、試料については、例えば、造形装置12(図1参照)により予め作成した造形物である造形サンプル等と考えることができる。また、この場合、造形装置12としては、造形物50の造形を行う造形装置12と同じ装置を用いることが考えられる。造形物50の造形を行う造形装置12と同じ装置とは、例えば、造形物50の造形時と同じ条件で造形を行う装置のことである。この場合、同じ条件で造形を行う装置とは、例えば、造形物50の造形に用いる造形装置12と同一の装置に限らず、例えば同機種の他の造形装置12等であってもよい。また、求められる造形の品質等に対して実質的に同じ条件で造形ができるのであれば、異なる機種の装置であってもよい。また、試料の作成については、造形物50の造形を行う造形装置12(同一の造形装置12)で作成を行うことがより好ましい。
また、本例においては、水平面に対する傾斜角度が互いに異なる面をそれぞれが有する複数の試料を作成し、これらの複数の試料に対して所定の計測を行うことで、CG画像の作成時に用いるパラメータを取得する。この場合、水平面に対する傾斜角度が互いに異なる面をそれぞれが有する複数の試料とは、例えば、計測の対象とする面の傾斜角度が互いに異なる複数の試料のことである。また、本例において、このようなパラメータとしては、図中に示すように、法線マップ及びBRDF(双方向反射率分布関数 Bi−directional Reflectance Distribution Function)を計測することで得られるパラメータを用いる。
この場合、法線マップの計測については、例えば、公知の照度差ステレオ法を用いて行う。また、法線マップを計測することで得られるパラメータは、面の表面に形成される凹凸の状態を示すパラメータである凹凸状態パラメータの一例である。法線マップを計測することで得られるパラメータについては、例えば、複数の試料に対して面の各位置の法線方向を計測することで得られた情報である法線情報等と考えることもできる。また、BRDFの計測については、例えば、公知のゴニオフォトメータを用いて行う。また、BRDFを計測することで得られるパラメータは、面による光の反射の仕方を示すパラメータである反射状態パラメータの一例である。BRDFを計測することで得られるパラメータについては、例えば、複数の試料に対してBRDFの計測を行うことで得られた情報であるBRDF情報等と考えることもできる。
また、本例においては、上記のようなパラメータを反映するようにCG画像を生成する処理(例えば、レンダリング等)を行うことで、予定造形物の質感を表現するCG画像を生成する。また、より具体的に、この場合、制御PC14は、例えば、予定造形物の表面を構成する各位置での面の傾斜角度に対応する各パラメータに基づき、各位置での凹凸の状態や光の反射の仕方を表現するように、CG画像を生成する。また、更に具体的に、本例においては、法線マップに基づいてバンプマッピングを行うことで、凹凸の状態を表現する。この場合、法線マップに基づいてバンプマッピングを行う動作については、例えば、予定造形物の表面を構成する各位置に対し、各位置での面の傾斜角度に対応する法線情報に基づいてバンプマッピングを行う動作等と考えることもできる。また、CG画像の各位置に対して傾斜角度に応じたBRDFを設定することで、光の反射の仕方を表現する。この場合、BRDFを設定する動作については、例えば、各位置での面の傾斜角度に対応するBRDF情報に基づいてBRDFの設定を行う動作等と考えることもできる。
このように構成すれば、例えば、予定造形物の表面の各位置を構成する面の傾斜角度に応じて、CG画像上での質感を異ならせることができる。また、これにより、例えば、CG画像において、造形物の質感をより適切に表現(再現)することができる。そのため、本例によれば、例えば、実際に造形物の造形を行う前に、例えば光の反射の仕方や凹凸に関連する造形物の質感をより適切に予測し、確認することができる。
続いて、本例において生成するCG画像について、更に詳しく説明をする。先ず、本例において用いる試料の構成等について、説明をする。図3は、本例において用いる複数の試料の一例を示す。図3(a)は、試料の構成の一例を示す図であり、本願の発明者らが実験で用いた試料の一つの構成を示す。図3(b)は、試料における面の傾斜角度について説明をする図である。
本例において、試料としては、例えば図3(a)に示すように、板状の試料を好適に用いることができる。また、この場合、水平面に対する傾斜角度が互いに異なる面をそれぞれが有する複数の試料については、例えば図3(b)に示すように、造形時の向きを様々に異ならせることで、適切に作成することができる。この場合、造形時の向きを様々に異ならせて試料を作成するとは、例えばサポート層を適宜用いることで、造形中の試料の向きを様々に異ならせることである。サポート層とは、例えば、オーバーハング形状を有する造形物等を造形する場合に造形中の造形物の一部を支持するために用いる構成のことである。サポート層は、通常、造形時に必要に応じて形成され、造形の完了後に除去される。この場合、サポート層について、例えば水溶性の材料で形成すること等が考えられる。このように構成すれば、例えば、造形物の造形の完了後に水溶によりサポート層を適切に除去できる。
また、より具体的に、本例においては、図中に示すように、試料の主表面の傾斜角度が水平面に対してなす角度について、0〜90°の範囲で15°刻みで変化するように、7種類の試料を作成した。試料の主表面とは、例えば、試料における最も広い面のことである。また、試料の主表面については、例えば、試料において法線マップやBRDFの計測に対象となる面等と考えることもできる。
尚、試料の作成には、ミマキエンジニアリング社製の造形装置(3Dプリンタ)である3DUJ−533装置を用いた。この場合、本例の造形システム10において用いる造形装置12としても、ミマキエンジニアリング社製の造形装置(3Dプリンタ)である3DUJ−533装置を用いることが考えられる。また、この場合、例えばシアン色、マゼンタ色、イエロー色、及びブラック色の各色のインクを用いることで、フルカラーでの着色がされた造形物を造形することが考えられる。そして、この場合、試料としても、様々な色について、複数の試料を作成することが好ましい。しかし、以下においては、説明の便宜上、主に、1種類の色の複数の試料を用いる場合について、本例の特徴の説明を行う。また、より具体的に、本願の発明者らが行った実験では、試料の色について、千葉大学のロゴの中心の色と同じ色に設定した。この場合、試料の色については、例えば、シアン色のインクの濃度を0%、マゼンタ色のインクの濃度を100%、イエロー色のインクの濃度を70%、ブラック色のインクの濃度を20%にした色等と考えることができる。また、フルカラーでの着色がされた造形物を造形する場合にも、造形物の表面における凹凸等に関連する質感については、1種類の色の複数の試料に対する計測で得られたパラメータを用いて、予測することが可能である。そのため、フルカラーでの着色がされた造形物を造形する場合にも、複数の試料として、1種類の色の複数の試料のみを用いてもよい。
続いて、複数の試料に対して行う計測や、計測の結果の利用等について、更に詳しく説明をする。図4は、法線マップの計測(取得)について更に詳しく説明をする図である。図4(a)は、法線マップの計測時に用いる画像の撮影環境の一例を示す。図4(b)は、一つの試料(一つの傾斜角度に対応する試料)に対する撮影結果の例を示す図であり、同じ試料に対し、照明位置を互いに異ならせて撮影した9種類の画像を示す。
上記においても説明をしたように、法線マップの計測については、公知の照度差ステレオ法を用いて行うことができる。この場合、照度差ステレオ法については、例えば、光源方向が異なる3枚以上の画像における物体の画素値の比から物体表面で画素に対応する位置での法線ベクトルを求める方法等と考えることができる。また、より具体的に、本例においては、複数の位置に光源を設置したドーム状の撮影環境を用意して、それぞれの試料に対する画像の撮影を行った。また、光源としては、LEDを用いた。また、LEDについては、例えば図4(a)に数字1〜9を用いて示す位置に、ドームに沿って均等に配置した。このように構成すれば、例えば、点灯させるLEDを切り替えることで、光源方向(照明位置)を様々に変化させることができる。また、上記のようなドーム状の撮影環境を用いることで、照明位置を変化させた場合に他の条件が作用すること等を適切に防ぐことができる。
また、上記以外の点については、公知の照度差ステレオ法と同一又は同様に行うことができる。この場合、公知の照度差ステレオ法とは、例えば、照明位置を互いに異ならせた複数の画像と、撮影対象の物体に対応するマスク画像とを用いて、法線マップを取得する方法のことである。また、法線マップとは、例えば、物体の任意の位置の法線ベクトルの向きを表す画像のことである。また、本例において、法線マップとしては、物体の任意の位置の法線ベクトルの向きを表すxyz各成分をRGB値に対応させて変化させた画像を用いる。また、照度差ステレオ法について、例えば、光源方向の異なる3枚以上の画像における物体の画素値の比から物体の表面において対応する画素の法線ベクトルを求める手法等と考えることもできる。この場合、法線マップを求める対象の物体については、例えば、完全拡散モデルを仮定する。そして、入射光と法線とのなす角によって観測輝度が変化することに着目して、法線ベクトルを求める。
また、より具体的に、この場合、単位法線ベクトルをn、単位入射光ベクトルをs、拡散反射率をρとし、3種類の既知の光源下で、任意の観測輝度をiとした場合、iは、sとnとの内積にρを乗じた値(i=ρs・n)に等しくなる。そのため、入射光と法線とのなす角が小さければ、その画素に関する観測輝度は大きくなる。また、この場合、ベクトルρnの値については、ムーアペンローズの疑似逆行列を利用することで、次の式
ρn=(sTs)T(sTi)
を利用して求めることができる。また、法線ベクトルnについては、ベクトルρnを正規化することで求めることができる。
また、この場合、複数の画像の撮影を複数の試料のそれぞれに対して行うことで、図5に示すように、それぞれの試料に対応する法線マップを取得することができる。図5は、複数の試料のそれぞれに対応する法線マップの例を示す図であり、法線マップを表す画像について、試料間での違いを認識しやすくするためにコントラストを調整した上で、グレースケール画像で示す。
図からわかるように、0°の傾斜角度(造形角度)に対応する試料では、ローラ206(図1参照)による平坦化を行っていること等により、法線方向の変化が少なくなっている。これに対し、傾斜角度が大きくなると、ローラ206による平坦化が行われていない箇所の影響が大きくなること等により、法線方向が細かく変化している。また、これらの結果から、法線マップについて、例えば、面における細かい凹凸の状態を反映していると考えることができる。
また、上記においても説明をしたように、本例においては、CG画像において、凹凸の状態を表現する。また、そのための方法として、例えば、図6に示すように、法線マップに基づいてバンプマッピングを行う。図6は、CG画像において行う凹凸の状態の表現(凹凸再現)について更に詳しく説明をする図である。
この場合、バンプマッピングについては、例えば、立体的なオブジェクトの表面に凹凸を表現する方法等と考えることができる。また、バンプマッピングにおいては、例えば、CG画像により示すオブジェクトの表面の陰影計算に用いる法線ベクトルの変動をテクスチャ画像の輝度値変動に対応させて揺らぎを与えることで、凹凸の状態に合わせた見え方を実現する。
また、より具体的に、本例においては、法線マップにおける法線ベクトルの変動に対応するテクスチャ画像を用意して、光源からの光反射の計算を行う前に、CG画像における各画素(ピクセル)に対し、このテクスチャ画像を適用する。また、これにより、例えば、CG画像により示すオブジェクトの表面に当たる光の反射方向を擬似的に変化させる。このように構成すれば、CG画像において、例えば、濃淡の具合により、表面に微小な凹凸が存在しているように見せることができる。また、この場合、例えば、実際にオブジェクトの形状を変化させることなく、輝度変化のあるテクスチャ画像を入力するのみで、例えば図中の拡大図に示すように、立体的な凹凸の状態を適切に再現することができる。そのため、このように構成すれば、例えば、計算の処理量を大きく増大させることなく、高速なレンダリング等をより適切に行うことができる。
また、本例においては、CG画像での予定造形物の表面の各位置に対し、その位置での傾斜角度に応じて、バンプマッピングを行う。この場合、各位置での傾斜角度がいずれの試料の傾斜角度とも相違している場合には、例えば、最も傾斜角度が近い試料に対応する法線マップを用いることが考えられる。また、より高い精度で凹凸を表現しようとする場合には、複数の試料の法線マップを用いて補間(内挿)の処理等を行って、任意の傾斜角度に対応する法線マップを算出してもよい。本例によれば、例えば、予定造形物を示すCG画像において、面の傾斜角度に応じた凹凸の状態を適切に表現することができる。
尚、バンプマッピングにおいて使用するテクスチャ画像については、CG画像においてそのテクスチャ画像を適用する領域に合わせて、適宜サイズの変更等を行うことが考えられる。また、この場合、例えば、イメージキルティング等の公知の方法を好適に用いることができる。また、バンプマッピング等の動作について、上記以外の点においては、公知のバンプマッピング等の動作と同一又は同様にして行うことが考えられる。また、CG画像において凹凸等を表現するための方法としては、バンプマッピング以外の方法を用いてもよい。この場合、例えば、粒状の凹凸を表現するための公知の方法を用いることが考えられる。
また、上記においても説明をしたように、本例においては、複数の試料の対し、BRDFの計測を更に行う。図7は、BRDFの計測環境の一例を示す図であり、本願の発明者らが行った実験でBRDFの計測を行った環境を示す。図中に示すように、本例においては、計測対象として用いる試料に対し、光源から光を照射する。そして、受光部分において、試料から反射してくる光を計測する。
ここで、BRDFについては、例えば、光の入射方向と反射方向との組に対応する反射率を示す関数等と考えることができる。そのため、BRDFについては、入射方向及び反射方向のそれぞれに対応する角度を様々に変更しつつ、反射率の計測を行う。また、この場合、計測装置としては、公知のゴニオフォトメータ等を好適に用いることができる。
また、BRDFについて、高密度な計測結果を得るためには、入射方向及び反射方向のそれぞれを変化させる刻み幅を小さくして、膨大な回数の計測を行うことが必要になる。しかし、このようにして膨大な回数の計測を行うとすると、計測に要する手間や時間が大きく増大することになる。そのため、BRDFの計測については、計測を効率的に行うための公知の方法を利用して、必要な計測回数をできるだけ少なくすることが好ましい。この場合、例えば、BRDFの等方性を仮定することで、任意のあおり角に対する方位角別のBRDFと任意の方位角に対するあおり角別のBRDFとを等しいとすること等が考えられる。
また、BRDFの計測に用いる装置(ゴニオフォトメータ等)の仕様や計測の環境によっては、一部の角度に対応するBRDFの計測を行えない場合もある。このような場合には、計測を行えない角度のBRDFについて、正常に計測された他の角度のBRDFに基づいて推定を行うことが考えられる。また、より具体的に、この場合、例えば、正しく計測できた角度に対応する反射率の値を既存のBRDFのモデルにフィッティングすることで、未知のBRDFを推測すること等が考えられる。既存のBRDFのモデルとしては、例えば、拡散反射成分項と鏡面反射成分項との和を用いるモデル(例えば、Torrance Sparrowモデル等)を好適に用いることができる。
また、上記においても説明をしたように、本例において、試料の傾斜角度は、15°刻みで設定されている。そのため、BRDFの計測についても、一部の傾斜角度の面に対してのみ行えることになる。しかし、CG画像で造形物の品質をより高精度で表現するためには、BRDFについて、任意の傾斜角度の面に対して取得することが望ましい。そこで、本例においては、対応する試料が存在しない傾斜角度の面に対し、計測により得られたBRDFに基づく補間(内挿)の処理を行うことで、BRDFを算出する。この場合、補間の処理については、例えば、複数の試料に対する計測で得られたBRDFを用いてスプライン補間を行うことで算出すること等が考えられる。このように構成すれば、例えば、任意の傾斜角度の面に対応するBRDFを適切に取得することができる。
また、上記においても説明をしたように、本例において、制御PC14(図1参照)では、面の傾斜角度に応じた質感を反映したCG画像を生成する。また、この場合において、試料を用いて取得した法線マップ及びBRDFに基づき、質感を表現する。
図8は、制御PC14において生成するCG画像について更に詳しく説明をする図であり、CG画像の例として、傾斜角度が15°の試料をCGで再現した結果を示す。図8(a)は、法線マップ及びBRDFの取得に用いた試料を示す図であり、傾斜角度が15°の試料として用いた実物の試料の写真を示す。図8(b)は、計測により取得した法線マップ及びBRDFを用いて生成したCG画像の例を示す図であり、試料の形状を示す立体データを用い、15°の傾斜角度に対応する法線マップ及びBRDFを反映してレンダリング等を行うことで生成されたCG画像の例を示す。グレースケール画像で示す図面ではややわかりにくいが、図8(a)、(b)に対応するカラー画像では、CG画像において、実物の試料の色や凹凸等を適切に再現できることが確認できた。また、実際の造形物の造形時には、試料と同じ形状の造形物に限らず、様々な形状の造形物を造形することになる。そのため、CG画像においても、様々な形状の造形物(予定造形物)を様々な向きで示すCG画像を生成することが必要になる。
図9は、試料と異なる形状の造形物を示すCG画像の例を示す図であり、立方体形状の造形物について、向きを様々に変化させたCG画像を示す。図中において、左上側の図は、立方体において上側に来る面である上面が水平面と平行になるように、上面の傾斜角度を0°にした場合の例である。この場合、立方体の側面の傾斜角度は、90°になる。また、左上側以外の各図面は、上面及び側面の傾斜角度を様々に異ならせた場合の例である。
それぞれのCG画像は、立方体を示す立体データを用い、上面及び側面のそれぞれについて面の傾斜角度に応じた法線マップ及びBRDFを反映した状態でレンダリング等を行うことで生成した。また、この場合において、上記においても説明をしたように、BRDFについては、それぞれの面について、必要に応じて、面の傾斜角度に応じた補間の処理を行った。また、法線マップについては、処理の簡略化のため、補間の処理は行わず、それぞれの面の傾斜角度に最も近い傾斜角度の試料に対する計測結果を用いた。また、法線マップの反映については、上記においても説明をしたように、バンプマッピングにより行った。
図中に示すように、立方体の向きを変更することで、CG画像において、それぞれの面の質感が変化することになる。そのため、本例によれば、例えば、実際に造形される造形の質感について、造形時の造形物の向きと対応付けて適切に確認することができる。また、この場合、例えば、ユーザの指示に応じてCG画像に示す造形物の向きを変更することで、向きの変更による質感の変化等をユーザに確認させつつ、造形時の造形物の向きを決定すること等が考えられる。
図10は、造形物の向きと面の質感との関係について更に詳しく説明をする図である。図10(a)は、上面と側面との質感に差が生じる向きで造形物を示すCG画像の例を示す。図10(b)は、上面と側面との質感の差が小さくなる向きで造形物を示すCG画像の例を示す。上記においても説明をしたように、CG画像におけるそれぞれの面の質感は、造形時に面に生じる凹凸等を反映することになる。そのため、図10(a)に示すCG画像については、例えば、面によって表面の凹凸の状態の差が大きくなる場合の例等と考えることができる。また、図10(b)に示すCG画像については、例えば、面による表面の凹凸の状態の差が小さくなる場合の例等と考えることができる。
ここで、造形物の造形時において、造形物に求められる質感は、造形物の用途等によって、様々に変化することが考えられる。これに対し、本例においては、例えば、様々な向きで造形物を示すCG画像をユーザに示すことで、所望の質感が得られる造形物の向きをユーザが適切に選択することができる。そのため、本例によれば、例えば、CG画像を用いて、造形物の質感を適切に確認することができる。また、この場合、造形装置12(図1参照)での造形物の造形時における造形物の向きをユーザが選択した向きに合わせることで、ユーザが望む質感で造形物の造形を適切に行うことができる。
続いて、上記において説明をした各構成に関する補足説明等を行う。先ず、本例において用いる制御PC14の構成について、更に詳しく説明をする。
図11は、制御PC14の構成の一例を示す図である。本例において、制御PC14は、表示部302、受付部304、記憶部306、及び制御部308を有する。また、上記においても説明をしたように、制御PC14としては、例えば、所定のプログラムに応じて動作するコンピュータを用いることが考えられる。この場合、コンピュータの各部について、制御PC14の各構成として動作すると考えることができる。
表示部302は、制御PC14において生成したCG画像を表示する表示装置である。表示部302としては、例えば、コンピュータのモニタ等を好適に用いることができる。また、受付部304は、ユーザの指示を受け付ける入力装置である。受付部304としては、例えば、コンピュータの入力装置(例えば、マウス、キーボード等)を好適に用いることができる。
記憶部306は、CG画像の生成に用いるデータ等を記憶する記憶部である。記憶部306としては、コンピュータの記憶装置(例えば、HDD等)を好適に用いることができる。また、本例において、記憶部306は、パラメータ格納部の一例であり、少なくとも、造形装置12(図1参照)において造形しようとする造形物(予定造形物)を構成する面の状態をCG画像で表現するために用いるパラメータを格納する。
また、より具体的に、本例において、記憶部306は、このようなパラメータとして、複数の試料に対して計測を行うことで取得された法線マップ及びBRDFに基づくパラメータを、それぞれの試料における傾斜角度と対応付けて格納する。この場合、法線マップ及びBRDFに基づくパラメータを格納するとは、例えば、計測された法線マップ及びBRDFをそのまま格納することであってもよい。また、法線マップ及びBRDFに基づくパラメータとしては、計測の結果をそのまま用いるのではなく、例えば、CG画像の生成時に利用しやすい形式への変換等を行うことで生成したパラメータを用いてもよい。
また、上記においても説明をしたように、本例において、法線マップを計測することで得られるパラメータは、凹凸状態パラメータの一例である。また、BRDFを計測することで得られるパラメータは、反射状態パラメータの一例である。そのため、記憶部306については、例えば、反射状態パラメータ及び凹凸状態パラメータを面の傾斜角度と対応付けて格納していると考えることもできる。また、本例において、記憶部306は、予定造形物を示す立体データを更に格納する。この場合、立体データは、例えば、記憶媒体やネットワーク等を経由して制御PC14に入力されて、記憶部306に格納される。
制御部308は、制御PC14における各部の動作を制御する構成である。制御部308としては、例えば、コンピュータのCPU等を好適に用いることができる。また、本例において、制御部308は、所定のプログラムに従って動作することで、予定造形物を示すCG画像を生成する画像生成部として機能する。この場合、制御部308は、予定造形物を示す立体データと、記憶部306に記憶されている上記のパラメータ(複数の試料に対して計測を行うことで取得された法線マップ及びBRDFに基づくパラメータ)に基づき、予定造形物を示すCG画像を生成する。また、生成したCG画像を表示部302に表示させることで、ユーザに対してCG画像の提示を行う。
また、上記においても説明をしたように、本例において、制御PC14では、ユーザの指示等に応じて予定造形物の向きを様々に変更したCG画像をユーザに示すことが考えられる。この場合、例えば、受付部304により、CG画像において表示する予定造形物の向きを指定する指示をユーザから受け付ける。また、予定造形物の向きを変更する指示を受付部304が受け付けた場合、制御部308は、例えば、変更後の向きで予定造形物を示すCG画像を改めて生成する。また、表示部302は、例えば、制御部308が新たに作成したCG画像を表示することで、変更後の向きで予定造形物を示すCG画像を表示する。このように構成すれば、例えば、CG画像における予定造形物の向きを変更しつつ、質感の変化等を適切に確認することができる。また、これにより、例えば、予定造形物の好ましい向き等を適切に選択することができる。
また、この場合、単に予定造形物の向きを様々に変化させるのではなく、様々な向きの予定造形物に対応するCG画像をユーザに確認させることで、造形時の造形物の向きをユーザに選択させることが考えられる。この場合、受付部304において、例えば、表示部302に表示しているCG画像における予定造形物の向きを造形時の向きとして指定する指示をユーザから更に受け付けること等が考えられる。このように構成すれば、例えば、造形時における造形物の向きの指定を適切に受け付けることができる。
また、この場合、ユーザにより指定された造形時の向きに基づき、制御部308において、造形データを生成することが考えられる。この場合、制御部308について、造形データ生成部として機能していると考えることができる。また、造形データとは、例えば、上記においても説明をしたように、造形時の造形物の向きが指定された状態で造形物を示すデータのことである。造形データについては、例えば、造形時の造形物の向き及び配置等と共に造形物を示すレイアウトデータ等と考えることもできる。また、この場合、制御PC14から造形装置12(図1参照)へ造形データを供給することで、ユーザの指示に合わせた向きで造形装置12に造形の動作を実行させることができる。
続いて、上記において説明をした一連の動作の流れについて、図12に示すフローチャートを用いて、改めて説明をする。図12は、造形装置12に造形させる造形物を示す造形データを生成する動作の一例を示すフローチャートである。また、この場合、上記において説明をした一連の動作とは、試料を作成する動作から、造形データを出力する動作までのことである。
上記においても説明をしたように、本例においては、CG画像の作成をする前に、CG画像の作成に用いるパラメータを準備する行程が必要になる。そして、パラメータを準備する工程では、先ず、CG画像の作成に用いるパラメータを取得するために、複数の試料の作成を行う(S102)。そして、複数の試料に対し、法線マップ及びBRDFの計測を行い(S104)、計測結果に基づくパラメータを、制御PC14における記憶部306(図11参照)に格納する。また、これにより、パラメータを準備する工程が完了する。この場合、ステップS102の動作は、試料作成段階の動作の一例である。ステップS104の動作は、パラメータ取得段階及びパラメータ格納段階の動作の一例である。
また、パラメータの準備が完了した後の工程としては、上記においても説明をしたように、予定造形物を示すCG画像の生成等を行う。この場合、CG画像を生成する動作は、画像生成段階の動作の一例である。また、CG画像を生成する動作においては、先ず、予定造形物を示す立体データを制御PC14に入力する(S106)。そして、CG画像における予定造形物の向きを指定する指示を必要に応じてユーザから受け付け(S108)、予定造形物の向き(表示向き)を指定する。また、ステップ108において、例えばユーザの指示がなかった場合には、予め設定された標準の向きを指定することが考えられる。また、向きを指定した後、立体データに基づき、記憶部306に記憶されているパラメータを反映させて、CG画像を生成する。また、生成したCG画像を、表示部302(図11参照)に表示する(S110)。
そして、CG画像に表示している予定造形物の向きを造形時の造形物の向きとして採用することを示す指示をユーザから受け取った場合(S112:Yes)、その向きを造形時の向きとして造形物を示す造形データを生成して、出力する(S114)。また、ステップS112において、CG画像に表示している予定造形物の向きを造形時の造形物の向きとして採用することを示す指示をユーザから受け取らず、造形時の造形物の向きが決定されなかった場合(S112:No)、ステップS108に戻り、例えば、CG画像における予定造形物の向きを変更する指示をユーザから受け取る。そして、以降の処理を繰り返すことで、新たに設定された向きで予定画像を示すCG画像の生成及び表示等と行う。このように構成すれば、例えば、様々な向きで予定造形物を示すCG画像として、向きに応じた質感を示すCG画像を適切に表示することができる。また、このようなCG画像を表示することで、造形時の造形物の向きの決定について、ユーザにより適切に行わせることができる。
続いて、上記のようなCG画像を用いて行う応用例等について、説明をする。上記においても説明をしたように、本例においては、試料に対して計測を行うことで取得した法線マップ及びBRDFに基づき、造形物の表面の質感の予測を行う。また、この質感として、例えば、積層されるインクの層の境界等の影響で生じる凹凸等により生じる質感を予測する。そのため、本例において予測する質感については、例えば、いわゆる積層縞に関連する質感等を考えることもできる。この場合、積層縞とは、例えば、造形の材料として用いるインクの層が積層されることで生じる縞状の模様のことである。
また、この点に関し、上記のようなCG画像を用いて行う応用例においては、例えば、単に造形物の面の状態を再現するCG画像を生成するのではなく、試料に対して計測を行うことで取得した法線マップ及びBRDFに基づき、積層縞を認識して、検出すること等も考えられる。また、より具体的に、この場合、制御PC14は、例えば、積層縞の発生を予測する積層縞予測部を更に備える。制御PC14が積層縞予測部を備えるとは、例えば、制御PC14における制御部308(図10参照)を積層縞予測部として機能させることであってよい。
また、この場合、積層縞予測部として機能する制御部308は、例えば、立体データと、記憶部306に記憶されているパラメータとに基づき、予定造形物に対応する造形物の造形時に予め設定された基準を満たす積層縞が発生する領域を予測する。この場合、予定造形物に対応する造形物とは、例えば、CG画像において示されている予定造形物と同じ向きで造形を行う場合の造形物のことである。また、予め設定された基準を満たす積層縞とは、例えば、求められる造形の品質等に応じて設定される基準を満たす積層縞のことである。また、基準を満たす積層縞とは、基準に対応する積層縞以上に目立つ状態の積層縞のことである。そのため、予め設定された基準を満たす積層縞については、例えば、求められる造形の品質において問題となる積層縞等と考えることもできる。また、この場合、制御PC14は、積層縞の予測結果について、例えば、表示部302に表示することで、ユーザに通知する。このように構成すれば、例えば、積層縞の予測を適切に行うことができる。また、この場合、例えば、CG画像における予定造形物の向きを適宜変更することで、ユーザにより積層縞が目立ちにくい向き等を探すこと等も可能になる。また、予定造形物の向きについては、例えば、積層縞の認識結果に基づいて自動的に変更してもよい。この場合、制御PC14の構成について、例えば、積層縞を自動的に認識して、積層縞が目立ちにくくなるように造形物の向きを変更する構成等と考えることもできる。
また、この場合、造形物の全体に対して積層縞の発生を予測するのではなく、造形物における一部の領域をユーザに指定させて、その領域に生じる積層縞を予測すること等も考えられる。より具体的に、この場合、例えば、造形物において特に見た目が重要な領域をユーザに指定させることで、そのような領域に積層縞が発生しにくい向きで造形物の造形を行うこと等が考えられる。また、このような重要な領域としては、例えば、人型のフィギュアを示す造形物を造形する場合において、人の顔に対応する領域を指定すること等が考えられる。
また、この場合、制御PC14では、例えば、受付部304において、積層縞の発生を予測する領域として、予定造形物における一部の領域の指定をユーザから受け付ける。そして、制御部308は、例えば、ユーザにより指定された一部の領域に発生する積層縞の状態を予測する。このように構成すれば、例えば、例えば造形物において特に重要な位置を指定して、積層縞の発生を予測することができる。
また、この場合、積層縞の発生を単に予測するのではなく、指定された領域に積層縞が特に発生しにくくなる向きの提案等を更に行うことが好ましい。より具体的に、この場合、例えば、その時点でCG画像に表示されている予定造形物の向きで発生する積層縞のみではなく、予定造形物の向きを変更した場合に指定の領域(一部の領域)を構成する面に発生する積層縞の状態を更に予測することが考えられる。また、この場合、このような予測の結果に基づき、積層縞がより目立ちにくくなる予定造形物の向きをユーザに提示することが考えられる。このように構成すれば、例えば、造形時における造形物の好ましい向きをより容易かつ適切に選択することができる。また、制御部308において造形データを生成する場合、積層縞の予測結果を利用して、造形データを生成してもよい。この場合、例えば、予測した積層縞の発生の仕方に基づいて造形時における造形物の向きを決定して、造形データを生成すること等が考えられる。
ここで、積層縞については、例えば、CG画像における輝度のコントラスト等に基づいて認識すること等が考えられる。より具体的に、CG画像の各位置において、局所的な輝度のコントラストについては、例えば、造形物の表面における凸部の立ち上がりの角度等に応じて変化すると考えることができる。また、造形物の表面において、このような立ち上がりの角度が大きい箇所については、例えば、鋭角に立ち上がるような起伏の大きな凸部が存在している可能性が高い箇所等と考えることができる。
また、より具体的に、CG画像における局所的な輝度のコントラストについては、例えば、凸部の角度及び高さを反映していると考えることができる。また、この場合、例えば、輝度のコントラストが大きな箇所には、角度がきつく、かつ、高さが高い凸部が存在している可能性が高いと考えることができる。また、この場合、局所的なコントラストが大きな箇所については、角度がきつい凸部や高さが高い凸部が存在することで、実際に造形を行った造形物において目立つ積層縞が形成されやすい箇所になる可能性が高いと考えることができる。
そのため、積層縞を認識するためには、例えば、CG画像における各位置の輝度と対応付けて視認のされ方を示す関数(視認関数)を作成しておき、輝度の高く、かつ、コントラストの間隔が小さい箇所について、積層縞に対応する箇所と認識すること等が考えられる。この場合、コントラストの間隔が小さい箇所とは、例えば、局所的に所定のコントラスト差が生じている箇所のことである。また、このような箇所については、例えば、凹凸の頻度が大きい箇所等と考えることもできる。また、この場合、例えば、予定造形物の向きを変更することで、造形物において目立つ領域や重要な領域に積層縞が発生しにくい向きを選択することができる。このように構成すれば、例えば、高い品質の造形物の造形をより適切に行うことができる。