Potentially Visible Set (PVS)

Koko: px
Aloita esitys sivulta:

Download "Potentially Visible Set (PVS)"

Transkriptio

1 HELSINKI UNIVERSITY OF TECHNOLOGY Telecommunications Software and Multimedia Laboratory Tik Tietokonegrafiikan seminaari Spring 2003: Reaaliaikainen 3D grafiikka Potentially Visible Set (PVS) Marko Lastikka 47178B

2 Potentially Visible Set (PVS) Marko Lastikka Johdanto Tämä paperi käsittelee Potentially Visible Set (PVS) tekniikoita. Tarkemmin paneudutaan näytteenottoratkaisuun ja siihen liittyviin ongelmiin, dynaamisiin objekteihin, sekä exact from-region visibility -ratkaisun tekniikkaan ja ongelmiin. 1 POTENTIALLY VISIBLE SET: TARKOITUS JA KÄYTTÖ Potentially Visible Set (PVS) tarkoittaa tietokonegrafiikassa potentiaalisesti näkyvää joukkoa. Potentiaalisesti näkyvä joukko on joukko grafiikkaobjekteja, jotka on piirrettävä näkyviin, niin että graafinen toteutus vastaisi ohjelmallista toteutusta. PVS-tekniikan käyttötarkoitus on graafiset ohjelmat, jossa liikutaan kolmiulotteisessa maailmassa. Kolmiulotteisessa maailmassa liikkumista käytetään enimmäkseen first person -ampumispeleissä (Kuva 1), jossa reaalisessa 3D-maailmassa liikutaan pelin hahmon silmien läpi, sekä autopeleissä (Kuva 2), jossa pelin maailma kuvaa formula- tai rallikilpailua ajajan silmistä. Tämänlaisten reaalisten maailmojen näyttäminen kuvaruudulla edellyttää jokaisen maailmassa näkyvän objektin renderointia, joka vaatii suuren määrän prosessoriaikaa. Kaikkien ohjelmien, varsinkin tietokonepelien tarkoituksena on minimoida prosessointiaika, jotta ohjelma toimisi ilman nykimistä. John M. Airey mainitsi PVS-tekniikan ensimmäisenä vuonna 1990 artikkelissa: Towards Image Realism with Interactive Updates in Complex Virtual Building Environments. Suurelle pelaajamassalle PVS-tekniikan teki tutuksi John Carmack työskennellessään id Software:n silloisen projektin, Quake parissa (v.1996). Quake oli ensimmäinen first person - ampumispeli, joka tekniseltä toteutukseltaan muistuttaa nykyaikaisia pelejä. Quake:n uutta tekniikkaa olivat tarkemmin kuvattu maailma, mahdollisuus katsoa ylös ja alas, yksityiskohtaiset valot ja varjot ja 3D-viholliset. Id Software:n edellinen first person - ampumispeli oli Doom. Siinä viholliset oli kuvattu yhdellä 2D-tasolla, joka ainoastaan kääntyi kohtisuoraan pelaajaan nähden. Kaikki nämä tekijät aiheuttivat sen, että Quake ei pyörinyt tarpeeksi nopeasti, kun maailman näkymiä käsiteltiin reaaliajassa ja pakotti John Carmack:in ottamaan käyttöön PVS-tekniikan, joka tutkii objektien näkyvyyden ennen ohjelman ajamista (eng. pre-process). 1

3 Kuva 1: Unreal 2-The Awakening, 2003 Epic Games Inc. Esimerkkikuva tyypillisestä first person -ampumispelistä. Kuva 2: Need For Speed-Hot Pursuit 2, 2002 EA Games. Esimerkkikuva tyypillisestä autopelistä. PVS-tekniikan pääidea on se, että aikaavievä kuvien prosessointi, eli näkyvien objektien näyttäminen ja näkymättömien objektien poistaminen, suoritetaan etukäteen (eng. pre-process) ja tallennetaan tiedostoon. Syntyvää tiedostoa kutsutaan PVS-listaksi. Pelin aikana (eng. runtime) näkyvät objektit ainoastaan luetaan etukäteen lasketusta PVS-listasta ja piirretään kuvaruudulle. Tämä vähentää reaaliaikaista prosessointiaikaa ja nopeuttaa pelin kulkua huomattavasti. Pelin nopeaan etenemiseen ei riitä ainoastaan se, että pelin näkymät luetaan etukäteen luodusta listasta. Jos kuvat pitävät sisällään liikaa informaatiota, kestää kaiken sen informaation piirtäminen liian kauan. Kuvien optimoimiseksi ja prosessointiajan säästämiseksi on kehitetty tekniikoita, jotka nopeuttavat 3D-maailman graafista esitystä. Tekniikoiden päätarkoitus on 2

4 renderoida kaikki sellainen grafiikka, joka näkyy yksittäisissä pelitilanteissa, mutta jättää se osa grafiikasta käsittelemättä, joka ei ole näkyvissä kyseisellä hetkellä. PVS-tekniikka jakaa pelimaailman kolmiulotteisiin soluihin (eng. view cell). Pelin hahmon täytyy aina olla näiden solujen sisällä. Jokaiselle solulle lasketaan oma PVS-lista, joka pitää sisällään kyseisestä solusta näkyvät objektit. Näytepiste (eng. sample point) on piste solun sisällä, joka kuvaa mahdollista kameran sijaintia ja kulmaa. Pelin tilanteessa kameran sijainti on hahmon sijainti ja kameran kulma on hahmon silmien katseen suunta. Kaikki näytepisteistä näkyvät objektit tallennetaan PVS-listaan. Lista pitää siis sisällään suuren määrän pelimaailman esineitä muodostavia polygoneja, jotka pelin henkilöllä on mahdollista nähdä liikkuessaan 3Dmaailmassa. PVS-listassa on kaikki pelimaailman objektit, joiden kuuluu kyseisestä solusta näkyä. Pelin ajon aikana valitaan solu, jonka sisällä pelin hahmo on, ja piirretään sen solun PVS-listan objektit näkyviin. Kuva 3 esittää kuvattua tilannetta pelimaailmassa. Vasemmanpuoleisessa kuvassa on esitetty koko maailma ja oikeanpuoleisessa kuvassa on esitetty tilanne, jossa näytepiste, eli pelin hahmo, on tunnelin sisällä. Kaikki turha grafiikka jätetään prosessoimatta ja renderoidaan ainoastaan objektit, jotka näkyvät tunnelin sisältä. Molempiin kuviin on piirretty solut, joissa pelin hahmo voi liikkua. Soluja on ainoastaan pelin ajoradadalla ja sen välittömässä läheisyydessä. Pelin hahmo ei siis voi liikkua kovin kauaksi ajoradasta. Kuva 3: Pelin 3D-maailma. Vasemmanpuoleinen kuva esittää koko pelin maailmaa. Oikeanpuoleisen kuvan säteet kuvaavat maailman nähtävää osaa, kun pelin hahmo on tunnelissa. [1] PVS-tekniikan käyttö on hyödyllistä peleissä, joissa ilmenee kuvan 3 kaltaisia tilanteita. Kun hahmo on tunnelissa, huoneessa, käytävillä tai suurten peittävien objektien takana, on kannattavaa jättää peitossa olevat objektit prosessoimatta. Peleissä, joissa ei ole toistensa peittäviä objekteja kuten lintuperspektiivistä tarkkailtavissa jalkapallopeleissä, ei ole hyötyä käyttää PVS-tekniikkaa. 2 PVS: LAATU Potentially Visible Set-tekniikan laatua kuvataan kahden kriteerin avulla. Kriteerit ovat artefaktien (eng. artifacts) ilmeneminen sekä konservatiivisuus (eng. conservativiness) eli oikeallisuus. Artefaktit ovat virheitä, jotka syntyvät kun graafisesti esitetty pelin maailma ei 3

5 vastaa ohjelmallista toteutusta. Pelissä tämä ilmenee siten että joku tai jotkut nähtäväksi tarkoitetut objektit eivät ole näkyvissä. Kuva 4 esittää artefakti virheen pisteen X ja objektin A avulla. Jos pelin hahmo on pisteessä X, eikä näkyvää objektia A piirretä, on kyseessä artefakti-virhe. Konservatiivisuus on virhe, joka ilmenee kun graafisesti esitetty maailma ei ole optimointi ohjelmallisesta maailmasta. Pelin maailmasta ei siis puutu mitään objekteja, eli kuva on virheetön. Laadun aleneminen huomataan PVS-listan kasvamisena, kun turhia objekteja piirretään. Tämä hidastaa pelin kulkua sen pyöriessä. Kuva 4 esittää konservatiivisuus virheen pisteen X ja objektin B avulla. Jos grafiikka näyttää näköesteen takana olevan objektin B, on kyseessä konservatiivisuus virhe. Kuva 4: Artefakti- ja oikeallisuus-virheet. Jos objekti A jää käsittelemättä syntyy artefakti-virhe. Jos objekti B käsitellään syntyy oikeallisuus-virhe.[1] Mahdollinen virheiden syntyminen tulee ottaa huomioon myös ohjelmakoodissa. Oletuksena pidetään, että kaikki kolmiulotteisen maailman objektit on luotu kolmioista eli polygoneista. Jos kolmioiden väliin jää ohjelmakoodissa rako, syntyy niinsanottu t-risteys (eng. t-junction) (Kuva 5). Rako saattaa ihmissilmältä jäädä huomioimatta graafisessa esityksessä mutta PVS-laskenta huomaa raon ja luulee sitä tarkoitukselliseksi. T-risteys aiheuttaa konservatiivisuus-virheen, kun pienestä raosta näkyy sen takana olevia objekteja, joiden kuuluisi olla peitossa. Tämä tietysti kasvattaa PVS-listaa ja hidastaa koko peliä. Kuva 5: T-rako. Polygonien väliin jäävää rakoa kutsutaan t-raoksi. [1] 3 PVS: LASKENTATAVAT PVS-tekniikka voidaan jakaa kahteen osaan sen perusteella miten ratkaisu tuotetaan. Nämä tavat ovat näytteenotto (eng. sampling) ja analyyttinen (eng. analytic) eli laskennallinen. 4

6 Näytteenotto voidaan suorittaa lähettämällä säteitä (eng. casting rays) ja lisäämällä PVS-listaan ne objektit, joihin säteet törmäävät. Säteet kuvaavat aluetta, jonka pelin hahmo näkee. Näytteenotto-tekniikka saattaa aiheuttaa useita ongelmia. Jaan ongelmat kolmeen osaalueeseen: näytteenoton rajallisuudesta johtuvat artefakti-virheet, näytteenottosolujen lukumäärä ja sijoittaminen, sekä näytteenoton tarkkuus. Näytteenotto-tekniikka saattaa tuottaa artefakti-virheitä näytteenottojen rajallisen määrän vuoksi (Kuva 6). Mikään rajallinen määrä näytteitä ei voi taata virheetöntä tulosta. Jos yksikään näytteenottosäde ei törmää näkyvään objektiin, jää se renderoimattta lopullisesta graafisesta esityksestä. Tästä syntyy artefakti-virhe eli objekti, jonka kuuluisi näkyä ei näy. Näytteenotto-tekniikan tuottamat virheet eivät ole ennustettavissa, sillä jokainen näytteenottokerta tuottaa eri näytteet. Näytteenottopaikat sijoitetaan solun pinnalle, sillä kaiken mitä voi nähdä solun sisältä näkee myös solun pinnalta. Näytteenottopaikat täytyy sijoittaa mahdollisimman tasaisin välein maailmaan. Sijoituksen ongelman ratkaisussa voidaan käyttää Poisson disk distribution- tai stratified sampling-algoritmeja, mutta nekin antavat vain rajaarvon täydellisestä ratkaisusta. Täydellistä ratkaisua ei ole mahdollista toteuttaa äärellisellä määrällä näytteenottopaikkoja. Kuva 6: Artefakti-virheet 1. Solun sisällä olevasta näytepisteestä lähetetään säteitä. Säteiden rajallisen määrän vuoksi säteet löytävät ainoastaan objektit A ja C. Objekti B jää käsittelemättä, eli syntyy artefakti-virhe. Näytteenottosolujen lukumäärä ja niiden sijoittaminen aiheuttavat toisen ongelman. Solujen lukumäärän täytyy olla tarpeeksi suuri, jotta saataisiin minimoitua turhan grafiikan piirtäminen. Jos pelimaailma olisi jaettu vain yhteen soluun, täytyisi koko maailman grafiikka piirtää joka ruutuun. Solujen oikealla määrällä ja maailman järkevällä jaolla saadaan peli pyörimään tarpeeksi nopeasti. Lisäksi järkevästi jaettujen vierekkäisten solujen PVS-listat ovat keskenään hyvin samanlaisia, joten ne saadaan pakattua tehokkaasti. Pelimaailman jako soluihin on kuitenkin raskasta manuaalista työtä ja suuren solumäärän tuottaminen vaatii paljon aikaa. Solujen lukumäärä ja sijoittaminen tulee siis valita halutun laadun ja käytettävän ajan mukaan. 5

7 Kolmas ongelma liittyy näytteenoton tarkkuuteen (Kuva 7). Kun pelin maailma kuvataan graafisesti, on kuvan koko rajoitettu. Yleinen pelimaailman resoluutio on luokkaa 1024x768 pikseliä. Maailmassa saattaa olla pieniä objekteja, joihin näytteenottosäteet eivät osu. Ne jäävät PVS-listasta pois, jonka vuoksi niitä ei prosessoida lopulliseen kuvaan. Toinen syy objektien poisjäämiseen PVS-listasta on se, että ne näkyvät vain muiden objektien muodostamasta pienestä raosta. Pelimaailmassa saattaa olla niin pieniä objektien muodostamia rakoja, ettei näytteenottosäteet löydä niistä läpi. Tähän ongelmaan on kaksi osittaista ratkaisua. Pelimaailman kuva voitaisiin normaalin grafiikkakiihdyttimen sijaan laskea analyyttisellä rasterilla (eng. analytic rasterizer), jolla on ääretön tarkkuus. Tämä kuitenkin hidastaisi laskutoimituksia satakertaiseksi. Toinen ratkaisu on esittää objektit hierarkkisella mallilla. Suuret objektit, jotka koostuvat sadoista kolmioista, jaetaan pienempiin osa-alueisiin, esim. kymmenen kolmion joukkoihin. Jos jokin joukon kolmioista osuu näytesäteeseen, renderoidaan kaikki muutkin joukon kolmiot. Kuva 7: Artefakti-virheet 2. Näytteenottosäteet tavoittavat objektit A,C ja E, eli ne käsitellään lopulliseen kuvaan. Objekti B jää käsittelemättä, koska säteet eivät löydä sitä objektien A ja C muodostamasta raosta. Objekti D jää käsittelemättä, koska säteet eivät löydä sitä objektin pienen koon vuoksi. Objektit B ja D muodostavat artefaktivirheet. PVS-ratkaisu voidaan näytteenoton sijaan suorittaa analyyttisella laskennalla. Analyyttinen laskenta ei tuota arvaamattomia virheitä, sillä laskennan tulos on sama laskukerrasta riippumatta. Analyyttinen laskenta tuottaa matemaattisesti tarkemman tuloksen kuin näytteenotto, mutta se on huomattavasti raskaampi tekniikka. 4 PVS: STATIIKKA JA DYNAAMISUUS Pelimaailman objektien näkyvyyden laskenta ja PVS-listan luonti on raskasta ja aikaa vaativaa työtä. Tämän takia PVS-laskenta suoritetaan etukäteen (eng. pre-process) ja tallennetaan 6

8 tiedostoon. Pelin ajon (eng. run-time) aikana valmiiksi lasketut näkymät luetaan muistista kun pelin hahmo liikkuu solusta ja näytepisteestä toiseen. Staattisesti laskettu PVS-lista voi kuitenkin käsitellä ainoastaan staattisia objekteja eli paikallaanpysyviä objekteja. Jos pelissä on (usein onkin) dynaamisia, eli liikkuvia objekteja, on niiden näkyvyys käsiteltävä pelin ajon aikana. Pelien liikkuvia objekteja ovat esimerkiksi first person -ampumispelien viholliset, sekä autopelien kilpailevat autot. Yksi tapa saada liikkuvat objektit näkyviin olisi niiden piirtäminen joka kuvaan riippumatta niiden näkyvyydestä. Tämä yksinkertainen toteutus kuitenkin hidastaisia peliä, kun kaikki esteiden takana piilossa olevat objektit piirrettäisiin jokaiseen kuvaan. Parempi ratkaisu on täyttää staattinen maailma läpinäkyvillä alueilla, esimerkiksi kuutiolla (Kuva 8). Kuvan 8 kuutiot on kuvattu kaksiulotteisena yksinkertaistamisen vuoksi. Todellisuudessa kuutiot ovat kolmiulotteisia. Kuva8: Autopelin staattinen maailma on täytetty läpinäkyvillä kuutiolla. Läpinäkyvät kuutiot ovat staattisia, eli pysyvät paikallaan suhteessa muuhun maailmaan. Kuutiot käsitellään PVS-listan luonnissa kuin mitkä tahansa muutkin maailman staattiset objektit. Jokaisen pelimaailman solun PVS-listaan siis tallenetaan tavallisten objektien lisäksi kyseisestä solusta näkyvät kuutiot. Pelin aikana tutkitaan dynaamisten objektien näkyvyyttä kuutioiden sisällä (Kuva 9). Jos mikään dynaamisen objektin osa ei ole minkään näkyvissä olevan kuution sisällä, jätetään objekti piirtämättä. Jos taas joku dynaamisen objektin osa on näkysissä olevan kuution sisällä, piirretään objekti kuvaruudulle. 7

9 Kuva 9: Haetaan dynaamisten objektien näkyvyys kuutioissa. Näkyvä dynaaminen objekti piirretään edeltäprosessoidun staattisen maailman päälle (Kuva 10). Lopputuloksena saadaan maailma, joka pitää sisällään staattisen taustan sekä dynaamisia objekteja, joiden kanssa voidaan olla vuorovaikutuksessa. Kuva 10: Näkyvä dynaaminen objekti piirretään ajon aikana PVS-kuvan päälle. On tärkeää huomata että kaikkien staatisten objektien esimerkiksi pelimaailman teiden, maastojen, puiden ja rakennusten näkyvyys on siis laskettu valmiiksi. Ainoastaan dynaamiset objektit käsitellään kuvakuvalta (eng. per-frame basis) pelinajon aikana. 5 EXACT FROM-REGION VISIBILITY On tärkeää että objektit, jotka eivät ole näkyvissä saadaan poistettua mahdollisimman tarkasti, jotta ei suoritettaisi turhaa renderointia. Tärkeää on myös että kaikki objektit, joiden kuuluisi 8

10 näkyä myös näkyvät. Exact from-region visibility -tekniikka on staattinen PVS-toteutus, joka täyttää edellämainitut kriteerit. Termin from-region -osa tarkoittaa, että pelin maailma on jaettu alueisiin tai soluihin. Termin exact -osa tarkoittaa, että ratkaisu tuottaa virheettömiä kuvia optimaalisesti. Virheettömyydellä tarkoitetaan, että kaikki tarkoitetut objektit näkyvät. Optimaalisuudella tarkoitetaan, että kaikki turhat objektit on jätetty pois. Exact from-region visibility -tekniikka laskee näkyvyyden kolmiulotteiselta alueelta, solusta, jossa pelin henkilö liikkuu. Tämä eroaa siis yksittäisestä näytteenotosta, jossa näkyvyys haetaan ainoastaan yhdestä näytepisteestä. Pelimaailman soluja saattaisivat olla esimerkiksi huoneet tai käytävät, joiden alueelta nähdään samat objektit. S. Nirenstein, E. Blake ja J. Gain käsittelevät aihetta artikkelissaan: Exact From-Region Culling. He esittelevät ensimmäisen exact from-region culling algoritmin, joka toimii realistisen kokoisissa maailmoissa (koostuu 1,5 miljoonasta polygonista). Heidän ratkaisunsa tarjoaa optimaalisen renderointi ajan käsittelemällä ainoastaan objektit, joiden kuuluisi näkyä. Ratkaisussa käytetään kahta uutta tekniikkaa, lokalisoitua tarkka näkyvyys algoritmia (eng. Localised Exact Visibility) ja tiedustelu arkkitehtuuria (eng. Query Driven Architecture). Lokalisoitu tarkka näkyvyys algoritmi hakee näkyvyyden kahden konveksin polygonin välillä. Tiedustelu arkkkitehtuuri käsittelee näkyvien objektien haun optimointia. Tarkoituksena on ryhmitellä polygonit niin ettei lokalisoidun tarkka näkyvyys algoritmin tarvitse hakea näkyvyyttä kaikkien polygonien välillä, vaan osa polygoneista voidaan jättää käsittelemättä. Näkyvyys konveksin polygonin alueelta saadaan laskemalla näkyvyys sen rajoilta. Lokalisoitu tarkka näkyvyys algoritmi lähettää näytteenottosäteitä solusta tutkittavaa polygonia kohden. Jos kaikkien säteiden eteen tulee este, eivätkä ne pääse tutkittavalle polygonille, on polygoni näkymätön kyseisestä solusta. Jos jokin säteistä pääsee tutkittavalle polygonille, on polygoni nähtävissä ja se lisätään PVS-listaan. Tutkittavien polygonien joukko muodostuu tiedustelu arkkitehtuurin antamasta polygoni joukosta. Tiedustelu arkkitehtuurin tehtävä on antaa lokalisoidulle tarkka näkyvyys algoritmille tutkittavien polygonien joukko. Näkyvyyttä kaikkiin maailman polygoneihin ei kannata tutkia, koska mitä todennäköisimmin suurin osa niistä ei ole näkyvissä. Tiedustelu arkkitehtuurin tarkoituksena on ryhmitellä polygonit tehokkaasti, jotta selvittäisiin mahdollisimman pienellä määrällä hakuja. Se käsittelee alueen kahden tason hierarkiana, polygonien ryhmänä ja yksittäisinä polygoneina. Ensimmäiseksi haetaan polygoni ryhmän äärialue (eng. bounding box). Jos äärialue ei ole näkyvissä, on selvää että myöskään sen sisällä olevat polygonit eivät ole ja ne voidaan poistaa käsittelystä. Jos äärialue on näkyvissä, ovat sen sisällä olevat polygonit potentiaalisesti näkyvissä, jolloin ne käsitellään erikseen. 6 YHTEENVETO PVS-tekniikan (tai muun vastaavanlaisen tekniikan) käyttö on edellytyksenä, että nykyaikaiset pelit saadaan toiminaan kunnolla. Pelimaailmat on muodostettu miljoonista polygoneista, joiden kaikkien kerrallaan piirtäminen vie liian kauan, eikä peli siten pyöri tarpeeksi nopeasti. Jo vuonna 1996 julkaistun Quaken polygonin maailmat aiheuttivat pahimmassa tapauksessa yli kymmenkertaisen päällepiirron (eng. overdraw). 9

11 Kun pelimaailman polygoneista muodostettuja objekteja piirretään näkyviin, tärkeintä on että kaikki minkä kuuluisi näkyä myös näkyy. Jos pelin aikana piirretään hiukan turhaa grafiikkaa (20-30%) se ei varmasti haittaa niin paljon kuin nähtäväksi tarkoitetun grafiikan puuttuminen. Kun turhan grafiikan piirto kasvaa moninkertaiseksi tarpeelliseen verrattuna, hidastaa se pelin kulkua huomattavasti. Kolmiulotteisissa peleissä on usein paljon päällekäistä grafiikkaa, josta kannattaa siis piirtää vain päälimmäinen. Kuvat 11 ja 12 näyttävät kuinka paljon pelimaailmoissa saattaa olla päällekäisiä objekteja. Kuvissa keltainen laatikko edustaa solua, jossa pelaaja kyseisellä hetkellä on. Maailman vihreät osat ovat objekteja, jotka näkyvät kyseisestä solusta. Nämä objektit ovat solun PVS-listassa. Punaiset osat eivät näy solusta, joten niitä ei lisätä PVSlistaan, eikä niitä piirretä näkyviin. Molemmat kuvat osoittavat, että tämänkaltaisissa pelimaailmoissa turhan grafiikan osuus on huomattava nähtävään grafiikkaan verrattuna. Kuva 11: Pelimaailman kaupunki. Keltaisesta solusta näkyvä grafiikka on kuvattu vihreällä ja näkymätön grafiikka on kuvattu punaisella [4] Kuva 12: Pelimaailman metsä. Keltaisesta solusta näkyvä grafiikka on kuvattu vihreällä ja näkymätön grafiikka on kuvattu punaisella [4] 10

12 LÄHTEET [1] Kalle Raita. Hybrid spvs. (saatavilla ) [2] Airey, J., J. Rohlf, and F. P. Brooks, Jr., 1990: "Towards Image Realism with Interactive Updates in Complex Virtual Building Environments," Computer Graphics: Proc Symposium on Interactive 3D Graphics [3] Timo Aila and Konsta Hansson. Potentially visible sets, Part one, (saatavilla ) [4] Shaun Nirenstein, Edwin Blake and James Gain. Exact From-Region Visibility Culling, Thirteenth Eurographics Workshop on Rendering. (saatavilla ) [5] Michael Abrash. Inside Quake: Visible-Surface Determination, (saatavilla ) [6] Jiri Bittner, Jan Prikryl and Pavel Slavik. Exact Regional Visibility using Line Space Partitioning. To appear in Computers&Graphics, Vol. 27/4, (saatavilla ) [7] Jiri Bittner and Peter Wonka. Visibility in Computer Graphics. To appear in Journal of Environment and Planning B, Pion Ltd., 2003 ftp://ftp.cg.tuwien.ac.at/pub/tr/03/tr paper.pdf (saatavilla ) 11

Luento 6: Piilopinnat ja Näkyvyys

Luento 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ätiedot

HELSINKI UNIVERSITY OF TECHNOLOGY 7.4.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003

HELSINKI UNIVERSITY OF TECHNOLOGY 7.4.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003 HELSINKI UNIVERSITY OF TECHNOLOGY 7.4.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003 Portaalit ja peilit Henrik Lönnroth 45894L Portaalit

Lisätiedot

Tilanhallintatekniikat

Tilanhallintatekniikat Tilanhallintatekniikat 3D grafiikkamoottoreissa Moottori on projektin osa joka vastaa tiettyjen toiminnallisuuksien hallinnasta hallitsee kaikki vastuualueen datat suorittaa kaikki tehtäväalueen toiminnot

Lisätiedot

HELSINGIN TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja Multimedian Laboratorio Tik Tietokonegrafiikan seminaari Kevät 2003

HELSINGIN TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja Multimedian Laboratorio Tik Tietokonegrafiikan seminaari Kevät 2003 HELSINGIN TEKNILLINEN KORKEAKOULU 4.5.2003 Tietoliikenneohjelmistojen ja Multimedian Laboratorio Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003 Portaalit ja peilit Aki Sirelius 45374c Portaalit ja

Lisätiedot

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

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

Lisätiedot

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Luku 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ätiedot

Luento 10: Näkyvyystarkastelut ja varjot. Sisältö

Luento 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ätiedot

Tasohyppelypeli. Piirrä grafiikat. Toteuta pelihahmon putoaminen ja alustalle jääminen:

Tasohyppelypeli. Piirrä grafiikat. Toteuta pelihahmon putoaminen ja alustalle jääminen: Tasohyppelypeli 1 Pelissä ohjaat liikkuvaa ja hyppivää hahmoa vaihtelevanmuotoisessa maastossa tavoitteenasi päästä maaliin. Mallipelinä Yhden levelin tasohyppely, tekijänä Antonbury Piirrä grafiikat Pelaajan

Lisätiedot

Luento 3: 3D katselu. Sisältö

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ätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus 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ätiedot

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Vastauksia kysymyksiin Miten hahmon saa hyppäämään? Yksinkertaisen hypyn

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS 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ätiedot

Sami Hirvonen. Ulkoasut Media Works sivustolle

Sami Hirvonen. Ulkoasut Media Works sivustolle Metropolia ammattikorkeakoulu Mediatekniikan koulutusohjelma VBP07S Sami Hirvonen Ulkoasut Media Works sivustolle Loppuraportti 14.10.2010 Visuaalinen suunnittelu 2 Sisällys 1 Johdanto 3 2 Oppimisteknologiat

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Uppgårds Fotisgolf. Tällä radalla pitää potkaista pallo alustalta reikään joka sijaitsee juuri ratalipun kohdalla.

Uppgårds Fotisgolf. Tällä radalla pitää potkaista pallo alustalta reikään joka sijaitsee juuri ratalipun kohdalla. Uppgårds Fotisgolf Yleiset ohjeet kaikille radoille: Jokainen rata alkaa aina pienen keltaisen pöydän kohdalla. Pöydältä näkee myös mite kyseinen rata pelataan. Radan lopussa oleva lippu ei aina osoite

Lisätiedot

Videon tallentaminen Virtual Mapista

Videon 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ätiedot

Kenguru 2019 Cadet (8. ja 9. luokka)

Kenguru 2019 Cadet (8. ja 9. luokka) Sivu 0 / 8 NIMI LUOKKA Pisteet: Kenguruloikan pituus: Tunnistekoodi (ope täyttää): Irrota tämä vastauslomake tehtävämonisteesta. Merkitse vastaus tehtävän numeron alle. Oikeasta vastauksesta saa 3, 4 tai

Lisätiedot

Impedanssitomografia-peli

Impedanssitomografia-peli Impedanssitomografia-peli Avainsanat: inversio-ongelmat, päättely, satunnaisuus Luokkataso: 3.-5. luokka, 6.-9. luokka, lukio, yliopisto Välineet: kynä, paperia, 2 pelinappulaa, 4 kolikkoa tai kolikonheittokortit

Lisätiedot

Palovaaran ja Ahkiovaaran tuulivoimapuisto, Pello

Palovaaran ja Ahkiovaaran tuulivoimapuisto, Pello Palovaaran ja Ahkiovaaran tuulivoimapuisto, Pello Näkymäalueanalyysi ja valokuvasovitteet VE1: 21 voimalaa, napakorkeus 167 metriä, kokonaiskorkeus 230 metriä VE2: 26 voimalaa, napakorkeus 167 metriä,

Lisätiedot

Visualisoinnin perusteet

Visualisoinnin 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ätiedot

Projektisuunnitelma. Projektin tavoitteet

Projektisuunnitelma. Projektin tavoitteet Projektisuunnitelma Projektin tavoitteet Projektin tarkoituksena on tunnistaa erilaisia esineitä Kinect-kameran avulla. Kinect-kamera on kytkettynä tietokoneeseen, johon projektissa tehdään tunnistuksen

Lisätiedot

Viimeistely Ajourien huomiointi puutiedoissa ja lopullinen kuviointi. Metsätehon tuloskalvosarja 5/2018 LIITE 4 Timo Melkas Kirsi Riekki Metsäteho Oy

Viimeistely Ajourien huomiointi puutiedoissa ja lopullinen kuviointi. Metsätehon tuloskalvosarja 5/2018 LIITE 4 Timo Melkas Kirsi Riekki Metsäteho Oy Viimeistely Ajourien huomiointi puutiedoissa ja lopullinen kuviointi Metsätehon tuloskalvosarja 5/2018 LIITE 4 Timo Melkas Kirsi Riekki Metsäteho Oy Viimeistely ajourien huomiointi ja lopullinen kuviointi

Lisätiedot

Yhteistyötä sisältämätön peliteoria

Yhteistyötä sisältämätön peliteoria Yhteistyötä sisältämätön peliteoria jarkko.murtoaro@hut.fi Optimointiopin seminaari Kevät 2003 / 1 Sisältö Johdanto Käsitteistö Työkalut Nashin tasapaino Täydellinen tasapaino Optimointiopin seminaari

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Luento 4: Näkyvyystarkastelut ja varjot

Luento 4: Näkyvyystarkastelut ja varjot Tietokonegrafiikan jatkokurssi T-111.5300 4 op Luento 4: Näkyvyystarkastelut ja varjot Lauri Savioja 02/07 Näkyvyystarkastelut ja varjot / 1 Näkyvyystarkastelu Solurenderöinti Portaalirenderöinti Quad-/Octtree

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

2020 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 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ätiedot

Sukelluskeräily. Pelihahmon liikuttaminen. Aarre ja pisteet

Sukelluskeräily. Pelihahmon liikuttaminen. Aarre ja pisteet Sukelluskeräily 1 Tässä pelissä keräilet erilaisia aarteita ja väistelet vihollista. Tämän lisäksi pelaajan pitää käydä välillä pinnalla hengittelemässä. Peliin lisätään myös häiriötekijäksi esim. parvi

Lisätiedot

Luento 6: Tulostusprimitiivien toteutus

Luento 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ätiedot

Tieteellinen laskenta 2 Törmäykset

Tieteellinen laskenta 2 Törmäykset Tieteellinen laskenta 2 Törmäykset Aki Kutvonen Op.nmr 013185860 Sisällysluettelo Ohjelman tekninen dokumentti...3 Yleiskuvaus...3 Kääntöohje...3 Ohjelman yleinen rakenne...4 Esimerkkiajo ja käyttöohje...5

Lisätiedot

Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon

Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon KA1-kurssi on ehkä mahdollista läpäistä, vaikkei osaisikaan piirtää suoraa yhtälön perusteella. Mutta muut kansiksen kurssit, no

Lisätiedot

1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä.

1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä. 3-D ANAGLYFIKUVIEN TUOTTAMINEN Fotogrammetrian ja kaukokartoituksen laboratorio Teknillinen korkeakoulu Petri Rönnholm Perustyövaiheet: A. Ota stereokuvapari B. Poista vasemmasta kuvasta vihreä ja sininen

Lisätiedot

Viestien poistaminen Jäsenpostista

Viestien poistaminen Jäsenpostista Viestien poistaminen Jäsenpostista Jäsenpostilaatikkoa on tyhjennettävä aika ajoin, jotta se ei täyty ja viestien toimittaminen osoitteeseen voisi jatkua. Viestien poistamiseksi ja tilan tekemiseksi postilaatikkoon

Lisätiedot

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Condess ratamestariohjelman käyttö Aloitus ja alkumäärittelyt Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Kun kysytään kilpailun nimeä, syötä kuvaava nimi. Samaa nimeä käytetään oletuksena

Lisätiedot

KODU. Lumijoen peruskoulu

KODU. Lumijoen peruskoulu KODU Lumijoen peruskoulu Sisällysluettelo 1. Aloitus... 2 1.1 Pelin tallennuspaikka... 2 1.2 Kodu Game lab... 3 2 Maan luominen... 4 2.1. Seinän tekeminen... 5 2.2. Vesialueen tekeminen peliin... 6 2.3.

Lisätiedot

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

KOLMIULOTTEINEN TIETOKONEGRAFIIKKA PELEISSÄ

KOLMIULOTTEINEN TIETOKONEGRAFIIKKA PELEISSÄ TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja Multimedian Laboratorio T-111.210 Informaatioverkostot: Studio 4 Kevät 2005 KOLMIULOTTEINEN TIETOKONEGRAFIIKKA PELEISSÄ Markus K Berg 60262R Informaatioverkostot

Lisätiedot

A* Reitinhaku Aloittelijoille

A* Reitinhaku Aloittelijoille A* Reitinhaku Aloittelijoille Alkuperäisen artikkelin kirjoittanut Patrick Lester, suomentanut Antti Veräjänkorva. Suom. huom. Tätä kääntäessäni olen pyrkinyt pitämään saman alkuperäisen tyylin ja kerronnan.

Lisätiedot

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

Tä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ätiedot

Luento 2 Stereokuvan laskeminen. 2008 Maa-57.1030 Fotogrammetrian perusteet 1

Luento 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ätiedot

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia? Muilla kielillä: English Suomi Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia? Kun kaksi fysiikkaoliota törmää toisiinsa, syntyy törmäystapahtuma. Nämä tapahtumat voidaan ottaa kiinni

Lisätiedot

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

Tietokonegrafiikka. 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ätiedot

Picasa 3 -kuvankäsittelyopas, osa 2, käytä tehokkaasti

Picasa 3 -kuvankäsittelyopas, osa 2, käytä tehokkaasti Picasa 3 -kuvankäsittelyopas, osa 2, käytä tehokkaasti Tämä on ensimmäisen kuvankäsittelyoppaan jatko-osa. Tässä jatko-osassa opimme käyttämään Picasan mainioita ominaisuuksia tehokkaasti ja monipuolisesti.

Lisätiedot

Kodu Ohjeet. Jos päivityksiä ei löydy niin ohjelma alkaa latautumaan normaalisti.

Kodu Ohjeet. Jos päivityksiä ei löydy niin ohjelma alkaa latautumaan normaalisti. 1 Kodu Ohjeet Kodun käynnistys - Kodu peli kun on asennettu ja hienosäädetty omalle koneelle kohdilleen, niin sitten ei muutakuin pelaamaan / tekemään pelejä. Vihreästä Kodu kuvakkeesta pääset aloittamaan.

Lisätiedot

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu ETAPPI ry JOOMLA 2.5 Artikkeleiden hallinta ja julkaisu ETAPPI ry JOOMLA 2.5 Sivu 1(16) Sisällysluettelo 1 Joomla! sivuston sisällöntuotanto... 2 2 Artikkeleiden julkaisu sivustolla... 4 3 Artikkelin julkaisemista

Lisätiedot

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

10.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ätiedot

Kenguru 2012 Junior sivu 1 / 8 (lukion 1. vuosi)

Kenguru 2012 Junior sivu 1 / 8 (lukion 1. vuosi) Kenguru 2012 Junior 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ätiedot

S09 04 Kohteiden tunnistaminen 3D datasta

S09 04 Kohteiden tunnistaminen 3D datasta AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen

Lisätiedot

Hakusuosikit. Unifaun Online 2015-12-16

Hakusuosikit. Unifaun Online 2015-12-16 Hakusuosikit Unifaun Online 2015-12-16 2 Sisältö 1 Hakusuosikit... 3 1.1 Käsitteitä... 3 1.2 Symboleita ja painikkeita... 3 1.3 Luo Hakusuosikki... 4 1.4 Hakusuosikin käyttö... 7 1.5 Poista hakusuosikki...

Lisätiedot

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

Kirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10) Tehtävä 40. Kirjoita ohjelma, jossa luetaan 20 lukua, joiden arvot ovat välillä 10 100. Kun taulukko on täytetty, ohjelma tulostaa vain ne taulukon arvot, jotka esiintyvät taulukossa vain kerran. Tehtävä

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS 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ätiedot

Kenguru 2013 Cadet (8. ja 9. luokka)

Kenguru 2013 Cadet (8. ja 9. luokka) sivu 1 / 7 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ätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Yksinkertaistaminen normaalitekstuureiksi

Yksinkertaistaminen normaalitekstuureiksi TEKNILLINEN KORKEAKOULU 30.4.2003 Tietoliikenneohjelmistojen ja multimedian laboratorio Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003: Reaaliaikainen 3D grafiikka Yksinkertaistaminen normaalitekstuureiksi

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 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ätiedot

1. Lineaarinen optimointi

1. Lineaarinen optimointi 0 1. Lineaarinen optimointi 1. Lineaarinen optimointi 1.1 Johdatteleva esimerkki Esimerkki 1.1.1 Giapetto s Woodcarving inc. valmistaa kahdenlaisia puuleluja: sotilaita ja junia. Sotilaan myyntihinta on

Lisätiedot

Se on sinussa. Virtuaalinen ja laajennettu todellisuus. Jari Kotola Sovelto Aamiaisseminaari Tampere

Se on sinussa. Virtuaalinen ja laajennettu todellisuus. Jari Kotola Sovelto Aamiaisseminaari Tampere Se on sinussa. Virtuaalinen ja laajennettu todellisuus Jari Kotola Sovelto Aamiaisseminaari 31.3.2017 Tampere Jari Kotola Senior-konsultti, MCT IT-kouluttajana vuodesta 1995 Soveltossa vuodesta 2002 Tietotyö,

Lisätiedot

Pyramidin yleiset säännöt

Pyramidin yleiset säännöt Pyramidin yleiset säännöt 1. Biljardivälineet ja tarvikkeet Seuraavassa kuvattuihin pyramidi -pelin versioiden pelaamiseen tarvittavat välineet ovat biljardipöytä, pallot sekä apuvälineet (mm. resti).

Lisätiedot

Yhteistyötä sisältämätön peliteoria jatkuu

Yhteistyötä sisältämätön peliteoria jatkuu Yhteistyötä sisältämätön peliteoria jatkuu Tommi Lehtonen Optimointiopin seminaari - Syksy 2000 / 1 Bayesilainen tasapaino Täysi informaatio Vajaa informaatio Staattinen Nash Bayes Dynaaminen Täydellinen

Lisätiedot

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager Missio: 1. Asentaminen 2. Valokuvien tarkastelu, tallennus/formaatit, koko, tarkkuus, korjaukset/suotimet, rajaus 3. Kuvan luonti/työkalut (grafiikka kuvat) 4. Tekstin/grafiikan lisääminen kuviin, kuvien/grafiikan

Lisätiedot

Vaihtuvan perspektiivin panoraamat piirrosanimaatiossa

Vaihtuvan perspektiivin panoraamat piirrosanimaatiossa Vaihtuvan perspektiivin panoraamat piirrosanimaatiossa Tomi Salo TKK, Tietotekniikan osasto ttsalo@iki.fi Tiivistelmä Artikkelissa kuvataan menetelmä staattisissa 3D-maailmoissa tapahtuvan kamera-ajon

Lisätiedot

Toinen harjoitustyö. ASCII-grafiikkaa

Toinen harjoitustyö. ASCII-grafiikkaa Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita

Lisätiedot

75059 Suuri lajittelusarja

75059 Suuri lajittelusarja 75059 Suuri lajittelusarja Peliohjeet Tämä sarjan sisältö: 632 kpl lajitteluesineitä 3 kpl onnenpyörää 6 kpl lajittelukulhoa 1 kpl muovinen lajittelualusta 1 kpl numeromerkitty arpakuutio Lajittelusarja

Lisätiedot

2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys

2.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ätiedot

Graafiset käyttöliittymät Sivunparantelu

Graafiset käyttöliittymät Sivunparantelu Graafiset käyttöliittymät Sivunparantelu Johdanto Tarkoituksenamme on parantaa Konebox.fi-verkkokaupan nettisivuja. Ensivaikutelman perusteella sivusto tuntuu todella kömpelöltä ja ahdistavalta. Sivu on

Lisätiedot

Seilailupeli. Piirrä tausta, mm. liukuvärejä kannattaa käyttää Esteet. Piirrä uusi este-hahmo, joka voi olla esim. jäävuori tai merimiina

Seilailupeli. Piirrä tausta, mm. liukuvärejä kannattaa käyttää Esteet. Piirrä uusi este-hahmo, joka voi olla esim. jäävuori tai merimiina Seilailupeli 1 Kuljeta aluksesi mahdollisimman pian majakan valaiseman meren poikki ja merihätään joutuneen aluksen luokse. Matkaa hankaloittavat vastaan lipuvat jäävuoret tai muut esteet, jotka kuitenkin

Lisätiedot

Reaalilukuvälit, leikkaus ja unioni (1/2)

Reaalilukuvälit, leikkaus ja unioni (1/2) Luvut Luonnolliset luvut N = {0, 1, 2, 3,... } Kokonaisluvut Z = {..., 2, 1, 0, 1, 2,... } Rationaaliluvut (jaksolliset desimaaliluvut) Q = {m/n m, n Z, n 0} Irrationaaliluvut eli jaksottomat desimaaliluvut

Lisätiedot

ASCII-taidetta. Intro: Python

ASCII-taidetta. Intro: Python Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

Lisätiedot

Ampumahiihto. Hiihto. Pelihahmon piirtäminen. Jos tahdot animoida hiihtämisen, Peli muodostuu kahdesta erilaisesta osasta: ensin

Ampumahiihto. Hiihto. Pelihahmon piirtäminen. Jos tahdot animoida hiihtämisen, Peli muodostuu kahdesta erilaisesta osasta: ensin Ampumahiihto 1 Peli muodostuu kahdesta erilaisesta osasta: ensin hiihdetään ammuntapaikalle rämpyttämällä nuolinäppäimiä ja sen jälkeen yritetään ampua maalitaulut mahdollisimman nopeasti aikasakot välttäen.

Lisätiedot

Kenguru 2010 Cadet (8. ja 9. luokka) sivu 1 / 5

Kenguru 2010 Cadet (8. ja 9. luokka) sivu 1 / 5 Kenguru 2010 Cadet (8. ja 9. luokka) sivu 1 / 5 NIMI LUOKKA/RYHMÄ Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto.

Lisätiedot

Pikaohje QPR-käyttöön

Pikaohje QPR-käyttöön Pikaohje QPR-käyttöön SOTE-arkkitehtuuri 1 11.3.2019 QPR-pikaohje Sisältö Aloittaminen Peruskomennot Elementtien hallinnointi Mallihierarkian rakentaminen Tätä ohjetta täydentää mallinnuskäsikirja, joka

Lisätiedot

Materiaalifysiikan perusteet P Ratkaisut 1, Kevät 2017

Materiaalifysiikan perusteet P Ratkaisut 1, Kevät 2017 Materiaalifysiikan perusteet 51104P Ratkaisut 1, Kevät 017 1. Kiderakenteen alkeiskopin hahmottamiseksi pyritään löytämään kuvitteellisesta rakenteesta sen pienin toistuva yksikkö (=kanta). Kunkin toistuvan

Lisätiedot

Seuraa huolellisesti annettuja ohjeita. Tee taitokset tarkkaan,

Seuraa huolellisesti annettuja ohjeita. Tee taitokset tarkkaan, Origami on perinteinen japanilainen paperitaittelumuoto, joka kuuluu olennaisena osana japanilaiseen kulttuuriin. Länsimaissa origami on kuitenkin suhteellisen uusi asia. Se tuli yleiseen tietoisuuteen

Lisätiedot

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan

Lisätiedot

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly Bayesin pelit Kalle Siukola MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly 12.10.2016 Toistetun pelin esittäminen automaatin avulla Ekstensiivisen muodon puu on tehoton esitystapa, jos peliä

Lisätiedot

Algoritmi I kuvioiden ja niille johtavien ajourien erottelu. Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy

Algoritmi I kuvioiden ja niille johtavien ajourien erottelu. Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy Algoritmi I kuvioiden ja niille johtavien ajourien erottelu Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy Algoritmi I kuvioiden ja niille johtavien ajourien erottelu

Lisätiedot

Kenguru 2016 Student lukiosarja

Kenguru 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ätiedot

Dynamic Occlusion Culling

Dynamic Occlusion Culling HELSINKI UNIVERSITY OF TECHNOLOGY 5.5.2003 Telecommunications Software and Multimedia Laboratory T-111.500 Tietokonegrafiikan Seminaari Spring 2003: mtkorpel@cc.hut.fi Dynamic Occlusion Culling Mikko Korpelainen

Lisätiedot

Korvennevan tuulivoimapuisto

Korvennevan tuulivoimapuisto SUUNNITTELU JA TEKNIIKKA OTSOTUULI OY Korvennevan tuulivoimapuisto Näkymäalueanalyysi ja valokuvasovitteet FCG SUUNNITTELU JA TEKNIIKKA OY FCG SUUNNITTELU JA TEKNIIKKA OY N117 x 12 x HH141 + G128 x 33

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

2.1 Yksinkertaisen geometrian luonti

2.1 Yksinkertaisen geometrian luonti 2.1 Yksinkertaisen geometrian luonti Kuva 2.1 Tiedon portaat Kuva 2.2 Ohjelman käyttöliittymä suoran luonnissa 1. Valitse Luo, Suora, Luo suora päätepistein. 2. Valitse Pystysuora 3. Valitse Origo Origon

Lisätiedot

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin Versio 1.0 1 Sukelluskeräily Tässä pelissä keräilet erilaisia aarteita ja väistelet vihollista. Tämän lisäksi pelaajan pitää käydä välillä pinnalla hengittelemässä. Peliin lisätään myös häiriötekijäksi

Lisätiedot

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt Yhtälöryhmät 1/6 Sisältö Yhtälöryhmä Yhtälöryhmässä on useita yhtälöitä ja yleensä myös useita tuntemattomia. Tavoitteena on löytää tuntemattomille sellaiset arvot, että kaikki yhtälöt toteutuvat samanaikaisesti.

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen ==================HUOM!!!================== SISÄLLÖN TUOMINEN VISUAL STUDIOON ON MUUTTUNUT Uudet ajantasalla olevat ohjeet löytyvät timistä:?https://tim.jyu.fi/view/kurssit/tie/ohj1/tyokalut/sisallon-tuominen-peliin

Lisätiedot

Parhalahden tuulivoimapuisto

Parhalahden tuulivoimapuisto S U U N N IT T EL U JA T EK N IIK K A PUHURI OY Parhalahden tuulivoimapuisto Näkemäalueanalyysi ja valokuvasovitteet FCG SUUNNITTELU JA TEKNIIKKA OY P24972 FCG SUUNNITTELU JA TEKNIIKKA OY Näkymäalueanalyysi

Lisätiedot

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana UUDEN NETTIJÄSENREKISTERIN OHJEET Kirjaudu sisään antamalla käyttäjätunnus ja salasana Aloitussivu näyttää seuraavalta. Sen kautta voi siirtyä haluttuihin toimintoihin. JÄSENREKISTERIN SELAUS/MUOKKAAMINEN

Lisätiedot

GeoGebra-harjoituksia malu-opettajille

GeoGebra-harjoituksia malu-opettajille GeoGebra-harjoituksia malu-opettajille 1. Ohjelman kielen vaihtaminen Mikäli ohjelma ei syystä tai toisesta avaudu toivomallasi kielellä, voit vaihtaa ohjelman käyttöliittymän kielen seuraavasti: 2. Fonttikoon

Lisätiedot

Essity Engagement Survey 2018

Essity Engagement Survey 2018 Essity Engagement Survey 2018 Tiimiraportin luomisohje EUCUSA Consulting GmbH Mariahilfer Straße 187/39 A-1150 Wien Tel: +43-1-817 40 20-0 Fax: DW 20 FN 174750 k Handelsgericht Wien www.eucusa.com e-mail:

Lisätiedot

Posterin teko MS Publisherilla

Posterin teko MS Publisherilla Posterin teko MS Publisherilla Ensimmäisenä avaa MS Publisher 2010. Löydät sen Windows valikosta - All programs - Microsoft Office. Publisheriin avautuu allaolevan kuvan mukainen näkymä. Mikäli et näe

Lisätiedot

5.3 Suoran ja toisen asteen käyrän yhteiset pisteet

5.3 Suoran ja toisen asteen käyrän yhteiset pisteet .3 Suoran ja toisen asteen käyrän yhteiset pisteet Tämän asian taustana on ratkaista sellainen yhtälöpari, missä yhtälöistä toinen on ensiasteinen ja toinen toista astetta. Tällainen pari ratkeaa aina

Lisätiedot

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Tampereen 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ätiedot

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen Venekilpailu! Esteiden väistely ja hahmon ohjaaminen 1 Vaihe 1 Valmistelu Lataa Boat Race eli Venekisa -niminen projekti seuraavasta linkistä ja avaa Scratchissa (Online- tai Offline-versiossa): http://jumpto.cc/boat-get

Lisätiedot

2.1 Yhtenevyyden ja yhdenmuotoisuuden käsite

2.1 Yhtenevyyden ja yhdenmuotoisuuden käsite 2.1 Yhtenevyyden ja yhdenmuotoisuuden käsite Tämän päivän lukiogeometrian sisältöjä on melkoisesti supistettu siitä, mitä ne olivat joku vuosikymmen sitten. Sisällöistä ei enää kasata sellaista rakennelmaa,

Lisätiedot

1. Johdanto Todennäköisyysotanta Yksinkertainen satunnaisotanta Ositettu otanta Systemaattinen otanta...

1. Johdanto Todennäköisyysotanta Yksinkertainen satunnaisotanta Ositettu otanta Systemaattinen otanta... JHS 160 Paikkatiedon laadunhallinta Liite III: Otanta-asetelmat Sisällysluettelo 1. Johdanto... 2 2. Todennäköisyysotanta... 2 2.1 Yksinkertainen satunnaisotanta... 3 2.2 Ositettu otanta... 3 2.3 Systemaattinen

Lisätiedot

PIKSELIT JA RESOLUUTIO

PIKSELIT JA RESOLUUTIO PIKSELIT JA RESOLUUTIO 22.2.2015 ATK Seniorit Mukanetti ry / Tuula P 2 Pikselit ja resoluutio Outoja sanoja Outoja käsitteitä Mikä resoluutio? Mikä pikseli? Mitä tarkoittavat? Miksi niitä on? Milloin tarvitaan?

Lisätiedot

Kolmion kulmien summa. Maria Sukura

Kolmion kulmien summa. Maria Sukura Kolmion kulmien summa Maria Sukura Oppituntien johdanto Oppilaat kuulevat triangelin äänen. He voivat katsoa sitä ja yrittää nimetä tämän soittimen. Tutkimme, miksi triangelia kutsutaan tällä nimellä,

Lisätiedot

ELOKUVAKASVATUS SODANKYLÄSSÄ FINAL CUT EXPRESS HD OSA 2: SIIRTYMÄT, TEHOSTEET, KUVAMANIPULAATIO 1. RENDERÖINTI

ELOKUVAKASVATUS SODANKYLÄSSÄ FINAL CUT EXPRESS HD OSA 2: SIIRTYMÄT, TEHOSTEET, KUVAMANIPULAATIO 1. RENDERÖINTI 1 ELOKUVAKASVATUS SODANKYLÄSSÄ 99600 Sodankylä +358 (0)40 73 511 63 tommi.nevala@sodankyla.fi FINAL CUT EXPRESS HD OSA 2: SIIRTYMÄT, TEHOSTEET, KUVAMANIPULAATIO 1. RENDERÖINTI Prosessointi (yleisesti renderöinti,

Lisätiedot

LEIKIT KUKA PELKÄÄ HUUHKAJAA?

LEIKIT KUKA PELKÄÄ HUUHKAJAA? LEIKIT KUKA PELKÄÄ HUUHKAJAA? Yksi huuhkaja (kiinniottaja), loput viivalle. Huuhkaja huutaa kuka pelkää huuhkajaa?!, jonka jälkeen viivalla olevat yrittävät päästä toiseen päähän ilman, että huuhkaja koskee

Lisätiedot