мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
python:week15 [09/03/2018 10:52] – [Текст] ybezrukov | python:week15 [16/03/2018 11:39] – [Сегмент] ybezrukov | ||
---|---|---|---|
Строка 115: | Строка 115: | ||
* '' | * '' | ||
+ | |||
+ | ===== Сегмент ===== | ||
+ | |||
+ | К сожалению, | ||
+ | |||
+ | Добавим в начало программы следующий код: | ||
+ | |||
+ | <code python> | ||
+ | class Arc(Oval): | ||
+ | | ||
+ | def __init__(self, | ||
+ | self.extent = extent | ||
+ | self.start = start | ||
+ | super().__init__(p1, | ||
+ | |||
+ | def __repr__(self): | ||
+ | return " | ||
+ | |||
+ | def clone(self): | ||
+ | other = Arc(self.p1, | ||
+ | other.config = self.config.copy() | ||
+ | return other | ||
+ | |||
+ | def _draw(self, canvas, options): | ||
+ | p1 = self.p1 | ||
+ | p2 = self.p2 | ||
+ | x1, y1 = canvas.toScreen(p1.x, | ||
+ | x2, y2 = canvas.toScreen(p2.x, | ||
+ | options[' | ||
+ | options[' | ||
+ | options[' | ||
+ | return canvas.create_arc(x1, | ||
+ | </ | ||
+ | |||
+ | Теперь в нашей программе появилась возможность рисовать сегменты окружности, | ||
+ | |||
+ | <code python> | ||
+ | arc = Arc(Point(50, | ||
+ | arc.setFill(" | ||
+ | arc.draw(win) | ||
+ | </ | ||
+ | |||
+ | Arc(point1, point2, start_angle, | ||
+ | getCenter() - возвращает координаты центра овала. | ||
+ | getP1(), getP2() - возвращает соответственно, | ||
===== Многоугольник ===== | ===== Многоугольник ===== | ||
* '' | * '' | ||
Строка 144: | Строка 189: | ||
</ | </ | ||
- | ==== Работа с цветами ==== | + | ===== Работа с цветами |
В этой библиотеке цвет можно описать двумя способами: | В этой библиотеке цвет можно описать двумя способами: | ||
Строка 153: | Строка 198: | ||
+ | ===== Задачи ===== | ||
==== Задание 18 ==== | ==== Задание 18 ==== | ||
Написать программу, | Написать программу, | ||
+ | |||
+ | https:// | ||
==== Задание 19 ==== | ==== Задание 19 ==== | ||
Модифицировать предыдущую программу так, чтобы точки располагались по спирали | Модифицировать предыдущую программу так, чтобы точки располагались по спирали | ||
+ | |||
+ | https:// | ||
==== Задание 20 ==== | ==== Задание 20 ==== | ||
Строка 165: | Строка 215: | ||
Модифицировать прогрмму из задания 18 так, чтобы: | Модифицировать прогрмму из задания 18 так, чтобы: | ||
- | 1. Вместо точек рисовались окружности | + | - Вместо точек рисовались окружности |
- | 2. Когда рисуется следующая окружность, | + | |
+ | |||
+ | https:// | ||
==== Задание 21 (планеты со спутниками) ==== | ==== Задание 21 (планеты со спутниками) ==== | ||
Добавить еще одну точку для вращения, | Добавить еще одну точку для вращения, | ||
+ | |||
+ | https:// | ||
==== Задание 22 ==== | ==== Задание 22 ==== | ||
Написать программу, | Написать программу, | ||
+ | |||
+ | https:// | ||
==== Задание 23 ==== | ==== Задание 23 ==== | ||
Модифицировать программу так, чтобы точки были соединены линиями | Модифицировать программу так, чтобы точки были соединены линиями | ||
+ | |||
+ | https:// | ||
==== Задание 24 ==== | ==== Задание 24 ==== | ||
Модифицировать предыдущую программу так, чтобы вышла иллюзия вращающейся пирамидки | Модифицировать предыдущую программу так, чтобы вышла иллюзия вращающейся пирамидки | ||
+ | |||
+ | https:// |