Питон черепаха рисования круг с квадратами

1

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

def square(side_length):
    for i in range(4):
        turtle.fd(side_length)
        turtle.lt(90)

square (150)

turtle.penup()
        ####New Square###
turtle.left(90)
turtle.forward(75)
turtle.left(90)
turtle.forward(30)
turtle.right(180)
turtle.right(45)
turtle.pendown()


def square(side_length):
    for i in range(4):
        turtle.fd(side_length)
        turtle.lt(90)
square (150)

Это рисует два квадрата. Теперь мне просто нужно выяснить способ поворота двух квадратов, скажем, на 30 градусов по часовой стрелке 4 раза. Есть ли функция, которую я могу использовать для этого, или мне просто нужно сделать много математики и вычислить, чтобы рисовать каждую отдельную строку?

Теги:
drawing
draw

2 ответа

1

Несмотря на свое название, turtle.circle можно использовать для рисования других правильных многоугольников. Его также можно использовать для рисования только части многоугольника. В сочетании с выбором пера вверх и вниз вы можете легко нарисовать серию вращающихся фигур, разделяющих один и тот же центр.

Например,

 for i in range(19):
     turtle.circle(100, 360, 4)  # draw a square
     turtle.penup()
     # "draw" 10 degrees of the same circle, with the pen up, just to move the pen
     turtle.circle(100, 10, 4)
     turtle.pendown()

(Круг - это просто многоугольник с достаточным количеством сторон для приближения круга. Если вы не укажете третий аргумент явно, turtle выбирает достаточно большое значение, основанное на радиусе.)

0

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

После того, как вы нарисуете последнюю сторону квадрата, черепаха сидит на внешнем круге, обращаясь к 45 градусам от радиуса к этой точке.

  • Поверните черепаху на 60 градусов лицом к мелкой хорде круга.
  • Переместите его на соответствующее расстояние, чтобы пройти по этому аккорду (вот где входит ваша математика).
  • Поверните черепаху еще на 60 градусов. Теперь вы готовы нарисовать следующий квадрат.

Повторите эти шаги для каждого добавленного квадрата.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню