Кортежи и множества · 17 из 23
Площадь по формуле шнурков
Лабораторная «кортежи». Участок задан вершинами по порядку обхода, и Борис Аркадьевич не даёт ни клеток, ни разбиения на треугольники: «Формула Гаусса, она же формула шнурков. Выписываете координаты столбиком, перемножаете крест-накрест, вычитаете, делите пополам. Хоть вогнутый многоугольник, хоть с отрицательными координатами — работает одинаково».
Что сделать
Посчитайте площадь многоугольника по его вершинам формулой Гаусса — «формулой шнурков».
Что приходит
vershiny— список вершин(x, y)по порядку обхода, по часовой стрелке или против; стороны не пересекаются
Что вернуть
Площадь — дробное число, не меньше нуля; меньше трёх вершин — 0.0.
Допишите функцию ploshchad в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Треугольник (0, 0), (4, 0), (4, 3): крест-накрест 0·0 − 4·0 = 0, 4·3 − 4·0 = 12, 4·0 − 0·3 = 0. Сумма 12, половина — 6.0: прямоугольный треугольник с катетами 4 и 3.
ploshchad([(0, 0), (4, 0), (4, 3)])
6.0
Площадь — модуль суммы x₁·y₂ − x₂·y₁ по всем сторонам, делённый на 2. Сторон столько же, сколько вершин: после последней вершины идёт снова первая.
Обход по часовой стрелке даёт сумму со знаком минус, против — с плюсом; поэтому берётся модуль.
Ответ — всегда дробное число: даже у целой площади — 6.0.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.