I'm making an asteroids clone, the laser needs to shoot out the front of the ship, however when I try and rotate the Vector using Rotation Matrices it goes haywire, flying all over the screen, I need the laser to shoot from the front of the ship, and have the origin point stay with the ship for a full 360 degrees. At the moment it only shoots straight at a 90 degree angle, when the ship faces direct East.
Here is what I have at the moment:
lLasers.Add(new Laser(Vector2.Transform(new Vector2((vPlayerPosition.X + 35), (vPlayerPosition.Y)), Matrix.CreateRotationZ(angle))));
Where angle is
Vector2 direction = mouseLoc - vPlayerPosition;
angle = (float)(Math.Atan2(direction.Y, direction.X));
Included some images to better explain my problem