G-X3X01SGQDG

§ 24. «Черепашача» графіка


У середовищі Python Черепашкою зветься уявний робот, який переміщується екраном за алгоритмом, залишаючи (або не залишаючи) за собою намальований слід.
Її положення та напрямок руху показує чорна стрілка, що повільно пересувається по екрану. Це дає змогу зрозуміти, як кожен рядок коду впливає на її рух.
Черепашка допоможе вивчити основи комп’ютерної графіки, і ми будемо малювати за її допомогою цікаві рисунки.

Завдання 1

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

Результат виконання Черепашкою команд відображається у графічному вікні Python Turtle Grafics.

Під час керування рухом Черепашки слід вказувати її положення у вікні. Як це зробити? Проведемо вертикальну і горизонтальну лінії, які ділять вікно на рівні частини. Виміряємо відстані від Черепашки до кожної з ліній. Якщо Черепашка лівіше від вертикальної або нижче від горизонтальної лінії, то перед відповідним числом ставимо знак мінус.
Отримані два числа, які задають положення Черепашки у вікні, називають її координатами. Першою вказують відстань від вертикальної осі, другою — від горизонтальної.

Завдання 2

Команди Черепашки

Щоб команди стали доступними потрібна команда:
from turtle import*
Тепер у програмі можна використовувати команди керування Черепашкою. Спочатку вона перебуває в центрі вікна — точці з координатами (0; 0).
Команда goto(55, 80) змусить її перейти в точку з координатами (55; 80).
За замовчуванням перо опущене і під час пересування Черепашка залишає слід.
Результат виконання Черепашкою команд відображається у графічному вікні Python Turtle Grafics.
Для керування пером призначені такі команди:
      • down()Опустити перо;
      • up()Підняти перо.

Приклади 1–2

1.       Намалюємо трикутник, використовуючи команди малювання. Уведіть ці
             команди у вікні консолі:
             >>> from turtle import*
             >>> forward(100)
             >>> right(120)
             >>> forward(100)
             >>> right(120)
             >>> forward(100)
             Черепашка рухається, залишаючи за собою слід. Результат виконання команд
             малювання наведено на рисунку.

2.       Намалюємо коло радіуса 50 з центром у точці (0; 0) і товщиною лінії 3.
             Команда circle(50) малює коло радіуса 50, розміщене ліворуч від Черепашки.
             Оскільки Черепашка спочатку дивиться вправо, то точка C (початок
             малювання) буде найнижчою точкою кола.
             Оскільки радіус кола за умовою задачі дорівнює 50 пікселів, а координати
             точки O(0; 0), то точка C міститься на 50 пікселів нижче від початку координат.
             Отже, її координати (0; –50).

Алгоритм малювання:
from turtle import*
width(3)
up()                          # Підняти перо, щоб при пересуванні не залишати сліду
goto(0, –50)          # Пересунути черепашку в точку С
down()                    # Опустити перо, щоб почати залишати слід
circle(50)               # Намалювати коло

Приклад 3

Перегляньте відеоролик малювання смайлика.

Завдання 3

Питання для самоперевірки 

1. Яку команду потрібно застосувати для завантаження команд роботи
     з Черепашкою?
2. Що означає команда goto(–75; 40)?
3. Поясніть призначення команд down(), up()
4. Черепашка перебуває у точці (100; 100). Які координати вона матиме після
     виконання команд малювання:
     а) forward(50)                                б) forward(50)
          right(90)                                           forward(50)
          forward(50)                                     left(90)
                                                                       forward(50)
5. Де буде намальовано коло за командою circle(60), якщо Черепашка «дивиться»
     вгору? вліво?

Вправа 24

2. Визначте координати кінців відрізків, які утворюють зображення човника.
Наприклад, якщо почати малювання з точки О(0; 0), точка А може мати координати (–40; 50), а точка В(120; 50).

4. Додайте зображення кита. Для цього слід перейти в точку (250, 0), повернути Черепашку вліво на 90° (щоб дуга була зліва від Черепашки), і намалювати дугу з градусною мірою 180°.
up()
goto(250, 0)
down()
left(90)
circle(50, 180)                                     # Малювання спини кита
goto(270, 0)
goto(270, 20)                                      # Малювання хвоста кита
goto(250,0)

6. Додайте кілька ліній, що зображують хвилі.

Комп’ютерне тестування