Alright, so I'm currently debating how I want to do this. Basically this is what I'm trying to accomplish.
I've created a system to allow me to make my environment a little bit easier. I'm currently setting up a way to edit my models that I'll be rendering a bit easier. Currently I'm displaying their properties in a .NET Property Grid like so:

As you can see, I want to be able to rotate my model via 3 separate values. One represents the rotation around the X axis, one for the Y axis, and one for the Z axis. I'll be specifying the amounts in degrees (and converting to radians when necessary). I also want to have it rotate around the center of the object.
Here are the things I have to think about:
How to I unbiased rotate my model (considering I can only rotate one axis at a time via
Matrix.CreateRotation[X/Y/Z](angle)How to make sure it rotates around the center
Extract these three angles back out from a Matrix
How to properly rotate them so that it handles it all intuitively
What do you guys think?
Matrix.CreateRotation()doesn't rotate any axises simultaneously. My understanding is that it rotates them in the order that you multiply them which creates a different final rotation depending on the order. Take a look at my first bullet where I have addressed this. Correct me if I'm wrong, but I would like to see some credible resources because even from my testing I've only been able to confirm my beliefs as to howMatrix.CreateRotation()works. – Xan Sep 17 '12 at 17:29