Примерно как-то так:
https://jsfiddle.net/37f6g2ho/2/
В примере уменьшайте ширину (именно ширину) окна результата.
Останется только поиграться со значениями процентов для отступов, чтобы попасть в вершины. Если нужно пропорционально уменьшать размеры точек, то поиграйтесь и с процентами их ширины и высоты.
Зная ширину и высоту фоновой картинки, делите ширину на высоту - получаете соотношение, и потом, задав произвольное значение ширины точки, умножаете на соотношение и получаете нужную высоту и, соответственно, ровный круг :)
Немного заморочно, зато математику вспомните)