В материале представлены команды, позволяющие получить информацию о позиции пера/карандаша на холсте, в том числе угол и расстояние до нужной точки в модуле turtle
.
Примечание: можно использовать как функции модуля, так и одноименные методы экземпляра пера/холста. например:
>>> import turtle # функция модуля >>> turtle.position() # создание экземпляра пера >>> pen = turtle.Turtle() >>> pen.position()
turtle.pos()
возвращает текущее положение пера на холсте,turtle.position()
возвращает текущее положение пера на холсте,turtle.towards()
угол между положением пера и координатами,turtle.xcor()
возвращает координату x
пера на холсте,turtle.ycor()
возвращает координату y
пера на холсте,turtle.heading()
возвращает текущий угол пера от начального направления,turtle.distance()
возвращает расстояние между положением пера и координатами,turtle.position()
,turtle.pos()
:Метод turtle.position()
и turtle.pos()
возвращает текущее местоположение пера на холсте в виде (x, y)
(как вектор Vec2D
).
>>> turtle.pos() # (440.00,-0.00)
turtle.towards(x, y=None)
:Метод turtle.towards()
возвращает угол между линией от положения пера к положению, заданному координатами (x, y)
на холсте, вектором или другим пером. Результат зависит от начальной ориентации пера, которая зависит от режима: 'standard'
/'world'
или 'logo'
.
Аргументы:
x
: число или пара/вектор чисел или экземпляр пера.y
: число, если x
- число, иначе None
.>>> turtle.goto(10, 10) >>> turtle.towards(0,0) # 225.0
turtle.xcor()
:Метод turtle.xcor()
возвращает координату x
положения пера на холсте.
>>> turtle.home() >>> turtle.left(50) >>> turtle.forward(100) >>> turtle.pos() # (64.28,76.60) >>> print(round(turtle.xcor(), 5)) # 64.27876
turtle.ycor()
:Метод turtle.ycor()
возвращает координату y
положения пера на холсте.
>>> turtle.home() >>> turtle.left(60) >>> turtle.forward(100) >>> print(turtle.pos()) # (50.00,86.60) >>> print(round(turtle.ycor(), 5)) # 86.60254
turtle.heading()
:Метод turtle.heading()
возвращает текущий угол пера от начального направления turtle.home()
. Значение зависит от режима модуля turtle
, заданного в turtle.mode()
.
>>> turtle.home() >>> turtle.left(67) >>> turtle.heading() # 67.0 >>> turtle.forward(50) >>> turtle.right(67) >>> turtle.forward(50) >>> turtle.heading() # 0.0
turtle.distance(x, y=None)
:Метод turtle.distance()
возвращает расстояние от текущего положения пера до указанных координат (x, y)
, заданного вектора или заданного другого пера в шаговых единицах черепахи.
Аргументы:
x
: число или пара/вектор чисел или экземпляр пера.y
: число, если x
- число, иначе None
.>>> turtle.home() >>> turtle.distance(30,40) # 50.0 >>> joe = turtle.Turtle() >>> joe.forward(77) >>> turtle.distance(joe) # 77.0