View Single Post
  #17  
Old 02-22-2007, 09:45 AM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Here is some code that calculates the difference between two angles based on the method steve described:
Code:
import viz
import math
viz.go()

euler1 = [90,0,0]
euler2 = [0,0,90]

def ComputeAngleDifference(euler1, euler2):
       q1 = viz.Quat( vizmat.EulerToQuat(euler1) )
       q2 = viz.Quat( vizmat.EulerToQuat(euler2) )

       delta = q1 * q2.inverse()

       return viz.degrees( math.acos( delta.w ) ) * 2.0

print ComputeAngleDifference(euler1,euler2)
I'll updated Vizard's QuatDiff function to use this method in the next release.
Reply With Quote