A visibility graph $ G(P) = (V,E)$ of a set $ P = \{p_1, \dots, p_n\}$ of points is defined as follows.

- Each vertex $ u \in V$ corresponds to a point $ p_u \in P$ .
- There exists an edge $ uv \in E$ if, and only if the line segment $ \overline{p_up_v}$ does not contain any other points in $ P$ .

Assume that the coordinates of every $ p_i \in P$ has $ O(n^c)$ digits, where $ c$ is a constant.

My aim is to scale the point set, without changing the relative positions, into a smaller area. For the sake of simplicity, assume that the area is a circle of raduis 1.

Consider three points: $ p_1(100, 340)$ , $ p_2(500,150)$ , $ p_3(240, -600)$ .

The new coordinates after scaling would be $ p’_1(0.1, 0.34)$ , $ p’_2(0.5, 0.15)$ , $ p’_3(0.24, -0.6)$ , and the relative positions stay the same, as well as the visibility relations.

My question is two folded:

- In the very simple example above, the coordiantes are divided by $ 100$ , and it is pretty easy to find that number. But what is the algorithm to find this number for any given point set?
- Assuming that the coordinates are of $ O(n^c)$ length, can there be a coordinate of $ O(d^n)$ (exponential) length?