(57)【要約】【課題】生物の皮膚の特徴をリアルに表す凹凸テクスチャを生成する。仮想粒子配置部１０２は、仮想３次元空間内に閉空間ＣＳを設定し、閉空間内に複数の仮想粒子Ｐを配置する。仮想粒子成長部１１２は、仮想粒子Ｐを生物の皮膚細胞の成長パターンに従って成長させる。外力算出部１１１は、各仮想粒子Ｐに作用するファンデルワールス力ｆ、重力ＦＧ、及び制約力ＦＳを算出する。位置算出部１１３は、各仮想粒子Ｐの運動方程式を解くことで、各仮想粒子の位置を算出する。凹凸テクスチャ生成部１０４は、成長した仮想粒子Ｐを底面ＢＳに投影して、凹凸テクスチャを生成する。【選択図】図２
2007074728.tif 000002
【特許請求の範囲】
【請求項１】
凹凸テクスチャを生成する凹凸テクスチャ生成プログラムであって、
仮想３次元空間内に閉空間を設定し、設定した閉空間内に所定の質量及び所定の大きさを有する複数の仮想粒子を配置する仮想粒子配置手段と、
生物の皮膚細胞の成長パターンをシミュレートして、前記仮想粒子配置手段により配置された仮想粒子の数及び各仮想粒子の大きさを増加させ、各仮想粒子を前記閉空間内で成長させる仮想粒子成長手段と、
各仮想粒子の距離に基づいて定められる各仮想粒子の相互間で作用する粒子間力を算出する粒子間力算出手段と、
前記粒子間力を各仮想粒子に作用させたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置を算出する位置算出手段と、
閉空間内の仮想粒子の位置及び大きさを基に、凹凸テクスチャを生成する凹凸テクスチャ生成手段としてコンピュータを機能させることを特徴とする凹凸テクスチャ生成プログラム。
【請求項２】
各仮想粒子に斥力を作用させる仮想物体を、ユーザからの操作指令を基に、前記閉空間内に生成する仮想物体生成手段と、
前記仮想粒子が一定時間成長する毎に、各仮想粒子に作用する前記仮想物体からの斥力を算出する斥力算出手段として更にコンピュータを機能させ、
前記位置算出手段は、前記斥力算出手段により算出された斥力と前記粒子間力とを各仮想粒子に作用させて前記運動方程式を解くことを特徴とする請求項１記載の凹凸テクスチャ生成プログラム。
【請求項３】
所定の模様を表す１又は複数種類のテクスチャを記憶するテクスチャ記憶手段として更にコンピュータを機能させ、
前記仮想物体生成手段は、前記テクスチャ記憶手段に記憶されたテクスチャの中からいずれか１つのテクスチャをユーザからの操作指令に従って選択し、選択したテクスチャの模様を基に前記仮想物体を生成することを特徴とする請求項２記載の凹凸テクスチャ生成プログラム。
【請求項４】
前記閉空間は６面体であり、
前記凹凸テクスチャ生成手段は、前記６面体のある１つ面と各仮想粒子との距離を求めると共に、各仮想粒子の前記面への投影面を求め、求めた距離と投影面とを基に、前記面に高さデータを与え、凹凸テクスチャを生成することを特徴とする請求項３記載の凹凸テクスチャ生成プログラム。
【請求項５】
前記粒子間力算出手段により算出された粒子間力と前記斥力算出手段により算出された斥力との合力が、既定値よりも大きな仮想粒子を前記閉空間から除去することで仮想粒子を死滅させる仮想粒子死滅手段としてコンピュータを更に機能させることを特徴とする請求項２〜４のいずれかに記載の凹凸テクスチャ生成プログラム。
【請求項６】
前記仮想粒子成長手段は、シグモイド曲線に基づいて表される皮膚細胞の数の経時的変化を示す所定の関数を用いて、閉空間内の仮想粒子の数を増加させることを特徴とする請求項１〜５のいずれかに記載の凹凸テクスチャ生成プログラム。
【請求項７】
前記仮想粒子成長手段は、指数関数に基づいて表される皮膚細胞の大きさの経時的変化を示す所定の関数を用いて仮想粒子の大きさを増加させることを特徴とする請求項１〜６のいずれかに記載の凹凸テクスチャ生成プログラム。
【請求項８】
前記粒子間力算出手段は、ファンデルワールス力を示す所定の関数を用いて粒子間力を算出することを特徴とする請求項１〜７のいずれかに記載の凹凸テクスチャ生成プログラム。
【請求項９】
凹凸テクスチャを生成する凹凸テクスチャ生成装置であって、
仮想３次元空間内に閉空間を設定し、設定した閉空間内に所定の質量及び所定の大きさを有する複数の仮想粒子を配置する仮想粒子配置手段と、
生物の皮膚細胞の成長パターンをシミュレートして、前記仮想粒子配置手段により配置された仮想粒子の数及び各仮想粒子の大きさを増加させ、各仮想粒子を前記閉空間内で成長させる仮想粒子成長手段と、
各仮想粒子の距離に基づいて定められる各仮想粒子の相互間で作用する粒子間力を算出する粒子間力算出手段と、
前記粒子間力を各仮想粒子に作用させたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置を算出する位置算出手段と、
閉空間内の仮想粒子の位置及び大きさを基に、凹凸テクスチャを生成する凹凸テクスチャ生成手段とを備えることを特徴とする凹凸テクスチャ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィクスの技術に関するものである。
【背景技術】
【０００２】
近年、家電製品の筐体表面や自動車のインストルメンタルパネルの表面の模様として、微細な凹凸形状から構成されるシボが広く採用されている。シボの種類としては様々なものが存在するが、中でも爬虫類などの動物の皮膚の表面形状をモチーフとしたものが多く採用されている。一方、家電製品等のデザイナーは、家電製品の筐体等にシボを形成する場合、予め定められたシボのパターン中から好みのものを選択して、デザイン対象物品の表面に施すことが一般的になされている。そのため、デザイン対象物品にふさわしいシボが存在しない場合は、新しくシボを生成する必要が生じる。【０００３】
一方、非特許文献１には、ＣＧ映像の質に影響を与える物体表面の詳細形状を自動的に生成することを目的として、物体表面をパーティクルモデルにより疑似ボロノイ分割し、分割された各ポリゴンに対してフラクタルノイズを伴ったサブディビジョン曲面を発生させて、物体表面の詳細形状を生成する技術が開示されている。【０００４】
しかしながら、新たなシボを生成する場合、デザイナーは、既存のシボに対して多少のアレンジを加える、或いは実際に存在する動物の皮膚の模様をアレンジする等して作成するケースが一般的であり、動物の皮膚をリアルに表すシボを生成するには一定の限界があった。また、非特許文献１の技術では、生物の皮膚細胞の成長パターンが加味されておらず、生物の皮膚の特徴をよりリアルに表すために更なる改良の余地が残されている。
【非特許文献１】宮田一乘、伊藤貴之、嶋田憲司、「３次元モデルの表面に対する詳細形状の自動モデリング手法−有機的な表面形状の自動生成（generation of organic Textures withControlled Anisotropy and Directionality via packing rectangular and EllipticalCells,IEEE CG&A Vol.23 No.3. pp.38-45,2003)」、情報処理学会、第６２回全国大会特別トラック（２）講演論文集、特２−５３〜６０
【発明の開示】
【０００５】
本発明の目的は、生物の皮膚の特徴をリアルに表す凹凸テクスチャ生成プログラム、及び凹凸テクスチャ生成装置を提供することである。
【０００６】
本発明による凹凸テクスチャ生成プログラムは、凹凸テクスチャを生成する凹凸テクスチャ生成プログラムであって、仮想３次元空間内に閉空間を設定し、設定した閉空間内に所定の質量及び所定の大きさを有する複数の仮想粒子を配置する仮想粒子配置手段と、生物の皮膚細胞の成長パターンをシミュレートして、前記仮想粒子配置手段により配置された仮想粒子の数及び各仮想粒子の大きさを増加させ、各仮想粒子を前記閉空間内で成長させる仮想粒子成長手段と、各仮想粒子の距離に基づいて定められる各仮想粒子の相互間で作用する粒子間力を算出する粒子間力算出手段と、前記粒子間力を各仮想粒子に作用させたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置を算出する位置算出手段と、閉空間内の仮想粒子の位置及び大きさを基に、凹凸テクスチャを生成する凹凸テクスチャ生成手段としてコンピュータを機能させることを特徴とするものである。
【０００７】
また、本発明による凹凸テクスチャ生成装置は、凹凸テクスチャを生成する凹凸テクスチャ生成装置であって、仮想３次元空間内に閉空間を設定し、設定した閉空間内に所定の質量及び所定の大きさを有する複数の仮想粒子を配置する仮想粒子配置手段と、生物の皮膚細胞の成長パターンをシミュレートして、前記仮想粒子配置手段により配置された仮想粒子の数及び各仮想粒子の大きさを増加させ、各仮想粒子を前記閉空間内で成長させる仮想粒子成長手段と、各仮想粒子の距離に基づいて定められる各仮想粒子の相互間で作用する粒子間力を算出する粒子間力算出手段と、前記粒子間力を各仮想粒子に作用させたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置を算出する位置算出手段と、閉空間内の仮想粒子の位置及び大きさを基に、凹凸テクスチャを生成する凹凸テクスチャ生成手段とを備えることを特徴とするものである。
【０００８】
これらの構成によれば、生物の皮膚細胞の成長パターンに従って、閉空間内の仮想粒子の数及び大きさが増加される。仮想３次元空間内に存在する各仮想粒子には、仮想粒子同士の距離に基づいて定められる粒子間力が作用しており、この各仮想粒子に作用する粒子間力が算出される。
【０００９】
また、各仮想粒子に対して粒子間力を外力として与えたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置が算出される。そして、閉空間内の仮想粒子の位置及び大きさを基に凹凸テクスチャが生成される。
【００１０】
すなわち、閉空間を皮膚組織と仮定したときに当該皮膚組織に含まれる皮膚細胞の成長パターンに従って仮想粒子の大きさ及び数が定められ、この仮想粒子の位置及び大きさを基に、凹凸テクスチャが生成されているため、動物の皮膚の特徴をよりリアルに表す凹凸テクスチャを生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態による凹凸テクスチャ生成装置のハードウェア構成を示すブロック図である。
【図２】図１に示す凹凸テクスチャ生成装置の機能ブロック図である。
【図３】本凹凸テクスチャ生成装置の動作を示すフローチャートである。
【図４】仮想３次元空間内に生成される閉空間を示した図である。
【図５】（ａ），（ｂ）は模様テクスチャの一例を示した図である。
【図６】式（１）のファンデルワールス力を示すグラフであり、縦軸はｆ（ｗ）を示し、横軸はｗを示している。
【図７】仮想粒子に作用するファンデルワールス力を示した図である。
【図８】仮想粒子に作用する制約力を説明する図である。
【図９】式（４）に示す関数のグラフであり、縦軸は新たに追加する仮想粒子の増加数を示し、横軸は成長時間を示している。
【図１０】シミュレーション終了時の閉空間を示した図である。
【図１１】凹凸テクスチャを生成される処理を説明する図である。
【図１２】本凹凸テクスチャ生成装置によって生成された凹凸テクスチャの一例を示す図であり、（ａ）、（ｃ）、（ｄ）は閉空間内にポテンシャルフィールドを生成することなく、生成された凹凸テクスチャを示し、（ｂ）は閉空間ＣＳ内にポテンシャルフィールドＰＦを生成した場合に生成された凹凸テクスチャを示している。
【図１３】本凹凸テクスチャ生成装置を用いて生成された凹凸テクスチャを自動車のダッシュボードにバンプマッピングして、自動車のインテリアの仮想３次元モデルをレンダリングしたときのレンダリング結果を示した図である。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本発明の実施の形態による凹凸テクスチャ生成装置のハードウェア構成を示すブロック図である。凹凸テクスチャ生成装置は、通常のコンピュータ等から構成され、入力装置１、ＲＯＭ（リードオンリメモリ）２、ＣＰＵ（中央演算処理装置）３、ＲＡＭ（ランダムアクセスメモリ）４、外部記憶装置５、表示装置６、及び記録媒体駆動装置７を備える。各ブロックは内部のバスに接続され、このバスを介して種々のデータ等が入出され、ＣＰＵ３の制御の下、種々の処理が実行される。【００１３】
入力装置１は、キーボード、マウス等から構成され、操作者が種々のデータ及び操作指令等を入力するために使用される。ＲＯＭ２には、ＢＩＯＳ（Basic Input/Output System）等のシステムプログラムが記憶される。外部記憶装置５は、ハードディスクドライブ等から構成され、所定のＯＳ（Operating System）及び凹凸テクスチャ生成プログラム等が記憶される。ＣＰＵ３は、外部記憶装置５から凹凸テクスチャ生成プログラム等を読み出し、各ブロックの動作を制御する。ＲＡＭ４は、ＣＰＵ３の作業領域等として用いられる。【００１４】
表示装置６は、液晶表示装置等から構成され、ＣＰＵ３の制御の下に種々の画像を表示する。記録媒体駆動装置７は、ＣＤ−ＲＯＭドライブ、フレキシブルディスクドライブ等から構成される。【００１５】
なお、凹凸テクスチャ生成プログラムは、ＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体８に格納されて市場に流通される。ユーザはこの記録媒体８を記録媒体駆動装置７に読み込ませることで、凹凸テクスチャ生成プログラムをコンピュータにインストールする。また、凹凸テクスチャ生成プログラムをインターネット上のサーバに格納し、このサーバからダウンロードすることで、凹凸テクスチャ生成プログラムをコンピュータにインストールしてもよい。【００１６】
図２は、図１に示す凹凸テクスチャ生成装置の機能ブロック図を示している。本凹凸テクスチャ生成装置は、処理部１００、記憶部２００、入力部３００、及び表示部４００を備えている。処理部１００は、ポテンシャルフィールド生成部１０１、仮想粒子配置部１０２、シミュレーション実行部１０３、凹凸テクスチャ生成部１０４、レンダリング部１０５、及び表示制御部１０６の機能を備えている。これらの機能は、ＣＰＵ３が凹凸テクスチャ生成プログラムを実行することで実現される。【００１７】
ポテンシャルフィールド生成部１０１は、ユーザが入力部３００を操作して選択した模様テクスチャを模様テクスチャ記憶部２０１から読み出し、読み出した模様テクスチャに従って、閉空間にポテンシャルフィールドを生成する。ここで、ポテンシャルフィールドは、仮想３次元空間内に配置された仮想粒子に対して、斥力を与える仮想的な物体である。また、模様テクスチャは、ポテンシャルフィールドが生成される際に基礎となる模様を表す画像データであり、２次元かつ２値の画像データである。【００１８】
仮想粒子配置部１０２は、仮想３次元空間内に直方体状の閉空間を設定する。また、仮想粒子配置部１０２は、粒子データ記憶部２０２に記憶された粒子データを読み出し、入力部３００により受け付けられたユーザからの操作指令に従って、読み出した粒子データに所定の処理を施して仮想粒子の形状を変形させ、閉空間内に複数の仮想粒子を配置する。【００１９】
シミュレーション実行部１０３は、外力算出部１１１、仮想粒子成長部１１２、位置算出部１１３、及びカウンタ１１４を備え、閉空間に配置された仮想粒子を皮膚細胞の成長パターンに従って成長させるシミュレーションを実行する。【００２０】
外力算出部１１１は、閉空間に配置された各仮想粒子に作用する外力を算出する。ここで、外力としては、１つの仮想粒子を１つの分子として仮定したときに分子間同士に作用するファンデルワールス力と、上述したポテンシャルフィールドから受ける斥力と、重力とが含まれる。また、外力算出部１１１は、ある仮想粒子に作用する外力が予め定められた値を超えた場合、その仮想粒子を閉空間から消去して、仮想粒子を死滅させる。【００２１】
仮想粒子成長部１１２は、１つの仮想粒子を１つの皮膚細胞として仮定して、皮膚細胞の成長パターンに従って、各仮想粒子の数を増加させると共に、各仮想粒子の大きさを増加させ、各仮想粒子を成長させる。【００２２】
位置算出部１１３は、外力算出部１１１により算出された外力を各仮想粒子に作用させたときに、各仮想粒子において成立する運動方程式を解くことにより、各仮想粒子を閉空間内で移動させ、各仮想粒子の位置及び速度を算出する。カウンタ１１４は、仮想粒子の成長時間を計時するカウンタである。なお、カウンタ１１４がカウント値を１インクリメントさせると、仮想粒子の成長時間が所定時間経過することとなる。【００２３】
凹凸テクスチャ生成部１０４は、閉空間を構成する６面のうちの１つの面に、シミュレーション実行部１０３により成長された仮想粒子と前記面との距離を求めると共に、仮想粒子の前記面への投影面を求め、求めた投影面と仮想粒子及び前記面の距離とを基に、前記面に高さデータを与え、凹凸テクスチャを生成する。また、凹凸テクスチャ生成部１０４は、必要に応じて凹凸テクスチャを凹凸テクスチャ記憶部２０３に記憶させる。【００２４】
レンダリング部１０５は、３次元モデル記憶部２０４に予め記憶された仮想３次元モデルを読み出し、読み出した仮想３次元モデルに対して、凹凸テクスチャ生成部１０４により生成された凹凸テクスチャ又は凹凸テクスチャ記憶部２０３に記憶された凹凸テクスチャを用いたレンダリングを実行する。【００２５】
表示制御部１０６は、レンダリング部１０５によりレンダリングされた仮想３次元モデルを表示部４００に表示させる。また、表示制御部１０６は、ユーザに模様テクスチャを選択させるために、模様テクスチャ記憶部２０１から複数の模様テクスチャを読み出して表示部４００に一覧表示させる。更に、表示制御部１０６は、ユーザに仮想粒子の形状を設定させるために、粒子データ記憶部２０２に記憶された粒子データを読み出し、仮想粒子を表示部４００に表示させる。更に、表示制御部１０６は、凹凸テクスチャ生成部１０４により生成された凹凸テクスチャ又は凹凸テクスチャ記憶部２０３に記憶された凹凸テクスチャを表示部４００に表示させる。【００２６】
記憶部２００は、図１に示す外部記憶装置５等から構成され、模様テクスチャ記憶部２０１、粒子データ記憶部２０２、凹凸テクスチャ記憶部２０３、及び３次元モデル記憶部２０４の機能を備えている。これらの機能は、ＣＰＵ３が凹凸テクスチャ生成プログラムを実行することで実現される。【００２７】
模様テクスチャ記憶部２０１は、ポテンシャルフィールドが生成される際に基礎となる模様を表す画像データを記憶する。粒子データ記憶部２０２は、仮想粒子のデフォルトの形状を表す粒子データを記憶している。この粒子データは３次元の形状データである。また、粒子データ記憶部２０２は、仮想粒子の単位体積あたりの質量を示す質量データを記憶している。【００２８】
凹凸テクスチャ記憶部２０３は、凹凸テクスチャ生成部１０４により生成された１又は複数の凹凸テクスチャを記憶する。３次元モデル記憶部２０４は、３次元モデルを生成する公知のアプリケーションソフトウェアを用いてユーザにより予め作成された仮想３次元モデルを記憶する。【００２９】
入力部３００は、図１に示す入力装置１から構成され、ユーザからなされる種々の操作指令を受け付ける。表示部４００は、図１に示す表示装置６から構成され、表示制御部１０６の制御の下、種々の画像を表示する。【００３０】
なお、本実施の形態では、仮想粒子配置部１０２が仮想粒子配置手段の一例に相当する。また、ポテンシャルフィールド生成部１０１が仮想物体生成手段の一例に相当する。また、外力算出部１１１が粒子間力算出手段、斥力算出手段、及び仮想粒子死滅手段の一例に相当する。また、仮想粒子成長部１１２が仮想粒子成長手段の一例に相当する。また、位置算出部１１３が位置算出手段の一例に相当する。また、ポテンシャルフィールドが仮想物体の一例に相当する。【００３１】
次に、本凹凸テクスチャ生成装置の動作について図３のフローチャートを用いて説明する。まず、ポテンシャルフィールド生成部１０１は、仮想３次元空間内に直方体状の閉空間を設定する（ステップＳ１）。図４は、ポテンシャルフィールド生成部１０１により仮想３次元空間内に生成される閉空間を示した図である。図４に示すように仮想３次元空間には、互いに直交するｘ，ｙ，ｚ軸が設定されている。−ｚ方向には仮想的な重力が作用している。なお、仮想３次元空間をｘ，ｙ，ｚ軸の直交座標系で表すことに代えて、他の座標系（例えば極座標系）で表しても良い。【００３２】
ｘ，ｙ，ｚ軸の交点である原点Ｏは閉空間ＣＳの左下の頂点に設定されている。また、閉空間ＣＳを構成する各辺は、ｘ，ｙ，ｚ軸のうちいずれかの辺と平行に設定されている。ここで、閉空間ＣＳを構成する各辺の長さは予め定められているが、ポテンシャルフィールド生成部１０１は、入力部３００により受け付けられたユーザからの操作指令に応じて、閉空間ＣＳの長さを適宜変更してもよい。また、ポテンシャルフィールド生成部１０１は、直方体以外の形状、例えば、球体、立方体等を閉空間ＣＳの形状として採用してもよい。【００３３】
図３に示すステップＳ２において、ポテンシャルフィールド生成部１０１は、ユーザにより選択された模様テクスチャに従って、ポテンシャルフィールドを生成する。図５（ａ），（ｂ）は模様テクスチャの一例を示した図である。図５（ａ），（ｂ）に示すように、模様テクスチャは、細長い筋のパターンが表された矩形状の画像である。（ａ）に示す模様テクスチャは、縦方向に向けて蛇行する１本の筋と、この筋の２箇所から枝分かれした筋とから構成されている。（ｂ）に示す模様テクスチャは、同心円状に広がるように配列された３本の筋から構成されている。なお、図５（ａ），（ｂ）に示す模様テクスチャは、２値画像であり、筋を構成する画素が例えば「１」で表され、筋以外の背景を構成する画素が例えば「０」で表されている。【００３４】
なお、図５（ａ）、（ｂ）に示す模様テクスチャは一例にすぎず、他のパターンのものを採用してもよい。また、描画ソフトウェアを用いてユーザが作成した画像を模様テクスチャとして採用してもよい。【００３５】
ポテンシャルフィールド生成部１０１は、ユーザにより選択された模様テクスチャに対して、画像を平滑化させるフィルタ（例えば、ガウシアンフィルタ）を用いたフィルタ処理を施し、模様テクスチャを例えば、各画素が０〜２５５の２５６階調で表される多値画像に変換した後、各画素に対して階調数に比例する高さデータを与える。これにより、模様テクスチャは、３次元の画像データに変換される。【００３６】
次いで、ポテンシャルフィールド生成部１０１は、３次元の画像データに変換した模様テクスチャを、図４に示す閉空間ＣＳのＸＹ平面上の面（以下、底面ＢＳと呼ぶ）の内側に例えばテクスチャマッピングにより貼り付ける。これにより、図４に示すように底面ＢＳには、筋状の隆起物とＸＹ平面と平行な平面とから構成されるポテンシャルフィールドＰＦが形成される。【００３７】
図３に示すステップＳ３において、仮想粒子配置部１０２は、粒子データ記憶部２０２に記憶された仮想粒子Ｐのデフォルトの形状を表す形状データを読み出し、ユーザからの操作指令に従って、閉空間ＣＳに配置する仮想粒子Ｐの個数及び位置を定めると共に、仮想粒子Ｐの形状を変形させて閉空間ＣＳ内に仮想粒子Ｐを配置する。【００３８】
ここで、閉空間ＣＳ内に配置される仮想粒子Ｐの個数として、例えば人間等の動物の生誕直後の皮膚細胞の単位体積あたり個数と、閉空間ＣＳの体積とに基づいて定められる値を採用することができる。但し、この値はユーザからの操作指令に応じて適宜変更される。【００３９】
仮想粒子Ｐのデフォルトの形状は、３本の主軸のうち短い方の２本の主軸が同じ長さを有する楕円体である。以下、楕円体の３本の主軸のうち、１本の長い主軸を長軸、長さが同じである残り２本の主軸を短軸と呼ぶことにする。この楕円体の長軸及び短軸の長さは、予め定められたデフォルト値が採用されている。但し、このデフォルト値は、ユーザからの操作指令に応じて適宜変更される。また、仮想粒子Ｐのデフォルトの形状として、球体を採用してもよい。また、楕円体の３本の主軸を異なる長さにしてもよい。更に、楕円体と球体とを混合して閉空間に配置してもよい。【００４０】
仮想粒子配置部１０２は、長軸及び短軸のデフォルト値、又は、ユーザにより変更された長軸及び短軸の長さに対し、所定の確率密度関数（例えば、正規分布）や乱数等を用いて一定のバラツキを与えて、閉空間ＣＳに配置する各仮想粒子Ｐの短軸及び長軸の長さを決定し、仮想粒子Ｐの形状を変化させる。なお、楕円体に代えて球体を採用した場合、ユーザは、球体の半径を設定することで仮想粒子Ｐの形状を変更することができる。【００４１】
そして、仮想粒子配置部１０２は、閉空間ＣＳ内において、仮想粒子Ｐが重ならず、かつ、底面ＢＳを皮膚表面と見なし、ｚ方向を皮膚の深さ方向と見なしたときの皮膚細胞の分布に従い、仮想粒子Ｐを配置する。図４は、仮想粒子配置部１０２が閉空間ＣＳに仮想粒子Ｐを配置した直後の閉空間ＣＳを示している。図４に示すように、閉空間ＣＳ内において、大きさが適度にばらついた複数の仮想粒子Ｐが重ならないように配置されていることが分かる。ここで、仮想粒子配置部１０２は、仮想粒子Ｐの長軸の方向が平行となるように、仮想粒子Ｐを配置してもよいし、長軸の方向を適度にばらつかせて仮想粒子Ｐを配置してもよい。【００４２】
図３に示すステップＳ４において、カウンタ１１４は、カウント値をｉ＝０に設定し、仮想粒子Ｐの成長時間を初期化する。ステップＳ５において、外力算出部１１１は、式（１）を用いて各仮想粒子Ｐに作用するファンデルワールス力を算出する。
ｆ（ｗ）＝Ｋ０／ｌ０（５／４・ｗ３−１９／８・ｗ２＋９／８）      （１）
但し、
ｆ（ｗ）：ファンデルワールス力
Ｋ０：仮想粒子間の引力と斥力を定めるためのバネ係数
ｗ＝ｌ／ｌ０
ｌ：仮想粒子Ｐｉの中心と仮想粒子Ｐｊの中心との距離
ｌ０（Ｐｉ，Ｐｊ）＝１／２（ｄ（Ｐｉ）＋ｄ（Ｐｊ））
Ｐｉ：ｉ番目の仮想粒子
Ｐｊ：ｊ番目の仮想粒子
ｄ（Ｐ）：仮想粒子Ｐの長軸の長さ【００４３】
図６は、式（１）のファンデルワールス力を示すグラフであり、縦軸はｆ（ｗ）を示し、横軸はｗを示している。図６に示すようにｆ（ｗ）は、ｗが０から１までの範囲内では正の値をとる。これは、図７（ｂ）に示すように仮想粒子Ｐｉ，Ｐｊが重なっている場合、仮想粒子Ｐｉ，Ｐｊには斥力が作用することを示している。【００４４】
また、ｆ（ｗ）は、ｗが１のとき０の値をとる。これは、図７（ｃ）に示すように、仮想粒子Ｐｉ，Ｐｊが接しているときは、引力も斥力も作用せず、安定することを示している。【００４５】
また、ｆ（ｗ）は、ｗが１から約１．３の範囲内では負の値をとる。これは、図７（ａ）に示すように、仮想粒子Ｐｉ，Ｐｊが一定の距離範囲内に存在するときは、仮想粒子Ｐｉ，Ｐｊには引力が作用することを示している。更に、ｆ（ｗ）は、ｗが１．３よりも大きい場合、正の値をとる。これは、仮想粒子Ｐｉ，Ｐｊは一定の距離以上離れると、斥力が作用することを示している。【００４６】
図３に示すステップＳ６において、外力算出部１１１は、各仮想粒子Ｐに作用するポテンシャルフィールドＰＦからの制約力ＦＳを算出する。図８は、仮想粒子Ｐに作用する制約力ＦＳを説明する図である。なお、図８に示す斜め斜線はポテンシャルフィールドＰＦの断面を示している。外力算出部１１１は、仮想粒子Ｐｉの中心Ｏ１と、ポテンシャルフィールドＰＦとを最短距離で結ぶ直線Ｌ１を求め、直線Ｌ１とポテンシャルフィールドＰＦとの交点Ｏ２を求める。次に、交点Ｏ２の法線ベクトルＶ１を求め、求めた法線ベクトルＶ１に所定の定数を乗じた力を、仮想粒子Ｐｉに作用する制約力ＦＳｉとして求める。ここで、所定の定数として、例えば仮想粒子Ｐｉの質量を採用することができ、法線ベクトルＶ１の大きさとして重力加速度の大きさを採用することができる。【００４７】
仮想粒子Ｐｋの場合、中心とポテンシャルフィールドＰＦとを最短距離で結ぶ直線のポテンシャルフィールドＰＦとの交点は、ＸＹ平面上に存在しているため、仮想粒子Ｐｋはｚ方向に制約力ＦＳｋを受けることになる。しかし、仮想粒子Ｐｋは−ｚ方向に重力ＦＧｋを受けているため、制約力ＦＳｋと重力ＦＧｋとは相殺され、他の仮想粒子Ｐからのファンデルワールス力ｆのみを受けることになる。仮想粒子Ｐｊは、仮想粒子Ｐｋの場合と同様、制約力ＦＳｊと重力ＦＧｊとが反対方向を向いているため相殺されて、他の仮想粒子Ｐからのファンデルワールス力ｆのみを受けることになる。【００４８】
従って、ポテンシャルフィールドＰＦ上の隆起物の斜面近傍に位置する仮想粒子Ｐｉは、ポテンシャルフィールドＰＦからの制約力ＦＳｉにより隆起物から遠ざかる。【００４９】
図３に示すステップＳ７において、外力算出部１１１は、各仮想粒子Ｐの質量を算出し、算出した質量に−ｚ方向に作用する重力加速度を乗じることにより、各仮想粒子Ｐに作用する重力ＦＧを求める。ここで、外力算出部１１１は、仮想粒子Ｐの長軸と短軸の長さから仮想粒子Ｐの体積を求め、この体積に粒子データ記憶部２０２に記憶された質量データを乗じることで、仮想粒子Ｐの質量を求める。【００５０】
ステップＳ８において、外力算出部１１１は、仮想粒子Ｐが他の仮想粒子Ｐから受けるファンデルワールス力ｆと、ポテンシャルフィールドＰＦから受ける制約力ＦＳと、重力ＦＧとを合成して仮想粒子Ｐに作用する外力Ｆｏを求め、この外力Ｆｏの大きさが既定値を超えるか否かを判定する。そして、既定値を超える外力Ｆｏが作用する仮想粒子Ｐを閉空間ＣＳから消去して、仮想粒子Ｐを死滅させる。この既定値は、実際の皮膚細胞を死滅させる圧力の大きさに基づいて予め定められた値が採用されている。【００５１】
ステップＳ９において、カウンタ１１４は、カウント値ｉを１インクリメントして、仮想粒子の成長時間を所定時間進める。【００５２】
ステップＳ１０において、位置算出部１１３は、カウント値ｉから仮想粒子Ｐの成長時間ｔを求め、式（２）に示す運動方程式を、ルンゲクッタ法を用いて解くことにより、成長時間ｔにおける仮想粒子Ｐの位置と速度とを求める。なお、位置算出部１１３は、ルンゲクッタ法に代えてオイラー法等を用いて仮想粒子Ｐの位置と速度とを算出してもよい。【００５３】
2007074728.tif 000003
但し
ｍｉ：仮想粒子Ｐｉの質量
ｘｉ：仮想粒子Ｐｉの位置
ｃ：閉空間ＣＳの粘性係数
ｔ：成長時間
ｆｉ：仮想粒子Ｐｉに作用するファンデルワールス力
ＦＳｉ：仮想粒子Ｐｉに作用する制約力
ＦＧｉ：重力【００５４】
ここで、ｘｉ、ｆｉ、ＦＳｉ、ＦＧｉはそれぞれ、ｘ，ｙ，ｚ成分からなる３次元のベクトルである。粘性係数ｃは、実際の皮膚細胞の細胞質の粘性係数等を基に予め定められた値が採用されている。【００５５】
ステップＳ１１において、仮想粒子成長部１１２は、実際の皮膚細胞の大きさの増加量を示す式（３）に示す関数を用いて、閉空間ＣＳ内の仮想粒子Ｐの長軸及び短軸の長さを増加させ、仮想粒子Ｐを大きくする。【００５６】
2007074728.tif 000004
但し、
ＣＳ（ｃｕｒｒｅｎｔ＿ｓｉｚｅ）：成長時間ｔにおける仮想粒子Ｐの短軸及び長軸の長さ
ＩＳ（ｉｎｉｔｉａｌ＿ｓｉｚｅ）：仮想粒子配置部１０２により閉空間ＣＳに配置されたときの仮想粒子Ｐの短軸及び長軸の長さ
ｒ：成長率
ｔ：成長時間【００５７】
ここで、成長率ｒは実際の皮膚細胞の大きさの増加率に基づいて予め定められた値が採用されている。ステップＳ１２において、仮想粒子成長部１１２は、シグモイド曲線で表され、実際の皮膚細胞の増加数の経時的変化を表す式（４）に示す関数を用いて、閉空間ＣＳに新たに追加する仮想粒子Ｐの数（仮想粒子Ｐの増加数）を求め、追加する仮想粒子Ｐを配置する位置を求め、閉空間ＣＳに仮想粒子Ｐを新たに誕生させる。【００５８】
2007074728.tif 000005
但し、
ＮＯＢ（ｎｕｍｂｅｒ＿ｏｆ＿ｂｉｒｔｈ）：新たに追加する仮想粒子の数
ａ，ｋ：定数
ｔ：成長時間
ｔ０：式（４）に示す関数の変曲点【００５９】
図９は、式（４）に示す関数のグラフであり、縦軸は新たに追加する仮想粒子の数を示し、横軸は成長時間を示している。図９に示すように、新たに追加する仮想粒子の数は、成長時間ｔの増加に伴って、緩やかに減少していることが分かる。また、成長時間ｔがｔ０の時刻において変曲点が存在していることが分かる。また、このｔ０は、仮想粒子Ｐの増加数がほぼ０になるまでの成長時間に対して約半分の時間であることが分かる。【００６０】
図３に示すステップＳ１３において、カウンタ１１４は、カウント値ｉがシミュレーションの終了時間に対応するカウント値であるＮ（Ｎは正の整数）になったか否かを判定し、カウント値ｉがＮになったと判定した場合（Ｓ１３でＹＥＳ）、処理をステップＳ１４に進める。一方、カウンタ１１４は、カウント値ｉがＮになっていないと判定した場合（Ｓ１３でＮＯ）、処理をステップＳ５に戻す。ここで、Ｎの値は、ユーザからの操作指令に応じて適宜変更される。【００６１】
以上、カウント値ｉがＮになるまで、ステップＳ５〜Ｓ１３までの処理が繰り返し実行され、閉空間ＣＳ内で仮想粒子Ｐを成長させるシミュレーションが実行される。図１０は、シミュレーション終了時の閉空間ＣＳを示した図である。図１０に示すように、閉空間ＣＳに存在する仮想粒子Ｐの大きさ及び数が、シミュレーション開始時の閉空間ＣＳを示す図４に比べて増加しており、仮想粒子Ｐが皮膚細胞の成長パターンにしたがって成長していることが分かる。【００６２】
また、ポテンシャルフィールドＰＦの隆起物の斜面近傍に位置する仮想粒子ＰはポテンシャルフィールドＰＦからの制約力ＦＳにより、隆起物から離れるように配置されていることが分かる。【００６３】
図３に示すステップＳ１４において、凹凸テクスチャ生成部１０４は、底面ＢＳに仮想粒子Ｐを投影して凹凸テクスチャを生成する。図１１は、凹凸テクスチャ生成部１０４が凹凸テクスチャを生成する処理を説明する図である。まず、凹凸テクスチャ生成部１０４は、（ａ）に示すように仮想粒子Ｐの中心Ｏ１と底面ＢＳとの距離Ｈを求める。次に、（ｂ）に示すように底面ＢＳに仮想粒子Ｐを投影し、底面ＢＳ上に形成される仮想粒子Ｐの投影面Ｓ１を求める。そして、（ｃ）に示すように投影面Ｓ１と距離Ｈとをガウシアン曲面で繋ぎ、投影面Ｓ１に高さデータを付与して、凹凸テクスチャを生成する。ここで、ガウシアン曲面に代えて、楕円体を用いてもよい。【００６４】
図１２は、本凹凸テクスチャ生成装置によって生成された凹凸テクスチャの一例を示す図であり、（ａ）、（ｃ）、（ｄ）は閉空間ＣＳ内にポテンシャルフィールドＰＦを生成することなく、生成された凹凸テクスチャを示し、（ｂ）は閉空間ＣＳ内にポテンシャルフィールドＰＦを生成した場合に生成された凹凸テクスチャを示している。【００６５】
（ａ）に示す凹凸テクスチャは、（ｃ）に示す凹凸テクスチャに比べて、シボの直径のサイズのバラツキが大きいことが分かる。これは、仮想粒子配置部１０２が、仮想粒子Ｐの形状のバラツキを大きくして、仮想粒子Ｐを閉空間ＣＳに配置したことに起因している。また、（ｄ）に示す凹凸テクスチャは、（ａ）〜（ｃ）に示す凹凸テクスチャに対して、シボの数が多いことが分かる。これは、仮想粒子配置部１０２が、仮想粒子Ｐの数を多くして閉空間ＣＳに配置したこと、或いはシミュレーション時間を長くしたことに起因している。【００６６】
また、（ｂ）に示す凹凸テクスチャは、左側に示す模様テクスチャを基に生成されたポテンシャルフィールドＰＦを閉空間ＣＳに形成して、仮想粒子Ｐが成長されているため、（ｂ）の右側に示すように、模様テクスチャが示す筋の部分を避けるようにして、シボが形成されていることが分かる。【００６７】
図１３は、本凹凸テクスチャ生成装置を用いて生成された凹凸テクスチャを自動車のダッシュボードにバンプマッピングして、自動車のインテリアの仮想３次元モデルをレンダリングしたときのレンダリング結果を示した図である。図１３に示すように、本テクスチャ生成装置により生成された３次元モデルを用いてレンダリングすることで、ダッシュボード表面の質感がリアルに再現されていることが分かる。【００６８】
以上説明したように、本凹凸テクスチャ生成装置によれば、閉空間ＣＳ内に配置された仮想粒子Ｐが動物の皮膚の成長パターンに従って、その数及びサイズが増加される。各仮想粒子Ｐには、ファンデルワールス力ｆ、重力ＦＧ、及び制約力ＦＳが作用しており、各仮想粒子Ｐが一定時間成長する毎に、これらの力が算出される。【００６９】
また、各仮想粒子Ｐに対してファンデルワールス力ｆ、重力ＦＧ、及び制約力ＦＳを与えたときの各仮想粒子Ｐの運動方程式を、ルンゲクッタ法を用いて仮想粒子Ｐが一定時間成長する毎に解くことにより各仮想粒子Ｐの位置及び速度が算出される。そして、所定時間成長された仮想粒子Ｐを底面ＢＳに投影して凹凸テクスチャが生成される。【００７０】
ここで、底面ＢＳには仮想粒子Ｐが投影されるが、この仮想粒子Ｐは生物の皮膚の成長パターンに従って成長されているため、底面ＢＳの表面に形成されるシボは、生物の皮膚の特徴が取り入れられたものになる。その結果、生物の皮膚の特徴をリアルに表す凹凸テクスチャを生成することができる。【００７１】
（本発明の纏め）
（１）本発明による凹凸テクスチャ生成プログラムは、凹凸テクスチャを生成する凹凸テクスチャ生成プログラムであって、仮想３次元空間内に閉空間を設定し、設定した閉空間内に所定の質量及び所定の大きさを有する複数の仮想粒子を配置する仮想粒子配置手段と、生物の皮膚細胞の成長パターンをシミュレートして、前記仮想粒子配置手段により配置された仮想粒子の数及び各仮想粒子の大きさを増加させ、各仮想粒子を前記閉空間内で成長させる仮想粒子成長手段と、各仮想粒子の距離に基づいて定められる各仮想粒子の相互間で作用する粒子間力を算出する粒子間力算出手段と、前記粒子間力を各仮想粒子に作用させたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置を算出する位置算出手段と、閉空間内の仮想粒子の位置及び大きさを基に、凹凸テクスチャを生成する凹凸テクスチャ生成手段としてコンピュータを機能させることを特徴とするものである。【００７２】
また、本発明による凹凸テクスチャ生成装置は、凹凸テクスチャを生成する凹凸テクスチャ生成装置であって、仮想３次元空間内に閉空間を設定し、設定した閉空間内に所定の質量及び所定の大きさを有する複数の仮想粒子を配置する仮想粒子配置手段と、生物の皮膚細胞の成長パターンをシミュレートして、前記仮想粒子配置手段により配置された仮想粒子の数及び各仮想粒子の大きさを増加させ、各仮想粒子を前記閉空間内で成長させる仮想粒子成長手段と、各仮想粒子の距離に基づいて定められる各仮想粒子の相互間で作用する粒子間力を算出する粒子間力算出手段と、前記粒子間力を各仮想粒子に作用させたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置を算出する位置算出手段と、閉空間内の仮想粒子の位置及び大きさを基に、凹凸テクスチャを生成する凹凸テクスチャ生成手段とを備えることを特徴とするものである。【００７３】
これらの構成によれば、生物の皮膚細胞の成長パターンに従って、閉空間内の仮想粒子の数及び大きさが増加される。仮想３次元空間内に存在する各仮想粒子には、仮想粒子同士の距離に基づいて定められる粒子間力が作用しており、この各仮想粒子に作用する粒子間力が算出される。【００７４】
また、各仮想粒子に対して粒子間力を外力として与えたときの各仮想粒子の運動方程式を解くことにより各仮想粒子の位置が算出される。そして、閉空間内の仮想粒子の位置及び大きさを基に凹凸テクスチャが生成される。【００７５】
すなわち、閉空間を皮膚組織と仮定したときに当該皮膚組織に含まれる皮膚細胞の成長パターンに従って仮想粒子の大きさ及び数が定められ、この仮想粒子の位置及び大きさを基に、凹凸テクスチャが生成されているため、動物の皮膚の特徴をよりリアルに表す凹凸テクスチャを生成することができる。【００７６】
（２）また、上記構成において、各仮想粒子に斥力を作用させる仮想物体を、ユーザからの操作指令を基に、前記閉空間内に生成する仮想物体生成手段と、前記仮想粒子が一定時間成長する毎に、各仮想粒子に作用する前記仮想物体からの斥力を算出する斥力算出手段として更にコンピュータを機能させ、前記位置算出手段は、前記斥力算出手段により算出された斥力と前記粒子間力とを各仮想粒子に作用させて前記運動方程式を解くことが好ましい。【００７７】
この構成によれば、仮想粒子は仮想物体からの斥力によって、仮想物体から遠ざかるように移動されるため、仮想粒子を適度に分散させることができる。【００７８】
（３）また、上記構成おいて、所定の模様を表す１又は複数種類のテクスチャを記憶するテクスチャ記憶手段として更にコンピュータを機能させ、前記仮想物体生成手段は、前記テクスチャ記憶手段に記憶されたテクスチャの中からいずれか１つのテクスチャをユーザからの操作指令に従って選択し、選択したテクスチャの模様を基に前記仮想物体を生成することが好ましい。【００７９】
この構成によれば、ユーザはテクスチャを選択すると、テクスチャが表す模様を基に、仮想物体が生成され、この仮想物体からの斥力により各仮想粒子が移動されるため、ユーザにより選択されたテクスチャの模様を表すような凹凸テクスチャを生成することができる。【００８０】
（４）また、上記構成において、前記閉空間は６面体であり、前記凹凸テクスチャ生成手段は、前記６面体のある１つ面と各仮想粒子との距離を求めると共に、各仮想粒子の前記面への投影面を求め、求めた距離と投影面とを基に、前記面に高さデータを与え、凹凸テクスチャを生成することが好ましい。【００８１】
この構成によれば、６面体の１面に仮想粒子が投影されて凹凸テクスチャが生成されるため、この面を生物の皮膚表面とみなした場合に、皮膚表面に現れる凹凸を表すような凹凸テクスチャを生成することができる。【００８２】
（５）また、上記構成において、前記粒子間力算出手段により算出された粒子間力と前記斥力算出手段により算出された斥力との合力が、既定値よりも大きな仮想粒子を前記閉空間から除去することで仮想粒子を死滅させる仮想粒子死滅手段を更に備えることが好ましい。【００８３】
この構成によれば、一定の力を受けると死滅する生物の皮膚の特徴を考慮に入れて閉空間内に存在する仮想粒子を成長させることができ、皮膚の特徴をよりリアルに表す凹凸テクスチャを生成することができる。【００８４】
（６）また、上記構成において、前記仮想粒子成長手段は、シグモイド曲線に基づいて表される前記皮膚細胞の数の経時的変化を示す所定の関数を用いて仮想粒子の数を増加させることが好ましい。【００８５】
この構成によれば、シグモイド曲線に基づいて表される皮膚細胞数の経時的変化を示す所定の関数を用いて仮想粒子の数が増加されるため、仮想粒子の数を実際の皮膚細胞の成長パターンに従って増加させることができる。その結果、皮膚の特徴をよりリアルに表す凹凸テクスチャを生成することができる。【００８６】
（７）また、上記構成において、前記仮想粒子成長手段は、指数関数に基づいて表される前記皮膚細胞の大きさの経時的変化を示す所定の関数を用いて仮想粒子の大きさを増加させることが好ましい。【００８７】
この構成によれば、指数関数に基づいて表される皮膚細胞の大きさの経時的変化を示す所定の関数を用いて仮想粒子の大きさが増加されるため、仮想粒子の大きさを実際の皮膚細胞の成長パターンに従って増加させることができる。その結果、皮膚の特徴をよりリアルに表す凹凸テクスチャを生成することができる。【００８８】
（８）また、上記構成において、前記粒子間力算出手段は、ファンデルワールス力を示す所定の関数を用いて粒子間力を算出することが好ましい。【００８９】
この構成によれば、仮想粒子にファンデルワールス力が作用されるため、皮膚細胞の成長パターンをよりリアルに表す凹凸テクスチャを生成することができる。
【図１】
2007074728.tif 000006
【図２】
2007074728.tif 000007
【図３】
2007074728.tif 000008
【図４】
2007074728.tif 000009
【図５】
2007074728.tif 000010
【図６】
2007074728.tif 000011
【図７】
2007074728.tif 000012
【図８】
2007074728.tif 000013
【図９】
2007074728.tif 000014
【図１０】
2007074728.tif 000015
【図１１】
2007074728.tif 000016
【図１２】
2007074728.tif 000017
【図１３】
2007074728.tif 000018
【国際調査報告】
2007074728.tif 000019
2007074728.tif 000020