Mean Rotation, object filps 180
-
On 16/07/2014 at 23:48, xxxxxxxx wrote:
Could some one please help me with why the object keeps flipping around to -180 when finding the mean rotation between two objects and how I could prevent it?
import c4d from c4d import utils def SetGlobalRotation(obj, rot) : m = obj.GetMg() pos = m.off scale = c4d.Vector( m.v1.GetLength(), m.v2.GetLength(), m.v3.GetLength()) m = utils.HPBToMatrix(rot) m.off = pos m.v1 = m.v1.GetNormalized() * scale.x m.v2 = m.v2.GetNormalized() * scale.y m.v3 = m.v3.GetNormalized() * scale.z obj.SetMg(m) def main() : a = op[c4d.ID_USERDATA,1] b = op[c4d.ID_USERDATA,2] c = op[c4d.ID_USERDATA,3] aRot = utils.MatrixToHPB(a.GetMg()) bRot = utils.MatrixToHPB(b.GetMg()) cRot = utils.MatrixToHPB(c.GetMg()) x = [aRot,bRot] mean_rot = sum(x)/2 SetGlobalRotation(c, mean_rot)
https://dl.dropboxusercontent.com/u/2802779/mean_rotation.c4d