Négyszögfajták ellenőrzése

Az előző, „Sokszögek csúcspontjainak sorbarendezése a helyes megjelenítéshez” című bejegyzésben tárgyalt, a sokszögek csúcspontjait sorbarendező függvényt nem csak a sokszög megfelelő kirajzoltatásához lehet használni, hanem például olyan ellenőrzőfüggvények készítéséhez is, amelyekkel el lehet dönteni, hogy adott csúcspontok milyen fajta négyszöget (trapéz, deltoid, paralelogramma, rombusz, téglalap, négyzet) határoznak meg.

Az ellenőrzéshez az egyes négyszögek geometriából ismert definícióját, illetve valamilyen csak arra jellemző tulajdonságát használjuk. Ezek több esetben is igénylik az oldalhosszak vagy a csúcspontok középpontjának meghatározását, valamint ezek mindegyike egyenlőségének ellenőrzését. Ezért e részfeladatok elvégzéséhez segédfüggvényeket definiálunk a csúcspontok megfelelő sorba rendezését végző függvény mellett. E definícióikat mutatjuk alább:

Az egyes négyszögfajtákra vonatkozó ellenőrző függvények pedig a következők:

A részletes kommentek segítik a függvények működésének megértését.

Az ellenőrző függvények működésének tesztelését végző alábbi programkód grafikus felhasználói felületen jeleníti meg a csúcspontokkal megadott négyszögeket, és alatta kiírja, hogy az adott négyszög milyen speciális fajtának felel meg. A tesztkód nem bonyolult, és a kommentek itt is könnyítik a megértést.

A tesztprogram futtatása után a következő eredménykép jelenik meg:

E bejegyzés témájához a Python tudásépítés lépésről lépésre című e-könyvben leginkább a „Műveletek”, az „Egymáshoz rendelve – függvények”, a „Beépített függvények”, és a  „Grafikus felhasználói felület készítése” fejezet kapcsolódik.

Érdekel a Python tudásépítés lépésről lépésre az alapoktól az első asztali alkalmazásig című e-könyv.