Обчисліть площу багатокутника.
Натхненний цим відео алгоритмом шнурівки.
Завдання
Ваше завдання - створити програму або функцію, яка обчислює площу багатокутника. Програма або функція визначається відповідно до визначення за замовчуванням у мета.
Вхідні дані
Ви отримаєте координати X і Y кожної вершини багатокутника. Ви можете взяти дані як список кортежів ( [[x1, y1], [x2, y2], etc]
), матриці або плоского списку ( [x1, y1, x2, y2, etc]
). Дозволено також два списки, що містять x
і y
координати відповідно. Вершини нумеруються проти годинникової стрілки, і перша вершина така ж, як і остання надана вершина, таким чином закриваючи багатокутник.
Якщо ви хочете, ви можете взяти дані без останньої вершини (тому отримайте кожну координату лише один раз).
Можна припустити, що краї многокутників не перетинаються. Можна також припустити, що всі вершини мають цілі координати.
Вихідні дані
Площа багатокутника. Дозволені всі стандартні методи виведення. Якщо у вашій мові не передбачено поділу на поплавці і рішення не було б цілим числом, ви можете повернути дріб. Фракцію не обов’язково спрощувати, тому повертаючись2/4
було б дозволеним.
Критерій виграшу
Найкоротший код виграє!
Тестові справи
[[4,4],[0,1],[-2,5],[-6,0],[-1,-4],[5,-2],[4,4]]
55
[[1,1],[0,1],[1,0],[1,1]]
0.5
1/2
[x1, x2, x3], [y1, y2, y3]
дозволено введення ?