Номер §1.3 № 12

ГДЗ по информатике 9 класс, Босова 2023, страница 38

§. № Площадь по координатам

Напишите функцию, вычисляющую площадь треугольника по координатам его вершин. Напишите программу вычисления площади четырёхугольника по координатам его вершин с помощью этой функции.

Решение

Проведём диагональ AC. Она разбивает выпуклый четырёхугольник ABCD на треугольники ABC и ACD, поэтому площадь четырёхугольника равна сумме их площадей.

ABCD

Площадь треугольника по координатам получаем как половину модуля определителя двух векторов, выходящих из первой вершины: . Модуль нужен, чтобы площадь была положительной независимо от порядка обхода вершин. Запишем это вычисление в функции и вызовем её дважды.

def area(x, y, x, y, x, y):
    double_area = ((x - x) * (y - y)
                   - (x - x) * (y - y))
    return abs(double_area) / 

xa, ya = map(float, input().split())
xb, yb = map(float, input().split())
xc, yc = map(float, input().split())
xd, yd = map(float, input().split())
s = (area(xa, ya, xb, yb, xc, yc)
     + area(xa, ya, xc, yc, xd, yd))
print(s)

Проверим на прямоугольнике , , , . Для ABC удвоенная площадь равна , значит, площадь . Для ACD она равна , площадь тоже . Сумма совпадает с . Вершины следует вводить в порядке обхода выпуклого четырёхугольника, чтобы диагональ AC лежала внутри него.

Ответ

Площадь четырёхугольника ABCD равна ; для прямоугольника × — .

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото