static void DrawVO (Vector2 circleCenter, float radius, Vector2 origin) {
float alpha = Mathf.Atan2((origin - circleCenter).y, (origin - circleCenter).x);
float gamma = radius/(origin-circleCenter).magnitude;
float delta = gamma <= 1.0f ? Mathf.Abs(Mathf.Acos(gamma)) : 0;
DrawCircle(circleCenter, radius, alpha-delta, alpha+delta, Color.black);
Vector2 p1 = new Vector2(Mathf.Cos(alpha-delta), Mathf.Sin(alpha-delta)) * radius;
Vector2 p2 = new Vector2(Mathf.Cos(alpha+delta), Mathf.Sin(alpha+delta)) * radius;
Vector2 p1t = -new Vector2(-p1.y, p1.x);
Vector2 p2t = new Vector2(-p2.y, p2.x);
p1 += circleCenter;
p2 += circleCenter;
Debug.DrawRay(To3D(p1), To3D(p1t).normalized*100, Color.black);
Debug.DrawRay(To3D(p2), To3D(p2t).normalized*100, Color.black);
}