Luento 6: Tulostusprimitiivien toteutus

Samankaltaiset tiedostot
Luento 3: Tulostusprimitiivien toteutus

Sisältö. Luento 2: Tulostusprimitiivien toteutus GRAAFISTEN PRIMITIIVIEN TOTEUTUS. Piirtäminen rasteriruudulle. Suoran viivan vaatimukset

Luento 2: Tulostusprimitiivit

Luento 2: 2D Katselu. Sisältö

Sisältö. Luento 6: Piilopinnat. Peruskäsitteet (jatkuu) Peruskäsitteitä. Yksinkertaisia tapauksia. Yksinkertaiset tapaukset jatkuu

Luento 2: Viivan toteutus

Luento 6: Piilopinnat ja Näkyvyys

Luento 3: 2D Katselu. Sisältö

T Vuorovaikutteinen tietokonegrafiikka Tentti

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 7: Lokaalit valaistusmallit

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

MAB3 - Harjoitustehtävien ratkaisut:

Vanhoja koetehtäviä. Analyyttinen geometria 2016

MAB3 - Harjoitustehtävien ratkaisut:

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

Luento 6: Geometrinen mallinnus

y=-3x+2 y=2x-3 y=3x+2 x = = 6

Tekijä Pitkä matematiikka Pisteen (x, y) etäisyys pisteestä (0, 2) on ( x 0) Pisteen (x, y) etäisyys x-akselista, eli suorasta y = 0 on y.

Symmetrioiden tutkiminen GeoGebran avulla

Luento 6: Geometrinen mallinnus

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

1. Olkoot vektorit a, b ja c seuraavasti määritelty: a) Määritä vektori. sekä laske sen pituus.

Ympyrän yhtälö

2 Pistejoukko koordinaatistossa

Ympyrä 1/6 Sisältö ESITIEDOT: käyrä, kulma, piste, suora

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Algoritmit 2. Luento 13 Ti Timo Männikkö

Luento 7: 3D katselu. Sisältö

Yleistä vektoreista GeoGebralla

Kaupunkisuunnittelua

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

TYÖPAJA 1: Tasogeometriaa GeoGebran piirtoalue ja työvälineet

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

Matematiikan ilmiöiden tutkiminen GeoGebran avulla

Suora. Määritelmä. Oletetaan, että n = 2 tai n = 3. Avaruuden R n suora on joukko. { p + t v t R},

GEOMETRIA MAA3 Geometrian perusobjekteja ja suureita

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8

Juuri 6 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Vastaus: Määrittelyehto on x 1 ja nollakohta x = 1.

1 Kappaleet ympärillämme 1.


Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Taso. Hannu Lehto. Lahden Lyseon lukio

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Geometriaa GeoGebralla Lisätehtäviä nopeasti eteneville

TYÖPAJA 1: Tasogeometriaa GeoGebran piirtoalue ja työvälineet

7.lk matematiikka. Geometria 2. Hatanpään koulu 7B ja 7C Kevät 2017 Janne Koponen

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta

Tekijä Pitkä matematiikka

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Kirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10)

1.2 Kulma. Kulmien luokittelua. Paralleeliaksiooma

Mat Lineaarinen ohjelmointi

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Peilatun kuvion ominaisuudet

Peruskoulun matematiikkakilpailu Loppukilpailu 2010 Ratkaisuja OSA 1

Algoritmi III Vierekkäisten kuvioiden käsittely. Metsätehon tuloskalvosarja 7a/2018 LIITE 3 Timo Melkas Kirsi Riekki Metsäteho Oy

4. Esittäminen ja visualisointi (renderöinti)

Ratkaisuja, Tehtävät

GeoGebran 3D paketti

33 SOLENOIDIN JA TOROIDIN MAGNEETTIKENTTÄ

1 Ensimmäisen asteen polynomifunktio

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

TI-89 / TI-92 Plus / Voyage 200 -laskimiin Cabri Geometry

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Partikkelit pallon pinnalla

Laudatur 4 MAA4 ratkaisut kertausharjoituksiin

3. Harjoitusjakso I. Vinkkejä ja ohjeita

I Geometrian rakentaminen pisteestä lähtien

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

yleisessä muodossa x y ax by c 0. 6p

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Havainnollistuksia: Merkitään w = ( 4, 3) ja v = ( 3, 2). Tällöin. w w = ( 4) 2 + ( 3) 2 = 25 = 5. v = ( 3) = 13. v = v.

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 3: Osittaisderivaatta

Grafiikka 205. Tässä luvussa käsitellään geometriaa ja graafisia kohteita. Mukana on pääosin alkeisoperaatioita.

Paikkatiedon käsittely 4. Diskreettiä geometriaa

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

a b c d

Tehtävien ratkaisut

Lieriö ja särmiö Tarkastellaan pintaa, joka syntyy, kun tasoa T leikkaava suora s liikkuu suuntansa

x 5 15 x 25 10x 40 11x x y 36 y sijoitus jompaankumpaan yhtälöön : b)

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

811120P Diskreetit rakenteet

Tässä osassa ei käytetä laskinta. Selitä päätelmäsi lyhyesti tai perustele ratkaisusi laskulausekkeella, kuviolla tms.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Paraabeli suuntaisia suoria.

Ensimmäisen asteen polynomifunktio

Mb8 Koe Kuopion Lyseon lukio (KK) sivu 1/2

Transkriptio:

Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Tulostusprimitiivien toteutus Lauri Savioja 11/07 Primitiivien toteutus / 1 ntialiasointi Fill-algoritmit Point-in-polygon Sisältö Primitiivien toteutus / 2 1

liasoituminen eli laskostuminen Näytteenottotaajuus ja Nyquist-taajuus jallinen ja paikallinen laskostuminen Ratkaisuja: Näytteenottotaajuuden nostaminen lipäästösuodatus Primitiivien toteutus / 3 ntialiasointi-diat Primitiivien toteutus / 4 2

liasoituminen rasteriviivojen piirtämisessä piirtosuunta vaikuttaa viivan tiheyteen tiheys = 8 / (8 * 2) tiheys = 8 / 8 viivan leveys voi olla vain kokonaisluku xy-suunnissa vinon viivan reuna on porrasmainen (jagged) HUOM! Sama ongelma koskee myös muita graafisia kuvioita. Primitiivien toteutus / 5 ntialiasointi ntialiasointi = laskostumisongelman ehkäiseminen tavallisin menetelmä on kunkin pikselin sävyttäminen sen mukaan, kuinka suurelta osin piirrettävä kuvio peittää sitä: Primitiivien toteutus / 6 3

ntialiasointi (jatkuu) viivan reunat sumenevat, mutta keskimäärin tasoittuvat mahdollista vain sävynäytöllä (ei mustavalkealla) erityislaitteilla mahdollista pikselien hienosäätö (pixel phasing): porraskohdissa olevia pikseleitä siirretään lähemmäs oikeaa viivaa pikselien suuruutta säädetään viivan kaltevuuden mukaan Primitiivien toteutus / 7 LUEEN TÄYTTÄMINEN Kaksi perusperiaatetta: 1) konversio janoiksi pyyhkäisyjuoville 2) värin levittäminen rasterissa Primitiivien toteutus / 8 4

Juovakonversio etsitään kultakin pyyhkäisyjuovalta ne janat, jotka jäävät monikulmioalueen sisälle y1 y2 y3 y4 y5 y6 y7 y8 x = 1 2 3 4 5 6 87 9 10 Primitiivien toteutus / 9 Juovakonversio (jatkuu) voidaan laskea joka juovalle (y=vakio) toisistaan riippumatta, missä kohdissa (x-arvo) juova leikkaa monikulmion reunan tehokkaampaa, jos hyödynnetään koherenssia (so. vierekkäisten juovien samankaltaisuutta): saman reunajanan perättäiset leikkauspisteet juovien kanssa voidaan laskea inkrementaalisesti, kuten janan rasteroinnissa (DD, resenham) kutakin juovaa leikkaa vain osa janoista; likimain sama aktiivinen janajoukko leikkaa myös seuraavaa juovaa (samassa x- järjestyksessä) singulariteettiongelma: montako leikkausta lasketaan, jos pyyhkäisyjuova kulkee monikulmion nurkan kautta? ratkaistaan tarkastelemalla janojen suuntia... Primitiivien toteutus / 10 5

Päällekkäiset monikulmiot: prioriteettijärjestys scan line päällekkäisyysjärjestys eri osissa pyyhkäisyjuovaa: Yleinen koherenssiperiaate: geometristen objektien järjestäminen Y-suunnassa (pyyhkäisyjuovittain) X-suunnassa (kunkin juovan sisällä) P-suunnassa (prioriteetti eli "syvyys") saa aikaan sen, että joudutaan kulloinkin vertailemaan vain pienellä aktiivisella alueella olevia objekteja keskenään. Näitä piilopinta-algoritmeja käsitellään kirjan luvussa 13 Primitiivien toteutus / 11 Flood-fill ja boundary-fill ppletti Primitiivien toteutus / 12 6

Rekursiivinen 4-naapurusto ja 8-naapurusto Reunojen määrittely? Mustetippa-algoritmi void boundaryfill(int x, int y, int fill, int boundary) { int current; } current = getpixel(x, y); if ((current!= boundary) && (current!= fill)) { setolor(fill); setpixel(x, y); boundaryfill(x+1, y, fill, boundary); boundaryfill(x-1, y, fill, boundary); boundaryfill(x, y+1, fill, boundary); boundaryfill(x, y-1, fill, boundary); } Primitiivien toteutus / 13 Pisteen sijainti alueen suhteen Usein tarvitaan tietoa siitä, kuuluuko annettu piste mallin määrittämään alueeseen. Eri esitystavoille voidaan käyttää erilaisia menetelmiä: suoraan sijoittamalla koordinaatit epäyhtälöön esim. piste (2, 3) on 10-säteisen ympyrän sisällä: 2 2 2 + 3 < 10 vertaamalla avaruusjakoon ja luetteloon alueen soluista tutkimalla ovatko pisteen parametrit rajatuilla väleillä edellyttää parametrikuvauksen käänteismuunnosta " 1 f : ( x, y, z)! ( u, v) 2 tutkimalla geometrisesti, onko piste reunan sisä- vai ulkopuolella Primitiivien toteutus / 14 7

Point-in-polygon Odd-even rule, scan-line setetaan ääretön puolisuora tutkittavasta pisteestä lähtien ja lasketaan sen leikkauspisteet alueen reunaviivan (tai pinnan) kanssa. Koska äärettämän kaukana oleva puolisuoran pää on alueen ulkopuolella ja reunan ylitys merkitsee aina siirtymistä joko ulkoa sisään tai sisältä ulos, niin pariton määrä leikkauksia merkitsee pisteen olevan alueen sisällä n=1 n=3 n=4 Primitiivien toteutus / 15 Point-in-polygon Normaalivektorit ristituloilla, vektorien suunnat Ongelmatapaukset itseään leikkaavat tai sulkeutumattomat reunat Primitiivien toteutus / 16 8