private double computeOptimalAngle(Vector v)
{
var hw = Settings.Default.tankWidth / 2;
var vl = v - Vector.FromCart(hw, 0);
var vr = v + Vector.FromCart(hw, 0);
var dx = vr.X - v.X;
var dy = Landscape.fakeLandscape[Convert.ToInt32(vr.X)] - v.Y;
var alpha = Math.Atan2(dy, dx);
dx = v.X - vl.X;
dy = v.Y - Landscape.fakeLandscape[Convert.ToInt32(vl.X)];
var beta = Math.Atan2(dy, dx);
return (alpha + beta) / 2;
}