Глава 6 · Рисуем классные вещи с помощью Turtle

Переходим к случайным точкам на экране

goto() перемещает черепашку в любую точку экрана напрямую — вместе со случайными числами получается интересный эффект.

До сих пор черепашка двигалась только относительно своей текущей позиции. Но можно сразу «телепортировать» её в конкретную точку экрана командой goto(x, y) — а вместе со случайными числами из главы 5 это открывает интересные возможности.

Система координат экрана

Центр экрана Turtle — точка (0, 0). Ось X растёт вправо, ось Y растёт вверх (в отличие от многих других графических систем, где Y растёт вниз — ещё один повод свериться с документацией, если работаете с другой библиотекой). По умолчанию окно имеет размер 400×300 точек в каждую сторону от центра.

sluchaynye_tochki.py
import turtle
import random

screen = turtle.Screen()
artist = turtle.Turtle()
artist.penup()  # поднимаем перо — при движении линия не рисуется

for _ in range(10):
    x = random.randint(-200, 200)
    y = random.randint(-150, 150)
    artist.goto(x, y)
    artist.pendown()
    artist.dot(10)  # рисуем точку диаметром 10
    artist.penup()

screen.exitonclick()
penup() / pendown()
Без penup() черепашка будет рисовать линию при каждом перемещении goto() — что обычно не то, что нужно для «прыжка» в новую точку. Не забывайте включить перо обратно pendown(), когда снова понадобится рисовать.
Практика в Jupyter Notebook
06-06-sluchaynye-tochki.ipynb · goto(), penup()/pendown() и random
Открыть ноутбук →