Как нарисовать 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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