В материале представлены команды, позволяющие получить информацию о позиции пера/карандаша на холсте, в том числе угол и расстояние до нужной точки в модуле 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