Как визуализировать круг с наименьшим количеством вершин?

Я пытаюсь понять, как решить, сколько вершин мне нужно, чтобы мой круг выглядел как можно более гладким.

Вот пример двух окружностей, каждая из которых имеет 24 вершины: enter image description here

Как видите, чем больше становится круг, тем больше вершин мне нужно, чтобы скрыть прямые линии.

Сначала я думал, что минимальная длина одной линии на краю должна быть 6 пикселей, но этот подход не сработал, когда я увеличил размер круга :и получил слишком много вершин. Я также думал о вычислении углов, но быстро понял, что углы не отличаются на кругах разного размера. Я также проверил этот ответ, но понятия не имею, как преобразовать его в код (и какие-то там странные вещи:thиспользует себя для вычисления самого себя ), и я думаю, что это даже не работает, так как автор использует угол от одного среза до середины круга, который не меняется, если круг становится больше.

Затем я понял, что, возможно, решение состоит в том, чтобы проверить угол между двумя вершинами на ребрах, таким образом:

enter image description here

Как видите, чем меньше вершин, тем больше длина этих треугольников. Так что это должен быть ответ, я просто не знаю, как рассчитать количество вершин, используя эту информацию.

11
задан Community 23 May 2017 в 12:10
поделиться