Хелпикс

Главная

Контакты

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





Тема: Черепашья графика turtle принцип организации библиотеки графического вывода построенный на метафоре Черепахи.



Тема: Черепашья графика turtle принцип организации библиотеки графического вывода построенный на метафоре Черепахи.

Черепашья графика является популярным способом введения в программирование для детей. Была частью оригинального языка программирования Logo, разработанного Уолли Фейрцейгом (Wally Feurzeig), Сеймуром Папертом (Seymour Papert) и Синтией Соломон (Cynthia Solomon) в 1967 году.

Представьте себе роботизированную черепаху, начинающуюся с (0, 0) в плоскости x-y. После import turtle дайте ей команду turtle.forward(15) и она переместится (на экране!) на 15 пикселей в направлении, к которому она обращена, рисуя линию по мере движения. Передайте ей команду turtle.right(25), и она повернётся на месте на 25 градусов по часовой стрелке.

черепашья звезда

Черепаха может рисовать сложные формы с помощью программ, которые повторяют простые ходы.

from turtle import *

color('red', 'yellow')

begin_fill()

while True:

forward(200)

left(170)

if abs(pos()) < 1:

   break

end_fill()

done()

Комбинируя эти и подобные команды, можно легко рисовать сложные формы и изображения.

Модуль turtle — это расширенная реализация одноименного модуля из стандартного дистрибутива Python до версии Python 2.5.

Он пытается сохранить достоинства старого модуля turtle и быть (почти) на 100% совместимым с ним. Это означает, в первую очередь, чтобы дать возможность обучающемуся программисту использовать все команды, классы и методы в интерактивном режиме при использовании модуля из IDLE, запущенного с переключателем -n.

Модуль turtle предоставляет примитивы черепашей графики, как объектно- ориентированными, так и процедурно-ориентированными способами. Поскольку он использует tkinter для базовой графики, ему необходима версия Python, установленная с поддержкой Tk.

Объектно-ориентированный интерфейс использует по существу два+два класса:

1. Класс TurtleScreen определяет графические окна как площадку для рисования черепах. Его конструктору требуется аргумент tkinter.Canvas или ScrolledCanvas. Его следует использовать, когда turtle применяется как часть какого-либо приложения.

Функция Screen() возвращает объект одиночку подкласса TurtleScreen. Функцию следует использовать, когда turtle используется как автономный инструмент для создания графики. Т. к. это объект одиночка, наследование от его класса невозможно.

Все методы TurtleScreen/Screen также существуют как функции, т. е. как часть интерфейса, ориентированного на процедуры.

2. RawTurtle (алиас: RawPen) определяет объекты черепахи, которые рисуются на TurtleScreen. Его конструктору требуется в качестве аргумента Canvas, ScrolledCanvas или TurtleScreen, поэтому объекты RawTurtle знают, где рисовать.

Производным от RawTurtle является подкласс Turtle (псевдоним: Pen), который основан на «экземпляре» Screen, создаваемый автоматически, если его ещё не существует.

Все методы RawTurtle/Turtle также существуют как функции, т. е. часть интерфейса, ориентированного на процедуры.

Процедурный интерфейс предоставляет функции, производные от методов классов Screen и Turtle. У них те же имена, что и соответствующие методы. Объект экрана создаётся автоматически при каждом вызове функции, производной от метода Screen. Объект черепахи (без имени) автоматически создаётся при каждом вызове любой функции, производной от метода черепахи.

Для использования нескольких черепах на экране необходимо использовать объектно- ориентированный интерфейс.



  

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