我基本上正在爲slerping工作,雖然它有點作品,它有一個奇怪的視角扭曲問題,我卡住試圖解決現在。Slerp問題,透視變形
Quaternion sLerp(Quaternion start, Quaternion end, float s)
{
float dot = qDot(start, end);
float theta = std::acos(dot);
float sTheta = std::sin(theta);
float w1 = sin((1.0f-s)*theta)/sTheta;
float w2 = sin(s*theta)/sTheta;
Quaternion Temp(0,0,0,0);
Temp = start*w1 + end*w2;
return Temp;
}
它做什麼本質(或應該做的)只是兩個值之間slerping提供旋轉,從這個結果被轉換爲旋轉矩陣。但是有什麼問題是一個可怕的,可怕的拉伸視圖......出於某種原因,在旋轉過程中,它拉伸了所有的東西,從一切太長/很薄開始,到達一個更短的中間點,然後開始變回細長。任何幫助都會很棒。
圖形會有所幫助。這不就是一個數學問題嗎? –