wobei V lokaler x-, y- oder z-Achse ist, der in den Weltraum verwandelt ist.
Hier ist ein Ausschnitt des Code PrettyPrint-Override ">
Code: Select all
glm::vec3 forward = transforms[parent].forward();
glm::vec3 forwardCross = glm::cross(bone, forward);
ikt.jacobi(index + 0, j + 2) = forwardCross.x;
ikt.jacobi(index + 1, j + 2) = forwardCross.y;
ikt.jacobi(index + 2, j + 2) = forwardCross.z;
< /code>
Und nachdem ich gedämpfte kleinste Quadrate durchgeführt habe, füge ich die Theta-Änderungen durch die Eulers hinzu.glm::vec3 oldEul = transforms[child].getEulerRotation();
glm::vec3 eulDelta = { dTheta(jointNum + 0), dTheta(jointNum + 1), dTheta(jointNum + 2) };
transforms[child].setEulerRotation(oldEul + eulDelta);