Van een vlakke veelhoek, krijg je de lijst van hoekpunten, in wijzerzin of tegenwijzerzin geordend. Deze lijst bestaat uit koppels $$(x, y)$$, waarbij dus elk tuple een hoekpunt van de veelhoek in het $$xy$$-vlak voorstelt. De oppervlakte $$A$$ van deze veelhoek, kan je vinden via de formule:

$$ A = \frac{1}{2} |(x_0y_1 + x_1y_2 + \cdots + x_{n-2}y_{n-1} + x_{n-1}y_0) - (y_0x_1 + y_1x_2 + \cdots + y_{n-2}x_{n-1} + y_{n-1}x_0)| $$

Schrijf een methode oppervlakte() die als resultaat de gezochte oppervlakte van de veelhoek levert. De argumentlijst bevat minstens 3 punten, en elk punt in de lijst is uniek. De lijst is in wijzerzin of tegenwijzerzin geordend.

Argumenten

Eén lijstargument, bestaande uit tuples $$(x, y)$$, met $$x, y \in \mathbb{R}$$. De lijst bevat geen dubbels en bevat meer dan 2 elementen.

Resultaat

Een reëel getal dat de oppervlakte van de veelhoek weergeeft.

Voorbeeld

oppervlakte([(1, 0),(0, 1),(-1, 0),(0, -1)]) = 2
oppervlakte([(1, 1), (1, -1), (-1, -1), (-1, 1)]) = 4