   Help to get nested rotation working
  This is the deal, I'm making a composite transformation representation.A transformation has two matrices, Local transformation and World transformation. Local represents the scale, rotation and position of the object relative to the space in which it exists.World represents the combined transformations of every parent transformation all the way to the root.I got translation working nice and relative, but rotation seems to always be around the origin.This is how I've done it:public void Rotate(float Angle){    Matrix Rotation = Matrix.CreateRotationZ(Angle);    _LocalTransform *= Rotation;    _WorldTransform = Parent.World * _LocalTransform;    UpdateChildrenTransforms();}The final object's position when drawing is taken from the Translation vector of _WorldTransform. To avoid any complication, this is currently happening in 2D space in screen coordinates.There is no camera, projection or any other factor being applied.To test it, I created two objects that draw a box centered on the object's world position.I nested object B as child of object A, and positioned relative in (100.0f, 0.0f)If I rotate object A (located at the origin), nothing happens, when in fact object B should be moving around object A in a circular fashion by the same degrees A rotated.That is actually happening if I rotate the local matrix of B, which seems wrong.Any suggestions as to what is wrong or what I have misunderstood?   
  Problem solved, the multiplication order was wrong, it all worked out by changing the previous code topublic void Rotate(float Angle){    Matrix Rotation = Matrix.CreateRotationZ(Angle);    _LocalTransform *= Rotation;    _WorldTransform = _LocalTransform * Parent.World;    UpdateChildrenTransforms();}