# Scaling down a set of points into a smaller area

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:

1. 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?
2. Assuming that the coordinates are of $$O(n^c)$$ length, can there be a coordinate of $$O(d^n)$$ (exponential) length?