TIES471 Reaaliaikainen renderöinti
|
|
- Raimo Lattu
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 TIES471 Reaaliaikainen renderöinti
2 Laskuharjoitus 1 Lataa kirja 3D Math Primer for Graphics and Game development Tee tehtävät 1-10 (9.5 Exercises) kirjan sivulta 146. Palauta tehtävät maanantain 18.4 luennolla. Oikein tehdystä tehtävästä 0.1 lisäpistettä tenttiin (Max. 10*0.1=1) Palauta tehtävät maanantaihin 18.4 mennessä
3 Harjoitustyö vaihe I 1. Esittely *Harjoitustyön lyhyt kuvaus *Sovelluksen ominaisuudet & toiminnallisuudet *Käytettävät aliohjelmakirjastot ja muut valmiit komponentit 2. Alustava komponenttikaavio (UML) 3. Alustava luokkakaavio (UML) Palauta pdf-tiedostona Jarnolle viimeistään maanantaina 11.4
4 4.6 Projektiot Ennen leikkausvaihetta näkymän geometria projisoidaan tasolle tai yksinkertaiseen tilavuuteen. Käytämme projektioiden laskuissa oikean käden koordinaattisysteemiä; kamera osoittaa negatiivisen z-akselin suuntaan, y-akseli ylös ja x-akseli oikealle (OpenGL). Direct3D:ssä käytetään vasemman käden koordinaattisysteemiä; kamera osoittaa z-akselin positiiviseen suuntaan. Ortografista projektiota käytettäessä yhdensuuntaiset suorat säilyvät yhdensuuntaisina. Ortografinen projektio muunnos poistaa yhden ulottuvuuden. Muunnosmatriisi P 0 projisoi geometrian tasolle z=0 : P O = Ortografisessa projektiossa sekä positiiviset ja negatiiviset z-koordinaatit muuntuvat samalle tasolle.
5 4.6 Ortografinen projektio Yleinen tapa tehdä ortografinen projektio, on käyttää kuutta tasoa: oikea, vasen, ala, ylä, etu, taka. Muunnos skaalaa ja siirtää esiteltyjen tasojen muodostaman akselien suuntaisen rajauslaatikon (AABB) kuutioksi origoon (keskipiste 0,0,0). P O = S s T(t) = 2 r l r+l 2 t b 0 0 r l 0 t+b 2 f n t b f+n f n Huom! n > f. OpenGL:n void glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearval, GLdouble farval); ottaa syötteenä n < f ja hoitaa muunnoksen itse negaatiolla. Yksikkökuutiota kutsutaan kanoniseksi kuvasärmiöksi ja koordinaatteja normalisoiduiksi näyttökoordinaateiksi. Projektiomuunnoksen jälkeen geometria leikataan yksikkökuutiolla.
6 4.6 Perspektiiviprojektio Perspektiiviprojektiota käytettäessä renderöity näkymä vastaa enemmän todellisuutta; kauempana sijaitsevat kappaleet näyttävät pienemmiltä. Perspektiiviprojektiota käytettäessä yhdensuuntaiset suorat eivät (yleisesti) säily yhdensuuntaisina; suorat lähenevät toisiaan äärettömyydessä. Katselupiste (kamera) sijaitsee origossa. Piste p projisoidaan tasolle z = -d (d>0), josta saadaan piste q = (qx, qy, -d). Yhdenmuotoisista kolmioista pisteen q komponentti x voidaan esittää : p z z = -d q p q x = d p x p z q x = dp x pz q y = dp x p z q z = d q x p x P p = /d 0
7 4.6 Perspektiiviprojektio Verifioitinti vektorin muunnoksella: P p = /d 0 p x p y p z 1 = p x p y p z p z /d dp x p z dp y p z d 1 Näkymäfrustumi (view frustum) alkaa etutasolta (z=near) ja loppuu takatasoon (z=far). Näkökenttä (field of view) : = 2 arctan ( w (2d) ) missä w = kappaleen leveys kohtisuorassa näköakselin suuntaan, d = etäisyyskappaleeseen
8 4.7 Perspektiivikorjaus Perspektiivikorjausinterpolointi tehdään, jotta saadaan tekstuurit näyttämään oikeilta. Lineaarista interpolointia ei voi käyttää värien ja tekstuurien interpolointiin. Tekstuurien interpolointi toimii, kun tekstuurikoordinaatit jaetaan w- komponentilla; ((u/w),(v/w)). Lopuksi interpoloidut tekstuurikoordinaatit jaetaan interpoloidulla (1/w), jotta saadaan oikea tekstuurin paikka. Tätä kutsutaan hyberboliseksi interpoloinniksi.
9 4.7 Perspektiivikorjaus Esimerkkinä kolmion rasterointi. u i Kolmion verteksi : r = (p i i, 1, v i ), w i, w i w i missä pi =(p ix, p iy, p iz ) paikka prespektiiviprojektion jälkeen, 1/w i esittää w-komponenttia Vaakaviivan pikseli koordinaattien laskenta: r 3 saadaan interpoloimalla r 0 :sta r 1 :seen, r 4 interpoloimalla r 2 :sta r 1 :seen. R 2 = [ p 2, (1/w 2 ), (u 2 /w 2 ), (v 2 /w 2 ) ] R 0 = [ p 0, (1/w 0 ), (u 0 /w 0 ), (v 0 /w 0 ) ] R3 R4 R 1 = [ p 1, (1/w 1 ), (u 1 /w 1 ), (v 1 /w 1 ) ]
10 12 Monikulmiotekniikat (polygon techniques) Monikulmiot voidaan määritellä useissa muodoissa, joten ne voidaan joutua jakaamaan käytännöllisempiin primitiiveihin kuten kolmioihin tai nelikulmioihin; tesselaatio (tessalation). Vakauttaminen (consolidation) on prosessi, joka käsittää monikulmioon liittyvän tiedon yhdistämisen ja linkittämisen, esimerkiksi normaalien ja pinnan materiaalin liittämisen. Kolmioittamisella (triangulation) varmistetaan, että data on kelpaa näytettäväksi ja näyttää näytöllä oikealta. Vakauttaminen parantaa renderönnin tulosta ja yleensä nopeuttaa renderöintiä jaetun laskennan avulla. Optimoinnilla ja yksinkertaistamisella (simplification) nopeutetaan edelleen renderöintiä. Yksinkertaistaminen poistaa turhat monikulmiot.
11 12 Monikulmiotekniikat Tapoja tehdä monikulmiomalli: 1. Kirjoitetaan suoraan geometrian kuvaus. 2. Luodaan geometrinen kuvaus ohjelman avulla; proseduraalinen mallinnus. 3. Muunnetaan toisessa muodossa oleva data (oikeaan) geometriseen muotoon, esimerkiksi molekyylien pinta- tai tilavuusesityksen palloiksi tai sylintereiksi. 4. Luodaan geometria mallinnusohjelmilla 5. Näytteistetään todellinen malli useasta pisteestä, kolmiulotteinen digitalisoija Rekonstruoidaan malli useammasta kuvasta 7. Käytetään 3D-skannausta mallin muodostamiseen Käytetään edellä mainittujen tekniikoiden yhdistämistä. Tekniikoiden tarkoitus on esittää saatu data monikulmiomuodossa.
12 12 Monikulmiotekniikat Mallinnustekniikat voidaan jaotella kiinteä- (solid-based) tai pintaperusteisiin (surface-based) tekniikoihin.
13 12.1 Tesselaatio ja kolmioittaminen Tesselaatio on prosessi, joka pilkkoo pinnan monikulmioiden joukoksi. Yleisesti kaikki grafiikkaprosessorit ja -rajapinnat ovat optimoitu kolmioiden käsittelyyn. Toisin sanoen kolmiot ovat atomisia yksiköitä, joista renderöitävät pinnat muodostetaan. Kompleksisen monikulmion muuntamista kolmioiksi kutsutaan kolmioittamiseksi (triangulation). Renderöijä voi käsitellä vain konvekseja monikulmioita. Tällaisessa tapauksessa tesselaatiota kutsutaan konveksipilkonnaksi. Pinta voidaan joutua pilkkomaan, jotta saadaan tallennettua esimerkiksi varjon vaikutus kussakin verteksissä tai sisäiset heijastukset käyttämällä radianssin siirtotekniikoita.
14 12.1 Tesselaatio ja kolmioittaminen Tessaloimaton, konveksoitu, kolmioitettu ja yhtenäisesti tessaloitu Ensimmäinen vaihe pinta-tesselaatiossa on tutkia kuinka monikulmio projisoituu kaksi-ulotteiseksi. Tämän tiedon perusteella prosessi yksinkertaistuu kuten myös käytettävät algoritmit. Yksi menetelmä on projisoida monikulmio tasolle xy, yz, ja xz. Riippuen tuloksesta mahdollisesti yksi dimensio (x,y tai z) voidaan vähentää. Paras taso on yleensä monikulmio, jonka projisoitu ala on suurin. Projektion alan laskennan sijasta voidaan yksinkertaisesti jättää pois koordinaatti, jolla on suurin paino monikulmion normaalissa. Esimerkiksi koordinaatti (-7,2,4); jätetään x pois.
15 12.1 Tesselaatio ja kolmioittaminen Ongelman projisoinnin ja normaalin käyttöön aiheuttaa nelikulmio; tiimalasi tai rusetti monikulmio (mallinnusvirhe). [kirja] Ratkaisuna käytetään esimerkiksi Newelsin kaavaa: lasketaan kolmesta projisoidusta alueesta lasketaan keskiarvo taso, josta muodostetaan normaali; x=yz, xz=y ja xy=z. Yksikertainen kolmioittamisalgoritmi on muodostaa viivasegmentti, minkä tahansa kahden verteksin välillä ja tutkia leikkaako se monikulmion sivuja tai onko se päällekäin jonkun sivun kanssa. Mikäli testi on positiivinen, viivasegmenttiä ei voida käyttää monikulmion lohkomiseen. Muussa tapauksessa lohkaistaan monikulmio sekmentin suhteen ja jatketaan.
16 12.1 Tesselaatio ja kolmioittaminen Tehokkaampi kolmioittamisalgoritmi on "korvien leikkaus" (ear clipping); vaativuus O(n 2 ). Ensimmäisessä vaiheessa etsitään monikulmion korvat yhdistämällä kolmen peräkkäisen verteksin ensimmäinen ja kolmas verteksi viivasekmentillä. Mikäli viivasekmentti leikkaa monikulmiota on kysymyksessä "korva", joka leikataan pois. Prosessia jatketaan, kunnes korvia ei enää löydy. Monimutkaisemmat kolmioittamisalgoritmien vaativuus on O(n log n). Tesselaatio ja kolmioittaminen ovat laskennallisen geometrian paljon tutkittuja alueita.
17 12.1 Tesselaatio ja kolmioittaminen Yksi tapa ohittaa kolmioittaminen on renderöidä kompleksi monikulmio suoraan grafiikkaprosessorilla. Ideana on, että oikeasti näkyvät pikselit piirretään parittomilla kerroilla. Reiät ja koverat kohdat piirretään parillisilla kerroilla. Algoritmi: Monikulmio renderöidään kolmioviuhkana (triangle fan) stensiilipuskuriin. Stensiilipuskuria käytetään käänteismoodissa, jolloin täytetyt alueet merkitään ensimmäisessä vaiheessa (first pass). Toisessa vaiheessa (second pass) kolmioviuhka renderöidään uudelleen normaalissa stensiilipuskurimoodissa, jolloin renderöidään ainoastaan täytetyt alueet. Menetelmän etuna on ettei kolmioitusta tarvitse suorittaa olenkaan, mutta haittana on että monikulmiot pitää piirtää kaksi kertaa ja stensiilipuskuri pitää tyhjätä joka kuvakehyksellä.
18 Varjostusongelmat Katso kirja [537] Reunojen murtumat ja T-verteksit (Edge Cracking and T-Vertices) Katso kirja [539]
19 12.2 Vakauttaminen (consolidation) Tesselaation jälkeen on järkevä tarkastaa muodostettujen monikulmioiden oikeellisuus: Onko verteksilistassa peräkkäin identtisiä verteksejä? Onko monikulmiossa vähintään kolme uniikkia verteksiä? Yhdistämisoperaatio (merging) etsii yhteiset verteksit monikulmioiden välillä. Suuntausoperaatiolla (orientation) pinnan muodostavien monikulmioiden sivut suunnataan samaan suuntaan. Suuntausoperaation jälkeen tutkitaan muodostaako monikulmioverkko kiinteän pinnan. Reunatunnistuksella etsitään graafisesti merkittäviä reunoja. Operaation liitetään yleensä verteksien normaalien muodostus, jolla saadaan pinta näyttämään sulavalta.
20 Yhdistäminen (merging) Geometrinen data voi olla joskus hajallaan ja monikulmioita ei ole liitetty toisiinsa mitenkään. Erillisten monikulmioiden tallennus on ajanhukkaa ja niiden renderöinti on hyvin tehotonta. Tästä syystä erilliset monikulmiot yhdistetään yhdeksi monikulmioverkoksi (mesh). Yksinkertaisimmillaan monikulmioverkko on lista verteksejä ja ääriviivoja. Jokaisella verteksillä on paikka ja siihen liittyviä tietoja kuten diffuusi- ja heijastusväri, (varjostus)normaali, tekstuurikoordinaatit jne. Jokaisella monikulmion ääriviivalla (outline) on indeksi 0 -> n-1, missä n on verteksien määrä. Jokainen verteksi voidaan tallentaa vain kerran ja se voidaan jakaa usean monikulmion kanssa. Kolmioverkko (triangle mesh) on monikulmioverkko, joka sisältää vain kolmioita.
21 Yhdistäminen Yksinkertaisin tapa tehdä yhdistäminen on hajautus (hashing). Algoritmi: aluksi verteksi-indeksi alustetaan nollaksi. Jokaisen monikulmion verteksit tallennetaan hajautus-tauluun. Verteksi ja sen indeksi tallennetaan hajautustauluun, jos se ei vielä ole siinä. Samalla indeksiä kasvatetaan ja verteksi tallennetaan lopulliseen verteksilistaan. Mikäli verteksi on jo hajautustaulussa, haetaan sen indeksi ja tallentaan monikulmio indekseineen. Monikulmion sivujen orientaatio voi olla aiheuttaa ongelmia riippuen mallin datasta. Normaalisti CAD-mallinnuksessa verteksit etenevät monikulmion ääriviivoissa vastapäivään katsotaessa sivua ulkoapäin. Kysymyksessä on oikean käden orientaatio, joka ei riipu käytettävästä näkymän tai mallin orientaatiosta.
22 Suuntaaminen (orientation) Tietyissä tilanteissa on välttämätöntä varmistaa, että pinta voidaan onnistuneesti suunnata. Jokainen monikulmion sivu tulisi jakaa enintään kahden monikulmion kesken monikulmioverkossa. Yksi lähestymistapa monikulmion suuntaukseen: 1. Muodostetaan sivu-pinta (edge-face) rakenteet kaikille monikulmioille. 2. Järjestetään tai hajautetaan (hash) sivut, jotta löydetään peräkkäiset sivut. 3. Etsitään monikulmioryhmät, jotka koskettavat toisiaan. 4. Käännetään ryhmien pinnat yhdenmukaisen rakenteen saavuttamiseksi. Ensimmäisessä askeleessa luodaan puoli-sivut (half-edge). Puoli-sivu on monikulmion sivu, jossa on osoitin monikulmion pintaan (face). Koska sivu on yleensä jaettu kahden monikulmion kesken, puhutaan puolisivusta. Puoli-sivu muodostetaan tallentamalla verteksit järjestyksessä. Järjestyksen perustana on vektorikomponenttien suuruus järjestyksessä x (1.), y (2.) ja z (3.). Nyt tarkoituksena on löytää sivut, jotka ovat identtisiä. Haku onnistuu helposti hajautustaulusta, kun verteksit on järjestetty vektorikomponenttien mukaan.
23 Suuntaaminen Nyt tarkoituksena on löytää sivut, jotka ovat identtisiä. Haku onnistuu järjestetystä listasta, koska permutaatioita ei tarvitse huomioida. Hajautustaulua käytetään yhteensopivien sivujen hakuun. Mikäli kaikki verteksit ovat aiemmin liitetty yhteen niin että puolisivut käyttävät samoja indeksejä, voidaan yhteensopiva puolisivu tallentaa väliaikaiseen listaan. Puolisivuun liitetään tieto sen ensimmäisestä verteksistä. Liitokset vierekkäisten monikulmioiden välillä tiedetään, kun sivut on saatu yhteensovitettua. Saadaan muodostettua vierekkäisyysgraafi (adjacency graph), jossa esitetään listana kolmiot ja niihin liitetyt indeksit. Mikä tahansa sivu, jolla ei ole kahta naapuri monikulmiota on ns. rajasivu (boundary edge). Toisiinsa koskettava monikulmiot muodostavat jatkuvan ryhmän (continuoes group).
24 Suuntaaminen Seuraavaksi säädetään monikulmioverkon suuntauksen yhdenmukaisuus; jokaisen monikulmion ääriviivojen tulisi olla vastanpäivään suunnattuja. Jokaisesta monikulmioryhmästä valitaan sattumanvaraisesti monikulmio, josta aloitetaan. Monikulmion naapureiden orientaatiot tarkastetaan seuraavasti: mikäli sivun (edge) läpikäyntisuunta on sama molemmissa monikulmioissa pitää naapuri monikulmio kääntää (flip). Rekursiivisesti käydään läpi naapurin naapurit kunnes kaikki jatkuvat ryhmät on testattu kerran.
25 Suuntaaminen Osa monikulmion pinnoista saattaa olla suunnattuna sisäänpäin. Etumerkillisellä tilavuustestillä tarkastetaan pinnan orientaatio. Tilavuustesti tehdään monikulmioryhmälle. Algoritmi: ensin lasketaan ryhmän rajaussärmiön keskipiste. Vetämällä viivat rajaustilavuuden keskipisteestä monikulmion kärkipisteisiin muodostuu tetraedi (tapaus kolmio), jonka tilavuus lasketaan. Jos tilavuus on negatiivinen monikulmion sivujen järjestys ja normaali käännetään. Tapauksessa, jossa kappale ei ole kiinteä vaan pelkästään pinnan kuvaus, on mahdollista että orientaatio on edelleen vääriin. Tarvitaan tekijän manuaalinen tarkastus.
26 Kolmiorakenteet Grafiikkaprosessorin kuormaa voidaan vähentää lähettämällä liukuhihnalle kolmioryhmiä, jotka jakavat verteksejä mahdollisimman paljon keskenään, jolloin vähemmän verteksejä ja normaaleja pitää muuntaa, vähemmän leikkauksia tarvitsee suorittaa, valaistuksen vaikutuksen laskeminen vähenee... Kolmioviuhka: Kolmioliuska: Kirja [547]
27 12.4 Verteksi- ja indeksipuskurit Grafiikkarajapintojen verteksipuskurikutsut ovat tehokas tapa toimittaa mallin data grafiikkaprosessorille. Verteksipuskuri on jatkuva muistialue, johon verteksidata tallennetaan. Verteksipuskurin tietorakenne on taulukko, johon on tallennettu verteksiin liittyvät tiedot: diffuusi- tai heijastusvärejä, normaali, tekstuurikoordinaatteja jne. Yhden verteksin muistin varauskokoa tavuina sanotaan "loikaksi" (stride). Vaihtoehtoisesti voidaan käyttää verteksivirtoja (vertex stream). Useampia verteksivirtoja voidaan käyttää säästämään tilaa ja siirtoaikaa. Yhteen virtaan ("striimiin") tallennetaan taulukko verteksien paikoista ja toiseen normaalit. Käytännössä nykyisillä grafiikkaprosessoreilla on tehokkainta käyttää yhtä verteksipuskuria.
28 12.4 Verteksi- ja indeksipuskurit Verteksidata voidaan käsitellä: 1. Yksittäisten pisteiden listana 2. Erillisinä viivasegmentteinä (verteksipareina) 3. Yksittäisenä murtoviivana (polyline) 4. Kolmiolistana (triangle list) 5. Kolmioviuhkana (triangle fan) 6. Kolmioliuskana (triangle strip) DirectX 10:ssä kolmioihin voidaan liittää rinnakkaisia kolmio verteksejä, joita voidaan hyödyntää geometriavarjostimella. Katso kirjan kuvat [559].
29 12.4 Verteksi- ja indeksipuskurit Grafiikkaprosessorille siirrettävän ja tallennettavan datan määrä on usein pienempi, kun käytetään indeksipuskuria. Hyöty verteksien jakamisesta käytettäessä indeksipuskuria on huomattavasti suurempi kuin indeksipuskurista aiheutuva pieni ns. ylikäyttö (overhead). Indeksipuskuri voi sisältää erillisiä kolmioita tai kolmioliuskoja (tristrip), jotka ovat tikattu yhteen jaetuille vertekseillä. Yksi strategia on etsiä kolmioille järjestys, jotta voidaan hyödyntää välimuistia (cache). Sääntö: kolmioliuskat, joissa on keskimäärin kaksi tai enemmän kolmiota vie vähemmän tilaa kuin indeksoitu kolmiolista. Verteksien tallennuksen optimoinnin pääasiallinen tarkoitus on renderöintinopeuden parantaminen, ei niinkään tallennuksen (tilan) optimointi.
30 12.4 Verteksi- ja indeksipuskurit Esimerkki: Mallinnusohjelmassa kuution kahdeksan kulmapistettä tallennetaan taulukkoon, sen kuusi normaalia ja sivujen määrämiseen kuusi indeksisilmukkaa toiseen taulukkoon. Grafiikkaprosessorilla tallennetaan 24 verteksiä. Jokaisella kuution kulmapisteellä on kolme normaalia riippuen sivusta. Indeksipuskuriin tallennetaan 12 kolmioita, joilla määritellään kuution pinnat (2*6). Varjostinmallissa 4.0 (shader model) voi tulostaa prosessoituja verteksejä uuteen puskuriin, mikä mahdollistaa joustavan tavan käyttää verteksipuskureita. Esimerkki: ensimmäisessä vaiheessa (pass) verteksipuskuriin määritelty kolmioverkko käsitellään yhtenä sarjana pisteitä. Verteksivarjostin laskee vertekseille halutut operaatiot ja tulostaa tulokset uuteen verteksipuskuriin. Seuraavassa vaiheessa uusi verteksipuskuri linkitetään alkuperäiseen indeksipuskuriin kuvaamaan kolmioverkon liitoksia, joita voidaan hyödyntää jatkoprosessoinnissa.
31 13 Käyrät ja kaarevat pinnat Käyrät ja kaarevat pinnat voidaan kuvata tarkasti matemaattisilla yhtälöillä. Yhtälöiden laskentatuloksista muodostetaan kolmiot, jotka renderöidään grafiikkaliukuhihnalla. Hyödyt ja erinomaisuudet: 1. Huomattavasti kompaktimpi esitystapa kuin monikulmioilla. 2. Tarjoavat skaalautuvat geometriset primitiivit. 3. Tarjoavat sulavammat ja jatkuvammat primitiivit kuin suorat viivat ja tasomaiset monikulmiot. 4. Animointi ja törmäystarkastelu on helpompaa ja nopeampaa. 5. Yleensä kaarevien pintojen transformointi vaatii vähemmän matriisioperaatioita kuin vastaavan monikulmioverkon. 6. Tietokoneen suorittimelta (CPU) grafiikkaprosessorille (GPU) lähetettävän tiedon määrä on huomattavasti pienempi, mikäli grafiikkaprosessori pystyy ottamaan vastaan kaarevan pinnan määrittelyn suoraan.
32 13.1 Parametrisoidut käyrät Reaaliaikaisessa grafiikassa parametrisoituja käyriä käytetään yleensä liikuttamaan katsojaa tai kappaletta tiettyä ennaltamäärättyä polkua pitkin. Muita käyttöjä esimerkiksi hiusten renderöinti [kirja 577]. Lineaarinen interpolointi kahden pisteen välillä tuottaa suoran viivan (jana). Yhtälö kuvaa interpoloidun pisteen p(t): p t = p 0 + t p 1 p 0 = 1 t p 0 + tp 1 missä t on käyrän parametri [0,1]. Esimerkiksi, jos haluamme liikuttaa kameraa pisteiden p 0 ja p 1 välillä 20 askelta sekunnin aikana: t i = i/20, i on kuvakehyksen indeksi. Lineaarinen interpolointi toimii hyvin kahden pisteen välillä, mutta useamman pisteen kanssa tulee ongelmia.
33 13.1 Parametrisoidut käyrät Ratkaisuna on toistaa lineaarista interpolointia, jolloin saadaan muodostettu Bezier (beh-zee-eh) käyrän geometrinen määrittely. Ensin pitää lisätä pisteitä, jotta voidaan toistaa interpolointi. Lisätään kolme kontrollipistettä a, b ja c. Lasketaan p(1/3); t=1/3. Lasketaan uudet pisteet d ja e lineaarisesti interpoloimalla a:sta b:hen ja b:stä c:hen. Lopuksi lasketaan f lineaarisesti interpoloimalla d:stä e:hen; p(t) = f. Muodostuu yhteys: p t = 1 1 d + te = 1 t 1 t a + tb + t (1 t)b + tc = 1 t 2 a t tb + t 2 c Saadaan paraabeli, jonka asteluku on kaksi. Käyrän asteluku riippuu kontrollipisteistä, jos n + 1 kontrollipistettä käyrän aste on n. Toisin sanoen kontrollipisteiden lisääminen kasvattaa käyrän vapausasteita; neliöllinen, kuutiollinen,... Katso kirja [578].
34 13.1 Parametrisoidut käyrät Toistettavaa (rekursiivinen) lineaarinen interpolointia kutsutaan Casteljaun algoritmiksi. Yleistetään määritelmä: kontrollipiste merkitään p i (p 1, p 2, p 3,..). Lineaarinen interpolointi toistetaan k kertaa, jolloin saadaan "välipisteet p i k. Bezier käyrä n + 1 kontrollipisteelle esitetään: p k i t = 1 t p k 1 i t + tp k 1 i+1 t, missä k = 1.. n, i = 0.. n k
35 13.1 Parametrisoidut käyrät Grafiikkaprosessorilla voidaan toteuttaa mm. "rajattuja" bezier käyriä (bounded Bezier curves), joissa alue kontrollipisteiden välillä olevan suoran ja käyrän piirretään. Tehtävä onnistuu käyttämällä pikselivarjostinta kolmiorenderöinnissä. Käytetään neliöllistä Bezier-käyrää kolmella kontrollipisteellä. Asetetaan verteksien kolme tekstuurikoordinaatia (t 0,t 1,t 2 ). Renderöitäessä tekstuurikoordinaatit interpoloidaan kolmion (p 0,p 1,p 2 ) yli. Samalla lasketaan skalaarifunktio kolmion sisällä jokaiselle pikselille, missä u ja v ovat interpoloidut tekstuurikoordinaatit: f u, v = u 2 v Pikselivarjostin tunnistaa onko pikseli alueen sisällä (f(u,v) < 0), muussa tapauksessa ollaan ulkona. Jos käytetään perspektiiviprojektiota saadaan projisoitu Bezier käyrä.
36 13.2 Parametrisoidut kaarevat pinnat Parametrisoituja pintoja voidaan käyttää mallintamaan kappaleiden kaarevia pintoja. Parametrisoitu pinta määritellään kontrollipisteiden joukolla. Parametrisoidun pinnan tesselaatiossa lasketaan pinnan esitys useassa pisteessä ja muodostetaan esityksestä kolmiot, jotka approksimoivat todellista pintaa. Tämä on mahdollista, koska grafiikkaprosessori renderöi tehokkaasti kolmioita. Pinta voidaan tesseloida ajonaikana halutuksi määräksi kolmioita. Kolmioiden määrä kasvattaa luonnollisesti laatua, mutta nopeus kärsii [DirectX esimerkki].
37 Bezier tilkut (bezier patches) Grafiikkaprosessorilla voidaan toteuttaa mm. "rajattuja" bezier käyriä (bounded Bezier curves), joissa alue kontrollipisteiden välillä olevan suoran ja käyrän piirretään. Tehtävä onnistuu käyttämällä pikselivarjostinta kolmiorenderöinnissä. Lineaarinen interpolointi laajennetaan bi-lineaariseksi interpoloinniksi; kahden pisteen sijasta käytetään neljää pistettä (a,b,c,d) ja yhden parametrin t sijasta käytetään kahta parametria (u,v). Käytettäessä u parametria lineaariseen interpolointii a:sta b:hen ja c:stä d:hen saadaan e ja f: e = 1 u a + ub f = 1 u c + ud Seuraavaksi pisteet e ja f lineaarisesti interpoloidaan toiseen suuntaan käyttämällä parametria v: p u, v = 1 v e + vf = 1 u 1 v a + u 1 v b + 1 u vc + uvd
38 Bezier tilkut (bezier patches) p u, v = 1 v e + vf = 1 u 1 v a + u 1 v b + 1 u vc + uvd Yhtälö kuvaa yksinkertaisimman ei-tasomaisen parametrisoidun pinnan, jossa pinnan pisteet generoidaan eri u:n ja v:n arvoilla. Mikäli u:n ja v:n raja-arvot rajaavat suorakulmaisen särmiön (esim. [0,1] x [0,1]) on kysymyksessä tilkku. Laajennettaessa bezier tilkun interpolointia, lisätään pisteitä kuten käyrän tapauksessa. Käytetään esimerkiksi 3 x 3 hilaa (9 pistettä) muodostamaan bineliöllinen bezier-tilkku. Ensin bi-lineaarisesti interpoloidaan neljä kertaa ja tuloksena saadaan välipisteet. Sitten bi-lineaarisesti interpoloidaan kyseiset pisteet.
39 Bezier tilkut (bezier patches) Toistettu bi-lineaarinen interpolointi on de Casteljau's algoritmin laajennus tilkuille. Pinnan aste on n. Kontrollipisteet määritellään p i,j, missä i ja j [0..n]. Yhtälöksi saadaan: p k i,j u, v = 1 u 1 v p k 1 i,j + u 1 v p k 1 i,j u vp k 1 i+1,j k 1 + uvp i+1,j+1 Bernstein polynomien avulla: p u, v = B i m (u) = m n i=0 j=0 m i=0 m i n j missä k = 1.. n, i = 0.. n k, j = 0.. n k n j=0 B j n v p i,j = m n i=0 j=0 u i 1 u m i v j 1 u n j p i,j B i m u B j n v p i,j missä pinnan vapausasteelle on kaksi parametria m ja n; käytetään myös yhdistettä m x n.
40 13.X Kirjan topiikkeja Bezier kolmiot (bezier triangles) N-tilkut (N-patches) Jatkuvuus (continuity) Implisiittiset pinnat (implicit surfaces) Käyrien ositus (subdivision curves) Pintoja ositus (subdivision surfaces) Silmukoitu ositus (loop subdivision)
41 13.6 Tehokas tesselaatio Kaarevasta pinnasta luodaan (normaalisti) kolmioverkko reaaliaikaisessa renderöinnissä.prosessia kutsutaan tessalaatioksi. Yksinkertaisin tesselaatio on yhdenmukainen tesselaatio. Esimerkki: Bezier-tilkuista muodostettu pinta tesseloidaan: 11 pistettä per tilkun puoli tekee 10 x 10 x 2 = 200 kolmiota. Näytteistetään uv-avaruudesta yhdenmukaisesti. Lasketaan p(u,v) kaikille (u k,v l ) = (0.1k,0.1l). missä k ja l ovat kokonaislukuja [0..10]. Tämä voidaan suorittaa sisäkkäisillä for-silmukoilla. Kolmiot muodostetaan neljään pinnan pisteeseen p(u k,v l ),p(u k +1),p(u k +1,v l +1) ja p(u k,v l +1). Sen sijaan, että tesseloidut pinnat kolmioineen lähetetään grafiikkaprosessorin liukuhihnalle, on järkevämpää lähettää kaarevan pinnan esitys grafiikkaprosessorille ja hoitaa datan laajennus siellä.
42 13.6 Tehokas tesselaatio GPU:n tesselaattori käyttää murtotesselaatio tekniikkaa, joka hajottaa kolmion tai nelikulmion useaksi kolmioksi tai nelikulmioksi. Itsenäisiä murtotesselointi kertoimia voidaan käyttää parametrisoidun pinnan reunoilla mahdollistamaan jatkuvan tarkkuuden tason menetelmät ja näin pop-efektin välttäminen. Kun tesselaatio on suoritettu verteksit ohjataan verteksivarjostimelle. Verteksivarjostimella voidaan laskea Bezier-kolmiot, jotta saadaan sulava kaareva pinta.
43
44
45 Adaptiivinen tesselaatio Yhdenmukainen (tasainen) tesselaatio antaa hyvän tuloksen, jos näytteistystaajuus on riittävä. Tesselaation tarve on kuitenkin paikka riippuvainen. Kohdissa, joissa pinta taipuu tarvitaan korkeampaa tesselaatiota, kun vastaavasti tasaisilla pinnoilla ei ole tarvetta. Adaptiivisen tesselaation algoritmit adaptoivat tesselaation perustuen johonkin mittaan; esimerkiksi kaarevuuteen, kolmion sivun pituuteen tai johonkin näyttökehyksen mittaan.
46 Vokseli (voxel) Vokseli on säännöllisen kolmiulotteisen hilan alkio. Wikipedia: Vokseli (engl. voxel, sanoista volumetric pixel) on pikselin kolmiulotteinen vastine, kolmiulotteisen kuvamatriisin kuva-alkio. 3D vokseli-grafiikan käsittely on raskasta, koska kuva-alueen vokselien lukumäärä on verrannollinen kuvaresoluution kuutioon. Vokseleita sovelletaan mm. tietokonetomografiassa ja magneettikuvauksessa. Vokseleina esitetty malli (kappale) voidaan "renderöidä" suoraan tilavuus renderöinnillä tai erottamalla vokselin monikulmiopinnat korkeuskäyrien perusteella.
47 This new GI technology uses a voxel grid to store scene and lighting information, and a novel voxel cone tracing process to gather indirect lighting from the voxel grid.
Tilanhallintatekniikat
Tilanhallintatekniikat 3D grafiikkamoottoreissa Moottori on projektin osa joka vastaa tiettyjen toiminnallisuuksien hallinnasta hallitsee kaikki vastuualueen datat suorittaa kaikki tehtäväalueen toiminnot
LisätiedotT-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011
T-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011 Vastaa kolmeen tehtävistä 1-4 ja tehtävään 5. 1. Selitä lyhyesti mitä seuraavat termit tarkoittavat tai minkä ongelman algoritmi ratkaisee
LisätiedotLuku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat
2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat 2D-piirto 2-ulotteisen grafiikan piirto perustuu yleensä valmiiden kuvien kopioimiseen näyttömuistiin (blitting)
LisätiedotLuento 3: 3D katselu. Sisältö
Tietokonegrafiikan perusteet T-.43 3 op Luento 3: 3D katselu Lauri Savioja Janne Kontkanen /27 3D katselu / Sisältö Kertaus: koordinaattimuunnokset ja homogeeniset koordinaatit Näkymänmuodostus Kameran
LisätiedotLuento 6: Geometrinen mallinnus
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Geometrinen mallinnus Lauri Savioja, Janne Kontkanen 11/2007 Geometrinen mallinnus / 1 Sisältö Mitä on geometrinen mallinnus tietokonegrafiikassa
LisätiedotTampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus
Tampereen yliopisto Tietokonegrafiikka 201 Tietojenkäsittelytiede Harjoitus 6 1..201 1. Tarkastellaan Gouraudin sävytysmallia. Olkoon annettuna kolmio ABC, missä A = (0,0,0), B = (2,0,0) ja C = (1,2,0)
Lisätiedot3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä
3D animaatio: liikekäyrät ja interpolointi Tommi Tykkälä Läpivienti Keyframe-animaatio Lineaarisesta interpoloinnista TCB-splineihin Bezier-käyrät Rotaatioiden interpolointi Kameran animointi Skenegraafit
Lisätiedot9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa
9. Vektorit 9.1 Skalaarit ja vektorit Skalaari on koon tai määrän mitta. Tyypillinen esimerkki skalaarista on massa. Lukumäärä on toinen hyvä esimerkki skalaarista. Vektorilla on taas suuruus ja suunta.
Lisätiedot4. Esittäminen ja visualisointi (renderöinti)
4. Esittäminen ja visualisointi (renderöinti) Tutkitaan erilaisia renderöintimenetelmiä, joita käytetään luvuissa 2 ja 3 esitettyjen kuvien esitysmuotojen visualisointiin. Seuraavassa selvitetään: (1)
LisätiedotTietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014
Tietokonegrafiikka Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014 1. Sovellusalueita 2. Rasterigrafiikkaa 3. Vektorigrafiikkaa 4. 3D-grafiikkaa 1. Säteenheitto
LisätiedotMATEMATIIKKA 5 VIIKKOTUNTIA
EB-TUTKINTO 2010 MATEMATIIKKA 5 VIIKKOTUNTIA PÄIVÄMÄÄRÄ: 4. kesäkuuta 2010 KOKEEN KESTO: 4 tuntia (240 minuuttia) SALLITUT APUVÄLINEET: Eurooppa-koulun antama taulukkovihkonen Funktiolaskin, joka ei saa
LisätiedotLuento 6: Piilopinnat ja Näkyvyys
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Piilopinnat ja Näkyvyys Janne Kontkanen Geometrinen mallinnus / 1 Johdanto Piilopintojen poisto-ongelma Syntyy kuvattaessa 3-ulotteista maailmaa 2-ulotteisella
LisätiedotLuento 2: Tulostusprimitiivit
Tietokonegrafiikan perusteet T-111.4300 3 op Luento : Tulostusprimitiivit Lauri Savioja 11/06 D primitiivit / 1 Sisältö Mallintamisen alkeita Perusprimitiivit (GKS) attribuutteineen Näyttömuisti D primitiivit
LisätiedotSolmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:
Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman
LisätiedotVisualisoinnin perusteet
1 / 12 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Visualisoinnin perusteet Mitä on renderöinti? 2 / 12 3D-mallista voidaan generoida näkymiä tietokoneen avulla. Yleensä perspektiivikuva Valon
LisätiedotTaso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora
Taso 1/5 Sisältö Taso geometrisena peruskäsitteenä Kolmiulotteisen alkeisgeometrian peruskäsitteisiin kuuluu taso pisteen ja suoran lisäksi. Intuitiivisesti sitä voidaan ajatella joka suunnassa äärettömyyteen
LisätiedotT-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka
Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Timo Tossavainen Mediatekniikan laitos, Aalto-yliopiston perustieteiden korkeakoulu Timo.Tossavainen@tkk.fi 25.3.2011 Sisältö Historiaa
LisätiedotPintoja kuvaavien verkkojen muodostaminen ja optimointi. Antti Seppälä
Pintoja kuvaavien verkkojen muodostaminen ja optimointi Antti Seppälä Tampereen yliopisto Tietojenkäsittelytieteiden laitos Pro gradu -tutkielma Joulukuu 2001 Tampereen yliopisto Tietojenkäsittelytieteiden
LisätiedotMS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 7: Pintaintegraali ja vuointegraali
MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 7: Pintaintegraali ja vuointegraali Antti Rasila Aalto-yliopisto Syksy 2015 Antti Rasila (Aalto-yliopisto) MS-A0305 Syksy 2015 1 / 24 Mikä on pinta?
LisätiedotKoordinaatistot 1/6 Sisältö ESITIEDOT: reaaliluvut
Koordinaatistot 1/6 Sisältö Koordinaatiston ja koordinaattien käsite Geometrisissa tehtävissä ja siten mös monissa kätännön ongelmissa on usein tarpeen ilmoittaa pisteiden sijainti jonkin kiinteän vertailussteemin
LisätiedotLuento 2: 2D Katselu. Sisältö
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 2: 2D Katselu Lauri Savioja 11/07 2D katselu / 1 Sisältö Ikkuna ja näyttöalue Viivanleikkaus ikkunaan Monikulmion leikkaus ikkunaan Tekstin leikkaus
LisätiedotLuku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
Lisätiedot11. Tilavuusrenderöinti
11. Tilavuusrenderöinti Tilavuusrenderöinti tarkoittaa vokseliperusteisen datan käsittelyä tai visualisointia. Luvussa 2 esitettiin vokselien merkintään perustuvia tiedonesitysmenetelmiä. Suuret homogeeniset
Lisätiedotz 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2
BM20A5700 - Integraauunnokset Harjoitus 2 1. Laske seuraavat raja-arvot. -kohta ratkeaa, kun pistät sekä yläkerran että alakerran muotoon (z z 1 )(z z 2 ), missä siis z 1 ja z 2 ovat näiden lausekkeiden
LisätiedotPitkä matematiikka Suullinen kuulustelu (ma00s001.doc) Tehtävät, jotka on merkitty (V), ovat vaativia.
Pitkä matematiikka Suullinen kuulustelu (ma00s00doc) Tehtävät, jotka on merkitty (V), ovat vaativia Yleistä Ratkaise yhtälöt n n n n n 5 a) 5 + 5 + 5 + 5 + 5 = 5 b) ( ) ( ) > 0 + = + c) ( ) Suureet ja
LisätiedotSuora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste
Suora 1/5 Sisältö KATSO MYÖS:, vektorialgebra, geometriset probleemat, taso Suora geometrisena peruskäsitteenä Pisteen ohella suora on geometrinen peruskäsite, jota varsinaisesti ei määritellä. Alkeisgeometriassa
LisätiedotMatematiikka vuosiluokat 7 9
Matematiikka vuosiluokat 7 9 Matematiikan opetuksen ydintehtävänä on tarjota oppilaille mahdollisuus hankkia sellaiset matemaattiset taidot, jotka antavat valmiuksia selviytyä jokapäiväisissä toiminnoissa
LisätiedotTIES471 Reaaliaikainen renderöinti
TIES471 Reaaliaikainen renderöinti 5.1 Valonlähteet Yksinkertaisin valolähde on pistemäinen valo (point light), joka säteilee joka suuntaan annetulla voimakkuudella ja värillä. Suunnattu valo (directional
LisätiedotTOMI LAMMINSAARI 3D-MAAILMAN KAMERAN OHJAAMINEN KASVOJEN PAIKANNUKSEN AVULLA. Diplomityö
TOMI LAMMINSAARI 3D-MAAILMAN KAMERAN OHJAAMINEN KASVOJEN PAIKANNUKSEN AVULLA Diplomityö Tarkastaja: Tommi Mikkonen Aihe, tarkastaja ja kieli hyväksytty Tieto- ja sähkötekniikan tiedekunnan tiedekuntaneuvoston
LisätiedotTampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus
Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus 2 7.2.2013 1. Matematiikan lukiokurssissa on esitetty, että ylöspäin aukeavan paraabelin f(x) = ax 2 +bx+c,a > 0,minimikohtasaadaan,kunf
LisätiedotNÄKYMÄNHALLINTATEKNIIKAT 3D- GRAFIIKKAMOOTTOREISSA
Jarno Kansanaho NÄKYMÄNHALLINTATEKNIIKAT 3D- GRAFIIKKAMOOTTOREISSA Tietotekniikan pro gradu -tutkielma Ohjelmistotekniikan linja 30.12.2011 Jyväskylän yliopisto Tietotekniikan laitos Tekijä: Jarno Kansanaho
LisätiedotPreliminäärikoe Tehtävät Pitkä matematiikka 4.2.2014 1 / 3
Preliminäärikoe Tehtävät Pitkä matematiikka / Kokeessa saa vastata enintään kymmeneen tehtävään Tähdellä (* merkittyjen tehtävien maksimipistemäärä on 9, muiden tehtävien maksimipistemäärä on 6 Jos tehtävässä
Lisätiedot235. 236. 237. 238. 239. 240. 241. 8. Sovellutuksia. 8.1. Pinta-alan ja tilavuuden laskeminen. 8.2. Keskiö ja hitausmomentti
8. Sovellutuksia 8.1. Pinta-alan ja tilavuuden laskeminen 235. Laske sen kappaleen tilavuus, jota rajoittavat pinnat z = xy, x = y 2, z = 0, x = 1. (Kappale sijaitsee oktantissa x 0, y 0, z 0.) 1/6. 236.
LisätiedotRiemannin pintojen visualisoinnista
Riemannin pintojen visualisoinnista eli Funktioiden R R kuvaajat Simo K. Kivelä 7.7.6 Tarkastelun kohteena olkoon kompleksimuuttujan kompleksiarvoinen funktio f : C C, f(z) = w eli f(x + iy) = u(x, y)
LisätiedotMonikulmiot 1/5 Sisältö ESITIEDOT: kolmio
Monikulmiot 1/5 Sisältö Monikulmio Monikulmioksi kutsutaan tasokuviota, jota rajaa perättäisten janojen muodostama monikulmion piiri. Janat ovat monikulmion sivuja, niiden päätepisteet monikulmion kärkipisteitä.
Lisätiedot2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys
.. Kohteiden konstruktiivinen avaruusgeometrinen esitys Avaruusgeometrinen esitys on käyttäjäriippuvainen ja vaati erikoismenetelmiä tai lopuksi konversion monikulmiomalliksi. Se on korkean tason esitys
LisätiedotJYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö
JYVÄSKYLÄN YLIOPISTO 3. Luennon sisältö Lineaarisen optimointitehtävän sallittu alue Optimointitehtävien muunnoksia Lineaarisen yhtälöryhmän perusmuoto ja perusratkaisut Lineaarisen optimointitehtävän
Lisätiedot203 Asetetaan neliöt tasoon niin, että niiden keskipisteet yhtyvät ja eräiden sivujen välille muodostuu 45 kulma.
Pyramidi 3 Geometria tehtävien ratkaisut sivu 1 201 202 Saadaan tapaukset 1) Tason suorat l ja m voivat olla yhdensuuntaiset, mutta eri suorat, jolloin niillä ei ole yhteisiä pisteitä. l a) A B C A B C
LisätiedotSuorien ja tasojen geometriaa Suorien ja tasojen yhtälöt
6. Suorien tasojen geometriaa 6.1. Suorien tasojen yhtälöt 55. Osoita, että yhtälöt x = 3 + τ y = 1 3τ esittävät samaa tason suoraa. Yhteinen piste 1,5) suunta i 3j. x = 1 6τ y = 5 + 9τ 56. Määritä suoran
LisätiedotTekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).
Tekijä Pitkä matematiikka 4 9.12.2016 212 Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Vastaus esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4) 213 Merkitään pistettä
LisätiedotPythagoraan polku 16.4.2011
Pythagoraan polku 6.4.20. Todista väittämä: Jos tasakylkisen kolmion toista kylkeä jatketaan omalla pituudellaan huipun toiselle puolelle ja jatkeen päätepiste yhdistetään kannan toisen päätepisteen kanssa,
LisätiedotGeometrialtaan mielivaltaisen huonetilan pintojen näkyvyyskertoimien laskenta
Geometrialtaan mielivaltaisen huonetilan pintojen näkyvyyskertoimien laskenta Ville Havu, Lassi Roininen, Eero Immonen, Janne Puustelli, Keijo Ruohonen Teollisuusmatematiikan työpaja, Tampere 21.-25.10.2002
LisätiedotNumeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33
Numeeriset menetelmät TIEA381 Luento 6 Kirsi Valjus Jyväskylän yliopisto Luento 6 () Numeeriset menetelmät 4.4.2013 1 / 33 Luennon 6 sisältö Interpolointi ja approksimointi Polynomi-interpolaatio: Vandermonden
LisätiedotXXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut
XXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut 1. Avaruusalus sijaitsee tason origossa (0, 0) ja liikkuu siitä vakionopeudella johonkin suuntaan, joka ei muutu. Tykki
LisätiedotKenguru 2016 Student lukiosarja
sivu 1 / 9 NIMI LUOKKA Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Väärästä vastauksesta saat miinuspisteitä
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotTIES471 Reaaliaikainen renderöinti
TIES471 Reaaliaikainen renderöinti Kotitehtävä 2.3.3 Muistin kaistanleveys Koko kaistanleveyden kustannus: B = d * Zr + o(d) * (Z w + C w + T r ) Lisätään vielä tekstuuri välimuisti (texture cache) vaikutus
LisätiedotVektorimatematiikkaa Pisteet ja vektorit
Geometriaa Vektorimatematiikkaa Pisteet ja vektorit Käytössä vektoriavaruus R 3 Merkitsemme pistettä p = x y z voidaan tilanteen mukaan esittää sekä pysty- että vaakavektorina (1 3 tai 3 1-matriisina)
LisätiedotHarjoitustehtävät, syys lokakuu 2010. Helpommat
Harjoitustehtävät, syys lokakuu 010. Helpommat Ratkaisuja 1. Kellon minuutti- ja tuntiosoittimet ovat tasan suorassa kulmassa kello 9.00. Milloin ne ovat seuraavan kerran tasan suorassa kulmassa? Ratkaisu.
LisätiedotAlgoritmit 2. Luento 6 To Timo Männikkö
Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100
LisätiedotTekijä MAA2 Polynomifunktiot ja -yhtälöt = Vastaus a)
K1 a) Tekijä MAA Polynomifunktiot ja -yhtälöt 6.8.016 ( + + ) + ( ) = + + + = + + + = + 4 b) 4 4 ( 5 + ) ( 5 + 1) = 5 + + 5 + 1 4 = + + + 4 = + 5 5 1 1 Vastaus a) 4 + b) 4 + 1 K a) f ( ) = + 1 f () = +
LisätiedotLuku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
Lisätiedot5. Grafiikkaliukuhihna: (1) geometriset operaatiot
5. Grafiikkaliukuhihna: () geometriset operaatiot Johdanto Grafiikkaliukuhihnan tarkoitus on kuvata kolmiulotteisen kohdeavaruuden kuva kaksiulotteiseen kuva eli nättöavaruuteen. aikka kolmiulotteisiakin
Lisätiedot4 Yleinen potenssifunktio ja polynomifunktio
4 Yleinen potenssifunktio ja polynomifunktio ENNAKKOTEHTÄVÄT 1. a) Tutkitaan yhtälöiden ratkaisuja piirtämällä funktioiden f(x) = x, f(x) = x 3, f(x) = x 4 ja f(x) = x 5 kuvaajat. Näin nähdään, monessako
LisätiedotMalleja ja menetelmiä geometriseen tietokonenäköön
Malleja ja menetelmiä geometriseen tietokonenäköön Juho Kannala 7.5.2010 Johdanto Tietokonenäkö on ala, joka kehittää menetelmiä automaattiseen kuvien sisällön tulkintaan Tietokonenäkö on ajankohtainen
LisätiedotTässä osassa ei käytetä laskinta. Selitä päätelmäsi lyhyesti tai perustele ratkaisusi laskulausekkeella, kuviolla tms.
OSA 1 Ratkaisuaika 30 min Pistemäärä 20 Tässä osassa ei käytetä laskinta. Selitä päätelmäsi lyhyesti tai perustele ratkaisusi laskulausekkeella, kuviolla tms. 1. Mikä on suurin kokonaisluku, joka toteuttaa
LisätiedotKenguru 2012 Student sivu 1 / 8 (lukion 2. ja 3. vuosi)
Kenguru 2012 Student sivu 1 / 8 Nimi Ryhmä Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Väärästä vastauksesta
LisätiedotLuento 6: Tulostusprimitiivien toteutus
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
LisätiedotReaaliaikainen karvapeitteen piirtäminen näytönohjaimella
Reaaliaikainen karvapeitteen piirtäminen näytönohjaimella Jussi Kekäläinen Pro gradu -tutkielma Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tammikuu 2016 ITÄ-SUOMEN YLIOPISTO, Luonnontieteiden
LisätiedotJuuri 4 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Kertaus. b) B = (3, 0, 5) K2. 8 ( 1)
Kertaus K1. a) OA i k b) B = (, 0, 5) K. K. a) AB (6 ( )) i () ( ( 7)) k 8i 4k AB 8 ( 1) 4 64116 819 b) 1 1 AB( ( 1)) i 1 i 4 AB ( ) ( 4) 416 0 45 5 K4. a) AB AO OB OA OB ( i ) i i i 5i b) Pisteen A paikkavektori
LisätiedotMATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ
MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ 4.9.09 HYVÄN VASTAUKSEN PIIRTEITÄ Alustavat hyvän vastauksen piirteet on suuntaa-antava kuvaus kokeen tehtäviin odotetuista vastauksista ja tarkoitettu ensisijaisesti
LisätiedotKäyrien välinen dualiteetti (projektiivisessa) tasossa
Solmu 3/2008 1 Käyrien välinen dualiteetti (projektiivisessa) tasossa Georg Metsalo georg.metsalo@tkk.fi Tämä kirjoitus on yhteenveto kaksiosaisesta esitelmästä Maunulan yhteiskoulun matematiikkapäivänä
LisätiedotGEOMETRIA MAA3 Geometrian perusobjekteja ja suureita
GEOMETRI M3 Geometrian perusobjekteja ja suureita Piste ja suora: Piste, suora ja taso ovat geometrian peruskäsitteitä, joita ei määritellä. Voidaan ajatella, että kaikki geometriset kuviot koostuvat pisteistä.
LisätiedotOta tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta
MAA5.2 Loppukoe 26.9.2012 Jussi Tyni Valitse 6 tehtävää Muista merkitä vastauspaperiin oma nimesi ja tee etusivulle pisteytysruudukko Kaikkiin tehtävien ratkaisuihin välivaiheet näkyviin! 1. Olkoon vektorit
LisätiedotAlgoritmit 2. Luento 6 Ke Timo Männikkö
Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu
LisätiedotTietorakenteet, laskuharjoitus 3, ratkaisuja
Tietorakenteet, laskuharjoitus 3, ratkaisuja 1. (a) Toistolauseen runko-osassa tehdään yksi laskuoperaatio, runko on siis vakioaikainen. Jos syöte on n, suoritetaan runko n kertaa, eli aikavaativuus kokonaisuudessaan
LisätiedotVarjoliidon ja Riippuliidon Suomen ennätysten suorittaminen
1 Varjoliidon ja Riippuliidon Suomen ennätysten suorittaminen Suomen Ilmailuliiton Liidintoimikunta on hyväksynyt nämä säännöt 14.4.2015. Säännöt astuvat voimaan välittömästi ja ovat voimassa toistaiseksi.
LisätiedotReaaliaikaiset varjoalgoritmit. Atso Kauppinen
Reaaliaikaiset varjoalgoritmit Atso Kauppinen Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi Pro gradu -tutkielma Maaliskuu 2008 Tampereen yliopisto Tietojenkäsittelytieteiden
Lisätiedot1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut
ja kompleksiluvut ja kompleksiluvut 1.1 MS-A0007 Matriisilaskenta 1. ja kompleksiluvut Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 26.10.2015 Reaalinen
LisätiedotPeruskoulun matematiikkakilpailu Loppukilpailu 2010 Ratkaisuja OSA 1
Peruskoulun matematiikkakilpailu Loppukilpailu 010 Ratkaisuja OSA 1 1. Mikä on suurin kokonaisluku, joka toteuttaa seuraavat ehdot? Se on suurempi kuin 100. Se on pienempi kuin 00. Kun se pyöristetään
LisätiedotKESKEISET SISÄLLÖT Keskeiset sisällöt voivat vaihdella eri vuositasoilla opetusjärjestelyjen mukaan.
VUOSILUOKAT 6 9 Vuosiluokkien 6 9 matematiikan opetuksen ydintehtävänä on syventää matemaattisten käsitteiden ymmärtämistä ja tarjota riittävät perusvalmiudet. Perusvalmiuksiin kuuluvat arkipäivän matemaattisten
LisätiedotRatkaisut vuosien tehtäviin
Ratkaisut vuosien 1958 1967 tehtäviin 1958 Pyörähtäessään korkeusjanansa ympäri tasakylkinen kolmio muodostaa kartion, jonka tilavuus on A, ja pyörähtäessään kylkensä ympäri kappaleen, jonka tilavuus on
LisätiedotMATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 23.9.2015 HYVÄN VASTAUKSEN PIIRTEITÄ
MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 3.9.05 HYVÄN VASTAUKSEN PIIRTEITÄ Alla oleva vastausten piirteiden, sisältöjen ja pisteitysten luonnehdinta ei sido ylioppilastutkintolautakunnan arvostelua. Lopullisessa
LisätiedotJohdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.
LisätiedotDYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi
DYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi LUENNON SISÄLTÖ Kertausta edelliseltä luennolta: Suhteellisen liikkeen nopeuden ja kiihtyvyyden yhtälöt. Jäykän kappaleen partikkelin liike. Jäykän
LisätiedotLuento 4: Kiertomatriisi
Maa-57.301 Fotogrammetrian yleiskurssi (P. Rönnholm / H. Haggrén, 28.9.2004) Luento 4: Kiertomatriisi Mitä pitäisi oppia? ymmärtää, että kiertomatriisilla voidaan kiertää koordinaatistoa ymmärtää, että
Lisätiedotc) Määritä paraabelin yhtälö, kun tiedetään, että sen huippu on y-akselilla korkeudella 6 ja sen nollakohdat ovat x-akselin kohdissa x=-2 ja x=2.
MAA4 Koe 5.5.01 Jussi Tyni Kaikkiin tehtäviin ratkaisujen välivaiheet näkyviin! Ota kokeesta poistuessasi tämä paperi mukaasi! Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Valitse
LisätiedotLieriö ja särmiö Tarkastellaan pintaa, joka syntyy, kun tasoa T leikkaava suora s liikkuu suuntansa
Lieriö ja särmiö Tarkastellaan pintaa, joka syntyy, kun tasoa T leikkaava suora s liikkuu suuntansa säilyttäen pitkin tason T suljettua käyrää (käyrä ei leikkaa itseään). Tällöin suora s piirtää avaruuteen
LisätiedotLuento 2 Stereokuvan laskeminen. 2008 Maa-57.1030 Fotogrammetrian perusteet 1
Luento 2 Stereokuvan laskeminen 2008 Maa-57.1030 Fotogrammetrian perusteet 1 Aiheet Stereokuvan laskeminen stereokuvan piirto synteettisen stereokuvaparin tuottaminen laskemalla stereoelokuva kollineaarisuusyhtälöt
Lisätiedot3 Yhtälöryhmä ja pistetulo
Juuri 4 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 5..06 Yhtälöryhmä ja pistetulo Ennakkotehtävät. z = x y, x y + z = 6 ja 4x + y + z = Sijoitetaan z = x y muihin yhtälöihin. x y + x y =
LisätiedotVideon tallentaminen Virtual Mapista
Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta
LisätiedotVektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on
13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu
Lisätiedot1 Kertaus. Lineaarinen optimointitehtävä on muotoa:
1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n
LisätiedotPRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011
PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9..0 Kokeessa saa vastata enintään kymmeneen tehtävään.. Sievennä a) 9 x x 6x + 9, b) 5 9 009 a a, c) log 7 + lne 7. Muovailuvahasta tehty säännöllinen tetraedri muovataan
LisätiedotOppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8
Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8 Piirtoalue ja algebraikkuna Piirtoalueelle piirretään työvälinepalkista löytyvillä työvälineillä
LisätiedotTyyppi metalli puu lasi työ I 2 8 6 6 II 3 7 4 7 III 3 10 3 5
MATRIISIALGEBRA Harjoitustehtäviä syksy 2014 Tehtävissä 1-3 käytetään seuraavia matriiseja: ( ) 6 2 3, B = 7 1 2 2 3, C = 4 4 2 5 3, E = ( 1 2 4 3 ) 1 1 2 3 ja F = 1 2 3 0 3 0 1 1. 6 2 1 4 2 3 2 1. Määrää
LisätiedotLyhyt, kevät 2016 Osa A
Lyhyt, kevät 206 Osa A. Muodostettu yhtälö, 2x 2 + x = 5x 2 Kaikki termit samalla puolla, 2x 2 4x + 2 = 0 Vastaus x = x:n derivaatta on x 2 :n derivaatta on 2x f (x) = 4x + derivoitu väärää funktiota,
LisätiedotRATKAISUT a + b 2c = a + b 2 ab = ( a ) 2 2 ab + ( b ) 2 = ( a b ) 2 > 0, koska a b oletuksen perusteella. Väite on todistettu.
RATKAISUT 198 197 198. Olkoon suorakulmion erisuuntaisten sivujen pituudet a ja b sekä neliön sivun pituus c. Tehtävä on mielekäs vain, jos suorakulmio ei ole neliö, joten oletetaan, että a b. Suorakulmion
LisätiedotYleistä vektoreista GeoGebralla
Vektoreita GeoGebralla Vektoreilla voi laskea joko komentopohjaisesti esim. CAS-ikkunassa tai piirtämällä piirtoikkunassa. Ensimmäisen tavan etuna on, että laskujen tueksi muodostuu kuva. Tästä on varmasti
Lisätiedotkymmenjärjestelmä-käsitteen varmentaminen, tutustuminen 60-järjestelmään kellonaikojen avulla
7.6.1 MATEMATIIKKA VUOSILUOKAT 3 5 Vuosiluokkien 3 5 matematiikan opetuksen ydintehtävinä ovat matemaattisen ajattelun kehittäminen, matemaattisten ajattelumallien oppimisen pohjustaminen, lukukäsitteen
LisätiedotSTL:n luonti IronCADillä
STL:n luonti IronCADillä STL-tiedoston luonti IronCADilla etenee seuraavasti: 1. Avataan haluttu kappale IronCADilla. 2. Kappaletta napsautetaan hiiren oikealla näppäimellä ja valitse pudotusvalikosta
Lisätiedot2016/07/05 08:58 1/12 Shortcut Menut
2016/07/05 08:58 1/12 Shortcut Menut Shortcut Menut Shortcut menut voidaan aktivoida seuraavista paikoista. Shortcut menun sisältö riippuu siitä, mistä se aktivoidaan. 1. Shortcut menu suunnitellusta linjasta
LisätiedotMATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ
MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 24.9.2019 HYVÄN VASTAUKSEN PIIRTEITÄ Alustavat hyvän vastauksen piirteet on suuntaa-antava kuvaus kokeen tehtäviin odotetuista vastauksista ja tarkoitettu ensisijaisesti
Lisätiedot1 Rajoittamaton optimointi
Taloustieteen matemaattiset menetelmät 7 materiaali 5 Rajoittamaton optimointi Yhden muuttujan tapaus f R! R Muistutetaan mieleen maksimin määritelmä. Funktiolla f on maksimi pisteessä x jos kaikille y
LisätiedotHarjoitus Bones ja Skin
LIITE 3 1(6) Harjoitus Bones ja Skin Harjoituksessa käsiteltävät asiat: Yksinkertaisen jalan luominen sylinteristä Luurangon luominen ja sen tekeminen toimivaksi raajaksi Luurangon yhdistäminen jalka-objektiin
LisätiedotAlgoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
LisätiedotGrafiikka 205. Tässä luvussa käsitellään geometriaa ja graafisia kohteita. Mukana on pääosin alkeisoperaatioita.
Grafiikka 205 9 Grafiikka Tässä luvussa käsitellään geometriaa ja graafisia kohteita. Mukana on pääosin alkeisoperaatioita. 9.1 Kolmio Seuraavana tutkimme kolmiota: Minkä tahansa kolmion ala saadaan kaavasta:
LisätiedotMAA4 Abittikokeen vastaukset ja perusteluja 1. Määritä kuvassa olevien suorien s ja t yhtälöt. Suoran s yhtälö on = ja suoran t yhtälö on = + 2. Onko väittämä oikein vai väärin? 2.1 Suorat =5 +2 ja =5
Lisätiedot