#c #math
#c #математика
Вопрос:
Я создаю API для скелетной анимации. Прямо сейчас это работает нормально, за исключением, допустим, того, что вы хотите перейти от 2.0f к 1.0f. В конечном итоге это приведет к выполнению почти полного круга, когда должно выполняться только около 1/6 от одного.
Я думаю, у меня есть способ найти это, он должен идти против часовой стрелки, но я не уверен, как его использовать с этим:
bool CCW = fmod( (endKeyFrame->getAngle() -
startKeyFrame->getAngle() TWO_PI), TWO_PI) > 3.141592;
remainingInterpolationFrames = endKeyFrame->getFrame() - startKeyFrame->getFrame();
//Linear interpolation
curIncreaseAngle = (endKeyFrame->getAngle() -
startKeyFrame->getAngle()) / remainingInterpolationFrames;
Спасибо
Ответ №1:
Я думаю, это может помочь. Особенно разделы 8,9 и 30.