Feladat: S.5 Korcsoport: - Nehézségi fok: -
Füzet: 2005/január, 39 - 40. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Írjunk programot Escher-szerű hiperbolikus csempézések készítésére. (Lásd cikkünket a 2‐9. oldalakon.) A program csempézze ki a körmodellt háromszögekkel, és mindegyik csempébe rajzoljon be egy mintát, amit egy külön fájlban adunk meg.
A program bemenete a következő elemekből áll:

‐ A csempeháromszög szögei. A szögeket 180p, 180q, 180r alakban adjuk meg, ahol p, q, r pozitív egész számok és
1p+1q+1r<1.
A kiinduló ABC csempeháromszöget úgy kell elhelyezni, hogy az A csúcs a modell középpontja legyen, a B csúcs pedig ettől vízszintesen jobbra helyezkedjen el (lásd az ábrát).
 
 

‐ A csempe mintája. A mintát egy színes, bináris PPM formátumú képfájlban adjuk meg. A csempe három csúcsát három koordinátapárral írjuk le.
‐ A készítendő kép mérete és az output fájl neve. A kép mindig négyzet alakú lesz, a méret ezért egyetlen m pozitív egész szám, legfeljebb 2048.

A program az adatokat a parancssorból vegye a következő sorrendben:
(programnév)p q r csempeminta.ppma1 a2 b1 b2 c1 c2 output.ppmm

(A csempeminta.ppmés az output.ppmhelyén természetesen más fájlnevek fognak állni.) A program a megadott adatok alapján készítse el a szintén PPM formátumú képfájlt. A minta rajzolásakor a cikkben leírt súlyponti koordinátás módszert alkalmazza.
A PPM formátumról és további tudnivalókról részletesebben írunk a http://www.komal.hu/verseny/2005-01/S.h.shtml oldalon.