D3DXSHEvalDirection
入力方向ベクトルから球面調和 (SH) 基底関数を評価します。
FLOAT *
D3DXSHEvalDirection(
FLOAT * pOut,
UINT Order,
CONST D3DXVECTOR3 * pDir
);
パラメータ
- pOut
球面調和 (SH) 出力係数へのポインター。評価では、Order2 の係数が生成されます。「解説」を参照してください。 - Order
SH 評価の順序。D3DXSH_MINORDER から D3DXSH_MAXORDER の範囲で指定する必要があります。評価では、Order2 の係数が生成されます。評価の次数は Order - 1 です。 - pDir
SH 基底関数を評価する方向ベクトル (x、y、z)。正規化する必要があります。「解説」を参照してください。
戻り値
SH 出力係数へのポインター。「解説」を参照してください。
解説
基底関数 Ylm の各係数は、メモリー位置 l2 + m + l に格納されます。この場合、
- l は、基底関数の次数です。
- m は、指定された l の値に対する基底関数のインデックスであり、-l から l の範囲内です。
次のような単位半径がある球では、方向を単純にシータ (z を軸とした 右回りの角度) およびファイ (z からの角度) で指定できます。
次の方程式は、単位球面でのデカルト座標 (x、y、z) と球座標 (シータ、ファイ) の関係を示しています。角度シータの範囲は 0 ~ 2 π ですが、ファイの範囲は 0 ~ π となります。
要件
ヘッダー: D3dx9math.h 宣言
ライブラリ: D3dx9.lib 内容