Когда вы предоставляете большую яркость, вы визуализируете круг высотой в миллионы пикселей. Бродяга не может сделать это, потому что он такой большой.
Тем не менее, вы действительно интересуетесь только небольшим кусочком этого большого круга, а именно тем кусочком, который умещается в вашем крошечном окне.
В какой-то момент не имеет смысла увеличивать размер круга, так как вы не можете наблюдать изменение кривизны круга - он просто выглядит как прямая вертикальная линия.
Эта кажущаяся вертикальность возникает, когда x ^ 2 + y ^ 2 = R ^ 2, где R - радиус звезды, Y - половина высоты вашего окна, а x - R-1. Решите для R с точки зрения Y, и вы получите
function maximumNecessaryRadius(windowHeight){
y = windowHeight / 2;
maxRadius = (y*y - 1)/2;
return Math.round(maxRadius);
}
При изменении размера звезды убедитесь, что ее радиус не превышает максимально необходимый радиус. Оказывать его больше, чем это, излишне.
Пример реализации