Hi  all.  I have been working on converting some stuff to Away3.6/
I was surprised to find that Flash player vector.crossProduct() returns
quite different result than number3D.cross().
First of all I am sure that number3d.cross() is right because calculating
cross product manually I arrived to the same result.Here is example.

Cross by number3d.cross:
                var vector:Vector3D=new Vector3D();

                var mouseVector:Vector3D=new Vector3D(400 - mouseX, mouseY -
300, 0);

               vector.cross(new Vector3D(0,0,1),mouseVector)

let's say mouseVector is 87,2,0 then the result is ----->2,-87,0
also doing it manually based on 3d math operation:

private function crossP(v1:Vector3D,v2:Vector3D):Vector3D{
            var crossVec:Vector3D=new Vector3D();
            crossVec.x=v1.y*v2.z-v1.z*v2.y;
            crossVec.y=v1.z*v2.x-v1.x*v2.z;
            crossVec.z=v1.x*v2.y-v1.y*v2.x;
            return crossVec;

        }
rerturns the same result .

Now check this out:
                var vector:Vector3D=new Vector3D(0,0,1);

                var mouseVector:Vector3D=new Vector3D(400 - mouseX, mouseY -
300, 0);

                mouseVector.crossProduct(vector);

                mouseVector  is-->87,2,0

WTF????



-- 
Michael Ivanov ,Programmer
Neurotech Solutions Ltd.
Flex|Air |3D|Unity|
www.neurotechresearch.com
http://blog.alladvanced.net
http://www.meetup.com/GO3D-Games-Opensource-3D/
Tel:054-4962254
[email protected]
[email protected]

Reply via email to