Следующая: , Предыдущая: hello, Вверх: Top


2 Черепашья графика

Библиотека turtle – это расширения языка Питон, позволяющее рисовать на экране несложные рисунки. Представьте себе, что по экрану компьютера ползает маленькая черепашка (`turtle'). Вы можете управлять движением черепашки, отдавая ей различные команды вида "Проползти вперед на 10 пикселей", "Повернуть направо", "Повернуть налево". После того, как вы отдадите ей команду "Начать рисовать", черепашка будет оставлять за собой след, пока не получит команду "Кончить рисовать". Управлять черепашкой можно при помощи инструкций Питона. Вот как, например, выглядит программа, рисующая квадрат:

     import turtle           # Подключаем модуль turtle
     turtle.reset()          # Приводим черепашку в начальное положение
     turtle.down()           # Опускаем перо перо (начало рисования)
     turtle.forward(20)      # Проползти 20 пикселей вперед
     turtle.left(90)         # Поворот влево на 90 градусов
     turtle.forward(20)      # Рисуем вторую сторону квадрата
     turtle.left(90)
     turtle.forward(20)      # Рисуем третью сторону квадрата
     turtle.left(90)
     turtle.forward(20)      # Рисуем четвертую сторону квадрата
     turtle.up()             # Поднять перо (закончить рисовать)
     turtle.forward(100)     # Отвести черепашку от рисунка в сторону
     turtle._root.mainloop() # Задержать окно на экране

Знак # в языке Питон обозначает начало комментария: этот знак и все, что написано после него до конца строки интерпретатор Питон игнорирует. Комментарии используются в программах для облегчения ее понимания человеком.

Программу, использующую модуль turtle надо запускать в графической оболочке. Все программы, работающие с черепашкой, должны начинаться с команд import turtle и turtle.reset(), а заканчиваться строкой turtle._root.mainloop(). А между ними могут быть следующие команды для черепашки:

Команды перемещения черепашки
forward(n)
Проползти вперед n шагов (пикселей).
backward(n)
Проползти назад n шагов (пикселей).
left(angle)
Повернуться налево на angle градусов.
right(angle)
Повернуться направо на angle градусов.
circle(r)
Нарисовать окружность радиуса |r|, центр которой находится слева от черепашки, если r>0 и справа, если r<0.
circle(r,angle)
Нарисовать дугу радиуса |r| и градусной мерой angle. Дуга рисуется против часовой стрелки, если r>0 и по часовой стрелке, если r<0.
goto(x,y)
Переместить черепашку в точку с координатами (x,y).
Команды рисования
down()
Опустить перо. После этой команды черепашка начнет оставлять след при любом своем передвижении.
up()
Поднять перо.
width(n)
Установить ширину следа черепашки в n пикселей.
сolor(s)
Установить цвет следа черепашки в s. s должно быть текстовой строкой, заключенной в кавычки, с названием цвета (по-английски), например, "red", "yellow", "green" и т.д.
fill(f)
Используется для рисования закрашенных областей. Начиная рисовать закрашенную область, дайте команду turtle.fill(1), а закончив рисование области turtle.fill(0).
Прочие команды
reset()
Возврат черепашки в исходное состояние: очищается экран, сбрасываются все параметры, черепашка устанавливается в начало координат, глядя вправо.
сlear()
Очистка экрана.
write(s)
Вывести текстовую строку s в точке нахождения черепашки.
radians()
Установить меру измерения углов (во всех командах черепашки) в радианы.
degrees()
Установить меру измерения углов (во всех командах черепашки) в градусы. Этот режим включен по умолчанию.
tracer(f)
Включить режим отладки (трассировки) программы черепашки, если значение f равно 1. Если значение f равно 0, отключить режим отладки. В режиме отладки черепашка перемещается медленнее и на экране нарисована сама черепашка. По умолчанию режим отладки включен.

Упражнения

  1. Нарисуйте на экране равносторонний треугольник. Нарисуйте желтый равносторонний треугольник. Нарисуйте закрашенный красный равносторонний треугольник.
  2. Нарисуйте на экране квадрат с диагоналями. Нарисуйте только диагонали квадрата (два пересекающихся отрезка). Нарисуйте квадрат, стороны которого не параллельны осям координат.
  3. Нарисуйте две касающиеся окружности. Нарисуйте две пересекающиеся окружности.
  4. Нарисуйте сами какую-нибудь цветную картинку (дом, дерево, рожицу, компьютер, ...).