рисование X с графикой Python Turtle - PullRequest
2 голосов
/ 17 марта 2019

У меня действительно простая задача нарисовать X в python с использованием Turtles, но я не могу понять, как работает метод setposition ().

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

t.right(45)
t.pendown()
t.setposition(50,-50)
t.penup()
t.left(90)
t.setposition(0,-50)
t.pendown()
t.setposition(50,50)

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Ваша первая строка начинается с (0,0) и достигает (50, -50), таким образом, идет 50 единиц в направлениях X и Y .Но во-вторых, вы идете от (0,-50) к (50,50), таким образом, вы получаете 50 единиц в направлении X и 100 единиц в направлении Y .Кроме того, ваши правое и левое не имеют никакого эффекта.

Одним из возможных решений будет:


t.setposition(-50,50)
t.pendown()
t.setposition(50,-50)
t.penup()
t.setposition(-50,-50)
t.pendown()
t.setposition(50,50)

0 голосов
/ 18 марта 2019

Другой подход, который вы можете предпринять, - это вообще избежать setposition() и думать как черепаха.То есть ползти вперед, назад и поворачиваться, а не телепортироваться:

import turtle as t

t.right(45)
t.forward(70)
t.backward(140)
t.forward(70)
t.left(90)
t.forward(70)
t.backward(140)

t.hideturtle()
t.done()
...