Cohen-Sutherland vágóalgoritmus

Hasonló dokumentumok
Klár Gergely

SZÁMÍTÓGÉPI GRAFIKA VÁGÁS

Láthatósági kérdések

Tartalom. Tartalom. Hajder Levente Szakasz raszterizálása. 2017/2018. II. félév. Poligon raszterizáció.

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Koordináta-geometria feladatok (emelt szint)

A szabályos sokszögek közelítő szerkesztéséhez

Síklapú testek. Gúlák, hasábok Metszésük egyenessel, síkkal

I. Vektorok. Adott A (2; 5) és B ( - 3; 4) pontok. (ld. ábra) A két pont által meghatározott vektor:

Geometria. a. Alapfogalmak: pont, egyenes, vonal, sík, tér (Az alapfogalamakat nem definiáljuk)

Algoritmusok raszteres grafikához

Algoritmusok raszteres grafikához

10. Koordinátageometria

GEOMETRIA 1, alapszint

Látható felszín algoritmusok

Koordináta-geometria feladatgyűjtemény

Geometriai alapfogalmak

20. tétel A kör és a parabola a koordinátasíkon, egyenessel való kölcsönös helyzetük. Másodfokú egyenlőtlenségek.

Regresszió számítás. Tartalomjegyzék: GeoEasy V2.05+ Geodéziai Kommunikációs Program

Számítógépes Grafika mintafeladatok

Koordináta-geometria feladatgyűjtemény (A feladatok megoldásai a dokumentum végén találhatók)

Algoritmusok raszteres grafikához

= Y y 0. = Z z 0. u 1. = Z z 1 z 2 z 1. = Y y 1 y 2 y 1

Geometria 1 összefoglalás o konvex szögek

Összeállította: dr. Leitold Adrien egyetemi docens

Témák: geometria, kombinatorika és valósuínűségszámítás

Koordinátageometriai gyakorló feladatok I ( vektorok )

Helyvektorok, műveletek, vektorok a koordináta-rendszerben

TÉRINFORMATIKAI ALGORITMUSOK

Skaláris szorzat: a b cos, ahol α a két vektor által bezárt szög.

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Vektorok és koordinátageometria

I. Egyenlet fogalma, algebrai megoldása

EÖTVÖS LORÁND SZAKKÖZÉP- ÉS SZAKISKOLA TANÍTÁST SEGÍTŐ OKTATÁSI ANYAGOK MÉRÉS TANTÁRGY

Nagy András. Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 2010.

Alapfogalmak II. Def.: Egy gráf összefüggő, ha bármely pontjából bármely pontjába eljuthatunk egy úton.

Szög. A Wikipédiából, a szabad enciklopédiából:

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria I.

Vektorgeometria (2) First Prev Next Last Go Back Full Screen Close Quit

Analitikus térgeometria

KOVÁCS BÉLA, MATEMATIKA I.

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

2. ELŐADÁS. Transzformációk Egyszerű alakzatok

Programozási nyelvek 2. előadás

Mozgatható térlefedő szerkezetek

Függvények Megoldások

egyenletrendszert. Az egyenlő együtthatók módszerét alkalmazhatjuk. sin 2 x = 1 és cosy = 0.

Abszolútértékes egyenlôtlenségek

Geometriai példatár 2.

Függvények. Fogalom. Jelölés

Koordináta-geometria II.

Koordináta-geometria. Fogalom. Jelölés. Tulajdonságok, definíciók

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Függvény határérték összefoglalás

IV. LEGO Robotprogramozó Országos Csapatverseny

Bevezetés a síkgeometriába

Koordináta - geometria I.

Középpontos hasonlóság szerkesztések

A tér lineáris leképezései síkra

Koordináta geometria III.

44. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY. Megyei forduló április mal, így a számjegyeinek összege is osztható 3-mal.

Szögfüggvények értékei megoldás

Hajder Levente 2018/2019. II. félév

Hajder Levente 2014/2015. tavaszi félév

Máté: Számítógépes grafika alapjai

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Lehet hogy igaz, de nem biztos. Biztosan igaz. Lehetetlen. A paralelogrammának van szimmetria-középpontja. b) A trapéznak két szimmetriatengelye van.

Megoldás A számtani sorozat első három eleme kifejezhető a második elemmel és a differenciával. Összegük így a 2. d =33, azaz 3a 2. a 2.

Próba érettségi feladatsor április 09. I. RÉSZ. 1. Hány fokos az a konkáv szög, amelyiknek koszinusza: 2

5. előadás. Skaláris szorzás

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Az egyenes és a sík analitikus geometriája

TÉRINFORMATIKAI ALGORITMUSOK

2016/2017. Matematika 9.Kny

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Ferde kúp ellipszis metszete

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Megyei matematikaverseny évfolyam 2. forduló

Az alap- és a képfelület fogalma, megadási módjai és tulajdonságai

Analitikus térgeometria

Koordináta-geometria feladatok (középszint)

Teljes függvényvizsgálat

Konvexitás, elaszticitás

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

A keresett kör középpontja Ku ( ; v, ) a sugara r = 1. Az adott kör középpontjának koordinátái: K1( 4; 2)

9. Írjuk fel annak a síknak az egyenletét, amely átmegy az M 0(1, 2, 3) ponton és. egyenessel;

Háromszögek, négyszögek, sokszögek 9. évfolyam

Maple: Deriváltak és a függvény nevezetes pontjai

Síkgeometria 12. évfolyam. Szögek, szögpárok és fajtáik

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai. 81f l 2 f 2 + l 2

Geometriai algoritmusok

Gyakorló feladatok. 2. Matematikai indukcióval bizonyítsuk be, hogy n N : 5 2 4n n (n + 1) 2 n (n + 1) (2n + 1) 6

Nemlineáris egyenletrendszerek megoldása április 15.

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

3. tétel Térelemek távolsága és szöge. Nevezetes ponthalmazok a síkon és a térben.

NULLADIK MATEMATIKA ZÁRTHELYI

Átírás:

Vágási algoritmusok

Alapprobléma Van egy alakzatunk (szakaszokból felépítve) és van egy "ablakunk" (lehet a monitor, vagy egy téglalap alakú tartomány, vagy ennél szabálytalanabb poligon által határolt terület). Alapprobléma: A feladatunk az, hogy az alakzatnak csak azt a részét rajzoljuk meg, amely az "ablakban van", azaz látszik. A legegyszerűbb alakzat egy szakaszból áll, melyről a következő döntések valamelyikét meg kell hoznunk: A szakasz teljes egészében az ablakon belül van meg kell rajzolni. A szakasz teljes egészében az ablakon kívül van semmilyen részét sem kell megrajzolni. A szakasz részben az ablakon belül van meg kell határoznunk az ablakba eső részt, és azt kell megrajzolni.

Néhány algoritmus Cohen-Sutherland vágóalgoritmus (szakasz vágása téglalap tartományra) szakasz vágása konvex poligonra szakasz vágása konkáv poligonra

Cohen-Sutherland vágóalgoritmus A síkot két vízszintes (alsó, felső) és két függőleges (jobb, bal) egyenessel 9 részre osztjuk, a középső terület maga az ablak (képernyő). Minden síkrész (pontosabban a pontjaik) jól leírható az egyenesekhez viszonyított helyzettel. A viszonyítási szempontok: A felső egyenes felett van-e Az alsó egyenes alatt van-e A jobb oldali egyenestől jobbra van-e A bal oldali egyenestől balra van-e A válaszok igen, vagy nem lehetnek, az válasz igen már akkor is, ha éppen az egyeneseken vagyunk. Az ablakba eső pontok kódja a 0000, azaz a felső egyenestől nem feljebb, az alsótól nem lejjebb, jobb oldali egyenestől nem jobbra, a baloldalitól nem balra találhatók.

Cohen-Sutherland vágóalgoritmus Az algoritmus: A szakasz végpontjaihoz az előbbi szempontok szerint egy-egy négyjegyű bináris kód rendelünk hozzá. 2. Ha mindkét végpont kódja 0000, akkor a szakasz a képernyőn belül van. rajzolható és megrajzoljuk. 3. Ha a két kódnak van olyan bitje, hogy azonos helyi értéken 1 van, akkor az a szakasz eldobható, mert a képen kívülre esik. nem kell rajzolni 4. Ha a szakasz két végpontja közül valamelyik kódjában van egyes, akkor az egyes helyi értékének megfelelő egyenessel el kell metszeni a szakaszt, és a metszéspontra módosítani a szakasz végpontját, és ugrás az pontra.

Cohen-Sutherland vágóalgoritmus C F A D C 1 F 1 K B F 2 E 1 V E

Cohen-Sutherland vágóalgoritmus Előnyei: Hatékony, ha nagy valószínűséggel kívül esnek a szakaszok a képernyőn. Jól általánosítható 3D-ben. Ebben az esetben 6 határsík van, melyek a teret 27 részre bontják. Azt vizsgáljuk, hogy a síkok jó oldalán vannak-e a szakasz végpontjai, ezért 6 bites kódokat használunk. Hátránya Poligon ablakra nem általánosítható.

Szakasz vágása konvex poligonra Maga az ablak egy konvex poligon által határolt terület. Ötlet Megadunk egy B belső pontot (pl. súlypontot), amely a viszonyítási pont lesz. Minden szakaszvégpont esetén azt vizsgáljuk, hogy a határegyeneseknek ugyanazon oldalán van-e, mint a B pont. 6. 5. Ez a vizsgálat úgy történik, hogy a B pont koordinátáit behelyettesítjük a határegyenesek egyenletébe, és a kapott értékek előjelét sorban megjegyezzük. K K 1 2. V B 3. 4. Ugyanezt tesszük a szakasz kezdő (vég)pontja esetén is, majd összehasonlítjuk a B pontra kapott előjelsorral. A legelső eltérésnél az annak megfelelő egyenessel a szakasz elmetsszük, és ez lesz az új kezdő (vég)pont, melyet újra meg kell vizsgálni. Mindezt addig folytatjuk, amíg a kezdő (vég)pont előjelsora a B-vel megegyezik. A legutolsó kezdő és végpontot összekötjük.

Szakasz vágása konvex poligonra Hátránya Nem vizsgáltuk, hogy a szakasznak van-e az ablakba eső része. Lehet, hogy feleslegesen vizsgáljuk a végpontok B- hez viszonyított helyzetét. Ha a poligon nagyon sok oldalú, és a szakasz olyan helyzetű, hogy az utolsó oldalakat metszi, akkor nagyon sokáig nem történik semmi, csak a vizsgálatok zajlanak. 6. 5. Kérdés: Nem lehetne ezt gyorsítani? K 1 B V 4. 2. 3.

Szakasz vágása konvex poligonra 2. A szakaszt tartalmazó egyeneshez viszonyítjuk a poligon éleit. A vizsgált egyenes egyenletébe behelyettesítjük a poligon csúcsainak koordinátáit, és tároljuk az eredmény előjelét. K K 1 2. 6. V 5. 3. 4. Ha mindenhol azonos az előjel, akkor az egyenes a poligonon kívül esik. nem kell rajzolni 2. Ha a kapott előjelsorozatban váltás van, akkor a két csúcs által meghatározott szakaszt metszi a vágandó szakasz egyenese. Csak két helyen lehet előjelváltás, mivel konvex a poligon. Kiszámoljuk a szakasz egyenesének és a poligonnak a metszéspontjait, majd valamely (nem nulla) koordináta szerint rendezzük a négy pontot. Mindig a középső két pont által adott szakaszt kell rajzolnunk.

Vágás konkáv poligonra Az ablak egy konkáv poligon által határolt terület. A szakaszt tartalmazó egyeneshez viszonyítjuk a poligon éleit. A vizsgált egyenes egyenletébe behelyettesítjük a poligon csúcsainak koordinátáit, és tároljuk az eredmény előjelét. Ha mindenhol azonos az előjel, akkor az egyenes a poligonon kívül esik. nem kell rajzolni 2. Ha a kapott előjelsorozatban váltás van, akkor a két csúcs által meghatározott szakaszt metszi a vágandó szakasz egyenese. Kiszámoljuk ezeket a metszéspontokat (már 2-nél több metszéspont is lehet!!), és valamelyik koordináta szerint rendezzük. Majd beszúrjuk a szakasz két végpontját a rendezett sorba, és megnézzük, hogy hol van a két végpont a metszéspontokhoz képest. A szakasz egyik végpontjától számítva a páratlan és páros metszéspontok közötti szakaszokat kell rajzolni, a két végpont között.

Vágás konkáv poligonra 2. 6. 3. 4. 5. 3. 4. 5. 6. 7. 8. 9. 7. 8. 9. 10. 10. 2.

Vágás konkáv poligonra 2. 3. 4. 5. 6. 6. 7. 3. 8. 4. 9. 5. 7. 8. 9. 10. Beszúrjuk a szakasz két végpontját a rendezett Adott sorba, Veszünk egy és egy konkáv megnézzük, egyenest, poligon, hogy amelyet hol van vágni a két akarunk az amely A végpont adott pontokat poligonra. két a részből metszéspontokhoz a poligon áll. bejárásának Először a képest. megfelelően (Most külső kaptuk, előttük Az egyeneshez részt ezért utánuk.) járjuk valamelyik viszonyítjuk be, majd koordináta a a poligon szerint éleit. A belsőt, célszerű vizsgált A szakasz a rendeznünk egyenes megjelölt egyik végpontjától egyenletébe pontokból azokat. behelyettesítjük indulva a páratlan a indulva és poligon páros a csúcsainak sorszámú nyilak irányába. metszéspontok koordinátáit, és közötti tároljuk az Az szakaszokat eredmény ablak az előjelét. kell együttes rajzolni, konkáv amíg el nem érjük a poligonnal másik Ha a kapott végpontot. van előjelsorozatban definiálva, az váltás van, akkor a látszik két csúcs majd, által ami meghatározott a szakaszt metszi a halványsárga vágandó szakasz területbe egyenese. esik. Kiszámoljuk ezeket a metszéspontokat. 10. 2.