(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024129406
(43)【公開日】2024-09-27
(54)【発明の名称】サーフェスライトフィールド変換装置およびそのプログラム
(51)【国際特許分類】
G06T 15/00 20110101AFI20240919BHJP
【FI】
G06T15/00 501
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023038593
(22)【出願日】2023-03-13
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】三須 俊枝
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080AA19
5B080BA01
5B080BA02
5B080DA06
5B080FA02
5B080FA09
5B080GA00
5B080GA11
(57)【要約】
【課題】三次元モデルの姿勢変化に応じて自然なレンダリング結果となるようにサーフェスライトフィールドを変換するサーフェスライトフィールド変換装置を提供する。
【解決手段】サーフェスライトフィールド変換装置1は、姿勢変化に伴う三次元モデルの局所における法線ベクトルnの回転変換を示す姿勢変換行列と、姿勢変化前の法線ベクトルnの方向からサーフェスライトフィールドLに含まれる方向ベクトルの方向への回転変換を示す方向変換行列とを用いて、方向ベクトルを姿勢変化後の方向ベクトルに変換する方向ベクトル変換部20、を備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
三次元モデルの局所に対応付けられたサーフェスライトフィールドを、前記三次元モデルの姿勢変化に応じて変換するサーフェスライトフィールド変換装置であって、
前記姿勢変化に伴う前記局所における法線ベクトルの回転変換を示す姿勢変換行列と、姿勢変化前の前記法線ベクトルの方向から前記サーフェスライトフィールドに含まれる方向ベクトルの方向への回転変換を示す方向変換行列とを用いて、前記方向ベクトルを姿勢変化後の方向ベクトルに変換する方向ベクトル変換部、
を備えることを特徴とするサーフェスライトフィールド変換装置。
【請求項2】
前記姿勢変換行列をR、前記方向変換行列をQとしたとき、前記方向ベクトル変換部は、RQRQ-1の変換により、前記サーフェスライトフィールドの方向ベクトルを変換することを特徴とする請求項1に記載のサーフェスライトフィールド変換装置。
【請求項3】
前記姿勢変換行列をR、前記方向変換行列をQとしたとき、前記方向ベクトル変換部は、RQRQT(Tは転置)の変換により、前記サーフェスライトフィールドの方向ベクトルを変換することを特徴とする請求項1に記載のサーフェスライトフィールド変換装置。
【請求項4】
前記方向ベクトル変換部は、姿勢変化前の前記法線ベクトルと前記サーフェスライトフィールドの方向ベクトルとを入力し、前記方向ベクトルの回転軸を表す単位ベクトルおよび回転角を求めて前記方向変換行列を生成し、生成した前記方向変換行列と入力された前記姿勢変換行列とを用いて、前記サーフェスライトフィールドの方向ベクトルを変換することを特徴とする請求項1に記載のサーフェスライトフィールド変換装置。
【請求項5】
前記姿勢変化に伴う前記局所における回転軸を表す単位ベクトルと回転角とから前記姿勢変換行列を生成する姿勢変換行列生成手段をさらに備えることを特徴とする請求項1に記載のサーフェスライトフィールド変換装置。
【請求項6】
コンピュータを、請求項1から請求項5のいずれか一項に記載のサーフェスライトフィールド変換装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元モデルの姿勢変化に応じてサーフェスライトフィールドを変換するサーフェスライトフィールド変換装置およびそのプログラムに関する。
【背景技術】
【0002】
三次元コンピュータグラフィックス(3DCG)において、三次元モデルを可動化する技術としてリギングがある。このリギングは、三次元モデルの形状を骨格に対応付け(スキニング)、その骨格の移動・回転に応じて三次元モデルの形状の一部または全部を移動・回転させることで、三次元モデルを変形する技術である。
また、三次元モデルの形状情報(ジオメトリ)の表現方法には、メッシュ、ポイントクラウド、ボクセルなどの各種表現が存在する。さらに、これらのジオメトリと紐づけて、対象物の色柄を表すテクスチャ、質感を表すマテリアル、光線の方向や色を表すサーフェス(表面)ライトフィールドなどの各種情報を付加することもある。
三次元モデルの形状情報にサーフェスライトフィールドを貼り付けることで、視点に依存したテクスチャ表現が可能になり、直接光のほかに間接光をも考慮したレンダリング手法であるグローバルイルミネーションを忠実に再現することができる。
【0003】
従来、任意の照明条件下でリアルなレンダリングを可能とするため、被写体を回転台に載せて回転させつつ、多数の照明やカメラを用いて多数の画像を取得し、被写体表面からの放射光となる表面反射フィールドによりモデリングを行う技術が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
三次元モデルを変形・回転する場合、テクスチャやマテリアルの情報は、三次元モデルの部位(例えば、メッシュの頂点など)ごとの対応付けを保つことで、形状と色柄との相対位置関係を崩すことなく変形・回転を行うことができる。このとき、テクスチャやマテリアルの情報の内容は、変形・回転によらず不変としている。しかし、同様に、サーフェスライトフィールドを不変としたまま、対応付けのみを保持して変形・回転を行うと、本来生じるはずの光線とは異なる方向に光線が発生し、レンダリング結果が不自然となる場合がある。
【0006】
特許文献1の技術によれば、三次元モデルを変形・回転する場合でも、取得した画像により、正しい光線の反射や質感を得ることが可能となる。
しかし、特許文献1の技術は、被写体を回転させ、多数の照明やカメラを用いて、多数の画像を取得しなければならないため、装置規模が大きくなり、光線方向に応じた画像を取得するための時間が長くなるという問題がある。
【0007】
そこで、本発明は、三次元モデルの姿勢変化に応じて自然なレンダリング結果となるようにサーフェスライトフィールドを変換するサーフェスライトフィールド変換装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明に係るサーフェスライトフィールド変換装置は、三次元モデルの局所に対応付けられたサーフェスライトフィールドを、前記三次元モデルの姿勢変化に応じて変換するサーフェスライトフィールド変換装置であって、前記姿勢変化に伴う前記局所における法線ベクトルの回転変換を示す姿勢変換行列と、姿勢変化前の前記法線ベクトルの方向から前記サーフェスライトフィールドに含まれる方向ベクトルの方向への回転変換を示す方向変換行列とを用いて、前記方向ベクトルを姿勢変化後の方向ベクトルに変換する方向ベクトル変換部、を備える構成とした。
【0009】
かかる構成によれば、サーフェスライトフィールド変換装置は、方向ベクトル変換部によって、姿勢変換行列と方向変換行列とを用いて、サーフェスライトフィールドに含まれる方向ベクトルを姿勢変化後の方向ベクトルに変換する。
【0010】
ここで、姿勢変換行列は、三次元モデルの姿勢変化に伴う局所における法線ベクトルの回転変換を示す回転行列である。また、方向変換行列は、姿勢変化前の法線ベクトルの方向からサーフェスライトフィールドに含まれる方向ベクトルの方向への回転変換を示す回転行列である。この方向変換行列は、方向ベクトルである光線の方向が鏡面反射による方向として、法線ベクトルを基準として表されたものである。
このように、方向ベクトル変換部は、姿勢変換行列と方向変換行列とを用いて変換を行うことで、姿勢変化に伴う局所の回転に、鏡面反射の方向が反映されることになる。
これによって、サーフェスライトフィールド変換装置は、サーフェスライトフィールドの方向ベクトルを姿勢変化による回転だけではなく、それに伴って変化する鏡面反射の方向をさらに変化させることができる。
なお、サーフェスライトフィールド変換装置は、コンピュータを、サーフェスライトフィールド変換装置として機能させるためのプログラムで動作させることができる。
【発明の効果】
【0011】
本発明によれば、三次元モデルの姿勢変化によっても、自然なレンダリング結果となるようにサーフェスライトフィールドを変換することができる。
【図面の簡単な説明】
【0012】
【
図1】三次元モデルの姿勢変化の一例を説明するための説明図である。
【
図2】三次元モデルの局所におけるサーフェスライトフィールドの例を示す図である。
【
図3】局所における光線の反射方向を示す図である。
【
図4】局所の回転に伴うサーフェスライトフィールドの変化を説明するための説明図である。
【
図5】本発明の実施形態に係るサーフェスライトフィールド変換装置の構成を示すブロック構成図である。
【
図6】本発明の実施形態に係るサーフェスライトフィールド変換装置の動作を示すフローチャートである。
【
図7】本発明の変形例の実施形態に係るサーフェスライトフィールド変換装置の構成を示すブロック構成図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面を参照して説明する。
[サーフェスライトフィールド変換装置の概要]
まず、
図1,
図2を参照して、本発明の実施形態に係るサーフェスライトフィールド変換装置1(
図5)の概要について説明する。
【0014】
サーフェスライトフィールド変換装置1は、
図1に示すように、三次元モデルMの局所Pに対応付けられたサーフェス(表面)ライトフィールドを、三次元モデルMの変形、回転などの姿勢変化に応じて変換するものである。
【0015】
局所Pは、三次元モデルMのジオメトリに応じた三次元モデルMの表面を表す位置である。例えば、三次元モデルMのジオメトリがポイントクラウドで表現されている場合、局所Pは、ポイントクラウド(点群データ)の1つの点(頂点)に相当する。三次元モデルMのジオメトリがメッシュで表現されていれば局所Pはメッシュの各頂点に相当し、三次元モデルMのジオメトリがボクセルで表現されていれば局所Pはモデル表面のボクセル中心に相当する。
【0016】
サーフェスライトフィールドは、局所Pに対応付けられた、局所Pから発せられる光線の情報(光線情報)である。光線情報は、光線の集合または場(ば)であって、具体的には、
図2に示すように、有限個の光線の方向ベクトル(単位ベクトル)r
1,r
2,…,r
K(ここではK個〔Kは1以上の整数〕)とそれぞれの方向ベクトルに対応する色情報(不図示)とを成分として含む情報である。なお、
図2中、nは、局所Pにおける三次元モデルMの表面に対する法線ベクトルを示す。
サーフェスライトフィールド変換装置1は、三次元モデルMに姿勢変化を施された場合おいて、局所Pに対応付けられている光線の方向ベクトルを姿勢変化に伴って変換する。
【0017】
[局所における光線変化の定式化]
サーフェスライトフィールド変換装置1の構成および動作を説明する前に、
図3,
図4を参照して、三次元モデルM(
図1)の姿勢変化に伴う局所Pの光線の変化について予め定式化しておく。
図3に示すように、局所Pに対応付けられる点から発せられる光線は、三次元モデルの局所Pにおける表面SFの法線ベクトルと、光源Sから局所Pに向かう方向ベクトルとに基づいて決まる。なお、光源Sは、1つに限定されない。
【0018】
ここで、1つの光源Sに着目したとき、局所PにおけるPhongの反射モデルに基づく鏡面反射による反射光の強度が最大となる単位方向ベクトル(以下、反射方向ベクトル)をr、局所Pにおける法線ベクトル(単位ベクトルとする)をn、局所Pからみた光源Sの単位方向ベクトル(以下、光源方向ベクトル)をsとする。このとき、反射方向ベクトルrと光源方向ベクトルsとは、法線ベクトルnに関して線対称となる。
すなわち、法線ベクトルnの方向から反射方向ベクトルrの方向への変換を行う回転行列(方向変換行列)をQとしたとき、以下の式(1)および式(2)が成り立つ。
【0019】
【0020】
次に、三次元モデルが変形、回転などの姿勢変化をする場合を考える。ここでは、局所Pの位置は不変で、表面SFの向きのみが変化することとする。なお、光源Sがすべて無限遠または十分に遠方にある場合、姿勢変化によって仮に局所Pの位置が変化しても、局所Pにおける反射光の状態はほぼ同じであるため、位置の変化はないものとして扱って構わない。光源Sが十分に遠方にあるとは、局所Pの位置変化の距離に対して、局所Pから光源Sまでの距離が例えば10倍以上の場合である。
【0021】
ここで、
図4に示すように、三次元モデルの表面SFにおける局所Pの姿勢変化前の法線ベクトルnが、姿勢変化後の法線ベクトルn′に変化したとする。法線ベクトルnの方向から法線ベクトルn′の方向への変換を行う回転行列(姿勢変換行列)をRとしたとき、以下の式(3)が成り立つ。
【0022】
【0023】
そして、式(2)および式(3)より、以下の式(4)が得られる。
【0024】
【0025】
このとき、姿勢変化後の反射方向ベクトルr′と光源方向ベクトルsとは、姿勢変化後の法線ベクトルn′に関して線対称となる。
式(4)より、法線ベクトルn′の方向から光源方向ベクトルsの方向への回転行列はQ-1R-1の逆行列となり、[Q-1R-1]-1=RQとなる。よって、以下の式(5)が成り立つ。
【0026】
【0027】
また、式(3)および式(5)より、以下の式(6)が成り立つ。
【0028】
【0029】
そして、式(1)および式(6)より、以下の式(7)が得られる。
【0030】
【0031】
この回転行列Rは、三次元モデルの姿勢変化に伴う局所Pにおける回転軸を表す単位ベクトルを[px,py,pz]T(Tは転置を示す)、右手の法則に基づく回転角をφとした場合、ロドリゲス(Rodrigues)の回転公式により、以下の式(8)により与えることができる。
【0032】
【0033】
また、回転行列Qは、姿勢変化前の法線ベクトルnの方向から、反射方向ベクトルrの方向への回転軸を表す単位ベクトルを[qx,qy,qz]T(Tは転置を示す)、右手の法則に基づく回転角をθとした場合、ロドリゲスの回転公式により、以下の式(9)により与えることができる。
【0034】
【0035】
[サーフェスライトフィールド変換装置の構成]
次に、
図5を参照(適宜
図1~
図4参照)して、本発明の実施形態に係るサーフェスライトフィールド変換装置の構成について説明する。なお、適宜前記した数式を参照することとする。
【0036】
サーフェスライトフィールド変換装置1は、局所PのサーフェスライトフィールドLと、局所Pにおける姿勢変化前の法線ベクトルnと、姿勢変化に伴う回転行列(姿勢変換行列)Rと、を入力し、サーフェスライトフィールドLを姿勢変化後のサーフェスライトフィールドL′に変換する。ここでは、三次元モデルのジオメトリがポイントクラウドで表現されているものとする。
サーフェスライトフィールドLは、有限個の光線の方向ベクトル(単位ベクトル)と色情報とを含み、例えば、以下の式(10)に示すように表現することができる。
【0037】
【0038】
式(10)に示すように、サーフェスライトフィールドLは、K個(Kは1以上の整数)の方向ベクトルr1,r2,…,rKとそれぞれの方向ベクトルに対応する色情報c1,c2,…,cKとを成分として含む。ここで、rkはk個目(kは1以上K以下の整数)の光線の方向ベクトル(単位ベクトル)を表し、ckはk個目の色情報(例えば、RGB値)を表すものとする。なお、色情報は、輝度やスペクトル強度であっても構わない。
【0039】
法線ベクトルnは、局所Pにおける姿勢変化前の三次元モデルの表面に対する法線を示す単位ベクトルである。
回転行列(姿勢変換行列)Rは、三次元モデルの姿勢変化に伴う局所Pの方向の変換を行うための行列であって、より具体的には、姿勢変化前の法線ベクトルnの方向を姿勢変化後の法線ベクトルの方向に変換するための行列である。
これらサーフェスライトフィールドL、法線ベクトルnおよび回転行列Rは、三次元モデルを生成し、変形、回転などの姿勢変化を行う際に、取得可能な情報である。
【0040】
図5に示すように、サーフェスライトフィールド変換装置1は、入力部10と、方向ベクトル変換部20と、出力部30と、記憶部40と、を備える。
【0041】
入力部10は、外部から、局所PにおけるサーフェスライトフィールドL、法線ベクトルnおよび回転行列Rを入力するものである。
入力部10は、入力したサーフェスライトフィールドL、法線ベクトルnおよび回転行列Rを記憶部40に記憶する。
【0042】
方向ベクトル変換部20は、姿勢変化に伴う三次元モデルの局所における法線ベクトルの回転と、局所における法線ベクトルに対するサーフェスライトフィールドの方向ベクトルの方向とから、方向ベクトルの方向を姿勢変化後の方向に変換するものである。
ここでは、方向ベクトル変換部20は、方向ベクトル抽出部21と、方向ベクトル回転部22と、を備える。
【0043】
方向ベクトル抽出部21は、記憶部40に記憶されているサーフェスライトフィールドLから、順次、方向ベクトルを抽出するものである。
方向ベクトル抽出部21は、式(10)に示したサーフェスライトフィールドLから、k番目(k=1,…,K)の光線情報である[rk,ck]Tの方向ベクトルrkを順次抽出する。
方向ベクトル抽出部21は、抽出した方向ベクトルを方向ベクトル回転部22に出力する。
【0044】
方向ベクトル回転部22は、法線ベクトルの方向を方向ベクトルの方向に回転させる回転行列(方向変換行列)を演算し、その回転行列(方向変換行列)と、回転行列(姿勢変換行列)Rとを用いて、方向ベクトルの方向を姿勢変化後の方向に変換するものである。
具体的には、方向ベクトル回転部22は、法線ベクトルnと方向ベクトルrkとから、方向ベクトルrkの回転軸を表す単位ベクトル[qx
(k),qy
(k),qz
(k)]T、および、右手の法則に基づく回転角θ(k)を以下の式(11),式(12)により求め、以下の式(13)に代入することで、回転行列(方向変換行列)Qkを演算する。
【0045】
【0046】
なお、この式(13)は、式(9)において、qx、qy、qzおよびθを、それぞれ、qx
(k)、qy
(k)、qz
(k)およびθ(k)に置き換えたものである。
そして、方向ベクトル回転部22は、回転行列R、回転行列Qkおよび方向ベクトルrkを、以下の式(14)に代入することで、変換後の方向ベクトルrk′を求める。
【0047】
【0048】
なお、この式(14)は、式(7)において、r、r′およびQを、それぞれ、rk、rk′およびQkに置き換えたものである。
また、Qkは、回転行列でありユリタリ行列であるから、Qkの逆行列はQkの共役転置に等しい。また、Qkは実行列であるから、Qkの共役転置はQkの転置に等しい。よって、式(14)のRQkRQk
-1は、RQkRQk
T(Tは転置)としても構わない。
【0049】
方向ベクトル回転部22は、変換後の方向ベクトルrk′を、k番目の光線情報である[rk′,ck]Tとして、記憶部40に記憶する。
このとき、方向ベクトル回転部22は、以下の式(15)に示すように、初期状態を空集合とするサーフェスライトフィールドL′に、順次、k番目の光線情報である[rk′,ck]Tを追加する。
【0050】
【0051】
方向ベクトル変換部20は、サーフェスライトフィールドLの光線情報の数であるK番目の方向ベクトルrKを方向ベクトルrK′に変換した段階で、局所Pにおけるサーフェスライトフィールドの変換が終了した旨を出力部30に通知する。
【0052】
このように、方向ベクトル変換部20は、姿勢変化に伴う三次元モデルの局所における法線ベクトルnの変換を示す回転行列(姿勢変換行列)をR、法線ベクトルnの方向をサーフェスライトフィールドの方向ベクトルrの方向に変換する回転行列(方向変換行列)をQとしたとき、RQRQ-1の変換により、サーフェスライトフィールドの方向ベクトルを変換する。あるいは、方向ベクトル変換部20は、RQRQT(Tは転置)の変換により、サーフェスライトフィールドの方向ベクトルを変換してもよい。
【0053】
出力部30は、方向ベクトル変換部20で変換されたサーフェスライトフィールドL′を、姿勢変化後のサーフェスライトフィールドとして出力するものである。
出力部30は、方向ベクトル変換部20から局所Pにおけるサーフェスライトフィールドの変換が終了した旨を通知された段階で、記憶部40に記憶されているサーフェスライトフィールドL′を読み出して、変換結果として出力する。
記憶部40は、サーフェスライトフィールド変換装置1の動作時において、各種情報を記憶するものであって、半導体メモリ等の一般的な記憶媒体である。
ここでは、記憶部40は、入力したサーフェスライトフィールドL、法線ベクトルn、回転行列Rおよび変換途中のサーフェスライトフィールドL′を記憶する。
【0054】
以上説明した構成により、サーフェスライトフィールド変換装置1は、三次元モデルの姿勢変化に伴って変化するサーフェスライトフィールドにおいて、鏡面反射に起因する光線の方向を正しく回転させることができる。これによって、サーフェスライトフィールド変換装置1で変換されたサーフェスライトフィールドを付加した三次元モデルからは、レンダリング時に光の反射を正しく反映した写実的な画像を得ることができる。
【0055】
なお、サーフェスライトフィールド変換装置1は、図示を省略したコンピュータを前記した各部として機能させるためのプログラム(サーフェスライトフィールド変換プログラム)で動作させることができる。
【0056】
[サーフェスライトフィールド変換装置の動作]
次に、
図6を参照(構成については適宜
図5参照)して、本発明の実施形態に係るサーフェスライトフィールド変換装置の動作について説明する。
【0057】
ステップS1において、入力部10は、外部から、局所PにおけるサーフェスライトフィールドL、局所Pにおける姿勢変化前の三次元モデルの表面に対する法線ベクトルn、および、三次元モデルの姿勢変化に伴う局所Pの回転行列Rを入力し、記憶部40に記憶する。
【0058】
ステップS2において、方向ベクトル変換部20は、変数の初期化として、サーフェスライトフィールドの変換結果を格納する集合L′を空集合(φ)とし、サーフェスライトフィールドの光線をカウントする変数kに“1”、サーフェスライトフィールドの最大光線数を格納する変数kmaxにステップS1で入力された局所Pにおけるサーフェスライトフィールドの光線数Kをそれぞれ設定する。なお、サーフェスライトフィールドの光線数は、必ずしも局所ごとに同じではない。
【0059】
ステップS3において、方向ベクトル変換部20の方向ベクトル抽出部21は、記憶部40に記憶されているサーフェスライトフィールドLから、k番目の光線情報である[rk,ck]Tの方向ベクトルrkを抽出する。
【0060】
ステップS4において、方向ベクトル変換部20の方向ベクトル回転部22は、法線ベクトルの方向を方向ベクトルの方向に回転させる回転行列(方向変換行列)を生成する。
すなわち、方向ベクトル回転部22は、式(11),式(12)により、法線ベクトルnと方向ベクトルrkとから、方向ベクトルrkの回転軸を表す単位ベクトル[qx
(k),qy
(k),qz
(k)]T、および、右手の法則に基づく回転角θ(k)を求め、式(13)により、回転行列Qkを生成する。
【0061】
ステップS5において、方向ベクトル回転部22は、ステップS1で入力された回転行列R、ステップS4で生成された回転行列Qkを用いて、ステップS3で抽出された方向ベクトルrkを変換する。
すなわち、方向ベクトル回転部22は、方向ベクトルrkに対して、式(14)のRQkRQk
-1またはRQkRQk
T(Tは転置)の回転変換を行うことで、方向ベクトルrk′を生成する。
【0062】
ステップS6において、方向ベクトル回転部22は、ステップS5で生成した変換後の方向ベクトルrk′を、k番目の光線情報である[rk′,ck]Tとして、記憶部40のサーフェスライトフィールドの変換結果を格納する集合L′に追加する。
【0063】
ステップS7において、方向ベクトル変換部20は、変数kをインクリメント(1を加算)する。
ステップS8において、方向ベクトル変換部20は、変数kの値が変数kmaxの値よりも大きいか否かを判定する。すなわち、方向ベクトル変換部20は、入力されたサーフェスライトフィールドLのすべての光線の方向ベクトルを変換したか否かを判定する。
【0064】
ここで、変数kの値が変数kmaxの値よりも大きくなければ(ステップS8でNo)、方向ベクトル変換部20は、ステップS3に戻って動作を継続する。
一方、変数kの値が変数kmaxの値よりも大きい場合(ステップS8でYes)、出力部30は、記憶部40に記憶されているサーフェスライトフィールドL′を読み出して、変換結果として出力する。
【0065】
以上の動作により、サーフェスライトフィールド変換装置1は、三次元モデルの局所Pにおける法線ベクトルnと、姿勢変化に伴う局所Pの回転を示す回転行列Rとから、サーフェスライトフィールドLを、鏡面反射に起因する光線の方向を正しく回転させたサーフェスライトフィールドL′に変換することができる。
【0066】
なお、三次元モデルを表示する際に必要となる各局所に対して、サーフェスライトフィールド変換装置1を動作させることで、三次元モデルのより広い範囲におけるサーフェスライトフィールドを変換することができる。
【0067】
[サーフェスライトフィールド変換装置の変形例]
図1で説明したサーフェスライトフィールド変換装置1は、姿勢変化に伴う局所Pの回転行列(姿勢変換行列)Rを入力することとした。しかし、この回転行列Rは、サーフェスライトフィールド変換装置1の内部で生成することとしもよい。
【0068】
図7に、回転行列Rを内部で生成するサーフェスライトフィールド変換装置1Bの構成を示す。
サーフェスライトフィールド変換装置1Bは、サーフェスライトフィールド変換装置1と同様、三次元モデルの局所に対応付けられたサーフェスライトフィールドを、三次元モデルの変形、回転などの姿勢変化に応じて変換するものである。
【0069】
サーフェスライトフィールド変換装置1Bは、回転行列Rの代わりに、三次元モデルの姿勢変化に伴う局所Pにおける回転軸(姿勢回転軸)を表す単位ベクトル[px,py,pz]T(Tは転置)、右手の法則に基づく回転角φを入力する点が、サーフェスライトフィールド変換装置1と異なっている。
【0070】
図7に示すように、サーフェスライトフィールド変換装置1Bは、入力部10Bと、方向ベクトル変換部20と、出力部30と、記憶部40と、姿勢変換行列生成部50と、を備える。
入力部10Bおよび姿勢変換行列生成部50以外の構成は、
図5で説明したサーフェスライトフィールド変換装置1と同じ構成であるため、同一の符号を付して説明を省略する。
【0071】
入力部10Bは、外部から、局所PにおけるサーフェスライトフィールドLと、法線ベクトルnと、回転軸(姿勢回転軸)の単位ベクトル[px,py,pz]Tおよび回転角φを入力するものである。
入力部10Bは、入力したサーフェスライトフィールドLおよび法線ベクトルnを記憶部40に記憶し、姿勢回転軸の単位ベクトルおよび回転角を姿勢変換行列生成部50に出力する。
【0072】
姿勢変換行列生成部50は、入力された姿勢回転軸の単位ベクトルおよび回転角により、姿勢変化前の局所の法線ベクトルの方向を姿勢変化後の方向に変換するための回転行列(姿勢変換行列)を生成するものである。
【0073】
姿勢変換行列生成部50は、姿勢回転軸の単位ベクトルを[p
x,p
y,p
z]
T、その回転角をφとしたとき、式(8)により、回転行列(姿勢変換行列)Rを生成する。
そして、姿勢変換行列生成部50は、生成した回転行列Rを記憶部40に記憶する。
これによって、方向ベクトル変換部20は、
図5で説明したように、サーフェスライトフィールドの方向を姿勢変化後の方向に変換することができる。
【0074】
サーフェスライトフィールド変換装置1Bの動作は、基本的に
図6で説明したサーフェスライトフィールド変換装置1と同じである。
ただし、ステップS1において、入力部10Bは、外部から、局所PにおけるサーフェスライトフィールドL、法線ベクトルn、回転軸(姿勢回転軸)の単位ベクトル[p
x,p
y,p
z]
Tおよび回転角φを入力する。
また、ステップS1とステップS3との間(ステップS2の前または後)において、姿勢変換行列生成部50は、回転行列Rを生成する。
以上説明したように、サーフェスライトフィールド変換装置1Bは、サーフェスライトフィールド変換装置1とは異なる入力に対しても、サーフェスライトフィールドLを、鏡面反射に起因する光線の方向を正しく回転させたサーフェスライトフィールドL′に変換することができる。
【0075】
以上、本発明の実施形態およびその変形例について説明したが、本発明はこれらの実施形態に限定されるものではない。
例えば、ここでは、方向ベクトル変換部20が、サーフェスライトフィールドLから、順次、方向ベクトルを1つずつ抽出して、方向ベクトルの方向を姿勢変化後の方向に変換した。
しかし、方向ベクトル変換部20は、サーフェスライトフィールドLのすべての方向ベクトルを並列に処理して、方向ベクトルの方向を姿勢変化後の方向に変換してもよい。
【符号の説明】
【0076】
1,1B サーフェスライトフィールド変換装置
10 入力部
20 方向ベクトル変換部
21 方向ベクトル抽出部
22 方向ベクトル回転部
30 出力部
40 記憶部
50 姿勢変換行列生成部
M 三次元モデル
L サーフェスライトフィールド
r 方向ベクトル
n 法線ベクトル
P 局所
R 回転行列(姿勢変換行列)
Q 回転行列(方向変換行列)