public float Angle() { var vec = this.Normalize(); float val = vec.X; val = (val > 1) ? 1 : val; val = (val < -1) ? -1 : val; return (float)Math.Acos(val); }