Příklad zadání:
10 10 60 10 60 60 40 90 10 60 10 10
Obsah tohoto polygonu (jde o pětiúhelník) je 3250
Požadavky:
- Souřadnice ani výsledek nemusí být celočíselný. Poslednímu zadanému bodu
je proto nutno zadat přesně tytéž souřadnice jako prvnímu.
- Program nechť kontroluje, zda byl zadán polygon o nejméně 3 vrcholech
(úsečka není polygon).
Poznámky:
- Souřadnice vrcholů mohou být zadávány jak ve směru hodinových ručiček, tak
proti směru hodinových ručiček.
- Polygon nemusí být konvexní.
-
Nejjednodušší je obsah polygonu počítat pomocí rozdílu obsahu
lichoběžníků pod "dolními" hranami polygonu a pod "horními" hranami
polygonu.
Vzorcem se dá postup vyjádřit takto:
![[vzorec]](vzorec.jpg)
kde n je počet vrcholů,
(xi, yi) je posloupnost souřadnic vrcholů.
Pro zjednodušení vzorce klademe xn=x0 a
yn=y0.
K vysvětlení algoritmu může napomoci následující animovaný
obrázek:
(animaci spustíte od začátku obnovením stránky)
