3D-Maailman tuottaminen
|
|
- Lasse Kahma
- 5 vuotta sitten
- Katselukertoja:
Transkriptio
1 hyväksymispäivä arvosana arvostelija 3D-Maailman tuottaminen Eero Sääksvuori Helsinki Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Laitos Institution Department Matemaattis-luonnontieteellinen tiedekunta Tekijä Författare Author Eero Sääksvuori Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos 3D-Maailman tuottaminen Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Seminaari sivua + 4 sivua Tiivistelmä Referat Abstract Tässä kirjoituksessa tutustutaan siihen, miten 3D-grafiikka muodostetaan näytönohjaimessa, mikä on grafiikkaliukuhihna, sekä mitä vaiheita siinä on. Kirjotuksessa ei johdeta matriiseja, vaikka 3D-grafiikan muodostamisen pääpainona ovatkin matriisit ja niiden transformaatiot. Tekstissä keskitytään enemmän siihen, mitä matriisit saavat aikaan ja mitä peliohjelmoijan on hyvä ymmärtää kustakin vaiheesta käyttäessään valmiita ohjelmointirajapintafunktioita. ACM Computing Classification System CCS: Computing methodologies Computer graphics Computing methodologies Graphics processors Computing methodologies Rasterization Avainsanat Nyckelord Keywords 3D, Näytönohjain, Grafiikkaliukuhihna Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information
3 Sisältö ii 1 Johdanto 1 2 Kärkien prosessointi 2 3 Rasterointi 3 4 Fragmenttien prosessointi 4 5 Ulostulon lomitus 5 6 Geometriavarjostin ja Tesselaatio 6 7 Yhteenveto 7 Lähteet 8 Liitteet A Liite: Matriisilaskentaa 1 A.1 Matriisien laskutoimitukset A.2 Kärkien translaatio A.3 Kärkien skaalaus A.4 Kärkien rotaatio A.5 Yhdistetyt muunnosmatriisit A.6 Kamera-avaruuden muunnosmatriisi A.7 Projektiomatriisi A.8 Perspektiivijako A.9 Ikkunanäkymämuunnos
4 1 Johdanto 1 Pelatessaan harvoin miettii, että kuvan muodostaa vain eriväriset pisteet eli pikselit, jotka ovat levitetty kaksiulotteiselle alustalle. Näitä pikseleitä on reilu kaksi miljoonaa tavallisessa 1920x1080 resoluution näytössä. Jokainen kuva on renderöitävä näytölle 16 millisekunnissa, jotta pelistä saa sulavan tuntuisen simulaation. Renderöinnin ohella on tehtävä myös muita laskennallisia tehtäviä, kuten pelifysiikoiden laskentaa. Kuinka näytönohjain pystyy tähän kaikkeen? Pelit ovat simulaatioita, joissa pelimaailma on pyritty mallintamaan tavalla, jolla tietokoneen on helppo manipuloida sitä [Gre09]. Tämä tarkoittaa, että pelimaailman 3D-komponentit, kuten sotilaat, puut, talot, ovat kaikki muodostettu monikulmioverkosta. Kolmio on yksinkertaisin monikulmio, jolla saadaan luotua pinta. Tämän vuoksi niitä käytetään lähes yksinomaan pelin verkkojen muodostamisessa [Han11]. Kun verkkojen pintaan lisätään tekstuurit, saadaan komponentit näyttämään realistiselta. Prosessorien ja näytönohjainten suurin ero on niiden ytimien määrässä [FH08]. Kuva 1: Monikulmioverkko kaivosta Moderni näytönohjain sisältää huomattavasti enemmän ytimiä, jotka ovat suunniteltu toimimaan samanaikaisesti graafisen liukuhihnan eli grafiikkaliukuhihnan avulla. Tämän lisäksi näytönohjaimessa on oma keskusmuisti, josta se voi hakea kullekin pelimaailman komponentille tekstuurit. Näytönohjain siis toimii itsenäisesti kuvien renderöinnissä. Prosessori voi hoitaa muita asioita, kuten vihollisten tekoälyn. Kärkivarjostin Rasterointi Fragmenttivarjostin Ulostulolomittaja Kuva 2: Yksinkertaistettu grafiikkaliukuhihna Grafiikkaliukuhihna hajauttaa työn osiin, jolloin näytönohjaimen jokainen ydin voi prosessoida dataa itsenäisesti. Liukuhihnan ensimmäisessä vaiheessa prosessorilta
5 2 syötteenä saadut monikulmioverkkolistat yhdistetään yhteiseen avaruuteen. Tämän jälkeen kohtaukseen scene jääneistä monikulmioista muodostetaan fragmentteja, jotka ovat tyypillisesti yhden pikselin kokoisia. Nämä fragmentit värjätään ja lisätään puskuriin, josta kuva piirretään näytölle. Grafiikkaliukuhihna on kehittynyt vuosien varrella ja siihen on tullut uusia vaiheita, kuten geometriavarjostin sekä tesselaatio. 2 Kärkien prosessointi Kärki vertex on kolmiulotteinen sijainti, johon on usein säilötty myös muuta dataa, kuten kärjen normaalit, tekstuurien koordinaatit sekä väri. Kärjet ovat nimensä mukaisesti monikulmioissa olevia kohtia, joissa on kulma. Peleissä monikulmion kulmat ovat yleensä koveria, koska niitä on helpompi prosessoida [Han11]. Näytönohjaimessa kuvan piirtäminen alkaa kärkien prosessoinnista. Siinä 3Dnäkymän jokainen kärki muunnetaan leikeavaruuteen, mistä kärjet jatkavat rasterointi vaiheeseen. Vaikka näkymän komponentit ovat muodostettu monikulmioverkoista, on kärkien prosessointi vaihe, jossa kärjet käsitellään omana yksilönään. Kärkien prosessointiin voi vaikuttaa tekemällä varjostimen, joka ottaa syötteenä yhden kärjen ja palauttaa sen muutettuna leikeavaruuteen [Mic17a]. Varjostimessa kärjelle voi esimerkiksi vaihtaa värin, muuttaa tekstuurien koordinaatteja tai siirtää kärkeä. Kuva 3: Kaivon kärjet visualisoituna Komponentin verkkodata tuodaan yleensä 3D- mallinnusohjelmasta, minkä prosessori lähettää grafiikkarajapinnalle piirrettäväksi. Nämä mallit ovat yleensä omassa avaruudessa object space sekä ovat tavallisesti riippumattomia toisista malleista. Mallit siirretään ensiksi yhteiseen avaruuteen world space, jotta ne näkyvät samassa kuvassa. Tätä varten mallin kärjille tehdään yksinkertaisia muunnoksia, kuten translaatio siirto, skaalaus ja rotaatio.
6 3 Transformaatiot tehdään käyttämällä matriisien kertolaskua ja niistä muodostetaan yhtenäinen muunnosmatriisi world matrix, joka hoitaa kaikki operaatiot kerralla [Han11]. Yhteisessä avaruudessa mallit eivät välttämättä ole halutussa 3D-näkymässä, vaan ne siirretään ja mahdollisesti käännetään vastaamaan kameran näkymää eli muodostetaan kameran avaruus camera space. Tämä tapahtuu muodostamalla matriisi view matrix, joka transformoi kärjet niin että niiden suhde origoon pysyy samana, mutta avaruuden origo onkin nyt kameran koordinaateissa. Jos esimerkiksi mallin kärki sijaitsee pisteessä 1,1,1 ja kamera -2,-2,-2, niin transformaation jälkeen kärki on pisteessä 3,3,3 ja kamera 0,0,0. Kamera muodostaa tyypillisesti näkökentän view frustum, joka muistuttaa katkaistua pyramidia [Han11]. Tästä pyramidista muodostetaan suorakulmainen särmiö eli leikeavaruus clip space projektiotransformaation avulla. Projektiotransformaatio saa aikaa näkymän perspektiivin eli ilmiön, jossa kauempana olevat mallit ovat pienempiä kuin lähellä olevat. Tätä varten rasteroinnissa on kuitenkin vielä suoritettava perspektiivijako. 3 Rasterointi Rasterointi on näytönohjaimeen valmiiksi määritelty vaihe [Han11], jota on mahdollista virittää erilaisilla asetuksilla. Rasteroinnissa leikeavaruuden sisällä olevista kärjistä muodostetaan primitiivejä, jotka lopuksi pilkotaan fragmenteiksi. Nämä fragmentit jatkavat liukuhihnassa fragmenttivarjostimeen. OpenGL:ssä rasterointi on pilkottu kahteen eri vaiheeseen, joita ovat primitiivien kokoaminen primitive assembly sekä rasterointi. Primitiivit ovat yksinkertaisia kolmiulotteisen avaruuden olioita, joita voivat esimerkiksi olla pisteet, viivat, kolmiot, kolmioviuhkat, tai kolmioverkot. Jokainen primitiivi prosessoidaan grafiikkaliukuhihnassa itsenäisenä kokonaisuutena, vaikka monikulmioverkot muodostuvatkin useista primitiiveistä. Kun primitiivit saadaan muodostettua, niistä poistetaan culling täysin näkökentän eli leikeavaruuden ulkopuolelle jääneet yksilöt. Prosessori yleensä tarkistaa karkeasti monikulmioverkkojen näkyvyyden jo ennen grafiikkaliukuhihnaan lisäämistä, jotta säästytään turhalta laskennalta. Osittain näkökentän sisällä olevien primitiivien näkökentän ulkopuoliset alueet leikataan clipping pois. Näkymästä poistetaan
7 4 myös pinnat, jotka osoittavat kamerasta poispäin. Tämän on huomattavissa silloin, kun kamera menee virheellisesti seinän tai hahmon sisään, jolloin näyttää siltä ettei näkymässä tai hahmossa ole pintoja. Projektiotransformaation jäljiltä kärkien w-komponentti on kärjen positiivinen z- etäisyys kameraan [Han11]. Kärjet eivät ole samassa projektioavaruudessa, eli kaikkien kärkien w-komponentti ei ole 1. Näytönohjain muuntaa leikeavaruuden koordinaatit normalisoiduiksi laitekoordinaateiksi NDC, normalized device coordinates jakamalla kärjen komponentit sen w-komponentilla. Tämä saa aikaan perspektiivinäkymän. Samalla w-komponentti palautuu arvoksi 1. Rasterointi muuttaa näkymän ikkunaan sopivaksi. Tätä varten leikeavaruus on muunnettava näyttöavaruudeksi screen space. Näyttöavaruus vaatii yleensä kärkien peilauksen y-akselin suhteen, jotta koordinaatistosta saadaan oikeakätinen. Sitten näkymä skaalataan haluttuun kokoon kuten koko näytölle. Lopuksi koko leikeavaruus siirretään positiivisiin koordinaatteihin. Rasteroinnin viimeinen tehtävä on pilkkoa nykyinen näkymä fragmentteihin. Tätä varten kärkien sisältämä data on interpoloitava fragmentteihin. Laitteistovalmistajat käyttävät tähän erilaisia optimoituja algoritmeja [Han11]. 4 Fragmenttien prosessointi Fragmenttien prosessointi on vaihe, jossa rasteroinnista tulleet fragmentit värjätään ja lähetetään grafiikkaliukuhihnan viimeiselle vaiheelle eli ulostulolomittajalle output merger. Fragmentti on liukuhihnan entiteetti, joka sisältää sijainnin ikkunassa, syvyyden sekä muut rasteroinnin interpoloimat tiedot, kuten värin. Direct3D:ssä fragmentteja kutsutaan pikseleiksi, mutta koska fragmentit ei välttämättä vaikuta lopulliseen kuvaan, tekstissä niitä kutsutaan yksinkertaisuuden vuoksi fragmenteiksi kuten OpenGL:ssä. Kuvan lopulliseen väriin vaikuttaa mm. tekstuurit, valaistus sekä muu jälkikäsittely, mitkä hoidetaan fragmenttivarjostimella. Fragmenttivarjostin on siis kärkivarjostimen tapaan ohjelmoitava vaihe, mikä ottaa syötteenä fragmentin ja palauttaa väriarvoja, alpha-arvon läpinäkyvyys sekä syvyysarvon. Kukin fragmentti prosessoidaan omana yksilönään, eikä se pääse käsiksi muihin fragmentteihin tai ruutupuskuriin. Fragmenttivarjostin hakee fragmenteille tekstuurin näytönohjaimen välimuistista VRAM. Tekstuurit ovat yleensä kaksiulotteisia kuvia, jotka liimataan mallin
8 5 päälle. Niillä mallille saadaan luotua pinta. Tyypillisiä tekstuuripintoja voivat olla kivi, maa tai talojen seinät. Joskus tekstuureja käytetään kaukaisten mallien renderöintiin, jotta säästytään laskennalta. Tekstuurien käyttö voi kuitenkin aiheuttaa vääristymiä, jos malli on monimutkainen [Han11]. Esimerkiksi kasvot sisältävät paljon yksityiskohtia, mitkä on monimutkaista levittää kaksiulotteiselle pinnalle. Tätä varten on kehitelty erilaisia algoritmeja, jotka vähentävät tekstuurien vääristymistä. Valaistus tehdään yleensä fragmenttivarjostimessa, sillä se antaa malleille sulavan pinnan [Han11]. Grafiikkaliukuhihnassa tehty varjostus on yleensä paikallista. Paikallisessa valaistuksessa on tyypillisesti jokin valonlähde, kuten katulamppu tai aurinko, joka valaisee kohtauksen pinnat. Valaistus voidaan tehdä esimerkiksi käyttämällä Phongin valaistusmallia. Siinä valaistus on jaettu osiin: diffuusi, spekulaari sekä ambientti [Kur97]. Oikeassa maailmassa valaistus on kuitenkin monimutkaisempaa. Siinä pinnat saattavat heijastaa valoa epäsuorasti toisiin pintoihin. Tällaista mallia kutsutaan globaaliksi valaisuksi. Yleensä peleissä globaali valaistus on etukäteen laskettu tai valaistusta on approksimoitu. 5 Ulostulon lomitus Ulostulolomittaja output merger on liukuhihnan viimeinen vaihe. Se prosessoi varjostimesta tulleet fragmentit, jotka sisältävät värin sekä mahdolliset syvyys- ja alphaarvot. Näiden avulla ulostulolomittaja päättää lopullisen värin väripuskuriin. Jos käytössä on kaksoispuskurointi, niin näytönohjain saattaa täyttää toista puskuria jo ennen kun edellinen puskuri on renderöity näytölle. Fragmentit saapuvat ulostulolomittajalle satunnaisessa järjestyksessä. Väripuskuriin halutaan vain fragmenttien värit, mitkä ovat lähimpänä kameraa eli joiden syvyys on pienin. Tätä varten ulostulolomittaja pitää Z-puskuria, johon se säilöö syvyysarvon samalla kun se päivittää väripuskurin. Jos ulostulolomittajalle saapuu fragmentti, jonka syvyys on suurempi kuin Z-puskurissa, se hylätään. Asia on kuitenkin monimutkaisempi, jos kyseessä on läpinäkyvä fragmentti. Läpinäkyvyys toteutetaan yhdistämällä fragmentin väri, sen takana olevan väriin. Jotta läpinäkyvyys voidaan prosessoida oikein, läpinäkyvät fragmentit on siis käytävä järjestyksessä läpi. Koska järjestys riippuu katselukulmasta, on järjestäminen tehtävä reaaliajassa. Näytönohjaimiin ollaan kehittelemässä algoritmia tätä varten,
9 6 mutta tällä hetkellä sen hoitaa fragmenttivarjostin. Näytönohjain saattaa poistaa rasterointi vaiheessa malleja, jotka ovat toisten mallien takana. Fragmenttien syvyyksiä on kuitenkin mahdollista muuttaa vielä rasterointi vaiheen jälkeen varjostimessa, tällöin näytönohjain ei voi ennustaa syvyyksiä. Kohtaus voidaan joskus renderöidä kahdesti. Ensimmäiseksi näkymä renderöidään ilman tekstuureja ja valaistusta, ja säilötään z-puskurin arvot. Tämän jälkeen poistetaan kaikki ylimääräinen eli fragmentit, joiden syvyys on suurempi kuin z-puskurissa ja renderöidään kohtaus tekstuureilla ja valaistuksilla. 6 Geometriavarjostin ja Tesselaatio Tähän mennessä tekstissä on kerrottu vain kärki- ja fragmenttivarjostimesta, mutta varjostimia on tullut vuosien varrella muitakin. Direct3D 10 lisäsi geometriavarjostimen ja Direct3D 11 laitteistopohjaisen tesselaation, jota varten varjostinmalliin shader model lisättiin 2 uutta varjostinta: runkovarjostin hull shader ja aluevarjostin domain shader. Nämä varjostimet on lisätty myös muihin grafiikkarajapintoihin. Runkovarjostin Tesselaattori Aluevarjostin Geometriavarjostin Kuva 4: Direct3D 11, Varjostinmalli 5 Tesselaatio on vaihe, joka suoritetaan kärkien prosessoinnin jälkeen. Sen tehtävänä on generoida malliin monikulmioita dynaamisesti. Tällöin kärkien prosessoinnin voi hoitaa korkeasti approksimoidulle mallille ja saada yksityiskohtaisen mallin renderöinnissä. Tesselaation käyttö vähentää tarvittavaa muistia sekä prosessointi aikaa. Tesselaatio käyttää tilkkuja patch, joista on määritelty kontrollipisteet [Mic17b]. Runkovarjostimessa prosessoidaan tilkut ja määritetään tarvittavat datat tesselaattorille sekä aluevarjostimelle [Mic17b]. Tesselaattori pilkkoo alueen neliö, kolmio, viiva pienemmiksi objekteiksi [Mic17b]. Aluevarjostin asettaa tesselaattorin pilkkomille objekteille kärkien tiedot runkovarjostimesta tulleen datan avulla. Geometriavarjostin on vaihtoehtoinen vaihe, mikä sijaitsee grafiikkaliukuhihnassa ennen rasterointia. Se prosessoi yhden primitiivin kärjet kerrallaan. Geometriavarjostimen avulla on mahdollista muuttaa primitiivin geometriaa liukuhihnassa, eli
10 7 a Ruori ilman tesselaatiota b Ruori tesselaatiolla Kuva 5: Tesselaatio lisää monikulmioiden määrää grafiikkaliukuhihnassa esimerkiksi kärkivarjostimesta tulleesta yksittäisestä pisteestä voisi tehdä kolmion tai poistaa koko primitiivin. Geometriavarjostin voi myös tallettaa ulostulon suoraan näytönohjaimen muistiin, tällöin se prosessoidaan kärkivarjostimessa seuraavaan ruutua piirrettäessä. Näytönohjain saa siis luotua uutta grafiikkaa ilman prosessoria. 7 Yhteenveto 3D-grafiikan piirtäminen näytölle on monivaiheinen prosessi, jota pystytään kontrolloimaan varjostimilla. Varjostimet ovat vuosien varrella kehittyneet entistä vapaammiksi, tarjoten enemmän mahdollisuuksia. Ennen varjostimet olivat hankalasti koodattavia ja varjostinfunktiot toimivat vain tietyssä vaiheessa. Tämä johti helposti pullonkaulaan liukuhihnassa, esimerkiksi kärkivarjostimessa. Nykyisin varjostimien syntaksi on hyvin määriteltyä ja universaalia. Liukuhihnaan on myös lisätty uusia vaiheita, joilla näytönohjaimesta on saatu entistä itsenäisempi. Geometriavarjostin voi muuttaa reaaliajassa mallien geometriaa, ja sillä voi luoda helposti esimerkiksi pilviä tai savutehosteita. Tesselaatio sen sijaan mahdollistaa korkealaatuisten mallien käytön liukuhihnassa tehokkuutta menettämättä. Tällä hetkellä suuret pelit ovat useimmiten tehty Direct3D:llä ja toimivat vain PCtietokoneilla, mutta uusi laitteistoriippumaton grafiikkarajapinta, Vulkan, saattaa tarjota mahdollisuuden pelata Direct3D-tasoisia pelejä myös puhelimella.
11 Lähteet 8 FH08 Fatahalian, K. ja Houston, M., GPUs: A Closer Look. Queue, 6,22008, sivut URL Gre09 Gregory, J., Game Engine Architecture. A K Peters, Wellesley, Mass, Han11 Han, J., 3D Graphics For Game Programming. Chapman and Hall/CRC, Boca Raton, Khr17a Khronos Group, Rendering Pipeline Overview - OpenGL Wiki, URL Pipeline_Overview. Khr17b Kur97 Mic17a Mic17b Khronos Vulkan Working Group, T., Vulkan R A Specification, URL 0/html/vkspec.html. Kurhila, J., Paikalliset valaistusmallit, URL helsinki.fi/group/goa/render/valaistus.html. Microsoft, Programming Guide for Direct3D 11, Graphics Pipeline, URL desktop/ff Microsoft, Programming Guide for Direct3D 11, Tessellation Stages, URL desktop/ff Mö08 Möller, T., Real-time Rendering. A.K. Peters, Wellesley, Mass, SSKLK13 Shreiner, D., Sellers, G., Kessenich, J. M. ja Licea-Kane, B. M., OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3. Addison-Wesley Professional, 8. painos, 2013.
12 A Liite: Matriisilaskentaa 1 A.1 Matriisien laskutoimitukset - Yhteen- ja vähennyslasku: a A + B = c a A B = c b + d b d e g e g f = h f = h a + e c + g a e c g b + f d + f b f d f - Kertolasku: a b αa αb αa = α = c d αc αd a b e f ae + bg af + bh AB = = c d g h ce + dg cf + dh Matriisien kertolasku ei ole vaihdannainen, tosin sanoen AB BA. Tämä on syytä huomioida tehtäessä yhdistettyjä muunnosmatriiseja. - Jakolasku: A/B = AB 1 = a c b d e g f h 1 = a c b d h f g = e ah + bf ch + df ag + be bg + de Jakolasku suoritetaan ottamalla jakajasta käänteismatriisi. A.2 Kärkien translaatio Translaation tekemiseksi matriisien kertolaskulla, on koordinaatit muunnettava homogeenisiksi. Tämä tapahtuu lisäämällä koordinaatteihin uusi komponentti w. x, y, z x, y, z, t x x x + t x T t x, t y, t z = t y y t z z = y + t y z + t z missä t x, t y, t z ovat etäisyyksiä kullakin akselilla.
13 2 A.3 Kärkien skaalaus s x x s x x Ss x, s y, s z = 0 s y 0 0 y 0 0 s z 0 z = d y y d z z missä s x, s y ja s z ovat skaalauksia akselin mukaan. A.4 Kärkien rotaatio missä θ on rotaation määrä asteina x x R x θ = 0 cosθ sinθ 0 y 0 sinθ cosθ 0 z = y z cosθ 0 sinθ 0 x x R y θ = y sinθ 0 cosθ 0 z = y z cosθ sinθ 0 0 x x R z θ = sinθ cosθ 0 0 y z = y z A.5 Yhdistetyt muunnosmatriisit Muunnosmatriisit yhdistetään yhdeksi matriisiksi, jolla kaikki kärjet muunnetaan avaruuteen. M world = T t x, t y, t z R z α R y β R x θ Ss x, s y, s z 1 Matriisien suoritus tapahtuu käänteisesti, eikä tulos ole sama jos järjestystä vaihtaa. Tässä muodostettiin muunnosmatriisi, joka ensimmäiseksi skaalaa, sitten kääntää kärjet ja lopuksi siirtää ne. Kun matriisi on laskettu, voidaan sitä käyttää:
14 3 M world V = V 2 missä M on muunnosmatriisi, V on kärki ja V saatu kärki. A.6 Kamera-avaruuden muunnosmatriisi Kamera-avaruuden muunnosmatriisi muodostetaan tekemällä translaatio jossa kameran sijainti C siirretään origoon O. Tästä saadaan muodostettua matriisi: Merkitään: C = C x, C y, C z, nyt translaatiomatriisi on C x T camera = C y C z Jos akselit eivät ole samansuuntaiset, voidaan translaatiomatriisi yhdistää rotaatiomatriisin. missä α, β, θ ovat kulmia. M camera = T camera R z α R y β R x θ 3 A.7 Projektiomatriisi Projektiomatriisi muodostaa leikeavaruuden kameran näköalueesta, joka tyypillisesti on pyramidin mallinen. Projektiomatriisin muodostamiseen vaikuttaa näköalue field of view, kameran maksimietäisyys sekä etäisyys kameran ja projektioseinän välillä. M proj = jossa f ovy on vertikaalinen näköalue. cot fovy 2 aspect cot fovy f f n nf f n aspect = w, jossa w = projektioseinän leveys ja h = projektioseinän korkeus. h
15 n on projektioseinän etäisyys kameraan ja f näköalueen pisin etäisyys kameraan [Han11]. 4 A.8 Perspektiivijako Projektiomatriisi muuttaa kärkien w-komponentit, joka siirtää ne eri homogeenisiin avaruuksiin. Jotta kärjet saadaan yhteiseen avaruuteen näytönohjain suorittaa perspektiivijaon. Perspektiivijaossa kukin kärjen komponentti jaetaan sen w-komponentilla. Projektiomatriisin jäljiltä w-komponentti on z eli kärjen positiivinen etäisyys kameraan. Kun jako on suoritettu, tulee kauempana olevista kärjistä pienempiä kuin lähellä olevista. Tämän takia muunnosta kutsutaan perspektiivijaoksi. Merkitään kärkeä v = a, b, c, d, nyt αv = 1 d v = 1 d a A.9 Ikkunanäkymämuunnos 1 d b 1 c 1 d d d = a d b d c 1 d Ikkunanäkymuunnos muuntaa perspektiivijaosta tulleet koordinaatit ikkunaan sopiviksi. Ikkuna-avaruus on y-akselin suhteen käänteinen, joten kärjet on peilattava. Leikeavaruuden koordinaatisto on myös skaalattava, sillä koordinaatit ovat tällä hetkellä [-1,1] välillä. Lopuksi origo siirretään alkamaan näkymän vasemmasta yläkulmasta. Tämä johtuu vanhoista CRT-näytöistä, jotka aloittivat piirtämisen kyseisestä kohdasta. W 0 0 MinX + W 2 2 M win = 0 H 0 MinY + H MaxZ MinZ MinZ jossa W on ikkunan leveys, H on ikkunan korkeus, MinX, MinY on näkymän kulmapiste [Han11].
Luento 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ätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
Lisätiedotarvostelija OSDA ja UDDI palveluhakemistoina.
Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution
LisätiedotTilanhallintatekniikat
Tilanhallintatekniikat 3D grafiikkamoottoreissa Moottori on projektin osa joka vastaa tiettyjen toiminnallisuuksien hallinnasta hallitsee kaikki vastuualueen datat suorittaa kaikki tehtäväalueen toiminnot
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ä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ätiedot3D-renderöinti OpenGL-ohjelmointirajapinnalla
Mikko Kemppainen 3D-renderöinti OpenGL-ohjelmointirajapinnalla Tietotekniikan kandidaatintutkielma 28. huhtikuuta 2017 Jyväskylän yliopisto Tietotekniikka Tekijä: Mikko Kemppainen Yhteystiedot: mikko.t.a.kemppainen@student.jyu.fi
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ä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ätiedotSisällys. T-111.4300 Tietokonegrafiikan perusteet. OpenGL-ohjelmointi 11/2007. Mikä on OpenGL?
T-111.4300 Tietokonegrafiikan perusteet OpenGL-ohjelmointi 11/2007 Sisällys Mikä on OpenGL? historia nykytilanne OpenGL:n toiminta Piirtäminen ja matriisit Muuta hyödyllistä kameran sijoittaminen valaistus
LisätiedotPro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg
Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen
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ä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ä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ätiedotTyön laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month
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ätiedotLuento 7: 3D katselu. Sisältö
Tietokonegrafiikka / perusteet Tik-.3/3 4 ov / 2 ov Luento 7: 3D katselu Lauri Savioja /4 3D katselu / Sisältö Koorinaattimuunnokset Kameran ja maailmankoorinaatiston yhteys Perspektiivi 3D katselu / 2
LisätiedotPeilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
LisätiedotLuonnontieteiden popularisointi ja sen ideologia
Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro
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ätiedotAika/Datum Month and year Kesäkuu 2012
Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen
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ätiedot! #! %! & #!!!!! ()) +
! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets
LisätiedotMaailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan
Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,
LisätiedotT Tietokonegrafiikan perusteet. OpenGL-ohjelmointi
T-111.4300 Tietokonegrafiikan perusteet OpenGL-ohjelmointi Id Softwaren huhtikuussa 2004 julkaisema Doom 3 -peli käyttää OpenGL-kirjastoa. Sisällys Mikä on OpenGL? historia nykytilanne OpenGL:n toiminta
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ätiedotMS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47
MS-A3/A5 Matriisilaskenta Malliratkaisut 4 / vko 47 Tehtävä 1 (L): Oletetaan, että AB = AC, kun B ja C ovat m n-matriiseja. a) Näytä, että jos A on kääntyvä, niin B = C. b) Seuraako yhtälöstä AB = AC yhtälö
Lisätiedot3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset
32 Idea: Lineaarikuvausten laskutoimitusten avulla määritellään vastaavat matriisien laskutoimitukset Vakiolla kertominen ja summa Olkoon t R ja A, B R n m Silloin ta, A + B R n m ja määritellään ta ta
LisätiedotKoht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa
Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos
LisätiedotKatsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin
INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta
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ätiedotGeoGebran 3D paketti
GeoGebran 3D paketti vielä kehittelyvaiheessa joitakin puutteita ja virheitä löytyy! suomennos kesken parhaimmillaan yhdistettynä 3D-lasien kanssa tilattavissa esim. netistä (hinta noin euron/lasit) 3D-version
LisätiedotOsoita, että kaikki paraabelit ovat yhdenmuotoisia etsimällä skaalauskuvaus, joka vie paraabelin y = ax 2 paraabelille y = bx 2. VASTAUS: , b = 2 2
8. Geometriset kuvaukset 8.1. Euklidiset kuvaukset 344. Esitä muodossa x = Ax + b se avaruuden E 3 peilauskuvaus, jonka symmetriatasona on x 1 3x + x 3 = 6. A = 1 3 6 6 3, b = 1 1 18. 3 6 6 345. Tason
LisätiedotKartio ja pyramidi
Kartio ja pyramidi Kun avaruuden suora s liikkuu pitkin itseään leikkaamatonta tason T suljettua käyrää ja lisäksi kulkee tason T ulkopuolisen pisteen P kautta, suora s piirtää avaruuteen pinnan, jota
LisätiedotGraikka yleisesti tietokonepeleissä
Graikka yleisesti tietokonepeleissä Mikko Heilimo Helsinki 22.2.2006 Seminaaritutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI
LisätiedotMatriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Merkintöjä 1 Matriisi on suorakulmainen lukukaavio.
LisätiedotMatriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ( 0, 4, ( ( 1 4 2, a 11 a 12 a 21 a 22 Kaavio kirjoitetaan kaarisulkujen väliin (amer. kirjoissa
LisätiedotTekijä Pitkä matematiikka On osoitettava, että jana DE sivun AB kanssa yhdensuuntainen ja sen pituus on 4 5
Tekijä Pitkä matematiikka 6..06 8 On osoitettava, että jana DE sivun AB kanssa yhdensuuntainen ja sen pituus on 5 sivun AB pituudesta. Pitää siis osoittaa, että DE = AB. 5 Muodostetaan vektori DE. DE =
LisätiedotKonformigeometriaa. 5. maaliskuuta 2006
Konformigeometriaa 5. maaliskuuta 006 1 Sisältö 1 Konformigeometria 1.1 Viivan esitys stereograasena projektiona............ 1. Euklidisen avaruuden konformaalinen malli........... 4 Konformikuvaukset
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS TERMINATOR SIGNAALINKÄSITTELY KUVA VOIDAAN TULKITA KOORDINAATTIEN (X,Y) FUNKTIONA. LÄHDE: S. SEITZ VÄRIKUVA KOOSTUU KOLMESTA KOMPONENTISTA (R,G,B). ÄÄNI VASTAAVASTI MUUTTUJAN
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ä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ätiedotSeguinin lauta A: 11-19
Lukujen syventäminen Kun lapsi ryhtyy montessorileikkikoulussa syventämään tietouttaan lukualueesta 1-1000, uutena montessorimateriaalina tulevat värihelmet. Värihelmet johdattavat lasta mm. laskutoimituksiin,
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ätiedot0, niin vektorit eivät ole kohtisuorassa toisiaan vastaan.
Tekijä Pitkä matematiikka 4 9.1.016 168 a) Lasketaan vektorien a ja b pistetulo. a b = (3i + 5 j) (7i 3 j) = 3 7 + 5 ( 3) = 1 15 = 6 Koska pistetulo a b 0, niin vektorit eivät ole kohtisuorassa toisiaan
LisätiedotMS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45
MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko 5 Tehtävä 1 (L): Hahmottele kompleksitasoon ne pisteet, jotka toteuttavat a) z 3 =, b) z + 3 i < 3, c) 1/z >. Yleisesti: ehto z = R, z C muodostaa kompleksitasoon
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ätiedotAlgebran perusteet. 44 ϕ(105) = (105). Näin ollen
Algebran perusteet Harjoitus 4, ratkaisut kevät 2016 1 a) Koska 105 = 5 21 = 3 5 7 ja 44 = 2 2 11, niin syt(44, 105) = 1 Lisäksi ϕ(105) = ϕ(3 5 7) = (3 1)(5 1)(7 1) = 2 4 6 = 48, joten Eulerin teoreeman
LisätiedotArkkitehtuurinen reflektio
Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
LisätiedotControlling the Camera of 3D World by Using Real Time Face Tracking
Controlling the Camera of 3D World by Using Real Time Face Tracking Tomi Lamminsaari Department of Software Systems Tampere University of Technology Abstract Gestures have become very common elements of
Lisätiedot6.5. Renderöintijärjestys
6.5. Renderöintijärjestys Näkymän käsittelyjärjestyksiä on kahta tyyppiä. Ensimmäinen on monikulmioittainen käsittely, jossa kukin monikulmio prosessoidaan vuorollaan välittämättä muista. Toinen on selaussuorajärjestys,
LisätiedotLuento 10: Näkyvyystarkastelut ja varjot. Sisältö
Tietokonegrafiikka / perusteet T-111.300/301 4 ov / 2 ov Luento 10: Näkyvyystarkastelut ja varjot Marko Myllymaa / Lauri Savioja 10/04 Näkyvyystarkastelut ja varjot / 1 Näkyvyystarkastelu Solurenderöinti
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS TERMINATOR SIGNAALINKÄSITTELY KUVA VOIDAAN TULKITA KOORDINAATTIEN (X,Y) FUNKTIONA. LÄHDE: S. SEITZ VÄRIKUVA KOOSTUU KOLMESTA KOMPONENTISTA (R,G,B). ÄÄNI VASTAAVASTI MUUTTUJAN
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ätiedotAsuntojen neliöhinnan vaihtelu Helsingissä (1997-2010)
hyväksymispäivä arvosana arvostelija Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) Tuomas Puikkonen Helsinki 8.1.2010 Geoinformatiikan menetelmät ja kirjallisuus -kurssin harjoitustyö HELSINGIN
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ätiedot3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. Olkoot A 2 := AA =
3 3 Olkoot 9 8 B 7 6 ja A 5 4 [ 3 4 Nyt A + B, AB ja BB eivät ole mielekkäitä (vastaavilla lineaarikuvauksilla menisivät dimensiot solmuun tällaisista yhdistelmistä) Kuitenkin voidaan laskea BA ja 9( )
LisätiedotLineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi
Lineaarikuvaukset aiheita ten ten 1 Matematiikassa sana lineaarinen liitetään kahden lineaariavaruuden väliseen kuvaukseen. ten Määritelmä Olkoon (L, +, ) ja (M, ˆ+, ˆ ) reaalisia lineaariavaruuksia, ja
LisätiedotEsityksen sisältö. Peruskäsitteitä. 3D Grafiikka tietokonepeleissä. Piirto- ja taustapuskuri
Esityksen sisältö 3D Grafiikka tietokonepeleissä Peruskäsitteitä Korkean tason rakenne Piirron alkeisobjektit Tekstuurit Valotus Laitteistopiirtoliukuhihna Yhteenveto Peruskäsitteitä Piirto- ja taustapuskuri
LisätiedotMalliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)
Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE) Pasi Lehtimäki Helsinki 10.9.2007 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY
LisätiedotKJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme
KJR-C1001 Statiikka ja dynamiikka Luento 29.3.2016 Susanna Hurme Yleisen tasoliikkeen kinematiikka: absoluuttinen ja suhteellinen liike, rajoitettu liike (Kirjan luvut 16.4-16.7) Osaamistavoitteet Ymmärtää,
LisätiedotKJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme
KJR-C1001 Statiikka ja dynamiikka Luento 23.2.2016 Susanna Hurme Tervetuloa kurssille! Mitä on statiikka? Mitä on dynamiikka? Miksi niitä opiskellaan? Päivän aihe: Voiman käsite ja partikkelin tasapaino
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ätiedotGeogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen
Geogebra -koulutus Ohjelmistojen pedagoginen hyödyntäminen Geogebra Ilmainen dynaaminen matematiikkaohjelmisto osoitteessa http://www.geogebra.org Geogebra-sovellusversion voi asentaa tietokoneilla ja
LisätiedotMatriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, kertausta Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Kaavio kirjoitetaan kaarisulkujen väliin
LisätiedotAvaruuslävistäjää etsimässä
Avaruuslävistäjää etsimässä Avainsanat: avaruusgeometria, mittaaminen Luokkataso: 6.-9. lk, lukio Välineet: lankaa, särmiön muotoisia kartonkisia pakkauksia(esim. maitotölkki tms.), sakset, piirtokolmio,
LisätiedotGrafiikkasuorittimen käyttö keskusmuistitietokannoissa
Grafiikkasuorittimen käyttö keskusmuistitietokannoissa Matti Nauha Helsinki 9.3.2012 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI
Lisätiedot2020 Fusion. What s New in Version 6? What s New in Version 6? 1 of Fusion
2020 Fusion What s New in Version 6? What s New in Version 6? 1 of 17 2020 Fusion Uusi 2020 Fusion 6 nopeuttaa ja helpottaa työskentelyäsi: Täysin uudistettu renderöinti Useiden tuotteiden muokkaus samalla
LisätiedotLuento 5 Mittakuva. fotogrammetriaan ja kaukokartoitukseen
Luento 5 Mittakuva 1 Aiheita Mittakuva Muunnokset informaatiokanavassa. Geometrisen tulkinnan vaihtoehdot. Stereokuva, konvergentti kuva. Koordinaatistot. Kuvien orientoinnit. Sisäinen orientointi. Ulkoinen
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ä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ätiedotOppimateriaalin kokoaminen ja paketointi
Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto
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ätiedotPERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2
PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä 3/4+^2 3 4+ 2 Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +^2 3 + 4 2 Kopioi
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ätiedotMatematiikan ilmiöiden tutkiminen GeoGebran avulla
Johdatus GeoGebraan Matematiikan ilmiöiden tutkiminen GeoGebran avulla Harjoitus 1B. Konstruoi tasakylkinen kolmio ABC, jonka kyljen pituus on 5. Vihje: käytä Kiinteä jana työvälinettä kahdesti. Ota kolmion
Lisätiedot10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys
10.2. Säteenjäljitys ja radiositeettialgoritmi Säteenjäljitys Säteenjäljityksessä (T. Whitted 1980) valonsäteiden kulkema reitti etsitään käänteisessä järjestyksessä katsojan silmästä takaisin kuvaan valolähteeseen
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ätiedotSisältö. Luento 1: Transformaatiot (2D) 1. Koordinaattimuunnokset. Muunnokset (jatkuu) 2. Perustransformaatiot. Perustransformaatiot (jatkuu)
Sisältö ietokonegrafiikka / perusteet Ako/-.3/3 4 ov / 2 ov Perustransformaatiot ransformaatioiden hdistäminen Muunnosmatriisit Laskennallisia näkökohtia Luento : ransformaatiot (2D) Marko Mllmaa 6/4 2D
LisätiedotPistepilvestä virtuaalimalliksi työpolku
Pistepilvestä virtuaalimalliksi työpolku ProDigiOUs-hanke: Osallistava Virtuaalitodellisuus -työpaja 13.02.2018 Työryhmä: Hannu Kupila, Tero Markkanen, Jani Mäkinen, Kalle Tammi ja Toni Teittinen Työpolku
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ätiedotx = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );
LINEAARIALGEBRA Harjoituksia/Exercises 2017 1. Olkoon n Z +. Osoita, että (R n, +, ) on lineaariavaruus, kun vektoreiden x = (x 1,..., x n ), y = (y 1,..., y n ) identtisyys, yhteenlasku ja reaaliluvulla
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ätiedotMS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44
MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko Tehtävä (L): Käynnistä Matlab-ohjelma ja kokeile laskea sillä muutama peruslaskutoimitus: laske jokin yhteen-, vähennys-, kerto- ja jakolasku. Laske
Lisätiedot3D-grafiikkamoottorin toteutus
Anssi Seppä 3D-grafiikkamoottorin toteutus Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Insinöörityö 24.4.2018 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Anssi Seppä 3D-grafiikkamoottorin
LisätiedotMATEMATIIKKA JA TAIDE II
1 MATEMATIIKKA JA TAIDE II Aihepiirejä: Hienomotoriikkaa harjoittavia kaksi- ja kolmiulotteisia väritys-, piirtämis- ja askartelutehtäviä, myös sellaisia, joissa kuvio jatkuu loputtomasti, ja sellaisia,
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ätiedotHelsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita
Helsingin seitsemäsluokkalaisten matematiikkakilpailu 22..204 Ratkaisuita. Laske 23 45. a) 4000 b) 4525 c) 4535 d) 5525 e) 5535 Ratkaisu. Lasketaan allekkain: 45 23 35 90 45 5535 2. Yhden maalipurkin sisällöllä
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ätiedotHannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus
Perusohjeita, symbolista laskentaa Geogebralla Kielen vaihtaminen. Jos Geogebrasi kieli on vielä englanti, niin muuta se Options välilehdestä kohdasta Language suomeksi (finnish). Esittelen tässä muutaman
LisätiedotKertausosa. 5. Merkitään sädettä kirjaimella r. Kaaren pituus on tällöin r a) sin = 0, , c) tan = 0,
Kertausosa. a),6 60 576 Peruuttaessa pyörähdyssuunta on vastapäivään. Kulma on siis,4 60 864 a) 576 864 0,88m. a) α b 0,6769... 0,68 (rad) r,m 8cm β,90...,9 (rad) 4cm a) α 0,68 (rad) β,9 (rad). a) 5,0
LisätiedotLuento 5 Mittakuva. fotogrammetriaan ja kaukokartoitukseen
Luento 5 Mittakuva 1 Aiheita Mittakuva Muunnokset informaatiokanavassa. Geometrisen tulkinnan vaihtoehdot. Stereokuva, konvergentti kuva. Koordinaatistot. Kuvien orientoinnit. Sisäinen orientointi. Ulkoinen
LisätiedotLuento 6 Mittakuva. fotogrammetriaan ja kaukokartoitukseen
Luento 6 Mittakuva 1 Aiheita Mittakuva Muunnokset informaatiokanavassa. Geometrisen tulkinnan vaihtoehdot. Stereokuva, konvergentti kuva. Koordinaatistot. Kuvien orientoinnit. Sisäinen orientointi. Ulkoinen
LisätiedotTiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta
Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets
LisätiedotBM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016
BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 1. Hahmottele karkeasti funktion f : R R 2 piirtämällä sen arvoja muutamilla eri muuttujan arvoilla kaksiulotteiseen koordinaatistoon
LisätiedotDominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Dominointianalyysi Teppo Niinimäki Helsinki 10.5.2010 Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotMatematiikka ja teknologia, kevät 2011
Matematiikka ja teknologia, kevät 2011 Peter Hästö 3. helmikuuta 2011 Matemaattisten tieteiden laitos Sisältö Kurssi koostuu kuudesta (seitsemästä) toisistaan riippumattomasta luennosta. Aihepiirit ovat:
Lisätiedot3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset
31 MS-A0004/A0006 Matriisilaskenta 3 Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2292015 Lineaariset yhtälöt ovat vektoreille luonnollisia yhtälöitä, joita
LisätiedotKUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA
KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota
Lisätiedot