See this DiagramНеобходимость 2D Ротация интерполяция логика
мне нужна логика для интерполяции вращения
public static float interPolateKeyForAngle(int startFrame, int endFrame, int currentFrame, float initialAngle, float endAngle)
{
int frameDif = endFrame - startFrame + 1;
int difCurrentFrame = Math.abs(startFrame - currentFrame) + 1;
//Calculate here
}
Я знаю угол в 0-й позиции и конечным углом в 10-м положении, начиная мне нужно вычислить 1 по 9-й позиции углы некоторые один, пожалуйста, помогите мне.
Спасибо.
что-то вроде этого: 'return ((endAngle - initialAngle) * (currentFrame - startFrame))/(endFrame - startFrame) + initialAngle;' –
Я уже пробовал этот расчет, его только вращать по часовой стрелке, мне нужно рассчитать кратчайший путь и найти угол в этом направлении. –
Это может означать, что вам нужно нормализовать разницу углов между -Pi и Pi. Попробуйте использовать 'delta = endAngle - initialAngle; delta = fmod (delta + 3 * Pi, 2 * Pi) - Pi'. – LutzL