OK, but we still need to clarify exactly what it is you want to know, because the original question is unclear. Do you want to know how to rotate an object by 90 degrees, or do you want to know how to rotate a matrix by 90 degrees? They are completely different questions.

For the latter question, it is true that the three rows of the 3x3 matrix represent the X, Y, and Z axes of the coordinate space. The lengths of these axes correspond to the scale, and the direction of the axes correspond to the rotation. If they are not all perpendicular to each other, you have a shear going on. So, if you wanted to build a rotation matrix the hard way, you could construct one by figuring out which way you wanted your axes to point, and build up the appropriate 3x3 matrix. You normally wouldn’t do this, though–it is generally faster and easier to rotate a 3x3 matrix by multiplying by another 3x3 matrix that performs the rotation. In general, any kind of transformation can be represented in a matrix, and the act of performing that transformation is the same thing as the act of multiplying the matrices.

But even still, most people never even touch matrices when working with Panda. You don’t need to, since Panda provides a bewildering suite of higher-level functions that do all of this work for you. So, if you wanted to rotate an object by 90 degrees on the y axis from its current position, the easiest way is to do something like this:

`object.setHpr(object,0, 0, 90)`

If you look at the transform matrix before and after the rotation, you can see the the vectors have changed position, but you normally don’t need to think about that.

```
print object.getMat()
object.setHpr(object,0, 0, 90)
print object.getMat()
```

There are many other operations you can do, as well, none of them involving matrix math, including relative operations and lerps. Most of them are covered, at least briefly, in the manual.

David