Так как я, похоже, не понимаю ваш вопрос, вот небольшая SLERP реализация на python с использованием numpy. Я составил результаты с помощью matplotlib (v.99 для Axes3D).
Я не знаю, можете ли вы использовать python, но похоже ли это на вашу реализацию SLERP? Мне кажется, чтобы дать хорошие результаты ...
from numpy import *
from numpy.linalg import norm
def slerp(p0, p1, t):
omega = arccos(dot(p0/norm(p0), p1/norm(p1)))
so = sin(omega)
return sin((1.0-t)*omega) / so * p0 + sin(t*omega)/so * p1
# test code
if __name__ == '__main__':
pA = array([-2.0, 0.0, 2.0])
pB = array([0.0, 2.0, -2.0])
ps = array([slerp(pA, pB, t) for t in arange(0.0, 1.0, 0.01)])
from pylab import *
from mpl_toolkits.mplot3d import Axes3D
f = figure()
ax = Axes3D(f)
ax.plot3D(ps[:,0], ps[:,1], ps[:,2], '.')
show()