Как нарисовать n-конечные звезды с помощью черепахи ⇐ Python

Программы на Python
Anonymous
Как нарисовать n-конечные звезды с помощью черепахи

Сообщение Anonymous »

Я пытаюсь нарисовать «звездный многоугольник» из n точек, используя итерацию и рекурсию. Функция star_iter(size, n) должна рисовать одну звезду с n точками и сторонами, равными размеру длины.
Для моих целей звездный многоугольник определен, как в этом видео:
  • Он имеет n точек, расположенных по кругу, например, этот начинается с 5 точек:
    Изображение
  • У него есть параметр «плотность», который показывает, насколько далеко друг от друга должны быть соединенные точки. Вот пример: звездный многоугольник с плотностью 2 говорит вам соединить каждую вторую точку вместе.
    Изображение
  • Число n/density не может быть выражено целым числом.
Примеры рабочих звездчатых многоугольников:
Изображение

Я хочу, чтобы моя программа делала две вещи:
  • Определяла минимальную плотность, необходимую для того, чтобы n-конечная фигура была звездой.
  • Нарисовала эту звезду с помощью черепахи.
Формула, которую я использовал для вычисления внутренний угол звездчатых многоугольников: сумма углов в звездчатом многоугольнике = 180 * (n - 2 * плотность)
Я написал этот код, чтобы изменить плотность, если НОД n и плотности не равен 1.

Код: Выделить всё

def gcd(a,b):
while b != 0:
a,b = b, a % b
return a

def star_iter(size,n):
#size stands for the length of the sides
#n stands for number of points in the star.
density = 2 #set default density to 2
turtle.pendown()
if n 

Подробнее здесь: [url]https://stackoverflow.com/questions/72943585/how-to-draw-n-pointed-stars-using-turtle[/url]

Вернуться в «Python»