Hum, seems to be giving me the same result. vec = XSIMath.CreateVector3(0, 1, 0) rot = XSIMath.CreateRotation() rot.SetFromAxisAngle( XSIMath.CreateVector3(1.0, 0.0, 0.0), XSIMath.DegreesToRadians( -90 ) ) vec.MulByRotationInPlace( rot) print vec.X, vec.Y, vec.Z # 0.0 6.12323399574e-17 -1.0
On 21 February 2013 14:31, Stephen Blair <[email protected]> wrote: > vec = XSIMath.CreateVector3(0, 1, 0) > #rot = XSIMath.CreateRotation(XSIMath.DegreesToRadians( -90 ), > # XSIMath.DegreesToRadians( 0 ), > # XSIMath.DegreesToRadians( 0 )) > rot = XSIMath.CreateRotation() > rot.SetFromAxisAngle( XSIMath.CreateVector3(1.0, 0.0, 0.0), > XSIMath.DegreesToRadians( -90 ) ) > > vec.MulByRotationInPlace( rot) > print vec.X, vec.Y, vec.Z > # 0.0 6.12323399574e-17 -1.0 > > > On 21/02/2013 9:21 AM, Peter Agg wrote: > > (and yes, rotating [0, 1, 0] by [-90, 0, 0] should actually make make [0, > 0, -1]) :) > > On 21 February 2013 14:15, Peter Agg <[email protected]> wrote: > >> Hey all, >> >> I'm trying to rotate a vector in a Python Script and seem to be running >> into an odd block. For example: I want to rotate the vector [0, 1, 0] by >> [-90, 0, 0], which should make [-1, 0, 0] (and does so if I test in ICE >> using a Rotate Vector node) but I can't seem to work out how to do this via >> scripting. >> >> What I tried: >> >> vec = XSIMath.CreateVector3(0, 1, 0) >> rot = XSIMath.CreateRotation(XSIMath.DegreesToRadians( -90 ), >> XSIMath.DegreesToRadians( 0 ), >> XSIMath.DegreesToRadians( 0 )) >> vec.MulByRotationInPlace( rot) >> print vec.X, vec.Y, vec.Z >> # 0.0 6.12323399574e-17 -1.0 >> >> ...which makes me think that I've misunderstood what MulByRotation does! >> >> Any ideas? >> > > >

