мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| python:week15 [09/03/2018 11:11] – 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() - возвращает соответственно, | ||
| ===== Многоугольник ===== | ===== Многоугольник ===== | ||
| * '' | * '' | ||