quaternion interpolation

   5880   5   1
User Avatar
Member
55 posts
Joined: July 2005
Offline
I am exploring the few ways of interpoling rotations in houdini, and it seems that quaternions can only be interpolated linearly. why is there no spline or cubic equivalent for them? is it mathematically impossible?
or maybe I am doing things wrong, but if I simply rotate a box, and set a qlinear() interpolation for all the animation segments, and the change of rotation axis is very abrupt.
I found a little work around by working the resulting rotation channel in chops and apply a few filters in order to smooth the movement, but is there a better way?
User Avatar
Member
639 posts
Joined: July 2005
Offline
hi,

I have absolutely no knowledge in quaternion math yet, but have you set keyframes to your channels yet? If you try to rotate it interactively, you might notice that it may jump at certain degree. But if you set keyframes to the rotation channel, it should fix the problem. Or at least in theory…

Don't take my word for it.
User Avatar
Member
12474 posts
Joined: July 2005
Online
You are correct, frading - Houdini does not have a qcubic() or such interpolation function yet.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
55 posts
Joined: July 2005
Offline
yet? does that mean this will exist in the future?
User Avatar
Member
12474 posts
Joined: July 2005
Online
As far as my latest discussion with SESI went over this, they realise that the suite of quaternion interpolation functions is incomplete and they are going to be working to address that. As far as versions are converned, I'd hope that 6.1 would have it.

Cheers,
Jason
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
55 posts
Joined: July 2005
Offline
great, this is good news. But you are sayin “the suite of quat interp fonctions”? do that mean there are several such fonctions? I have only seen the qlinear(). which have I missed?
  • Quick Links