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?
>>
>
>
>

Reply via email to