Original Post
I am having some trouble with matrices. I think its simply the order of operation's that I am using for the matrices. If I don't rotate the sprite then the matrix work's fine. So what am I doing wrong with this matrix?
Matrix thisSprite =
Matrix.CreateTranslation(this.Origin.X,-this.Origin.Y,0)*//0,0,0
Matrix.CreateRotationZ(MathHelper.ToRadians(this.Rotation))*//-30
Matrix.CreateScale(this.Scale.X, this.Scale.Y, 1) *//1,1,1
Matrix.CreateTranslation(this.Position.X,this.Position.Y,0);//500,300,0
Matrix invertSprite = Matrix.Invert(thisSprite);
Vector2 pos1 = new Vector2(mouseX, mouseY);
Vector2 pos2 = Vector2.Transform(pos1, invertSprite);