Хелпикс

Главная

Контакты

Случайная статья





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



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

Библиотека 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.mainloop() # Задержать окно на экране

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

Программу, использующую модуль turtle надо запускать в графической оболочке. Все программы, работающие с черепашкой, должны начинаться с команд import turtle и turtle.reset(), а заканчиваться строкой turtle.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, отключить режим отладки. В режиме отладки черепашка перемещается медленнее и на экране нарисована сама черепашка. По умолчанию режим отладки включен.

turtle.color(color) - Задаем цвет курсора color ;
turtle.penup() - Поднимаем курсор, что бы при перемещении курсора не происходило рисование линий;
turtle.pendown() - Опускаем курсор, что бы при перемещении курсора происходило рисование линий;
turtle.goto(x, y) - Перейти в точку с координатами x и y;
turtle.circle(radius) - Нарисовать круг с радиусом = radius;
turtle.right(degrees) - Повернуть курсор на право на degrees градусов;
turtle.left(degrees) - Повернуть курсор на лево на degrees градусов;
turtle.forward(length) - Нарисовать линий длиной = length;
turtle.done() - Этим методом должны завершаться все программы использующиеturtle.

Нарисуем символ олимпиады, вот что мы получим в конце:

Алгоритм рисования:

  1. Задаем цвет, которым будем рисовать;
  2. Поднимаем черепашку (курсор), что бы во время перехода не рисовались линии;
  3. Переходим на интересующие нас координаты x и y;
  4. Опускаем черепашку (курсор);
  5. Рисуем круг с радиусом 45.

 

И так выполняем для каждого круга. Вот исходный код программы:

import turtle # Импортируем библиотеку turtle

turtle.color("blue")# Устанавливаем цвет черепашки

turtle.penup()# Поднимаем курсор

turtle.goto(-110, -25) # Переходим по нужным координатам

turtle.pendown()# Опускаем курсор

turtle.circle(45) # Рисуем круг с радиусом 45



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.