Autorské riešenie Pri tejto úlohe potrebujeme vytvoriť zrkadlový obraz topánky zobrazenej na krabici. Aby sa nám to podarilo, potrebujeme vyriešiť niekoľko malých problémov. Krabice sú rôzne veľké. Nemôžeme teda predpokladať žiaden konkrétny rozmer. Budeme musieť zosnímať celú ľavú časť krabice. Našťastie pokazená tlačiareň netlačí čiernu farbu. Takže ak pri testovaní narazíme na čiernu, budeme vedieť že sme na okraji (na hrane) krabice. Postupne teda budeme prechádzať po ľavej časti krabice (kym [farbaBodu <> "cierna]) a snímať farbu bodu (nechFP farbaBodu). Všimnime si, aký je vzťah medzi zodpovedajúcimi bodmi na ľavej a na pravej časti krabice. Ich Y-ové súradnice sú rovnaké. X-ové súradnice sa líšia znamienkom. Bod [x, y] bude mať svoj zrkadlový obraz v bode [-x, y]. Pre každý zosnímaný bod teda vytvoríme jeho zrkadlový obraz na zrkadlových súradniciach a vrátime sa späť. urobTu "x XSur Samotný prechod po ľavej ploche krabice vyriešime jednoducho. Budeme postupovať po stĺpcoch. Zapamätáme si začiatok každého stĺpca (urobTu "sx XSur urobTu "sy YSur) a pokračujeme až pokiaľ nenarazíme na čiernu farbu. V tomto okamžiku vieme, že sme narazili na hranu krabice. Vrátime sa preto na začiatok nasledujúceho stĺpca (nechXYSur :sx+1 :sy). Celá procedúra môže vyzerať nasledovne: viem kresliTopanku Vaše zaujímavé riešenia a najčastejšie chyby
|
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |