6 lgorim ořezáváí a esováí poloh Sudijí íl Teo blok je věová problemaie vzájemé poloh grafikýh primiiv, zejméa poloze bodu vzhledem k mohoúhelíku včeě jedolivýh speifikýh varia jako jsou čřúhelík, jehož sra jsou rovoběžé s osami souřadiového ssému, koveí mohoúhelí a i variaa obeého mohoúhelíku. Dále jsou vsvěle případ, kd je uo ořeza úsečku pravoúhlou oblasí, případě koveím ebo i obeým mohoúhelíkem. Rověž je ukázáo řešeí siuae, kd je řeba ořeza mohoúhelík oblasí, kerá je rověž ve varu čřúhelíku ebo obeého mohoúhelíku. Zároveň jsou vsvěle důvod k pořebě použií ěho ořezovýh algorimů. Doba uá k asudováí 3-4 hodi Průvode sudiem Při sudiu ohoo bloku se předpokládá, že sude je sezáme se základ aaliké geomerie, zá základí vzah pro prái s vekor a vekorovými operaemi. Rověž je ué, ab sude ovládal základí operae booleovské maemaik. 6. Ořezáváí a ořezávaí oblas Při pořebě zobrazeí jakéhokoliv objeku a zobrazovaí plohu jsou zasílá požadavk a zobrazeí prosředivím jedolivýh grafikýh příkazů grafikému proesoru, kerý vváří jejih obraz v grafiké paměi a ásledě jsou obsah grafiké paměi přeese a výsupí zařízeí. rámi elého proesu zobrazeí jsou čási obrazu, keré přesahují skuečou zobrazovaí oblas daého zařízeí odsraě ořízu. Nemá oiž žádý smsl pokouše se zobrazi čási obrazu, keré emohou bý dík apř. velikosi zobrazovaí ploh daého výsupího zařízeí fzik zobraze. To algorim jsou použi i v případě, že ořezávaí oblas eí limiováa zobrazovaí plohou fzikého zařízeí, ale omezujíí je ploha oka aplikae, do íž výsup směřuje. Přesože des dokáže prakik každé zařízeí ořízou a úrovi HW KST/IPOGR - Per eselý KST FEI Uiverzia Pardubie
epořebé čási obrazu, aiž b došlo bť k marému pokusu o vkresleí, dohází k případé úpravě obrazu již během jeho zpraováí a úrovi grafikýh kreslííh fukí, případě při zpraováí grafikým proesorem ebo a úrovi ovladače. Saha o včasé použií ořezávaíh algorimů je moivováa především úsporou času, eboť každé ásledé zpraováí zbečýh údajů je aproso zbečé apř. raserizae elé úsečk, pokud její velká čás leží mimo zobrazovaí oblas. Obvkle je vidielou ořezávaí oblasí osově orieovaý pravoúhelík věšiou oko souřadiového ssému zařízeí. Moivaí pro vlasí implemeai a použií ořezávaíh algorimů může bý: zrhleí grafikého výsupu v případě, že velké možsví objeků leží mimo vidielou oblas a zjišěí éo skuečosi je rhlejší ež samoé kresleí, vkresleí obrazu pouze do určié čási grafikého výsupího zařízeí vkresleí víe obrazů do růzýh čásí jedoho oka, áhrada ořezáváí a úrovi grafikého výsupího zařízeí. Ořezávaí algorim lippig je možo rozděli a kaegorie: ořezáí bodu es poloh bodu pro určeí, zda se daý bod zobrazí ebo e, ořezáí liiovýh objeků určeou oblasí, ořezáí oblasi určeou oblasí. 6.2 Tesováí poloh bodu 6.2. Poloha bodu vzhledem k pravoúhelíku se sraami rovoběžými s osami souřadiového ssému Tao variaa je ejběžější vzhledem k omu, že ořezáí es poloh je ejčasěji používá apř. vzhledem k a oblas oka, obrazovk ebo vzhledem k poiskuelé čási lisu papíru v iskárě. omo speifikém a a výpoče velmi eáročém případě ořezáváí osově orieovaým pravoúhelíkem sačí vhodoi souřadie vkreslovaého KST/IPOGR -2 Per eselý KST FEI Uiverzia Pardubie
bodu [,] vzhledem k hraiím pravoúhelíku. Podmíka pro určeí, že bod leží v ořezávaé oblasi je ásledujíí: >Mi <Ma >Mi <Ma Y M X Y MIN M 6.2.2 Tes poloh bodu vzhledem ke koveímu mohoúhelíku IN M omo případě je uo urči polohu bodu vůči všem hraičím úsečkám. Polohu bodu P a úsečk lze urči pomoí velikosi X vekorového součiu u a v P X X i u v u v X X u v j Y Y k u v Z Z i bx ax px ax j by ay py ay k zhledem k omu, že oba vekor leží v jedé roviě, je pro další posup rozhodujíí pouze zaméko z-ové souřadie výsledého vekoru. S=b -a p -a -b -a p -a Dle zaméka je možo urči polohu bodu P vzhledem k úseče ásledově: pokud S<, poom bod P leží apravo od úsečk pokud S=, poom bod P leží a úseče pokud S>, poom bod leží alevo od úsečk Pravidlo pro určeí elkové poloh bodu P k daému mohoúhelíku KST/IPOGR -3 Per eselý KST FEI Uiverzia Pardubie
Pokud je mohoúhelík defiová poslouposí vrholovýh uzlů: proi směru hodiovýh ručiček, poom všeřovaý bod leží uviř právě ehd, pokud leží vlevo od všeh úseček. po směru hodiovýh ručiček, poom všeřovaý bod leží uviř právě ehd, pokud leží vpravo od všeh úseček. 6.2.3 Tes poloh bodu vzhledem k obeému mohoúhelíku Pro ekoveí mohoúhelík je řeba vhodoi poče průsečíků polopřímk vedeé z všeřovaého bodu P libovolým směrem s hraami mohoúhelíku. Pravidlo pro určeí poloh Sudý poče průsečíků zameá, že bod leží vě Lihý poče průsečíků zameá, že bod leží uviř Problém asaou, pokud paprsek prohází vrholem ebo pokud čás paprsku je oožá s ěkerou hraou. omo případě je řešeím sejý posup, jako u algorimu řádkového vplňováí vekorově zadaé oblasi, j. použií vodorového paprsku, veháí vodorovýh hra a rozpojeí hra pomoí jejih zkráeí. 6.3 Ořezáí úsečk Ořezáí úsečk je velmi časo používaou operaí, proo algorim pro její provedeí musí bý maimálě efekiví a spolehlivé. Eisuje moho růzýh algorimů, keré se liší jak možosmi použií, ak i rhlosí. Obeě lze říi, že obeé meod, umožňujíí ořezáí úsečk libovolým mohoúhelíkem jsou pomalejší, ež meod, keré jsou použielé pouze ve speifikýh případeh ořez pravoúhelíkem sraově rovoběžým s osami SS ebo ořez koveím mohoúhelíkem. KST/IPOGR -4 Per eselý KST FEI Uiverzia Pardubie
Eisují rověž speifiké meod pro ořez jiýh liiovýh objeků ež je úsečka a meod umožňujíí ořez jiou oblasí ež je mohoúhelík apř. kružie, ovšem o meod lze vžd éměř vžd po příslušé aproimai objeků aradi ořezávaí meodou pro ořezáváí úsečk úseček mohoúhelíkem. 6.3. Meoda Cohe-Suherlad Meoda je použielá pro ořezáí úsečk pravoúhlou oblasí, jejíž sra jsou rovoběžé s osami SS. Je založea a rozděleí elé ploh USS a jedolivé oblasi. Těmo oblasem je přiřaze 4-biový kód podle poloh vzhledem k poloze ořezávaí oblasi vlevo, vpravo, dole, ahoře Obrázek : Rozděleí ploh a sekor Pro každý počáečí Z a koový K bod úsečk se určí kód. Následujíí podmík rozhodou o poloze úsečk vzhledem k pravoúhelíku a o ásledém posupu: Pokud kódz kódk =, poom úsečka je elá uviř. Pokud kódz kódk, poom úsečka je elá mimo a je možo ji elou za dalšího zpraováí apř. zobrazeí veha Pokud kódz kódk =, poom je zřejmé, že asala siuae, kd úsečka prohází víe oblasmi. omo případě je řeba ji ořízou ořezáváí se provádí dle libovolé jedičk v kódeh pro Z a K a es s ovými kód je uo zopakova. KST/IPOGR -5 Per eselý KST FEI Uiverzia Pardubie
Jedolivé siuae jsou zázorě a ásledujíím obrázku. Obrázek 2: Ilusrae varia, keré mohou asa u algorimu CS 6.3.2 Meoda Crus-ek Tao meoda je zobeěím meod Liag-arsk a je určeá k ořezáí úsečk libovolým koveím mohoúhelíkem. Je založea a paramerikém vjádřeí úsečk. Poče ořezů, keré je řeba vkoa, závisí a zvoleém pořadí řezeíh hra. KST/IPOGR -6 Per eselý KST FEI Uiverzia Pardubie
Na uvedeém obrázku je vzačea ořezávaá úsečka, ořezávaí oblas je defiováa jako mohoúhelík pomoí bodů, 2, 3, 4 a 5. Úsečka po ořezáí je určea bod 3. Červeou barvou jsou azače ormálové vekor jedolivýh řezaíh hra. Předpoklad a základí pravidla: Ořezávaí oblas je zadáa pomoí orieovaýh hra, orieae je proi směru hod. ruč. Ořezávaá úsečka je orieováa Parameriké vjádřeí P= + - Pro avzájem kolmé vekor plaí: u. v Normálový vekor oočeí v o 9 vpravo se vvoří a základě směrového vekoru záměou souřadi a jedou změou zaméka: v, v, v Tupý úhel: u. v Osrý úhel: u. v Na ásledujíím obrázku je zázorě základí posup pro jedu hrau: KST/IPOGR -7 Per eselý KST FEI Uiverzia Pardubie
KST/IPOGR -8 Per eselý KST FEI Uiverzia Pardubie Hledáme bod C, kerý voří průsečík hra 2 a. Hledaý bod C defiujeme pomoí parameru z parameriké rovie: P C Dále musí plai, že vekor C musí bý kolmý a ormálový vekor. P C algorimu je uo rolišova případ, kd úsečka směřuje doviř oblasi a siuae, kd směřuje ve. To lze zjisi a základě hodo součiu vekorů a směrového vekoru úsečk : směřuje doviř směřuje ve: je rovoběžá s hraou: lgorimus výpoču iiializae paramerů začáku a koe úsečk: Z =, K = pro každou hrau -úhelíku: určeí ormálového vekoru pokud skalárí souči - <> výpoče C dle směru doviř/ve případá změa Z = ma Z, C ebo K = mi K, C
jiak úsečka je rovoběžá s ouo hraou pokud leží v poloroviě mimo -úhelík: lze ořezávaou úsečku zela vpusi KONEC jiak emá ao hraa a ořezáí vliv POKRČ. DLŠÍ HRNOU pokud Z < K, poom se kreslí ořezaá úsečka P Z P K, jiak po ořezu z úsečk i ezblo Pojm k zapamaováí Raserizae, raserizačí algorimus, ieračí způsob výpoču, predike, eločíselý algorimus Oázk a provičeí. Jaký je důvod k vžíváí ořezávaíh algorimů? 2. Co je o ořezávaí oblas? 3. Jak se zjišťuje poloha bodu vzhledem k jedolivým pům oblasí? 4. Jak fugují jedolivé uvedeé algorim pro ořez úsečk? 5. Jaký je ssém pro vvářeí kódů jedolivýh segmeů ořezávaí oblasi u algorimu Cohe-Shuerlad? 6. Z jakého vjádřeí úsečk vhází algorimus Crus-ek? 7. Jaké jsou výhod algorimu Liag-arsk oproi algorimu Cohe- Shuerlad? Odkaz a další sudijí prame Žára, J., eeš,., Felkel, P. Moderí počíačová grafika. Compuer Press, ro, 998. ISN 8-7226-49-9. Fole, a D. Compuer Graphis. Priiples ad Praie. ddiso-wesle,99. KST/IPOGR -9 Per eselý KST FEI Uiverzia Pardubie