Thanks, Marc! Slime works perfectly. Strangely, however, although its result
is "correct" it does not seem to correspond with any of the
orientConstraint's interpolation types!

For instance, consider I have an object, *object0*, constrained to 3
targets, each with equal weight:
*object1*: no rotation
*object2*: no rotation
*object3*: rotated 180 degrees around x-axis
As predicted, slime results with *object0* rotated 60 degrees around the
x-axis. However, an orientConstraint with "shortest" interp. type is rotated
40 degrees around the x-axis. Odd!

On Thu, Mar 25, 2010 at 8:33 AM, Marc Downie <[email protected]>wrote:

>
>
> On Wed, Mar 24, 2010 at 11:56 PM, Adam Mechtley 
> <[email protected]>wrote:
>
>> I'm looking for a good algorithm to compute weighted, multi-way (i.e.,
>> more than 2) quaternion interpolation that won't introduce artifacting (so
>> something more robust than averaging components and renormalizing). I'm
>> essentially recreating the functionality of an orient constraint for use
>> elsewhere.
>>
>> I've seen a few options out there, but many of them seem a little
>> expensive. I figure there are enough math-smart/well-read people here that
>> someone may at least have some suggestions of worthwhile papers.
>>
>
> We exponentiate a weighted sum of the logarithms of quaternions (after
> making sure all the quaternions that we're going to blend are in the same
> hemisphere as the unit quaternion --- which sometimes requires defining a
> "local" space in which to do the blend). This reduces to Shomake's "Slerp"
> blend in the 2 quaternion case.
>
> Approach described in detail in Michael Patrick Johnson's thesis here:
>
> http://alumni.media.mit.edu/~aries/<http://alumni.media.mit.edu/%7Earies/>
>
> Marc
>
>
>
> thanks!
>>
>> --
>> http://groups.google.com/group/python_inside_maya
>>
>> To unsubscribe from this group, send email to python_inside_maya+
>> unsubscribegooglegroups.com or reply to this email with the words "REMOVE
>> ME" as the subject.
>>
>
>  --
> http://groups.google.com/group/python_inside_maya
>
> To unsubscribe from this group, send email to python_inside_maya+
> unsubscribegooglegroups.com or reply to this email with the words "REMOVE
> ME" as the subject.
>

-- 
http://groups.google.com/group/python_inside_maya

To unsubscribe from this group, send email to 
python_inside_maya+unsubscribegooglegroups.com or reply to this email with the 
words "REMOVE ME" as the subject.

Reply via email to