以下、図面を参照して本発明の最良の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、皮革形状データ生成装置に対して本発明を適用した場合の実施形態である。
[1.合成皮革の製造過程]
先ず、合成皮革が製造されるまでの工程について、図1を用いて説明する。
図1は、本実施形態において、合成皮革が製造されるまでの流れを示すフローチャートである。
図1に示すように、制作者は、先ず本実施形態に係る皮革形状生成装置1を用いて皮革形状データを生成する(ステップS1)。ここで、制作者は、製造しようとする合成皮革の皮革表面の特徴を示すパラメータ群(皮革表面特徴パラメータの一例)を皮革形状生成装置1に入力する。皮革形状生成装置1は、入力されたパラメータに基づいて皮革形状データを生成する。
この皮革形状データの形式は、所謂、ハイトフィールドと呼ばれるものである。具体的に、皮革表面の凹凸形状を表現する3次元座標系において、毛孔や質感を表現する前の皮革表面に平行な面をXY平面とし、毛孔の凹形状や質感の凹凸形状の高さを表現する方向(皮革の深さ方向)をZ軸と定義する。そして、ハイトフィールドの2次元配列をXY座標に当てはめ、各配列において、対応するXY座標が示す皮革表面の位置におけるZ軸方向の皮革表面の高度を、例えば、0〜255の256段階で表現する。ここで、例えば、最も高度が低いところをZ軸上の原点とし、また、Z軸方向から向かって皮革表面を見た場合における皮革表面の左隅をX軸上及びY軸上の原点とする。そして、0を黒色の画素、255を白色の画素、1〜254を、それぞれの値に応じた灰色の画素で表現すると、皮革表面の凹凸形状を、グレースケールの2次元画像として表現することができる。本実施形態においては、皮革形状データをグレースケールの画像データとして生成する。
皮革形状データが生成されると、制作者は、この皮革形状データに基づいて、例えば、デジタル彫刻機を用いてエンボスロールの彫刻を行う(ステップS2)。デジタル彫刻機は、皮革形状データが示すXY平面上の各位置において設定されている高度に応じた深さでエンボスロール表面の対応する各位置に彫刻を施していく。ここでは、高度が低いほどエンボスロールの表面は深く掘り下げられる。
次いで、制作者は、彫刻を施したエンボスロールとエンボス加工機とを用いて、皮革表面の凹凸形状を合成樹脂に転写するための型紙を生成する(ステップS3)。エンボス加工機は、エンボスロールによって所定の工程離型紙に熱と圧力を加え、この工程離型紙にエンボス加工を施す。このエンボス付きの工程離型紙が型紙となる。
次いで、制作者は、エンボス付きの工程離型紙を用いて、合成皮革を製造する(ステップS4)。ここでは、工程剥離紙のエンボスが施された方の表面に合成皮革用の樹脂組成物を塗布し、これに対して基布を貼り合わせ、樹脂層を乾燥・固形化させた後、工程剥離紙を剥離して合成皮革を得る。
[2.皮革形状データ生成装置の構成及び機能概要]
次に、本実施形態に係る皮革形状データ生成装置の構成及び概要機能について、図2を用いて説明する。
図2は、本実施形態に係る皮革形状データ生成装置1の概要構成例を示す図である。
図2に示すように、本実施形態に係る皮革形状データ生成装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える制御部10と、各種プログラム(例えば、皮革形状データ生成プログラム)及びデータ等を記憶する記憶手段の一例としての記憶部20(例えば、ハードディスクドライブ等)と、を含んで構成されている。そして、制御部10は、入力手段、画像データ選択入力手段及び保存指示入力手段の一例としての外部入力装置2(例えば、キーボード、マウス等)及び表示装置3(例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ等)と接続されている。皮革形状データ生成装置1としては、例えば、パーソナルコンピュータなどを適用することができる。
制御部10は、機能ブロック上において、皮革形状データ生成手段、パラメータ設定手段、画面表示手段及び記憶制御手段の一例としての皮革形状生成部11を有する。
そして、CPUが、ROMや記憶部20に記憶された各種プログラムを読み出し実行することにより、制御部10が皮革形状データ生成装置1の各部を制御するとともに、皮革形状データ生成プログラムを実行することにより、皮革形状生成部11が、皮革形状データ生成手段、パラメータ設定手段、画面表示手段及び記憶制御手段等として機能するようになっている。
皮革形状生成部11は、ユーザにより入力されたパラメータ群に基づいて、皮革形状データを生成するようになっている。なお、皮革形状生成部11の詳細な処理内容については後述する。
記憶部20には、皮革形状データベース21が構築されており、皮革形状生成部11により生成された皮革形状データがこの皮革形状データベース21に登録されるようになっている。
なお、各種プログラム等は、例えば、サーバ装置等からネットワークを介して取得されるようにしても良いし、CD−ROM等の記録媒体に記録されてディスクドライブ等を介して読み込まれるようにしても良い。
[3.皮革形状データの生成工程]
次に、前記図1で示したステップS1における皮革形状データの生成工程について、用いて説明する。
図3は、本実施形態に係る皮革形状データの生成のワークフローを示すフローチャートである。
ユーザが、外部入力装置2を操作して皮革形状データ生成プログラムを起動させると、皮革形状データ生成装置1の皮革形状生成部11は、後述するパラメータ設定・意匠確認画面を表示装置3に表示させる。
これに対して、図3に示すように、ユーザは、外部入力装置2を操作して必要に応じてパラメータを入力する(ステップS11)。
次いで、皮革形状生成部11は、後述する皮革形状生成処理を実行することによって、入力されたパラメータに基づいて、皮革形状データを仮生成し、RAM等に記憶させる(ステップS21)。
次いで、皮革形状生成部11は、仮生成した皮革形状データのグレースケール画像を画面に表示させ、ユーザは、グレースケール画像として画面に表示された皮革表面の凹凸形状の意匠を確認する(ステップS13)。
意匠を確認したユーザは、仮生成された皮革形状データを採用するか否かを判断する(ステップS14)。このとき、ユーザは、仮生成された皮革形状データを採用しないと判断した場合には(ステップS14:NO)、ステップS11に移行して、パラメータを入力し直す。
一方、ユーザは、仮生成された皮革形状データを採用すると判断した場合には(ステップS14:YES)、仮生成された皮革形状データを保存させるよう外部入力装置2を操作する。
皮革形状生成部11は、仮生成された皮革形状データを保存させることが指示されたと判定すると、当該皮革形状データのデータファイルを皮革形状データベースに登録する(ステップS15)。皮革形状データベースへの登録によって、皮革形状データの生成が終了する。
[4.パラメータ]
次に、本実施形態において、ユーザが入力可能なパラメータ群について説明する。
パラメータ群は、毛孔形状パラメータ(形状パラメータの一例)、凹凸質感パラメータ(質感パラメータの一例)及び毛孔位置パラメータ(配置パラメータの一例)に大別される。
[4.1 毛孔形状パラメータ]
先ず、毛孔形状パラメータについて、図4乃至図6を用いて説明する。
図4(a)及び(b)は、ユーザが毛孔形状パラメータを初期値のまま変更しなかった場合において生成される毛孔の形状の例を示す図である。また、図5及び図6は、毛孔形状パラメータに含まれる各パラメータを初期値から変更した場合において生成される毛孔の形状の例を示す図である。
なお、図4(a)、図5及び図6においては、皮革表面の垂直方向から毛孔を見た場合の毛孔の形状をグレースケールの画像で示している。これらの図においては、黒色部分が最も深く(高度が最も低い)、白色部分が最も浅く(高度が最も高い)なっている。また、図4(b)は、毛孔の断面図である。
図4(a)に示すように、初期状態の毛孔は、皮革表面から見ると真円形状をなしている。また、図4(b)に示すように、毛孔の側面は、皮革表面と直角に繋がっている。または、毛孔の側面は底面とも直角に繋がっている。
毛孔形状パラメータは、毛孔の形状を決定付けるパラメータである。毛孔形状パラメータを初期値から変更することにより、図4(a)及び(b)に示す毛孔の形状が変更される。
毛孔形状パラメータは、大項目として、「全体」、「輪郭」、「深さ」及び「回転」のパラメータを有する。「全体」は、皮革表面における毛孔の大きさを決定するパラメータであり、小項目として、「幅」及び「高さ」のパラメータを有する。
「幅」は、紙面左右方向における毛孔の長さを示すパラメータである。図5に示すパラメータ変更例1では、「幅」を初期値よりも大きくした場合の毛孔の形状が示されている。
「高さ」は、紙面上下方向における毛孔の長さを示すパラメータである。図5に示すパラメータ変更例2では、「高さ」を初期値よりも大きくした場合の毛孔の形状が示されている。
「輪郭」は、皮革表面における毛孔の輪郭の形状を決定するパラメータであり、小項目として、「高ノイズ周期」、「高ノイズ振幅」、「中ノイズ周期」、「中ノイズ振幅」及び「ノイズ」のパラメータを有する。
「高ノイズ周期」及び「高ノイズ振幅」は、毛孔の輪郭を、高ノイズとしてのサインカーブ状にするためのパラメータである。
「高ノイズ周期」は、サインカーブの周期(毛孔の輪郭にできるヒダの数)を示すパラメータである。「高ノイズ周期」の初期値は10であり、この値が大きくなるほど周期が短くなる(ヒダの数が増える)。また、「高ノイズ振幅」は、サインカーブの振幅を示すパラメータである。図5に示すパラメータ変更例3では、「高ノイズ周期」を10とし、「高ノイズ振幅」に適当な値を設定した場合の毛孔の形状が示されている。
「中ノイズ周期」及び「中ノイズ振幅」は、毛孔の輪郭を、中ノイズとしてのサインカーブ状にするためのパラメータである。
「中ノイズ周期」及び「中ノイズ振幅」も、夫々「高ノイズ周期」及び「高ノイズ振幅」と同じ位置づけのパラメータである。図5に示すパラメータ変更例4では、「中ノイズ周期」を3とし、「中ノイズ振幅」に、パラメータ変更例3で「高ノイズ振幅」に設定した値よりも大きい値を設定した場合の毛孔の形状が示されている。
「高ノイズ周期」、「高ノイズ振幅」、「中ノイズ周期」及び「中ノイズ振幅」を適度に設定することにより、高ノイズと中ノイズとを合成した複雑な輪郭をつくることができる。
「ノイズ」は、毛孔の輪郭に対して毛孔の中心位置から放射状に加えられるノイズを生成するためのパラメータであり、設定された値に応じたノイズが加えられる。図5に示すパラメータ変更例5では、「ノイズ」に適当な値を設定した場合の毛孔の形状が示されている。
「深さ」は、毛孔の側面及び底面の形状等を決定するパラメータであり、小項目として、「丸み」、「底の深さ」、「始点の深さ」、「終点の深さ」、「縁の深さ」及び「縁の深さ2」のパラメータを有する。
「丸み」は、毛孔の側面と皮革表面との接続部分及び毛孔の側面と底面との接続部分に丸みを与えるためのパラメータであり、この値が大きくなるほど接続部分の丸みが大きくなる。図6に示すパラメータ変更例6では、「丸み」に適当な値を設定した場合の毛孔の形状が示されている。
「底の深さ」は、毛孔の底面の深さを示すパラメータであり、この値が大きくなるほど、底面の深さは浅くなる。図6に示すパラメータ変更例7では、「底の深さ」を初期値よりも大きくした場合の毛孔の形状が示されている。
「始点の深さ」は、毛孔の底面の紙面上下方向における最下部を始点とした場合において、この始点の深さを示すパラメータであり、この値が大きくなるほど、始点の深さは浅くなる。図6に示すパラメータ変更例8では、「底の深さ」を0(初期値)とし、「始点の深さ」を最大にした場合の毛孔の形状が示されている。この場合において、毛孔の底面は、その最下部から最上部にかけて次第に深くなっていく。
「終点の深さ」は、毛孔の底面の紙面上下方向における最上部を終点とした場合において、この終点の深さを示すパラメータであり、この値が大きくなるほど、終点の深さは浅くなる。図6に示すパラメータ変更例9では、「底の深さ」を0(初期値)とし、「終点の深さ」を最大にした場合の毛孔の形状が示されている。この場合において、毛孔の底面は、最上部から最下部にかけて次第に深くなっていく。
「縁の深さ」は、毛孔の側面における左右両端部のなだらかさを示すパラメータであり、この値が大きくなるほど、左右両端部分の側面と、皮革表面及び毛孔の底面とがなだらかに接続される。図6に示すパラメータ変更例10では、「縁の深さ」に適当な値を設定した場合の毛孔の形状が示されている。
「縁の深さ2」は、毛孔の側面において、左右両端部よりそれぞれ所定角度だけ紙面下方にずれた部分のなだらかさを示すパラメータであり、この値が大きくなるほど、当該部分の側面と、皮革表面及び毛孔の底面とがなだらかに接続される。図6に示すパラメータ変更例11では、「縁の深さ2」に適当な値を設定した場合の毛孔の形状が示されている。
「回転」は、毛孔を回転させるためのパラメータであり、小項目として、「角度」を有する。
「角度」は、毛孔の中止位置を中心として、毛孔を紙面反時計回りに回転させる場合の角度を示すパラメータである。図6に示すパラメータ変更例12では、「角度」に1ラジアンを設定するとともに、「高さ」を初期値よりも大きくした場合における毛孔の形状が示されている。
[4.2 凹凸質感パラメータ]
次に、凹凸質感パラメータについて、図7及び図8を用いて説明する。
図7は、ざらつきを与えた場合において生成される皮革表面及び毛孔の形状の例を示す図である。また、図8は、凹凸質感パラメータを説明するための図である。
凹凸質感パラメータは、毛孔が形成された皮革表面の質感を決定付けるパラメータである。この凹凸質感パラメータに適切な値を設定することにより、例えば、図7(a)に示すように、ほぼ毛孔部分の表面にざらつきを与えたり、図7(b)に示すように、ほぼ毛孔部分を除く皮革表面にざらつきを与えたり、皮革表面全体にざらつきをあたえたりすることができる。
なお、図7(a)及び(b)は、皮革表面の垂直方向から毛孔を見た場合の毛孔の形状を、便宜上白黒2色の画像で示している。これらの図において、中心の黒丸部分が毛孔を示している。そして、図7(a)においては、毛孔部分に現れている斑点模様が、表面のざらつきを表している。また、図7(b)においては、毛孔の周囲に現れている斑点模様が、表面のざらつきを表している。
この表面のざらつきは、皮革表面に、所定のノイズの一例として3次元のパーリンノイズ(Perlin Noise)を加えることによって与えられる。
凹凸質感パラメータは、大項目として、「凹部」及び「凸部」のパラメータを有する。
「凹部」は、皮革表面の比較的深い部分の質感を示すパラメータであり、小項目として、「ノイズの細かさ」、「ノイズの適用度」及び「ノイズの深さ」のパラメータを有する。
「ノイズの細かさ」は、パーリンノイズにおけるPersistenceパラメータに相当する。この値を大きくするほど、ノイズの周期が短くなり、これによって皮革表面にできるノイズの凹凸は細かくなる。一方、この値を小さくするほど、ノイズの周期が大きくなり、これによって皮革表面にできるノイズの凹凸は粗く(ゆるやかに)なり、この値に0が設定された場合には、ノイズは最も粗くなる。
「ノイズの適用度」(範囲パラメータの一例)は、パーリンノイズの生成アルゴリズムによって生成されたノイズを皮革表面にどれだけの割合で適用するかを示すパラメータである。このパラメータに1が設定された場合には、生成されたノイズが完全に適用される。一方、このパラメータに0が設定された場合には、生成されたノイズは全く適用されず、皮革表面は全くざらつきのない状態になる。
「ノイズの深さ」は、皮革の最も深い部分からどのぐらいの高さまでノイズを付加するかを示すパラメータである。
「凸部」は、皮革表面の比較的浅い部分の質感を示すパラメータであり、「凹部」と同じく、小項目として、「ノイズの細かさ」、「ノイズの適用度」及び「ノイズの深さ」のパラメータを有する。
「凸部」における「ノイズの細かさ」及び「ノイズの適用度」は、「凹部」における「ノイズの細かさ」及び「ノイズの適用度」と同様のパラメータである。
一方、「凸部」における「ノイズの深さ」(範囲パラメータの一例)は、皮革の最も浅い部分からどのぐらいの深さまでノイズを付加するかを示すパラメータである。
これらのパラメータについて、図8を用いてより詳細に説明する。図8(a)は、ノイズが全く付加されていない場合において、毛孔が形成された皮革の断面図である。図8(a)において、Xは、毛孔を含む皮革表面であり、最深部の高度が0、最浅部の高度が255となっている。
これに対して、「凹部」の「ノイズの深さ」に、例えば、200を設定すると、図8(b)に示すように、高度が0から200までの範囲の皮革表面に対してのみ、ノイズが付加される。なお、「凹部」の「ノイズの深さ」に255を設定すると、高度が0から255までの全範囲にノイズが付加される。
なお、本来であればノイズが付加された分、毛孔の最深部の高度は0よりも低くなるが、皮革表面の高度を0から255の範囲内で表現する必要があるため、ノイズが付加された皮革表面の高度は正規化される。従って、ノイズが付加された毛孔の深さは、ノイズ付加前の毛孔の深さよりも若干浅くなる。
また、「凸部」の「ノイズの深さ」に、例えば、100を設定すると、図8(c)に示すように、高度が100から255までの範囲の皮革表面に対してのみ、ノイズが付加される。なお、「凸部」の「ノイズの深さ」に0を設定すると、高度が0から255までの全範囲にノイズが付加される。
このように「ノイズの深さ」が指定されることで、ノイズが付加される部分と付加されない部分ができるので、皮革の深さに応じて異なる質感を表現することができる。
例えば、「凹部」の「ノイズの深さ」等を適度に設定して、毛孔の形状が形成されたある程度の深さよりも深い部分で細かいノイズが付加されるようにする。一方、「凸部」の各パラメータを、ノイズが付加されないように設定するか、あるいは、「ノイズの細かさ」及び「ノイズの適用度」の値を「凹部」の方のパラメータと比較して十分に小さくする。このようなパラメータで皮革形状データを生成し、この皮革形状データを用いて合成皮革を製造する。
そうすると、合成皮革の毛孔の底の部分はノイズによる細かな凹凸形状ができるので、当該部分に入射した光が乱反射されることによって視覚的に暗く見える。一方、毛孔のできていない部分にはノイズによる細かな凹凸形状はできないか、またはできても緩やかな凹凸形状であるので、当該部分に入射した光は正反射または正反射に近い状態で反射するので視覚的に明るく見える。こうした毛孔の部分とそうではない部分との視覚的な違いにより、毛孔が実際よりもよりも深く見える(より立体的になる)という効果がある。
また、「凸部」の「ノイズの適用度」に、例えば、0.5を設定すると、図8(d)に示すように、ノイズの振幅a2が、図8(c)に示すノイズの振幅a1の半分(50%)になる。
また、図8(b)において、符号f1で示されるノイズの周期は、「凹部」の「ノイズの細かさ」に依存する。また、図8(c)及び(d)において、符号f2で示されるノイズの周期は、「凸部」の「ノイズの細かさ」に依存する。
なお、「凹部」の各パラメータと「凸部」の各パラメータを同時に設定し、これらを同時に皮革表面の質感(ノイズ)に反映させることができる。また、凹凸質感パラメータを「凹部」と「凸部」とに分けずに、境界となる深さのパラメータを設定し、この境界の深さより深い部分(凹部に相当)とこの境界の深さより浅い部分(凸部に相当)とに対して、それそれ「ノイズの細かさ」及び「ノイズの適用度」を入力させるように構成しても良い。
[4.3 毛孔位置パラメータ]
次に、毛孔位置パラメータについて、図9及び図10を用いて説明する。
図9及び図10は、毛孔の位置が決定されていく様子の一例を示す図である。
毛孔位置パラメータは、毛孔の配置を制御するためのパラメータである。この毛孔位置パラメータを設定することにより、毛孔の間隔を決定したり、毛孔の並びの方向性等を決定付けることができる。
本実施形態において皮革形状生成部11は、毛孔を配置する際に、排他領域と配置可能領域とを随時設定しながら毛孔を配置するようになっている。
排他領域(第1の領域の一例)とは、配置された毛孔の中心位置を含む領域であって、他の毛孔の中心点を配置することができない領域である。図9(a)は、毛孔が配置される皮革表面の2次元のワールド座標系にて毛孔の位置K1を決定した場合において、排他領域E1を示した図である。図9(a)中において、白い楕円で表した領域が、毛孔の位置K1における排他領域E1である。
配置可能領域(第2の領域の一例)とは、排他領域を囲む領域であって、他の毛孔の中心点を配置することができる領域である。図9(b)は、図9(a)に示す毛孔の位置K1と排他領域E1とを、K1を中心とするローカル座標系に写像した場合において、配置可能領域R1を示した図である。図9(b)においては、K1’がK1に対応し、E1’がE1に対応する。また、同図において、排他領域E1’を囲む黒色の楕円の帯状の領域が、毛孔の位置K1における配置可能領域R1である。また、配置可能領域R1の外側の領域eも排他領域となる。
ここで、配置可能領域R1には毛孔を配置することができるが、排他領域E1’及びeには毛孔を配置することはできない。図9(b)においては、配置可能領域R1内のK2’の位置に次の毛孔が配置された事が示されている。また、同図において、×印で示されている位置には、毛孔を配置することができないことが示されている。
この排他領域及び配置可能領域の範囲を規定するため、毛孔位置パラメータは、小項目として、「領域の幅」、「領域の高さ」及び「散らばり」のパラメータを有する。
「領域の幅」は、排他領域の紙面左右方向におけける長さを示すパラメータである。
「領域の高さ」は、排他領域の紙面上下方向におけける長さを示すパラメータである。
排他領域を楕円の領域とした場合、「領域の幅」及び「領域の高さ」は、この楕円の横軸及び縦軸(短軸及び長軸または長軸及び短軸)の長さとなる。
「散らばり」は、配置可能領域の幅を示すパラメータである。図9(b)においては、配置可能領域R1の排他領域E1’との境界線から排他領域eとの境界線までの距離Vが、「散らばり」に相当する。つまり、「領域の幅」の値+「散らばり」×2の値が、配置可能領域R1の左端から右端までの長さであり、「領域の高さ」の値+「散らばり」×2の値が、配置可能領域R1の上端から下端までの長さである。毛孔は配置可能領域の範囲内でランダムに配置されるが、「散らばり」の値が大きいほど、配置可能領域の幅が長くなるので、それだけ毛孔が配置される位置に散らばりが生じることとなる。
ここで、配置可能領域の形状を楕円(真円となる場合も含む)の帯状としたのは、自然界において存在する動物等の皮革上に現れる毛孔がこのような配置になっているからである。つまり、毛孔の位置関係を統計的に調べると、毛孔を中心とする楕円の周上に他の毛孔が集中するのである。そして、この楕円の大きさによって毛孔の間隔が決定付けられ、楕円の短軸と長軸の長さの比によって毛孔の並びの方向性が決定付けられる。なお、排他領域及び配置可能領域の形状は、楕円だけに限られるものではなく、その他の各種の形状を適用しても良い。
図9及び図10を用いて、毛孔の位置の決定方法について更に説明する。
皮革形状生成部11は、皮革表面のワールド座標系で定義された2次元の描画領域(以下、「毛孔配置領域」と称する)をRAM上に設定し、図9(a)に示すように、1番目の毛孔の位置K1を毛孔配置領域の所定の位置(例えば、中心位置)とし、この位置K1に毛孔の点を描画する。また、皮革形状生成部11は、「領域の幅」の値をW1とし、「領域の高さ」の値をH1とした場合、毛孔の位置K1を中心として、横軸の長さW1、縦軸の長さH1となる楕円領域を白色で塗りつぶし、これを排他領域E1とする。
そして、皮革形状生成部11は、図9(b)に示すように、ローカル座標系で定義された方の描画領域(以下、「ローカル配置領域」と称する)の中心を毛孔の位置K1に対応するK1’として、排他領域E1をローカル座標系にコピーし、排他領域E1’を生成する。更に、皮革形状生成部11は、ローカル配置領域のK1’を中心として、横軸の長さW1+V×2、縦軸の長さH1+V×2となる楕円領域を、排他領域E1’内を除いて黒色で塗りつぶし、これを配置可能領域R1とする。次いで、皮革形状生成部11は、ローカル配置領域の範囲内でランダムに点を生成し、この点が配置可能領域R1の外、つまり、排他領域E1’かeの範囲内であれば、配置可能領域R1内に入るまで、点を生成する。
そして、皮革形状生成部11は、生成した点が配置可能領域R1内に入ったら、この点を毛孔の位置K2’とし、図9(c)に示すように、この毛孔の位置K2’に対応するK2の点を毛孔配置領域に生成する。このとき、皮革形状生成部11は、K1とK2との位置関係は、K1’とK2’との位置関係と一致させる。更に、皮革形状生成部11は、毛孔配置領域におけるK2の座標を保存する。次いで、皮革形状生成部11は、毛孔の位置K2を中心とする排他領域E2を毛孔配置領域に生成する。ここで、図9(c)においては、排他領域E1とE2の横軸と縦軸の長さが異なっている。詳細は後述するが、これは、「領域の幅」と「領域の高さ」のパラメータそれぞれに最小値と最大値とを設定可能とし、皮革形状生成部11が、個々の毛孔の位置を実際に決定する際に、この最小値と最大値との範囲内でランダムに排他領域の横軸と縦軸との長さを決定したためである。
次いで、皮革形状生成部11は、図9(d)に示すように、ローカル配置領域に排他領域E2をコピーし、排他領域E2’を生成する。ここで、配置可能領域R1のうち排他領域E2’と重なる部分については、やはり排他領域として毛孔の配置が禁止される。従って、皮革形状生成部11は、K2’の場合と同様に、3番目の毛孔の位置K3’を決定するが、排他領域E2’で塗りつぶされた部分を除いた配置可能領域R1の範囲内で毛孔の位置K3’を決定する。
そして、皮革形状生成部11は、図10(a)に示すように、K2’の場合と同様にして、K3’に対応するK3の点を毛孔配置領域に生成し、排他領域E3を描画する。以下同様にして、皮革形状生成部11は、図10(b)に示すように、毛孔の位置K4〜K6を生成し、排他領域E4〜E6を生成すると、ローカル配置領域における配置可能領域R1は、全て排他領域E2’〜E6’で塗りつぶされてしまうので、毛孔の位置K1’の周りにはもう毛孔を配置する余地がない。こうなると、皮革形状生成部11は、別の毛孔の位置についてローカル配置領域を新たに設定する。
図10(c)は、毛孔の位置K6に対応するK6’を中心としたローカル配置領域を設定した場合である。ここで、皮革形状生成部11は、毛孔の位置K6における排他領域E6をローカル配置領域にコピーするとともに、その周りの排他領域であるE1、E2及びE4等もローカル配置領域にコピーして、排他領域E1’、E2’、E4’及びE6’等を生成する。次いで、皮革形状生成部11は、毛孔の位置K6’を中心とする配置可能領域R6を、排他領域E1’、E2’、E4’及びE6’で塗りつぶされた部分を除いて、ローカル配置領域に描画する。そして、皮革形状生成部11は、この描画された配置可能領域R6の範囲内でランダムに毛孔の位置K7’を生成し、これに対応するK7を、図10(d)に示すように毛孔配置領域に生成する。
このようにして、皮革形状生成部11は、各毛孔の位置を、他の全ての毛孔の排他領域それぞれに入らないようにしつつ、且つ、他の毛孔のうち少なくとも何れか一つの配置可能領域に入るように決定する。そして、皮革形状生成部11は、全ての毛孔の位置について同様の処理を行い、新たな毛孔の位置を生成することができなくなったところで、毛孔の位置の決定を終了させる。その後、制御部10は、保存した毛孔の座標を中心位置として、毛孔の形状を生成していく。
[4.4 パラメータに対するパラメータ制御用画像データの指定]
特定のパラメータに対しては、ユーザが指定した画像データの画素の情報に基づいて、各毛孔の形状を生成する際のパラメータを制御することができる。これについて、図11を用いて以下に説明する。なお、このような画像を、以下、「パラメータ制御用画像データ」と称する。
図11(a)は、特定のパラメータに対して指定されたパラメータ制御用画像データの一例であり、図11(b)は、(a)に示すパラメータ制御用画像データを指定した場合に生成された皮革形状データの画面表示例であり、同図において、黒色の楕円が毛孔を示している。
先ず、ユーザは、製造する皮革の表面に表現したい模様に対応するパラメータ制御用画像データを用意する。例えば、図11(a)は、グレースケールのパラメータ制御用画像データであり、黒色の地に、「A」の文字が灰色で描かれている(同図においては、便宜上白色で示している)。
このパラメータ制御用画像データを、一例として皮革形状パラメータの「角度」に指定すると、図11(b)に示す皮革形状データにおいては、パラメータ制御用画像データの地の部分に対応する範囲の毛孔の形状は、長軸の方向が紙面上下方向と一致する楕円であるが、パラメータ制御用画像データの文字の部分に対応する範囲の毛孔は、その楕円の長軸が所定の角度だけ回転した状態で生成される。そして、この皮革形状データを用いて合成皮革を製造すると、その表面には「A」の文字が模様として現れる。
これは、皮革形状生成部11が、皮革形状データ上に配置すべき毛孔の位置のX座標を、皮革形状データの横のピクセル数とパラメータ制御用画像データの横のピクセル数との比に基づいて、パラメータ制御用画像データのX座標に変換し、また、毛孔の位置のY座標を前記比に基づいてパラメータ制御用画像データのY座標に変換し、パラメータ制御用画像データにおいて、変換されたXY座標上の画素の値に応じたパラメータを設定するのである。例えば、パラメータ制御用画像データにおいて、画素の値が0である場合には黒色、255である場合には白色、1〜254である場合にはその値に応じた灰色で画素の色が表現されているとする。そして、画素の値が0のときには、「角度」に0°を設定し、画素の値が255であるときには、「角度」に360°を設定し、画素の値が1〜254であるときには、その値に応じた角度を「角度」に設定する、というような定義情報を、皮革形状データ生成プログラムに予め組み込んでおいたり、ユーザ操作等により定義する。
そして、皮革形状生成部11は、パラメータ制御用画像データの地の部分の画素値が0であるので、地の部分に対応する位置の毛孔については、回転させずに生成し、パラメータ制御用画像データの文字の部分の画素値が例えば32であれば、文字の部分に対応する位置の毛孔については、反時計回りに約45°回転させて生成する。このとき、「角度」のパラメータは、ユーザにより入力された値は使用されない。
パラメータ制御用画像データとしては、グレースケール画像データだけではなく、画素の情報が2次元配列で表されるあらゆる画像データを適用しても良い。例えば、R(Red)、G(Green)、B(Blue)それぞれ8ビットの情報を持つ24ビットの画像データも指定することができる。例えば、定義情報として、Rの値を毛孔の回転ベクトルのx成分、Gの値を毛孔の回転ベクトルのy成分とし、R及びGの値が0であってBの値が1以上である場合には、その値の大きさにかかわらず所定の角度値であると、定義する。そして、パラメータ制御用画像データの地の部分を青で塗りつぶし、パラメータ制御用画像データにおける模様の部分を赤と緑のグラデーションで表現する。そうすると、皮革形状データにおいては、地の部分に対応する位置の毛孔の角度は全て所定の同一角度となり、模様の部分に対応する位置の毛孔の角度は、対応する画素のR成分とG成分との値からなるベクトルの方向に傾いた毛孔が生成される。このように生成された皮革形状データを用いて合成皮革を製造すると、その表面に複雑な模様が現れる。
パラメータ制御用画像データを指定することができるパラメータは「角度」だけに限られるものではない。例えば、毛孔形状パラメータの「高ノイズ振幅」にパラメータ制御用画像データを指定すれば、毛孔の輪郭の形状の違いによって合成皮革の表面に模様を表現することができる。また、例えば、凹凸質感パラメータの「凸部」の「ノイズの適用度」にパラメータ制御用画像データを指定すれば、ノイズが良く現れている部分と現れていない部分との視覚上の違いによって、合成皮革の表面に模様を表現することができる。このとき、それぞれの毛孔について決定された「凸部」の「ノイズの適用度」のパラメータが質感に反映されるのは、その毛孔の周囲に限定される。
また、例えば、毛孔位置パラメータの「領域の幅」及び「領域の高さ」にパラメータ制御用画像データを指定すれば、毛孔の間隔の違いによって合成皮革の表面に模様を表現することができる。このように、複数のパラメータにパラメータ制御用画像データを指定することもできる。
なお、パラメータ制御用画像データを指定するパラメータは、予め決められたパラメータとしても良いし、パラメータ制御用画像データを指定するパラメータ自体もユーザ操作で変更可能なようにしても良い。
また、パラメータ制御用画像データを指定して皮革形状データを生成する場合、パラメータ制御用画像データの大きさを皮革形状データの大きさに一致させなくても良い。この場合は、パラメータ制御用画像データと皮革形状データを所定の座標で位置合わせした後、皮革形状データがパラメータ制御用画像データと重なる部分についてのみ、パラメータ制御用画像データを特定のパラメータに指定し、皮革形状データがパラメータ制御用画像データと重ならない部分については、ユーザにより入力されたパラメータの値を用いても良い。
[5.パラメータ設定・意匠確認画面の構成]
次に、入力画面及び表示画面の一例としてのパラメータ設定・意匠確認画面の構成について、図12及び図13を用いて説明する。
図12及び図13は、本実施形態に係るパラメータ設定・意匠確認画面の表示例を示す図である。
図12に示すように、パラメータ設定・意匠確認画面は、皮革形状確認エリア110、毛孔形状確認エリア121及び122、画像解像度設定エリア130、毛孔形状パラメータ設定エリア140、毛孔位置パラメータ設定エリア150、配置ボタン160等により構成されている。
また、ユーザの切替操作によって、図12に示す画面から、図13に示す画面に切り替えることができるようになっている。図13においては、毛孔形状パラメータ設定エリア140に代わって、凹凸部質感パラメータ設定エリア170が表示される。
画像解像度設定エリア130は、皮革形状データのサイズ及び生成される合成皮革の実寸サイズ等を入力するためのエリアである。具体的に、画像解像度設定エリア130においては、皮革形状データのグレースケール画像としての縦及び横のピクセル数、皮革の縦横の実寸サイズ、解像度(1インチあたりのピクセル数)等を入力することができるようになっている。なお、実寸サイズ=ピクセル数/解像度であるので、ピクセル数、実寸サイズ及び解像度のうち何れか2つが決定すれば残りの1つも自動的に決定する。
毛孔形状パラメータ設定エリア140は、毛孔形状パラメータを入力するためのパラメータである。このエリアにおいて、ユーザは、パラメータを直接入力するか、スライダーを移動させてパラメータを変更する。
図13に示す毛孔形状パラメータ設定エリア140においては、各パラメータに対してそれぞれ2つの値を入力することができる。各パラメータそれぞれの一方は最小値であり他方は最大値である。つまり、ユーザは、各パラメータについて、最小値と最大値とを設定することができる。毛孔の形状が生成されるときには、この最小値と最大値との範囲内で、実際の毛孔の生成に用いるパラメータが毛孔毎にランダムに決定される。こうすることで、毛孔の形状にある程度のバラツキが生じるので、皮革表面の形状をより自然に表現することができる。ここで、最小値と最大値とに同じ値が入力されると、実際の毛孔の生成に用いるパラメータは実質的に固定値となる。なお、図13に示す毛孔形状パラメータ設定エリア140においては、全ての小項目について最小値と最大値とが入力できるようにしているが、一部の小項目に限定しても良い。このことは、凹凸部質感パラメータ設定エリア170及び毛孔位置パラメータ設定エリア150についても同様である。
凹凸部質感パラメータ設定エリア170は、凹凸質感パラメータを入力するためのパラメータである。ユーザは、このエリアにおいても、各パラメータについて最小値と最大値とを入力することができる。
毛孔形状確認エリア121及び122には、毛孔形状パラメータ設定エリア140及び凹凸部質感パラメータ設定エリア170にユーザが入力したパラメータに応じた毛孔の形状及び皮革表面の質感を表現した画像が表示される。ここで、毛孔形状確認エリア121には、毛孔形状パラメータ及び凹凸質感パラメータの各パラメータの最小値で生成された毛孔の形状が表示され、毛孔形状確認エリア122には、毛孔形状パラメータ及び凹凸質感パラメータの各パラメータの最大値で生成された毛孔の形状が表示される。ユーザは、毛孔形状確認エリア121及び122の表示内容を確認することにより、皮革形状データの皮革表面に形成される毛孔の形状及び皮革表面の質感をある程度把握することができる。
毛孔位置パラメータ設定エリア150は、毛孔位置パラメータを入力するためのエリアである。図12に示す毛孔位置パラメータ設定エリア150においては、各パラメータに付き一つの値のみを入力することができるようになっている。これは、実際に毛孔の位置が決定される際には、上述した配置可能領域の範囲内でランダムに毛孔の位置が決定されるので、他のパラメータのように、最小値と最大値とを設定可能としなくても、視覚上不自然にならないからである。ただし、毛孔位置パラメータ設定エリア150についても、毛孔位置パラメータの各パラメータについて最小値と最大値とを入力可能に構成しても良い。
皮革形状確認エリア110には、仮生成した皮革形状データのグレースケール画像が表示される。図12に示した方の皮革形状確認エリア110には、複数の白い点が表示されている。この点は、毛孔が配置されるべき位置を示している。ユーザが、毛孔位置パラメータ設定エリア150に毛孔位置パラメータを入力したり変更したりすると、その都度、皮革形状生成部11により、その時の毛孔位置パラメータに応じて各毛孔の位置が決定され、皮革形状確認エリア110にその結果が表示される。
そして、ユーザが配置ボタン160を選択すると、皮革形状確認エリア110には、図13に示すように、各毛孔の位置について毛孔の形状が生成された皮革形状データの画像が表示される。
また、図示はしていないが、ユーザ操作によって所定のメニューを表示させることにより、ユーザは、特定のパラメータに指定する画像データを記憶部20に記憶された画像データの中から選択することができる。また、ユーザは、別の所定のメニューを表示させることにより、皮革形状確認エリア110に表示された皮革形状データを保存することができる。
[6.皮革形状生成処理における皮革形状データ生成装置の動作]
次に、図3のステップS2において示した皮革形状生成処理における皮革形状データ生成装置1の動作について、図14を用いて説明する。
図14は、本実施形態に係る皮革形状データ生成装置1の皮革形状生成部11における処理例を示すフローチャートである。なお、以下に説明する動作は、毛孔形状パラメータ、凹凸質感パラメータ及び毛孔位置パラメータの全てのパラメータについて、最小値と最大値とを入力することができるようにした場合の動作である。また、パラメータ設定・意匠確認画面の説明においては、各毛孔の位置を決定する処理と、その位置に対して毛孔の形状を生成する処理と、が別々のタイミングで行われていたが、以下に説明する動作においては、便宜上、同時に行うようにした場合の動作を説明する。
ユーザは、皮革形状データ生成プログラムを実行させることによりパラメータ設定・意匠確認画面を表示させ、各パラメータを入力した後、配置ボタン160を選択すると、皮革形状生成処理が開始される。
先ず、皮革形状生成部11は、入力された各パラメータを取得すると(ステップS101)、ユーザにより入力された縦及び横のピクセル数に相当する毛孔配置領域及び皮革形状描画領域をRAM上に設定する。ここで、皮革形状描画領域は、仮想的な皮革表面である毛孔形状データのグレースケール画像が描画される領域である。
次いで、皮革形状生成部11は、1番目の毛孔の位置Kを毛孔配置領域の中心位置に生成し、この位置K(の座標)をスタックSに追加する(ステップS102)。スタックSは、LIFO(Last In First Out)の構造を有するデータである。
次いで、皮革形状生成部11は、スタックSが空であるか否かを判定する(ステップS103)。このとき、皮革形状生成部11は、スタックSが空ではない場合には(ステップS103:NO)、スタックSから毛孔の位置Kを1点取り出す(ステップS104)。
次いで、皮革形状生成部11は、パラメータ番号Iに0を設定する。パラメータ番号とは、毛孔形状パラメータ、凹凸質感パラメータ及び毛孔位置パラメータの各小項目について、それぞれに割り当てた一意の番号を示す。
次いで、皮革形状生成部11は、パラメータ番号Iがパラメータ数nより小さいか否かを判定する(ステップS106)。パラメータ数とは、毛孔形状パラメータ、凹凸質感パラメータ及び毛孔位置パラメータの全小項目の個数である。このとき、皮革形状生成部11は、パラメータ番号Iがパラメータ数nより小さい場合には(ステップS106:YES)、I番目のパラメータにパラメータ制御用画像データが指定されているか否かを判定する(ステップS107)。
このとき、皮革形状生成部11は、I番目のパラメータにパラメータ制御用画像データが指定されていない場合には(ステップS107:NO)、ユーザにより入力されたI番目のパラメータの最小値と最大値との範囲内でランダム値を生成し、当該ランダム値をパラメータP[I]に設定する(ステップS108)。皮革形状生成部11は、この処理を終えると、ステップS110に移行する。
一方、皮革形状生成部11は、I番目のパラメータにパラメータ制御用画像データが指定されている場合には(ステップS107:YES)、指定されたパラメータ制御用画像データ上で、毛孔の位置Kと同じ位置の画素の情報を参照し、この画素の情報と定義情報とに基づいてパラメータ値を決定し、このパラメータ値をパラメータP[I]に設定する(ステップS109)。皮革形状生成部11は、この処理を終えると、ステップS110に移行する。
皮革形状生成部11は、パラメータP[I]の設定を終えると、パラメータ番号Iに1を加算して(ステップS110)、ステップS106に移行する。
皮革形状生成部11は、ステップS106において、パラメータ番号Iがパラメータ数nより小さくはない場合には(ステップS106:NO)、毛孔の形状を生成する(ステップS111)。つまり、皮革形状生成部11は、パラメータP[0]からP[n−1]まで全てのパラメータが設定されたので、これらのパラメータに基づいて毛孔の形状を生成するのである。具体的に、皮革形状生成部11は、毛孔の形状を描画するためのローカルな描画領域(以下、「ローカル描画領域」と称する)をRAM上に設定し、RAM上に設定したローカル描画領域上に、その領域の中心を毛孔の中心として、設定された毛孔形状パラメータに応じた毛孔の形状をグレースケールの画像として生成する。
次いで、皮革形状生成部11は、生成した毛孔の形状内及びその周辺の質感を形成する(ステップS112)。具体的に、皮革形状生成部11は、凹凸質感パラメータに基づいてノイズを生成し、生成したノイズを毛孔の形状が生成されたローカル描画領域上の画素の値に加える。また、皮革形状生成部11は、必要に応じて画素の値の正規化を行う。
皮革形状生成部11は、質感を形成すると、ローカルな描画領域上に生成された毛孔の形状及び質感の情報を、皮革形状描画領域にコピーする。このときのコピー先の位置は、毛孔の位置Kの位置が中心となる。なお、ローカル描画領域の縦横のピクセル数は予め決められているので、皮革形状描画領域にコピーされる質感の情報(ノイズ)もこのピクセル数の範囲に限定される。
皮革形状生成部11は、このようにして毛孔を一つ生成すると、毛孔の位置Kの周囲に新たに毛孔が生成可能であるか否かを判定する(ステップS113)。具体的に、皮革形状生成部11は、毛孔の位置Kについての配置可能領域が、他の毛孔についての排他領域でつぶされていないかどうかを判定する。このとき、皮革形状生成部11は、毛孔の位置Kの周囲に新たに毛孔が生成可能である場合には、新たに毛孔の位置Kを毛孔配置領域に生成し、この位置KをスタックSに追加する(ステップS114)。皮革形状生成部11は、この処理を終えると、ステップS113に移行する。
一方、皮革形状生成部11は、毛孔の位置Kの周囲に新たな毛孔が生成することができない場合には(ステップS113:NO)、ステップS103に移行する。
そして、皮革形状生成部11は、ステップS103において、スタックSが空であると判定すると(ステップS103:YES)、皮革形状生成処理を終了させる。この時点で皮革形状描画領域に設定されている情報が、仮生成された皮革形状データである。
なお、ステップS102乃至S104、S113及びS114における各毛孔の位置を決定する具体的な処理内容は、4.3項において説明した。
以上説明したように、本実施形態によれば、皮革形状データ生成装置1は、毛孔形状パラメータ、凹凸質感パラメータ及び毛孔位置パラメータを入力するために用いられる外部入力装置2を備え、皮革形状生成部11は、毛孔形状パラメータに基づいて毛孔の形状を生成し、凹凸質感パラメータが示す質感を表現する凹凸形状を生成し、毛孔位置パラメータに基づいて、仮想的な皮革表面の領域を示す皮革描画領域上における各毛孔の位置を決定し、決定された位置に、生成された毛孔の形状及び質感を表現する凹凸形状を付加しいくことによって皮革形状データを生成するので、ユーザが所望する質感が表現された合成皮革を生成可能な皮革形状データを生成することができる。
また、凹凸質感パラメータは、小項目として「ノイズの深さ」を含み、皮革形状生成部11は、「ノイズの深さ」が示す深さから深い部分または浅い部分に質感を表現する凹凸形状を生成するので、ユーザが指定した深さより深い部分と浅い部分とで異なる質感を表現することができる。
また、凹凸質感パラメータは、パーリンノイズを生成するための「ノイズの細かさ」及び「ノイズの適用度」を含み、皮革形状生成部11は、皮革描画領域に、「ノイズの細かさ」及び「ノイズの適用度」の値に応じた3次元ノイズの形状を付加するので、質感を自然に表現することができる。
また、パラメータ制御用画像データの指定が可能であり、皮革形状生成部11は、特定のパラメータについては、毛孔が配置される位置のXY座標に対応するパラメータ制御用画像データのXY座標の位置の画素値に基づいて毛孔毎に設定し、毛孔毎に設置されたパラメータを用いて皮革形状データを生成するので、パラメータ制御用画像データによって表現された模様を、合成皮革の表面にできる毛孔または質感の凹凸で表現することができる。つまり、毛孔または質感の凹凸で所望の文字、マーク、絵柄等が視覚的に現れた合成皮革を製造することができる。
また、毛孔位置パラメータは、毛孔が配置される位置を含む排他領域の範囲を示す「領域の幅」及び「領域の高さ」のパラメータと、配置可能領域の範囲を示す「散らばり」のパラメータとを含み、皮革形状生成部11は、毛孔の位置が他の全ての毛孔についての排他領域に入らないように且つ他の毛孔のうち少なくとも1つについての配置可能領域に入るように、各毛孔の位置を決定するので、より自然に近い配置パターンで且つユーザが所望する配置パターンで毛孔の形状が形成された皮革形状データを生成することができる。
また、皮革形状生成部11は、毛孔形状パラメータ、凹凸質感パラメータ及び毛孔位置パラメータを入力するための画面であり、入力されたパラメータに基づいて仮生成された皮革形状データのグレースケール画像を表示し確認するためのパラメータ設定・意匠確認画面を表示装置3により表示させ、表示された皮革形状データを保存することが外部入力装置2を用いて指定された場合には、当該皮革形状データを皮革形状データベース21に登録するので、ユーザは、画面を見ながらインタラクティブに所望する皮革形状データを制作することができる。
また、少なくとも一部のパラメータについては、最小値と最大値とが入力可能であり、皮革形状生成部11は、最小値と最大値とが入力されたパラメータについては、毛孔毎にその最小値から最大値までの範囲内でランダムにパラメータを生成し、当該生成したパラメータに基づいて皮革形状データを生成するので、ユーザが所望する範囲内でより自然な凹凸形状を表現することができる。
また、皮革形状データは、各要素が、皮革表面において当該要素が対応する位置における当該表面の高度を示すハイトフィールドで表現されているので、皮革形状データを簡単に生成することができる。
なお、本実施形態においては、毛孔形状パラメータと毛孔位置パラメータとの両方をユーザが入力することができるようにしていたが、どちらか一方のみを入力可能としても良い。この場合、入力されない方のパラメータについては、例えば、固定値としても良いし、皮革形状生成部11が、予め定められた範囲内で毛孔毎にランダムに設定しても良い。また、パラメータとはせずに、毛孔の形状を表したグレースケール画像等のデータを予め保持しておき、皮革形状生成部11が、このデータを皮革形状描画領域にコピーすることによって皮革形状データを生成しても良い。
また、本実施形態においては、毛孔の形状を1つ1つ形成する毎に、生成した毛孔の形状内及びその周辺の質感を形成するようにしていたが、例えば、全ての毛孔の形状を皮革形状描画領域に形成した後に、皮革形状描画領域全体に質感を形成しても良い。
また、毛孔形状パラメータ、凹凸質感パラメータ及び毛孔位置パラメータに含まれる大項目及び小項目のパラメータは、本実施形態において説明したものだけに限られるものではないし、また、本実施形態において説明したもの全てが必須となるものでもない。
また、本実施形態においては、皮革形状データをハイトフィールド(その一例としてグレースケールの画像データ)で表現していたが、皮革形状データの表現方法はこれに限られるものではない。