c++ - Calculation of euler angles -
i need understanding math behind code. x component of returned vec2 , y component of returned vec2. can explain me represent. know function determinate position of vector in sphere coordinates.
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)); }
it calculating spherical coordinates phi , theta unit vector.
the first component (phi) angle between vector , z-axis. second component (theta) angle on xy-plane. assumes vector can expressed follows:
x = cos theta sin phi y = sin theta sin phi z = cos phi if solve this, calculations in function. adding 2 pi y ensures angle between 0 , 2 pi.
Comments
Post a Comment