2
このコードの背後にある数学を理解する助けが必要です。返されたvec2のx成分と返されたvec2のy成分誰かが彼らの表現を私に説明することはできますか?私はこの関数が球座標内のベクトルの位置を決定することを知っています。オイラー角の計算
glm::vec2 calcEulerAngles(const glm::vec3& vec)
{
glm::vec3 v = glm::normalize(vec);
glm::vec2 result(acos(v.z), atan2(v.y, v.x));
while (result.y < 0.0)
result.y += TwoPi;
return glm::vec2(glm::degrees(result.x), glm::degrees(result.y));
}
cos(theta)* sin(phi)= acos(z_value)とsin(theta)* sin(phi)= atan2(yvalue、xvalue)はどのように説明できますか? – BabaMara
これは 'cos(phi)= z => phi = acos(z)'です。 'y'と' x'を分割すると、 'y/x =sinθ/cosθ= tan(theta)'が得られます。したがって、 'theta = atan(theta)'。あなたはまた、90°より大きな角度を得るために 'atan2'を使います。 –
愚かな質問を申し訳ありませんが、 "=>"となりますか? – BabaMara