Самоучитель по 3dsmax 7
школа фитнеса Очные, письменные и онлайн консультации для выпускников. На сегодняшний день фитнес тренер – это модная и востребованная профессия, которая позволяет заниматься любимым делом энергичным, спортивным людям с активной жизненной позицией. Чтобы овладеть мастерством фитнес тренера, необходимо окончить специализированные курсы.
         

Но хочется ведь интерполировать сплайнами Кочанека-Бартельса (далее везде, где используется...


Но хочется ведь интерполировать сплайнами Кочанека-Бартельса (далее везде, где используется термин "сплайны", подразумеваются именно такие сплайны), так как ориентация объекта должна меняться плавно, а не рывками, и желательно по совршенно той же траектории, что и в 3D Studio. Причем строить сплайны надо на поверхности четырехмерной сферы, иначе результаты интерполяции не будут соответствовать поворотам; кватернион-поворот должен обязательно лежать на единичной 4D-сфере. Естественное, возникает вопрос - как все это сделать?

Оказывается, кубическую функцию, переписав ее в определенном виде, можно строить только с помощью линейной интерполяции - или, для нашего случая, с помощью сферической линейной интерполяции. А именно, переписываем эту самую произвольную кубическую функцию в виде

g(t) = v1*(1-t)^3 + c1*3*t*(1-t)^2 + c2*3*t^2*(1-t) + v2*t^3,

и считаем ее значение в произвольно взятой точке t, используя только линейную интерполяцию (linear interpolation, lerp): пусть

lerp(a, b, t) = a*(1-t) + b*t,

тогда g(t) можно посчитать вот так:

tmp1 = lerp(v1, c1, t),
tmp2 = lerp(c1, c2, t),
tmp3 = lerp(c2, v2, t),
tmp4 = lerp(tmp1, tmp2, t),
tmp5 = lerp(tmp2, tmp3, t),
g(t) = lerp(tmp4, tmp5, t).

Нам же надо интерполяцию сплайнами по поверхности сферы, это можно получить, всего-навсего заменив в приведенных выше формулах линейную интерполяцию lerp на наш сферический вариант, slerp.



Содержание раздела