Рисование Пентагона, шестиугольника в Pygame
Я пытаюсь создать функции, которые могут рисовать Пентагон шестиугольник и т. д. Беспокоясь об алгоритме, должен ли я сравнивать строки с pygame.draw.line
? Похоже, слишком много работы вокруг определения координат линий. Есть ли простой способ нарисовать их? Кроме того, я не знаю другой библиотеки, которая может рисовать такие вещи. Я знаю только Pygame, есть ли еще один ?
1 ответ:
Вы можете нарисовать его с помощью
lines
. Вам нужно только сгенерировать список вершин с помощью простой тригонометрии.Что-то вроде этого (если я не ошибся):
def draw_ngon(Surface, color, n, radius, position): pi2 = 2 * 3.14 for i in range(0, n): pygame.draw.line(Surface, color, position, (cos(i / n * pi2) * radius + position[0], sin(i / n * pi2) * radius + position[1])) return pygame.draw.lines(Surface, color, True, [(cos(i / n * pi2) * radius + position[0], sin(i / n * pi2) * radius + position[1]) for i in range(0, n)])