Feb 24, 2013 at 1:30 AM
Edited Feb 24, 2013 at 1:31 AM
This has nothing to do with Farseer Physics. It is a basic part of vector math.
You already have the center of the cannon, and you have the angle. You can extend a vector that starts at the center of the body and angle of the body, with half the length of the cannon.
One way of doing it is:
1.5f is half the length of the cannon. This moves the point from the center to the end of the cannon.
Vector2 point = body.Position + new Vector2(1.5f, 0);
Matrix matrix = Matrix.CreateRotationZ(body.Rotation);
Rotate the point to have the same angle as the body.
Vector2.Transform(ref point, ref matrix, out point);