Питон черепаха рисования круг с квадратами - PullRequest
0 голосов
/ 24 сентября 2018

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

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 раза.Есть ли функция, которую я могу использовать, чтобы сделать это, или мне просто нужно много математики и вычислить, чтобы нарисовать каждую отдельную линию?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Несмотря на название, 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 голосов
/ 24 сентября 2018

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

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

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

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

...