已知此切线空间的法线在世界空间中的表示N,求此切线空间构成的半球形空间任意单位向量(θ,φ)在世界空间中的表示
首先根据N,计算该向量所在切线空间另外两个正交基的世界空间表示。
先设一个临时向量Vtemp(0,1,0) ( it works....)
则切线单位向量Vt = cross(Vtemp,N)
副切线单位向量Vbt=cross(N,Vt);
然后,看图....
有点抽象....
如图所示,原始向量为0,0,1,且长度为1(切线空间)
设 θ角即所求向量和N的夹角, φ角即所求向量和正切线方向(x轴)的夹角
则x轴(切线)上的投影即红线sinθ * cosφ 副切线(用字母容易产生歧义)上的投影即绿线sinθ * sinφ
法线上的投影即蓝线cosθ
则最后要求的世界空间内的表示即
Vworld=sinθ*cosφ*Vt + sinθ*sinφ*Vbt + cosθ*N