public float Angle360(Vector2 vector)
{
var vec = this.Normalize();
vector = vector.Normalize();
float value = ((float)Math.Atan2((vec.X*vector.Y)-(vec.Y*vector.X), (vec.X*vector.X)+(vec.Y*vector.Y))) % MathUtilities.Pi2;
return (value < 0) ? ((MathUtilities.Pi+value)+MathUtilities.Pi) : value;
}