среда, 3 июля 2013 г.

Рисуем простую графику с помощью Python 3(turtle)

Добрый день.

Начал изучать Python и увидел замечательную встроенную библиотеку turtle (черепашка), в которой можно рисовать простые рисунки, работа с ней очень похожа на то, как можно рисовать в Paint.

Хочу привести пару примеров, того что можно нарисовать, с небольшим пояснением.

Были использованы такие методы как:
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

turtle.color("black")
turtle.penup()
turtle.goto(0, -25)
turtle.pendown()
turtle.circle(45)

turtle.color("red")
turtle.penup()
turtle.goto(110, -25)
turtle.pendown()
turtle.circle(45)

turtle.color("yellow")
turtle.penup()
turtle.goto(-55, -75)
turtle.pendown()
turtle.circle(45)

turtle.color("green")
turtle.penup()
turtle.goto(55, -75)
turtle.pendown()
turtle.circle(45)

turtle.color("black")
turtle.penup()
turtle.goto(0, 80)
turtle.pendown()
turtle.write("Olympic Symbol") # Вместо еще одного круга выводим надпись "Olympic Symbol"

turtle.done()


Теперь нарисуем домик (я очень плохо рисую, кстати :) ):
Тут я использовал еще несколько новых функций:
import turtle

turtle.penup()
turtle.goto(35, 35)
turtle.right(90) # Повернуть курсор на 90 градусов вправо
turtle.pendown()
turtle.forward(70) # Пройти вперед расстояние 70, если курсор опущен, то будет нарисована линия по пути слоедования

turtle.right(90)
turtle.forward(70)

turtle.right(90)
turtle.forward(70)

turtle.right(90)
turtle.forward(70)

turtle.penup()
turtle.goto(45, 35)
turtle.right(225)
turtle.pendown()
turtle.forward(70)

turtle.left(90)
turtle.forward(70)

turtle.left(135) # Повернуть курсор влево на 135 градусов
turtle.forward(100)

turtle.done()


Ссылки:
Обожаю Python за его мега крутую документацию, вот по turtle: тыц

Комментариев нет:

Отправить комментарий