`v1 . v2 = |v1| |v2| cos(phi)`

.Hence

`phi = arccos( x1*x2+y1*y2/sqrt(x1*x1+y1*y1)/sqrt(x2*x2+y2*y2))`

.```
public double Angle(Vector2 v1, Vector2 v2)
{
double v1m = Math.Sqrt(v1.X*v1.X+v1.Y*v1.Y);
double v2m = Math.Sqrt(v2.X*v2.X+v2.Y*v2.Y);
double angle = 180 * Math.PI * Math.Acos(( v1.X*v2.X+v1.Y*v2.Y ) / v1m / v2m);
return angle;
}
```