Pete: Unfortunatly, the issue isn't occuring when the angles are at 0. Only
when Y is at 90, and I try ato access z.
I'm not using a constant rotation, that was just a test to prove my theory
that the rotationZ attribute was rotationg about an incorrect axis.

In my application it is important that the users can see each face of the
cube, so I will need to allow them to rotate to 180. I have tried offsetting
the rotation by 0.00001 on all axes, and multiplying by 5.0001, but these
haven't changed anything.

Makc: I'm afraid my knowledge of 3D Matrix rotations is fairly basic.
However, my understyanding is that they are used to find the axes and angles
to rotate by, and are ultimatly broken down into rotation about axes to be
applied to the object. I have already managed to perform that task, and the
issue appears to be with the way Away3d's .rotation attributes deal with
that.

If I've got the wrong idea could you explain it to me please? Or even some
sites that explain it would do. I have an A-level understanding of
mathermatics.

Thanks for your help guys, but I don't think the answers are here.

On Thu, Dec 4, 2008 at 6:29 AM, Peter Kapelyan <[EMAIL PROTECTED]> wrote:

> A small workaround I often suggest/have used was to make sure your rotation
> never reaches 0 or 180..etc...
>
> So instead of something like
>
> rotationY*=5
>
> try
>
> rotationY*=5.00001
>
> might help it never reach exactly 0.
>
> Hope it helps you out
> -Pete
>
> On Wed, Dec 3, 2008 at 2:04 PM, solpyro <[EMAIL PROTECTED]> wrote:
>
>>
>> I am having trouble spinning objects about the z axis when theey have
>> already been rotated.
>>
>> In my code I am working with a cube which I can rotate horizontally or
>> vertically. I have the code working to select the correct axis for
>> rotation, however if I have rotated the cube about the Y-axis, so that
>> the Z and X axes have swapped places, rotating with cube.rotationZ
>> results in exaxtly the same effect as cube.rotationX, ie. rotating
>> around the 'depth' axis as the user sees it.
>>
>> Below is the code for the rotations. targetX, targetY and targetZ are
>> defined numbers containing the rotations we are trying to achieve. It
>> is only possible for one if the three rotations to occur at any one
>> time ('spinning' controls this).
>>
>> function onEnterFrame( e:Event ):void {
>>        //rotate cube about x-axis
>>        if (targetX != cube.rotationX) {
>>                trace("rotationg about X");
>>                cube.rotationX*=5;
>>                cube.rotationX+=targetX;
>>                cube.rotationX/=6;
>>                //snap to position when close
>>                if
>> (cube.rotationX<(targetX+accuracy)&&cube.rotationX>(targetX-
>> accuracy)) {
>>                        cube.rotationX = targetX;
>>                        spinning = false;
>>                }
>>        }
>>        //rotate cube about y-axis
>>        if (targetY != cube.rotationY) {
>>                trace("rotationg about Y");
>>                cube.rotationY*=5;
>>                cube.rotationY+=targetY;
>>                cube.rotationY/=6;
>>                //snap to position when close
>>                if
>> (cube.rotationY<(targetY+accuracy)&&cube.rotationY>(targetY-
>> accuracy)) {
>>                        cube.rotationY = targetY;
>>                        spinning = false;
>>                }
>>        }
>>        //rotate cube about z-axis
>>        if (targetZ != cube.rotationZ) {
>>                trace("rotationg about Z");
>>                cube.rotationZ*=5;
>>                cube.rotationZ+=targetZ;
>>                cube.rotationZ/=6;
>>                //snap to position when close
>>                if
>> (cube.rotationZ<(targetZ+accuracy)&&cube.rotationZ>(targetZ-
>> accuracy)) {
>>                        cube.rotationZ = targetZ;
>>                        spinning = false;
>>                }
>>        }
>>
>>        view.render();
>> }
>>
>> In an effort to debug this, I have removed this code from my
>> enterFrmae event, and replaced it with a simple cube.rotationZ += 2;
>> This works fine when the cube hasn't been modified in any way, but if
>> i first apply a y-rotation of 90, the same issue described above
>> occurs.
>
>
>
>
> --
> ___________________
>
> Actionscript 3.0 Flash 3D Graphics Engine
>
> HTTP://AWAY3D.COM
>

Reply via email to