Why is a KX_GameObject.orientation a 3x3 matrix instead of just a [x, y, z] list?

Because orientation consists of more than just x, y, and z rotation angles. It also can be used to stretch/skew/scale objects, and means that it’s a much more flexible and mathematically correct function.

-Sam

Ok, so how do I get the x,y, and z rotation from this?

You can convert the orientation matrix to a list of euler angles using Mathutils:

```
from Mathutils import Matrix
orientation = object.orientation
ori_mat = Matrix(orientation[0], orientation[1], orientation[2])
ori_eul = ori_mat.toEuler()
```

The ori_eul will be more like how you rotate the object in edit mode.

Thanks a bunch.

I know its been awhile, but how would you get the Euler angle in 2.5 without mathutils?

You don’t need to import mathutils in this case, because own.worldOrientataion is already a mathutils Matrix in 2.5.

Now you can just do this:

```
print(own.worldOrientation.to_euler())
```

New documentation: *http://www.blender.org/documentation/250PythonDoc/mathutils.html#mathutils.Matrix*

Thanks again social, I was wondering where the new documentation was!