Korkeuskartat. Maaston muotojen generointi ja visualisointi. Harmaasävykartat. Spectral Syntetis Noise 1. Spectral Syntetis Noise 2
|
|
- Timo Salo
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 Korkeuskartat Maaston muotojen generointi ja visualisointi Markku Mielityinen Reaalimaailman jatkuva korkeusinformaatio joudutaan tietokoneissa kuvaamaan diskreeteillä korkeuspisteillä. Yleisin tallennusmuoto on käyttää neliön muotoista matriisia, jossa matriisin alkiot kuvaavat vastaavan ruudukon korkeuksia. Matriisissa sijaitsevat pienet arvot kuvaavat matalikkoja ja suuret arvot korkeita kohtia. Copyright Markku Mielityinen 00 Harmaasävykartat Spectral Syntetis Noise 1 Matriiseina tallennettavat korkeuskartat kasvavat usein varsin suuriksi. Korkeusinformaatio voidaan tallentaa esimerkiksi välillä [0,55], josta se muunnetaan sopivalla kertoimella vastaamaan piirrettävän maailman mittasuhteita. Tummat pisteet edustavat matalia ja vaaleat korkeita kohtia. Tällä tavalla kuvatut kartat voidaan tallentaa käyttäen harmaasävybittikarttoja. Standardien tiedostoformaattien käytöllä saavutetaan monia etuja. Kartan tallennuksessa voidaan käyttää tiedoston tukemaa pakkausalgoritmia, jolloin informaatio saadaan tiivistettyä pienempään tilaan. Lisäksi tiedostoja voidaan tuottaa ja käsitellä standardeilla työkaluilla. Spektri synteesi funktiot muodostavat mallin, jossa ei esiinny helposti havaittavissa olevaa toistuvuutta. Spektri synteesiä käytetään esimerkiksi säteenseurantaan perustuvissa piirtosovelluksissa erilaisten tekstuurien generointiin. Jos satunnaislukugeneraattorin siemen voidaan asettaa tapauskohtaisesti uudelleen, voidaan tarvittavat pinnat luoda ajonaikaisesti, eikä muistia kuluttavaan matriisiesitykseen ole välttämätöntä tarvetta. Korkeusinformaation luonti suoritetaan summaamalla yhteen kerroksia. Jokainen taso luodaan satunnaisgeneraattorilla, jonka jälkeen sen luonnollisuutta parannetaan käyttämällä tasoittavaa algoritmia. Kerroksien generoinnissa käytetään parametreina aallon pituutta ja korkeutta. Varioimalla näitä parametreja eri tasojen välillä saavutetaan luonnollisen näköisiä maastopintoja. Tasojen määrää kasvattamalla lisääntyy samalla luotavan pinnan sisältämien detaljien määrä. Käytännössä jo viidellä kerroksella saavutetaan useimpiin tarkoituksiin riittävä lopputulos. Copyright Markku Mielityinen 00 3 Copyright Markku Mielityinen 00 4 Spectral Syntetis Noise Spectral Syntetis Noise 3 1 taso 3 tasoa 5 tasoa 50 tasoa Copyright Markku Mielityinen 00 5 void fracsynthpass( float *hbuf, float freq, float zscale, int xres, // interpolate all vertical lines int zres ) for( x=0;x < xres;x++ ) { { int I, x, z; zk = 0; float *val; knots = zknots; int max; // build knot list float dfx, dfz, *zknots, *knots; for( i=0;i < max;i++ ) { float xk, zk, *hlist, *buf; knots[i] = hlist[i*xres+x]; // how many to generate (need 4 extra for smooth d spline interpolation) max = freq + ; for( z=0;z < zres;z++ ) { // delta x and z - pixels per spline segment buf[z*xres+x] = spline( zk/dfz, 4, knots ) * zscale; dfx = xres / (freq-1); zk += 1; dfz = zres / (freq-1); // the generated values - to be equally spread across buf if( zk >= dfz ) { val = (float*)calloc( sizeof(float)*max*max, 1 ); zk -= dfz; // intermediately calculated spline knots (for knots++; zknots = (float*)calloc( sizeof(float)*max, 1 ); // horizontal lines through knots hlist = (float*)calloc( sizeof(float)*max*xres, 1 ); // local buffer - to be added to hbuf buf = (float*)calloc( sizeof(float)*xres*zres, 1 ); // update hbuf // start at -dfx, -dfz - generate knots for( z=0;z < zres;z++ ) for( z=0; z < max; z++ ) { for( x=0;x < xres;x++ ) for( x=0;x < max;x++ ) { hbuf[z*xres+x] += buf[z*xres+x]; val[z*max+x] = SRANDOM; free( val ); free( buf ); // interpolate horizontal lines through knots free( hlist ); for( i=0;i < max;i++ ) { free( zknots ); knots = &val[i*max]; xk = 0; for( x=0;x < xres;x++ ) { hlist[i*xres+x] = spline( xk/dfx, 4, knots ); xk += 1; if( xk >= dfx ) { xk -= dfx; knots++; Copyright Markku Mielityinen 00 6 Copyright Markku Mielityinen 00 1
2 The Fault Algorithm 1 The Fault Algorithm Fault-algoritmi perustuu Fourier-muunnoksen tapaan yksinkertaisten komponenttien lisäämiseen johonkin tiettyyn nollatasoon. Jotta maaston pinnassa ei esiintyisi selvästi havaittavaa toistuvuutta, on iteraatiokierroksia suoritettava käytettyjen komponenttien luonteesta riippuen satoja, jopa tuhansia. Jokaisessa iteraatiovaiheessa avaruus jaetaan kahtia. Käytetyn komponenttifunktion origo sijoitetaan jakavalle suoralle ja funktion etenemissuusta asetetaan jakosuoran normaalin suuntaiseksi. Kynnysfunktio kasvattaa ruudukossa jakoviivan positiivisella puolella olevia korkeuksia d:llä ja vähentää jakoviivan negatiivisella puolella olevia korkeuksia d:llä. x < 0 H ( x) = d x 0 H ( x) = d Palikkamaisesta rakenteesta johtuen iteraatiokierroksia tarvitaan runsaasti. Copyright Markku Mielityinen 00 7 Copyright Markku Mielityinen 00 8 The Fault Algorithm 3 The Fault Algorithm 4 Pehmennetty kynnysfunktio vaihtaa kynnysfunktion terävät kulmat ympyrän kaariksi pehmentäen näin aikaansaatua muutosta. Kytkemällä kaksi pehmennettyä kynnysfunktiota vastakkain saadaan aikaan maski, joka tuottaa kumpujonoja. Pehmennetyn kynnysfunktion tilalla voidaan käyttää esimerkiksi logistista sigmoidia. Copyright Markku Mielityinen 00 9 Copyright Markku Mielityinen The Fault Algorithm 5 The Fault Algorithm 6 1 iteraatio 16 iteraatiota iteraatiota 100 iteraatiota 3 iteraatiota 400 iteraatiota Copyright Markku Mielityinen Copyright Markku Mielityinen 00 1 Copyright Markku Mielityinen 00
3 The Fault Algorithm 7 The Fault Algorithm 8 Edellä esitetty algoritmi voidaan helposti muuttaa kaksiulotteiseksi. Tällöin arvotaan toimenpiteelle keskipiste, jonka ympärille maskifunktion kuvaaja kierretään. Maskifunktioiksi soveltuvat samat, joita käytettiin yksiulotteisessa tapauksessa. Yksinkertainen kukkula saadaan aikaan käyttämällä maskina ympyrän kaarta. Menetelmä voidaan muuntaa suoraksi matemaattiseksi kaavaksi: ( x, y ) = " kukkulan _ keskusta" 1 1 ( x, y) = " mitattava _ piste" d = " kukkulan_ säde" h = " pisteen _ korkeus" h = d (( x x ) + ( y y ) ) 1 1 Copyright Markku Mielityinen Copyright Markku Mielityinen The Fault Algorithm 9 The Fault Algorithm 10 Jotta kartan korkeusarvoja voidaan käsitellä standardeilla menetelmillä, tulee ne normalisoida [0,1]-välille. Toimenpide onnistuu yksinkertaisella kaavalla: z norm = ( z z ) ( z z ) min max min Toisaalta skaalan huomiointi voidaan sisällyttää myös käsittelevään algoritmiin. Copyright Markku Mielityinen Copyright Markku Mielityinen The Fault Algorithm 11 The Fault Algorithm 1 Esitetty algoritmi tuottaa maastopintoja, jotka kattavat koko ruudukon. Algoritmia voidaan kuitenkin helposti muuttaa sellaiseksi, että sillä voidaan tuottaa saarimaisia karttoja, joissa vesi ympyröi kaikkea maa-aluetta. Käyttämällä ruudukon keskelle keskitettyä polaarikoordinaatistoa voidaan korotusten jakaumaa muuttaa siten, että maasto kohoaa keskimäärin enemmän alueen keskustassa, jolloin tuloksena saadaan saari. Algoritmin luomien maastojen korkeusjakaumat ovat suunnilleen tasajakautuneita. Joskus halutaan karttoja, joissa laaksot ja vuorenhuiput ovat tasaisia, mutta näiden välissä on jyrkät reunat. Efekti saadaan aikaan skaalaamalla alkuperäinen korkeusinformaatio epälineaarisella funktiolla. Menetelmä soveltuu pienin muutoksin myös monien muiden efektien aikaansaamiseen. Θ = rand[0,π ] d = rand[0, size / radius] x = size/ + cosθ * d y = size/ + sin Θ* d Copyright Markku Mielityinen Copyright Markku Mielityinen Copyright Markku Mielityinen 00 3
4 Mid Point Displacement 1 r=1.0 r=.0 r=0.5 Välipisteen variointi eli plasma-algoritmi luo iteratiivisesti tarkentuvan ruudukon maaston pinnasta. Pinnan tarkkuus määräytyy käytetyn rekursion syvyydestä. N:n askeleen syvyinen rekursio tuottaa (^N+1)*(^N+1) kokoisen ruudukon. Maaston tasaisuuteen voidaan vaikuttaa säätämällä regularisointitermiä r. Arvolla r=1 saavutetaan varsin realistisesti kumpuileva maasto. Arvo r= johtaa varsin epätasaiseen maastoon, johon on ehkä sovellettava jonkinlaista silottavaa ydintä. Arvo r=0.5 johtaa lievästi kumpuilevaan maastoon, joka on myös käyttökelpoinen. Copyright Markku Mielityinen Mid Point Displacement Algoritmin suoritus alkaa x ruudukosta, jonka nurkkapisteiden korkeus tunnetaan. Ensimmäisessä työvaiheessa lasketaan neliön keskustaan uusi piste (diamond step): E= ( A + B + C + D)/ rand( [ d, d] Tämän jälkeen lasketaan reunoille neljä uutta pistettä (square step): F = ( A + C + E + E) / G = ( A + B + E + E)/ H = ( B + D + E + E)/ I = ( C + D + E + E) / Lopuksi päivitetään satunnaisluku-generaattorin skaalaa: r d = d Copyright Markku Mielityinen 00 0 Mid Point Displacement 3 Particle Deposition 1 Ruudukon tarkennusta jatketaan rekursiivisesti muodostuneihin uusiin neliöihin. Diamond Step: J = ( A + G + F + E)/ K = ( G + B + E + H )/ L = ( F + E + C + I) / M = ( E + H + I + D) / Square Step: N = ( K + A + J + F) / O = ( L + A + G + J )/ P = ( J + G + K + E)/ Q = ( F + J + E + L)/ Ja tätä jatketaan, kunnes saavutetaan haluttu topografinen tarkkuus. Algoritmin suoritus alkaa sopivan kokoisesta ruudukosta, jonka kaikki korkeudet on asetettu samalle vakioarvolle. Ensimmäisenä valitaan ruudukon satunnainen piste (x,y), jota muutetaan satunnaislukugeneraattorin antamalla korkeudella: p[ x, y] = p[ x, y] + rand( rand( [ d, d] Tämän jälkeen siirrytään seuraavaan pisteeseen käyttäen aina samaa siirtymäfunktiota. Siirtymä voidaan suorittaa esimerkiksi liikkumalla satunnaiseen suuntaan: switch(rand()%4) { case 0: x--; break; case 1: x++; break; case : y--; break; case 3: y++; break; Copyright Markku Mielityinen 00 1 Copyright Markku Mielityinen 00 Particle Deposition Particle Deposition 3 Tuhannella iteraatiokierroksella saavutetaan jo varsin kelvollinen, joskin teräväkulmainen maaston pinta. Maaston realistisuutta voidaan parantaa vähentämällä ylimääräistä epätasaisuutta käyttäen ruudukkoon jotain suodatinta. Keskiarvosuodin luetteloi mitattavan pisteen ja sen naapuripisteet ja valitsee uudeksi korkeudeksi listan keskiarvon. Mediaanisuodin luetteloi mitattavan pisteen ja sen naapuripisteet ja valitsee uudeksi korkeudeksi laaditun listan mediaanin. Suotimien naapurusto voidaan määrätä yksinkertaisella binäärimaskilla. Euklidisesta metriikasta johtuen maskit ovat yleensä pyöreitä. Sopivan suodattimen käytöllä päästään varsin realistisiin maaston pintoihin. Menetelmä tuottaa helposti saarimaisia karttoja, joissa kartan äärialueet jäävät alkuasetuksiinsa. Tilannetta voidaan parantaa kasvattamalla käytettyjen iteraatiokierrosten määrää ja parantamalla liikkumisen ohjaukseen käytettävän funktion heuristiikkaa. Kulkusuunnan valinta voi perustua todennäköisyysfunktioon, joka suosii etenemistä topografisessa mielessä alaspäin. Todennäköisyysfunktion muodostuksella voidaan samalla kontrolloida maaston epätasaisuutta, eikä suodattimen käyttöä välttämättä edes tarvita. Copyright Markku Mielityinen 00 3 Copyright Markku Mielityinen 00 4 Copyright Markku Mielityinen 00 4
5 Planeettojen generointi 1 Planeettojen generointi Aiemmin esitetyt tasokarttojen generointialgoritmit voidaan helposti yleistää toimimaan myös pallon pinnalla. Siinä missä tasokarttojen tapauksessa pisteitä liikutettiin ylös ja alaspäin, käytetään pallopinnan tapauksessa pisteen euklidista normia, jota kasvatetaan ja vähennetään samassa suhteessa. Aiemmin esitetty Fault-algoritmi voidaan helposti yleistää toimimaan myös pallon pinnalla. Siinä missä aiemmin ruudukko jaettiin kahtia, jaetaan nyt origokeskisen pallon avaruus puoliksi käyttäen origon kautta kulkevaa tasoa. Satunnainen taso voidaan muodostaa helpoimmin arpomalla satunnainen suuntavektori, jonka normaalin kyseinen taso muodostaa. Copyright Markku Mielityinen 00 5 Copyright Markku Mielityinen 00 6 Planeettojen generointi 3 Planeettojen generointi 4 Käytettäessä yksinkertaista kynnysfunktiota kasvatetaan arvotun tason yläpuolella olevien pisteiden normia (pisteen etäisyyttä origosta) d:llä. Vastaavasti tason alapuolella olevia pisteitä siirretään lähemmäs origoa. begin iteration n = random vector foreach vertex v begin s = dotproduct(n, v) if s > 0 v+=d else v-=d end end Jo 100 iteraatiokierroksella saavutetaan varsin realistisen näköisiä lopputuloksia. Tarkemman tarkastelun jälkeen huomataan kuitenkin yksi menetelmän puute. Planeetan etu ja takapuoli muistuttavat toisiaan. Etupuolella olevat maaalueet kuvautuvat kääntöpuolella merialueiksi ja vastaavasti etupuolen meret kääntöpuolen maaalueiksi. Copyright Markku Mielityinen 00 7 Copyright Markku Mielityinen 00 8 Planeettojen generointi 5 Planeettojen generointi 6 Alkuperäistä algoritmia voidaan parantaa siirtämällä avaruuden jakavaa tasoa satunnaisen etäisyyden päähän origosta. begin iteration n = random vector d = d*(rand()%? 1.0 : -1.0) foreach vertex v begin v = n - n s = dotproduct(n, v) if s > 0 v+=d else v-=d end end Korjattu algoritmi tuottamat planeetat eivät kärsi symmetrian aiheuttamasta samankaltaisuudesta. Siirron d suuntaa joudutaan varioimaan koska tason siirto origosta johtaa siihen, että kauemmas työnnettäviä pisteitä on käytännössä aina vähemmän kuin niitä, joita vedetään lähemmäs. Näin ollen pinnan keskimääräinen säde vähenisi alkuperäisen pallon säteestä. Copyright Markku Mielityinen 00 9 Copyright Markku Mielityinen Copyright Markku Mielityinen 00 5
6 S Ekosysteemi 1 Ekosysteemi Kasvillisuuden kehitystä voidaan ohjata joukolla parametreja, jotka kuvaavat kasvupaikan suotuisuutta. Tyhjä maastopinta ei ole realistisen näköinen, kuin vasta hyvin korkealta (avaruudesta) katsottuna. Maapinnan päällä on lähes aina joukko erottuvia objekteja kuten kiviä kasveja ja eläimiä. Kivien sijoittaminen voidaan tehdä suhteellisen vapaasti. Kasvien suhteen joudutaan suorittamaan jo huomattavasti enemmän pohdintaa. Kasvit menestyvät vain tietynlaisissa elinolosuhteissa. Lisäksi kasvien lisääntymismenetelmät vaikuttavat niiden jakautumiseen alueella. Juurista leviävät kasvit muodostavat tiheitä kasvustoja eikä omenakaan kauas puusta putoa. Siemenien avulla leviävät kasvit voivat hajota laajemmalle alueelle. Eläinten lisääminen karttaan luo loppusilauksen, jolla hyvä malli muuttuu erinomaiseksi. Copyright Markku Mielityinen Korkeus Suhteellinen korkeus Kaltevuus Kaltevuuden suunta Fraktaali satunnaisuus Kasvupaikan korkeus asetetusta nollatasosta (yleensä meren pinta). Korkeuden kasvaessa kasvuolosuhteet muuttuvat yhä vaativimmiksi. Kasveilla on yleensä yläraja, jota korkeammalla ne eivät menesty. Korkeuden kasvaessa saman lajin kasvien koko yleensä pienenee. Suhteellinen korkeus kuvaa pisteen asemaa suhteessa paikalliseen alueelliseen korkeuteen. Negatiiviset korkeudet kuvaavat laaksoja, jotka ovat usein suojaisampia kasvupaikkoja. Positiiviset korkeudet kuvaavat kumpuja, joiden kasvillisuus on haavoittuvampaa luonnon voimille. Kaltevuus vaikuttaa kasvien kykyyn hankkia vettä. Jyrkältä maalta vesi valuu nopeasti pois ja siten kasvillisuus on niukempaa. Kaikkein jyrkimmät maaston kohdat eivät kykene sitomaan edes aluskasvillisuutta, jolloin alla oleva kallio tulee näkyviin. Kaltevuuden suunta vaikuttaa siihen kuinka paljon kasvillisuus saa valoa. Etelänpuoleiset rinteet saavat runsaasti valoa pohjoisten rinteiden jäädessä hämäriksi. Lisäksi suunta vaikuttaa siihen kuinka haavoittuvia kasvit ovat esimerkiksi pohjoistuulelle. Edellisten lisäksi kasvien menestyminen riippuu lukuisista muista satunnaisemmista ilmiöistä, kuten luonnonilmiöistä, tuholaisista jne. Kaikkia näitä ei voida, eikä ole edes tarpeen huomioida, sillä satunnaisuutta voidaan kuvata stokastisilla malleilla. Copyright Markku Mielityinen 00 3 Ekosysteemi 3 Ekosysteemi 4 Kasvillisuus voidaan jakaa korkeuden mukaisiin kerroksiin. Kerroksia voidaan käyttää hyväksi myös piirtovaiheessa (LOD). Edellä esitetyt parametrit voidaan laskea helposti käytettävissä olevasta topografisesta kartasta: Taso Ruudun leveys Kasvin korkeus Kasvillisuus Pinta km 4 km km 1 km 51 m 56 m 18 m 64 m 64 m 3 m 16 m 8 m 4 m m 1 m 50 cm - Isot puut Puut Pienet puut Isot pensaat Pensaat Pienet pensaat ja pitkä ruoho Ruoho - Pienemmät puut, pensaat ja ruoho Pienemmät puut, pensaat ja ruoho Pensaat ja ruoho Pienet pensaat ja ruoho Ruoho Lyhyt ruoho, pienet kasvit ja kivet Pienet kasvit ja kivet h 0 x ( f ( x + h, y) f ( x h, y))/ h 0 y ( f ( x, y + h) f ( x, y h))/... Slope = x + y... x y... norm norm = x / x + 1 = y / y + 1 Slope = Slope / Slope + 1 norm 8 3 m 5 cm Pienet kasvit ja kivet Maa Copyright Markku Mielityinen Copyright Markku Mielityinen Ekosysteemi 5 Ekosysteemi 6 Lasketut parametrit voidaan yhdistää yhteistodennäköisyyksiksi normalisoimalla alkuperäiset parametrit samalle asteikolle, jonka jälkeen ne muutetaan epälineaariselle asteikolle. Kaavoissa x on alkuperäinen parametri, y normalisoitu parametri ja z regularisoitu parametri. Regularisointitermi S vaikuttaa asteikon muutoksen jyrkkyyteen. x i x avg y i = x x max min 1 z i = ( ) Lopuksi kaikki lasketut regularisoidut parametrit z kerrotaan yhteen (oletetaan että parametrit ovat riippumattomia toisistaan vaikka näin ei luonnollisestikaan ole) ja näin saadaan haluttu yhteistodennäköisyys. Menetelmää voi tehostaa lisäämällä kaavaan parametrityyppien prioritodennäköisyydet. y i p = i z i Copyright Markku Mielityinen Copyright Markku Mielityinen Copyright Markku Mielityinen 00 6
7 Pinnan valaistus 1 Pinnan valaistus Kolmion pinnan määräämän tason normaali voidaan laskea yksinkertaisella kaavalla. Ensimmäiseksi lasketaan kaksi tasossa sijaitsevaa vektoria: v1 = t t1 v = t3 t1 Tason normaali voidaan laskea kahdesta tasossa sijaitsevasta vektorista käyttäen ristituloa: nx = v1. y * v. z v1. z * v. y ny = v1. z * v. x v1. x * v. z nz = v1. x * v. y v1. y * v. x Lopuksi saatu vektori normalisoidaan yksikkövektoriksi: n = n n Käytettäessä kolmiokohtaisia normaaleja tulee kolmioiden välisistä kulmista usein häiritsevän selviä. Kolmiokohtaisten normaalien sijaan käytetäänkin usein pistekohtaisia normaaleja jolloin käyttämällä kolmion piirrossa Gouraudsävytystä saavutetaan yhtenäisen näköinen pinta. Pistekohtainen normaali lasketaan pisteeseen kytkettyjen kolmioiden normaaleista: v = v1 + v3 + v34 + v41 Lopuksi saatu normaali normalisoidaan yksikkövektoriksi: v = v v Copyright Markku Mielityinen Copyright Markku Mielityinen Pinnan valaistus 3 Pinnan valaistus 4 Maastopintojen valoisuutta laskettaessa ei ole välttämätöntä käyttää yhtä tarkkoja menetelmiä kuin esimerkiksi liikuteltavien kappaleiden tapauksessa. Realistisen näköiset varjot voidaan laskea esimerkiksi käyttäen yksinkertaista Lambert in cosini lakia. Yksinkertaiset mallit riittävät, sillä staattisissa valomalleissa ei esiinny häiritseviä siirtymiä. Esimerkki edellä esitetyn valaistusmallin käytöstä. Kuvasta nähdään kuinka auringon puolella olevat rinteet saavat hyvin valoa, kun taas varjoon jäävät rinteet jäävät paljon tummemmiksi. Kuvan esimerkki havainnollistaa myös käytetyn lokaalin valaistusmallin puutteet. Kukkuloiden taakse ei muodostu realistisia katvealueita. Realistisemmat varjostukset saadaan käyttämällä jotain globaalia valomallia. Copyright Markku Mielityinen Copyright Markku Mielityinen Pinnan valaistus 5 Pinnan valaistus 6 Muodostamalla säde kulmapisteestä aurinkoon voidaan määritellä onko pisteen ja valonlähteen välillä mahdollisesti jokin varjostava este. Jokaiselle esteelle voidaan määrittää sen läpi päästämän valon intensiteetti. Pisteen A tapauksessa kukkula ei päästä läpi yhtään valoa. Pistettä B varjostaa joukko kuusia, joista kukin päästää oksiensa raoista lävitseen 50% saamastaan valosta. Metsän läpi päästämä valo saadaan laskemalla yhteen puiden aiheuttama yhteisvaikutus. Pisteen B tapauksessa valo kulkee kahden puun läpi ja pisteeseen saapuu näin ollen 5% alkuperäisestä valomäärästä. Laadukkaat pinnat sisältävät helposti kymmeniä, jopa satoja tuhansia kulmapisteitä, jolloin reaaliaikaisen valaistuksen laskeminen ei onnistu nykyisillä laitteistoilla. Tämän vuoksi kulmapisteisiin sisällytetään yleensä valmiiksi laskettu valaistusinformaatio. Tällöin menetetään luonnollisesti valaistuksen dynaamisuus. Käytännössä tästä ei kuitenkaan ole juurikaan haittaa sillä tarvittavat liikkuvat varjot voidaan tuottaa esimerkiksi valokarttojen avulla. Lisäksi nykyiset näytönohjaimet hyötyvät staattisesta rakenteesta, joka voidaan kirjoittaa suoraan ohjaimen muistiin ja piirtää siten nopeammin näytölle. Copyright Markku Mielityinen Copyright Markku Mielityinen 00 4 Copyright Markku Mielityinen 00 7
8 ROAM 1 ROAM Kartan kehitys aloitetaan jakamalla neliön muotoinen ruudukko kahtia ja soveltamalla rekursiivisesti etenevää paloittelijaa kahteen muodostuvaan kolmioon. Kehitettävä kolmiojako voidaan tallentaa esimerkiksi binaari puuhun. ROAM:in tavoitteena on laskea reaaliajassa tarvittava kolmiointi. Kartasta saadaan näin dynaaminen, jolloin maaston topografiaan voidaan tehdä muutoksia. Kolmioinnissa lähialueet kuvataan tarkemmin kuin kauempana olevat alueet. Lisäksi kolmiointia voidaan ohjata maaston vaihteluiden mukaan, jolloin jyrkkien vaihteluiden alueille sijoitetaan enemmän kolmioita. Kolmioon liittyvää termistöä. Copyright Markku Mielityinen Copyright Markku Mielityinen ROAM 3 Binary Trees ROAM-kolmiointi johtaa helposti tilanteisiin, joissa tarkemman neliön ja epätarkemman neliön väliin jää reikiä. Vika voidaan korjata asettamalla jakoehto, joka sanoo että kolmion jako johtaa myös naapurikolmion jakoon. Binääripuut jakavat avaruuden tason etu- ja kääntöpuolella oleviin lohkoihin. Maastojen visualisoinnissa avaruuden jakoon voidaan käyttää ROAM-algoritmia. Avaruuden jakoa jatketaan rekursiivisesti, kunnes lohkojen sisäinen keskivirhe on ennalta asetettua toleranssirajaa pienempi. Tehokkaammilla algoritmeilla avaruuden jaon ei tarvitse olla näin tasaisesti jakautunut, vaan lisäkolmioita saadaan sinne, missä niitä kipeimmin kaivataan. Yhden kolmion jakaminen voi johtaa edelleen muiden kolmioiden jakamiseen. Copyright Markku Mielityinen Copyright Markku Mielityinen Quad-trees Oct-trees Nelipuut jakavat neliön muotoisen ruudukon neljään aliosaan ja rekursiota jatketaan muodostuneisiin aliosiin, kunnes alueiden sisäiset muutokset ovat toleranssin rajoissa. Nelipuilla kuvattavan maaston on oltava yksikerroksinen, eli siinä ei saa olla toistensa päälle sijoittuvia kielekkeitä. Kahdeksanpuut toimivat nelipuiden tapaan, mutta näistä poiketen ne voivat sisältää kolmioita useissa kerroksissa. Näin ollen maastoon voidaan sijoittaa sisään mentäviä luolia ynnä muita monimutkaisempia rakenteita. Copyright Markku Mielityinen Copyright Markku Mielityinen Copyright Markku Mielityinen 00 8
9 VOXEL 1 VOXEL Voxel maastopintojen piirrossa käytetään säteenseurantasovelluksista tuttuja menetelmiä. Katselupisteestä ammutaan joukko säteitä, jotka maastoon osuessaan piirtävät kyseiseen kohtaan kolmiulotteisen pisteen. Jos säteiden määrä on vähäinen, näkyy tämä maastopinnan rakeisuutena. Laskennallisesti erittäin raskasta mallia voidaan keventää rajoittamalla katselukulmia (DoF) mahdollisimman paljon. Pinnan piirto voidaan aloittaa alhaalta ylöspäin, jolloin voidaan hyödyntää maaston jatkuvuutta. Sädepisteen jälkeen voidaan suoraa piirtää seuraavat pisteet kunnes maasta alkaa laskea ja jää näin edellisten pisteiden taakse. Tällöin lasketaan uusi säde, jonka kulma riittää kummun ylittämiseen ja tätä jatketaan, kunnes käsitelty kulma kasvaa yli kameran maksimikulman. Varsinainen säteenseuranta voidaan toteuttaa kahdella tavalla. Copyright Markku Mielityinen Copyright Markku Mielityinen VOXEL 3 Pinnan teksturointi 1 Perusalgoritmia voidaan parantaa monilla menetelmillä: 1) Lähellä oleviin pisteisiin sovelletaan ditherointi, jolloin palikkamaisuus vähenee. ) Kumpujen taakse lasketaan staattiset varjot. 3) Kartan piirrossa käytetään Mip-mappingia lähellä tarkkaa ja silti kokonaisuutena nopeaa. 4) Voxel-pisteet pikselin kokoisia käytetään sumua vähentämään yksityiskohtia. 5) Voxel-pisteet 4 pikselin kokoisia. Sumu vähentää häiritsevää palikkamaisuutta. 6) Lähellä oleviin pisteisiin sovelletaan tekstuurien sumeaa yhteensovittamista. Maastopinnan teksturointi voidaan suorittaa kahdella tavalla. Käytössä voi olla yleinen tekstuuripankki, jota sovelletaan jokaiseen kolmioon erikseen. Nykyisillä laitteistoilla on kuitenkin järkevämpää muodostaa yksi suuri tekstuuripinta, joka levitetään koko pinnan ylle. Tekstuurin generoinnissa tarvitaan tietoja maaston valaistuksesta ja eri kohteiden maastotyypistä. Valaistus voidaan joko laskea tai käyttää valmista valokarttaa. Maastotyypin valinta voidaan suorittaa joko korkeuteen rinnastettuna tai vaihtoehtoisesti erillisellä tekstuurikartalla. Copyright Markku Mielityinen Copyright Markku Mielityinen 00 5 Pinnan teksturointi Pinnan teksturointi 3 Pinnan teksturointi muodostetaan tasoittain päällekkäin ladottavista komponenteista. Eri tasojen käyttö voidaan rinnastaa kartan topografiseen korkeuteen, jolloin tasojen käyttöä voidaan säädellä yksinkertaisella sumealla jäsenyysfunktiolla. Käytännössä jäsenyysfunktiot muutetaan jokaiselle tasolle yksilöllisiksi alphakanaviksi, jolloin pinnan tekstuuri muodostuu yksinkertaisesti piirtämällä maskit alphakanavan ohjaamana. Esimerkin tapauksessa maasto koostuu neljästä erilaisesta tasosta. Alimpana on kallio. Alavilla mailla kasvaa ruohikkoa, joka vaihtuu hitaasti vuorten huippujen jääpeitteeseen. Lopputuloksena saatu tekstuuri sisältää kaiken tarvittavan informaation, eikä aikaa vieviä välivaiheita piirron aikana tarvita. Lopputulos on lisäksi erittäin realistisen näköinen. Copyright Markku Mielityinen Copyright Markku Mielityinen Copyright Markku Mielityinen 00 9
10 Sumu Taivaan mallintaminen Sumua on perinteisesti käytetty korvaamaan puutteellista suorituskykyä. Jos katselupiste sijaitsee sumun keskellä, on luonnollista, että kappaleet ikään kuin häviävät sumuun. Mallinnuksessa sumulla voidaan määrätä tiettyä etäisyyttä kauempana olevat kolmiot näkymättömiksi, jolloin niitä ei tietenkään tarvitse piirtää ja näin piirrettävien kolmioiden määrä laskee. Parempia efektejä saadaan aikaan käyttämällä paikoittaista sumua (volumetric fog), jolloin sumun määrä voi vaihdella alueittain. Taivaankannen mallintaminen on olennainen osa maaston visualisointia. Muutoinhan taivas näyttäisi mustalta, joka viittaisi kuumaiseen kaasuttomaan ilmakehään. Taivaan kantta varten tuotetaan laskennallisesti kolmiosta muodostuva puolipallo (sky dome). Taivaan tekstuurina voidaan käyttää kalansilmälinssillä otettuja kuvia tai vaikkapa plasmageneraattorilla tuotettuja bittikarttoja. Edistyneemmissä malleissa taivaan tulee myös olla animoitu, jolloin pilvet liikkuvat realistisesti. Liiallinen sumun käyttö johtaa suttuiseen lopputulokseen, josta ei käytännössä näe yhtään mitään ja siten sumun käyttöä on aina syytä harkita tarkoin. Copyright Markku Mielityinen Copyright Markku Mielityinen Puiden mallintaminen Liikkuvien kappaleiden lisääminen Realistiset maastot ovat usein täynnä erilaisia kasveja. Jokaisen kasvin tarkka piirtäminen on vielä pitkään liian raskasta reaaliaikaisiin sovelluksiin. Sovelluksien nopeutta voidaan parantaa yksinkertaisella LOD-tekniikalla. Kaukana olevat kasvit piirretään vain neljällä kolmiolla ja detaljin määrää kasvatetaan asteittain. Liikkuvat kappaleet eivät kuulu varsinaisesti maastojen piirtoon. Yleensä objektien toteuttamiseen käytetään jotakin olemassa olevista kappalemalleista, kuten MD, ASE jne. Koko maailman piirtäminen voidaan suorittaa esimerkiksi siten, että ensimmäisen piirretään maaston pinta. Tämän jälkeen lisätään maaston kappaleet, kuten tiet, puut ja kivet. Lopuksi piirretään varsinaiset objektit käyttäen syvyyskarttaa (Z-buffer), jolloin objektit piirtyvät automaattisesti oikein näkyviin. Copyright Markku Mielityinen Copyright Markku Mielityinen Lens Flare Lähteet Kameroja ynnä muita optisia laitteita käytettäessä kuvaan saattaa muodostua valon taittumisesta seuraava lens flare efekti. Vaikka efekti heikentää näkyvyyttä, on se realistisuuden lisäämiseksi osana lähes jokaista maastomoottoria. Efektiä varten lasketaan ensin ympyrämäinen valokeila. Keilassa voidaan haluttaessa käyttää valkoisen sijaan myös muita värisävyjä. Piirtovaiheessa valokeila piirretään käyttäen Flipcode: CFXweb: Lighthouse 3D: Terrain Generation Tutorial: Terrain Tutorial: Spectral Syntesis Noise for Creating Terrain: Sperical Landscapes: Modelling fake planets: Modeling of ecosystems as a data source for real-time terrain rendering: Real-Time Dynamic Level of Detail Terrain Rendering with ROAM: Binary Triangle Trees and Terrain Tesselation: Application of 3D Delaunay Triangulation algorithms in Geoscientific modelling: ROM/sf_papers/lattuada_roberto/paper.html Introduction to Octtrees: Voxel Landscape Engines: GDC 001: Implementing Multi-colored Volumetric Fog Without Using up Texture Stages: Sky Domes: Jääkäri: Executor: Typhoon: Copyright Markku Mielityinen Copyright Markku Mielityinen Copyright Markku Mielityinen 00 10
11 Screenshot 1 Screenshot Copyright Markku Mielityinen Copyright Markku Mielityinen 00 6 Screenshot 3 Screenshot 4 Copyright Markku Mielityinen Copyright Markku Mielityinen Screenshot 5 Screenshot 6 Copyright Markku Mielityinen Copyright Markku Mielityinen Copyright Markku Mielityinen 00 11
Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:
Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman
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)
T-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
10. Globaali valaistus
10. Globaali valaistus Globaalilla eli kokonaisvalaistuksella tarkoitetaan tietokonegrafiikassa malleja, jotka renderöivät kuvaa laskien pisteestä x heijastuneen valon ottamalla huomioon kaiken tähän pisteeseen
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)
Suora. Määritelmä. Oletetaan, että n = 2 tai n = 3. Avaruuden R n suora on joukko. { p + t v t R},
Määritelmä Suora Oletetaan, että n = 2 tai n = 3. Avaruuden R n suora on joukko { p + t v t R}, missä p, v R n ja v 0. Tässä p on suoran jonkin pisteen paikkavektori ja v on suoran suuntavektori. v p LM1,
Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
Putkilokasveilla juuret ottavat veden. Sammalet ottavat vettä koko pinnallaan.
Joensuun yliopisto Metsätieteellinen tiedekunta Mallikysymyksiä ja -vastauksia valintakokeeseen 008 BIOLOGIA1. Veden kulkeutuminen kasveissa. Ydinasiat: Putkilokasveilla juuret ottavat veden. Sammalet
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
Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.
Laskuharjoitus 1A Mallit Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. 1. tehtävä %% 1. % (i) % Vektorit luodaan
Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä
Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko
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
1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot
Helsingin yliopisto, Itä-Suomen yliopisto, Jyväskylän yliopisto, Oulun yliopisto, Tampereen yliopisto ja Turun yliopisto Matematiikan valintakoe (Ratkaisut ja pisteytys) 500 Kustakin tehtävästä saa maksimissaan
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
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ä
Pitkä matematiikka Suullinen kuulustelu (ma00s001.doc) Tehtävät, jotka on merkitty (V), ovat vaativia.
Pitkä matematiikka Suullinen kuulustelu (ma00s00doc) Tehtävät, jotka on merkitty (V), ovat vaativia Yleistä Ratkaise yhtälöt n n n n n 5 a) 5 + 5 + 5 + 5 + 5 = 5 b) ( ) ( ) > 0 + = + c) ( ) Suureet ja
Cloud rendering. Juho Karppinen 49480E
HELSINKI UNIVERSITY OF TECHNOLOGY 12.5.2003 Telecommunications Software and Multimedia Laboratory Tik-111.500 Tietokonegrafiikan seminaari Kevät 2003 Cloud rendering Juho Karppinen 49480E Cloud rendering
Paretoratkaisujen visualisointi. Optimointiopin seminaari / Kevät 2000 Esitelmä 11 Petteri Kekäläinen 45305L
Paretoratkaisujen visualisointi Optimointiopin seminaari / Kevät 2000 Esitelmä 11 Petteri Kekäläinen 45305L 1. Johdanto Monitavoiteoptimointitehtävät ovat usein laajuutensa takia vaikeasti hahmotettavia
PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011
PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9..0 Kokeessa saa vastata enintään kymmeneen tehtävään.. Sievennä a) 9 x x 6x + 9, b) 5 9 009 a a, c) log 7 + lne 7. Muovailuvahasta tehty säännöllinen tetraedri muovataan
Vektorien 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
Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti
14 Ristitulo Avaruuden R 3 vektoreille voidaan määritellä pistetulon lisäksi niin kutsuttu ristitulo. Pistetulosta poiketen ristitulon tulos ei ole reaaliluku vaan avaruuden R 3 vektori. Ristitulosta on
MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi
MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi Antti Rasila Aalto-yliopisto Syksy 2015 Antti Rasila (Aalto-yliopisto) MS-A0202 Syksy 2015 1
Työ 21 Valon käyttäytyminen rajapinnoilla. Työvuoro 40 pari 1
Työ 21 Valon käyttäytyminen rajapinnoilla Työvuoro 40 pari 1 Tero Marttila Joel Pirttimaa TLT 78949E EST 78997S Selostuksen laati Tero Marttila Mittaukset suoritettu 12.11.2012 Selostus palautettu 19.11.2012
Topologia Syksy 2010 Harjoitus 9
Topologia Syksy 2010 Harjoitus 9 (1) Avaruuden X osajoukko A on G δ -joukko, jos se on numeroituva leikkaus avoimista joukoista ja F σ -joukko, jos se on numeroituva yhdiste suljetuista joukoista. Osoita,
Muodonmuutostila hum 30.8.13
Muodonmuutostila Tarkastellaan kuvan 1 kappaletta Ω, jonka pisteet siirtvät ulkoisen kuormituksen johdosta siten, että siirtmien tapahduttua ne muodostavat kappaleen Ω'. Esimerkiksi piste A siirt asemaan
Koordinaatistot 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
BM20A5800 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
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.
9. 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.
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
Algoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).
Tekijä Pitkä matematiikka 4 9.12.2016 212 Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Vastaus esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4) 213 Merkitään pistettä
Havaitsevan tähtitieteen peruskurssi I
2. Ilmakehän vaikutus havaintoihin Lauri Jetsu Fysiikan laitos Helsingin yliopisto Ilmakehän vaikutus havaintoihin Ilmakehän häiriöt (kuva: @www.en.wikipedia.org) Sää: pilvet, sumu, sade, turbulenssi,
Riemannin pintojen visualisoinnista
Riemannin pintojen visualisoinnista eli Funktioiden R R kuvaajat Simo K. Kivelä 7.7.6 Tarkastelun kohteena olkoon kompleksimuuttujan kompleksiarvoinen funktio f : C C, f(z) = w eli f(x + iy) = u(x, y)
10. Painotetut graafit
10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä
MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 1: Parametrisoidut käyrät ja kaarenpituus
MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 1: Parametrisoidut käyrät ja kaarenpituus Antti Rasila Aalto-yliopisto Syksy 2015 Antti Rasila (Aalto-yliopisto) MS-A0202 Syksy 2015 1 / 18
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 8 1 Suunnattu derivaatta Aluksi tarkastelemme vektoreita, koska ymmärrys vektoreista helpottaa alla olevien asioiden omaksumista. Kun liikutaan tasossa eli avaruudessa
6.6. Tasoitus ja terävöinti
6.6. Tasoitus ja terävöinti Seuraavassa muutetaan pikselin arvoa perustuen mpäristön pikselien ominaisuuksiin. Kuvan 6.18.a nojalla ja Lukujen 3.4. ja 3.5. harmaasävjen käsittelssä esitellillä menetelmillä
DYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi
DYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi LUENNON SISÄLTÖ Kertausta edelliseltä luennolta: Suhteellisen liikkeen nopeuden ja kiihtyvyyden yhtälöt. Jäykän kappaleen partikkelin liike. Jäykän
Tietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin
Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste
Suora 1/5 Sisältö KATSO MYÖS:, vektorialgebra, geometriset probleemat, taso Suora geometrisena peruskäsitteenä Pisteen ohella suora on geometrinen peruskäsite, jota varsinaisesti ei määritellä. Alkeisgeometriassa
Täydellisyysaksiooman kertaus
Täydellisyysaksiooman kertaus Luku M R on joukon A R yläraja, jos a M kaikille a A. Luku M R on joukon A R alaraja, jos a M kaikille a A. A on ylhäältä (vast. alhaalta) rajoitettu, jos sillä on jokin yläraja
MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 2: Usean muuttujan funktiot
MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 2: Usean muuttujan funktiot Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Syksy 2016 Antti Rasila (Aalto-yliopisto)
XXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut
XXIII Keski-Suomen lukiolaisten matematiikkakilpailu 23.1.2014, tehtävien ratkaisut 1. Avaruusalus sijaitsee tason origossa (0, 0) ja liikkuu siitä vakionopeudella johonkin suuntaan, joka ei muutu. Tykki
2016/06/21 13:27 1/10 Laskentatavat
2016/06/21 13:27 1/10 Laskentatavat Laskentatavat Yleistä - vaakageometrian suunnittelusta Paalu Ensimmäinen paalu Ensimmäisen paalun tartuntapiste asetetaan automaattisesti 0.0:aan. Tämä voidaan muuttaa
AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta
AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja
MS-A0207 Differentiaali- ja integraalilaskenta 2 (CHEM) Luento 2: Usean muuttujan funktiot
MS-A0207 Differentiaali- ja integraalilaskenta 2 (CHEM) Luento 2: Usean muuttujan funktiot Harri Hakula Matematiikan ja systeemianalyysin laitos 1 Aalto-yliopisto Kevät 2018 1 Perustuu Antti Rasilan luentomonisteeseen
LABORAATIOSELOSTUSTEN OHJE H. Honkanen
LABORAATIOSELOSTUSTEN OHJE H. Honkanen Tämä ohje täydentää ja täsmentää osaltaan selostuskäytäntöä laboraatioiden osalta. Yleinen ohje työselostuksista löytyy intranetista, ohjeen on laatinut Eero Soininen
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
MONISTE 2 Kirjoittanut Elina Katainen
MONISTE 2 Kirjoittanut Elina Katainen TILASTOLLISTEN MUUTTUJIEN TYYPIT 1 Mitta-asteikot Tilastolliset muuttujat voidaan jakaa kahteen päätyyppiin: kategorisiin ja numeerisiin muuttujiin. Tämän lisäksi
S Laskennallinen Neurotiede
S-114.3812 Laskennallinen Neurotiede Laskuharjoitus 3 8.12.2006 Heikki Hyyti 60451P Tehtävä 2 Tehtävässä 2 piti tehdä 100 hermosolun assosiatiivinen Hopfield-muistiverkko. Verkko on rakennettu Matlab-ohjelmaan
7.4 PERUSPISTEIDEN SIJAINTI
67 7.4 PERUSPISTEIDEN SIJAINTI Optisen systeemin peruspisteet saadaan systeemimatriisista. Käytetään seuraavan kuvan merkintöjä: Kuvassa sisäänmenotaso on ensimmäisen linssin ensimmäisessä pinnassa eli
Syksyn 2015 Lyhyen matematiikan YO-kokeen TI-Nspire CAS -ratkaisut
Sksn 015 Lhen matematiikan YO-kokeen TI-Nspire CAS -ratkaisut Tekijät: Olli Karkkulainen ja Markku Parkkonen Ratkaisut on laadittu TI-Nspire CAS -tietokoneohjelmalla kättäen Muistiinpanot -sovellusta.
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
Tampereen 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
Tekstuurintunnistuksen lyhyt oppimäärä. Ts. pari tapaa erottaa tiiliseinä pensaasta.
Tekstuurintunnistuksen lyhyt oppimäärä Ts. pari tapaa erottaa tiiliseinä pensaasta. Mitä on tekstuuri? Vaikea määritellä, mutta: Pintakuvio Ornamentti tuntu kuviointi Miksi tämän pitäisi kiinnostaa? (Maantienmerkkausrobotti)
Pythagoraan polku 16.4.2011
Pythagoraan polku 6.4.20. Todista väittämä: Jos tasakylkisen kolmion toista kylkeä jatketaan omalla pituudellaan huipun toiselle puolelle ja jatkeen päätepiste yhdistetään kannan toisen päätepisteen kanssa,
Teledyne Optech Titan -monikanavalaser ja sen sovellusmahdollisuudet
Teledyne Optech Titan -monikanavalaser ja sen sovellusmahdollisuudet Jan Biström TerraTec Oy TerraTec-ryhmä Emoyhtiö norjalainen TerraTec AS Liikevaihto 2015 noin 13 miljoonaa euroa ja noin 90 työntekijää
MARV Metsikkökoealaharjoitus Aluepohjaiset laserpiirteet puustotunnusten selittäjinä. Ruuduille lasketut puustotunnukset:
MARV1-11 Metsikkökoealaharjoitus Aluepohjaiset laserpiirteet puustotunnusten selittäjinä Metsikkökoealojen puuston mittaukseen käytetty menetelmä, jossa puut etsitään laseraineistosta/ilmakuvilta ja mitataan
f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.
Ääriarvon laatu Jatkuvasti derivoituvan funktion f lokaali ääriarvokohta (x 0, y 0 ) on aina kriittinen piste (ts. f x (x, y) = f y (x, y) = 0, kun x = x 0 ja y = y 0 ), mutta kriittinen piste ei ole aina
Derivaatta: funktion approksimaatio lineaarikuvauksella.
Viikko 5 Tällä viikolla yleistetään R 2 :n ja R 3 :n vektorialgebran peruskäsitteet n-ulotteiseen avaruuteen R n, ja määritellään lineaarikuvaus. Tarkastellaan funktioita, joiden määrittelyjoukko on n-ulotteisen
VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j82095. SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.
VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Oskari Uitto i78966 Lauri Karppi j82095 SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI Sivumäärä: 14 Jätetty tarkastettavaksi: 25.02.2008 Työn
Preliminäärikoe Tehtävät Pitkä matematiikka 4.2.2014 1 / 3
Preliminäärikoe Tehtävät Pitkä matematiikka / Kokeessa saa vastata enintään kymmeneen tehtävään Tähdellä (* merkittyjen tehtävien maksimipistemäärä on 9, muiden tehtävien maksimipistemäärä on 6 Jos tehtävässä
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
on hidastuvaa. Hidastuvuus eli negatiivinen kiihtyvyys saadaan laskevan suoran kulmakertoimesta, joka on siis
Fys1, moniste 2 Vastauksia Tehtävä 1 N ewtonin ensimmäisen lain mukaan pallo jatkaa suoraviivaista liikettä kun kourun siihen kohdistama tukivoima (tässä tapauksessa ympyräradalla pitävä voima) lakkaa
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)
Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 017 Insinöörivalinnan matematiikan koe 30..017, Ratkaisut (Sarja A) 1. a) Lukujen 9, 0, 3 ja x keskiarvo on. Määritä x. (1 p.) b) Mitkä reaaliluvut
Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva 3), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 = 2.
Hyvän ratkaisun piirteitä: a) Neliöpohjainen rakennelma Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva ), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 =
Luento 8: Epälineaarinen optimointi
Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori 0 = (0,..., 0). Reaalisten m n-matriisien joukkoa merkitään
235. 236. 237. 238. 239. 240. 241. 8. Sovellutuksia. 8.1. Pinta-alan ja tilavuuden laskeminen. 8.2. Keskiö ja hitausmomentti
8. Sovellutuksia 8.1. Pinta-alan ja tilavuuden laskeminen 235. Laske sen kappaleen tilavuus, jota rajoittavat pinnat z = xy, x = y 2, z = 0, x = 1. (Kappale sijaitsee oktantissa x 0, y 0, z 0.) 1/6. 236.
1) Maan muodon selvittäminen. 2) Leveys- ja pituuspiirit. 3) Mittaaminen
1) Maan muodon selvittäminen Nykyään on helppo sanoa, että maa on pallon muotoinen olet todennäköisesti itsekin nähnyt kuvia maasta avaruudesta kuvattuna. Mutta onko maapallomme täydellinen pallo? Tutki
A274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.
Kertaus. Integraalifunktio ja integrointi. 2( x 1) 1 2x. 3( x 1) 1 (3x 1) KERTAUSTEHTÄVIÄ. K1. a)
Juuri 9 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 5.5.6 Kertaus Integraalifunktio ja integrointi KERTAUSTEHTÄVIÄ K. a) ( )d C C b) c) d e e C cosd cosd sin C K. Funktiot F ja F ovat saman
Jatkuvat satunnaismuuttujat
Jatkuvat satunnaismuuttujat Satunnaismuuttuja on jatkuva jos se voi ainakin periaatteessa saada kaikkia mahdollisia reaalilukuarvoja ainakin tietyltä väliltä. Täytyy ymmärtää, että tällä ei ole mitään
Korvennevan tuulivoimapuisto
S U U N N IT T EL U JA T EK N IIK K A OTSOTUULI OY Korvennevan tuulivoimapuisto Näkymäalueanalyysi ja valokuvasovitteet FCG SUUNNITTELU JA TEKNIIKKA OY 27.3.2015 FCG SUUNNITTELU JA TEKNIIKKA OY Korvennevan
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
LightWorks. 1 Renderoijan perussäädöt. 1.1 Sisältö. 1.2 LightWorksin käytön aloitus
1.9.2009 ArchiCAD 13 VI. - 1 LightWorks 1 Renderoijan perussäädöt 1.1 Sisältö Tässä luvussa käsitellään LightWorks-renderoijan käyttöönottoa ja säätöjä erilaisissa renderointitilanteissa. Lightworks-renderoija
23 VALON POLARISAATIO 23.1 Johdanto. 23.2 Valon polarisointi ja polarisaation havaitseminen
3 VALON POLARISAATIO 3.1 Johdanto Mawellin htälöiden avulla voidaan johtaa aaltohtälö sähkömagneettisen säteiln etenemiselle väliaineessa. Mawellin htälöiden ratkaisusta seuraa aina, että valo on poikittaista
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
Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria
Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:
1/6 TEKNIIKKA JA LIIKENNE FYSIIKAN LABORATORIO V1.31 9.2011
1/6 333. SÄDEOPTIIKKA JA FOTOMETRIA A. INSSIN POTTOVÄIN JA TAITTOKYVYN MÄÄRITTÄMINEN 1. Työn tavoite. Teoriaa 3. Työn suoritus Työssä perehdytään valon kulkuun väliaineissa ja niiden rajapinnoissa sädeoptiikan
VALON DIFFRAKTIO YHDESSÄ JA KAHDESSA RAOSSA
1 VALON DIFFRAKTIO YHDESSÄ JA KAHDESSA RAOSSA MOTIVOINTI Tutustutaan laservalon käyttöön aaltooptiikan mittauksissa. Tutkitaan laservalon käyttäytymistä yhden ja kahden kapean raon takana. Määritetään
1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut
ja kompleksiluvut ja kompleksiluvut 1.1 MS-A0007 Matriisilaskenta 1. ja kompleksiluvut Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 26.10.2015 Reaalinen
Ratkaisuehdotukset LH 7 / vko 47
MS-C34 Lineaarialgebra, II/7 Ratkaisuehdotukset LH 7 / vko 47 Tehtävä : Olkoot M R symmetrinen ja positiividefiniitti matriisi (i) Näytä, että m > ja m > (ii) Etsi Eliminaatiomatriisi E R siten, että [
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
y=-3x+2 y=2x-3 y=3x+2 x = = 6
MAA Koe, Arto Hekkanen ja Jussi Tyni 5.5.015 Loppukoe LASKE ILMAN LASKINTA. 1. Yhdistä kuvaaja ja sen yhtälö a) 3 b) 1 c) 5 d) Suoran yhtälö 1) y=3x ) 3x+y =0 3) x y 3=0 ) y= 3x 3 5) y= 3x 6) 3x y+=0 y=-3x+
Numeeriset menetelmät
Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot
Tietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n
Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö
Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin
811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja
811312A Tietorakenteet ja algoritmit, 2015-2016 VI Algoritmien suunnitteluparadigmoja Sisältö 1. Hajota ja hallitse-menetelmä 2. Dynaaminen taulukointi 3. Ahneet algoritmit 4. Peruuttavat algoritmit 811312A
FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto
FUNKTIONAALIANALYYSIN PERUSKURSSI 1. Johdanto Funktionaalianalyysissa tutkitaan muun muassa ääretönulotteisten vektoriavaruuksien, ja erityisesti täydellisten normiavaruuksien eli Banach avaruuksien ominaisuuksia.
JOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS NEUROVERKOT TURINGIN KONE (TAI TAVALLINEN OHJELMOINTI) VAIN YKSI LASKENNAN MALLI ELÄINTEN HERMOSTOSSA LASKENTA ERILAISTA: - RINNAKKAISUUS - STOKASTISUUS (SATUNNAISUUS) - MASSIIVINEN
KUVANKÄ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
9. Tila-avaruusmallit
9. Tila-avaruusmallit Aikasarjan stokastinen malli ja aikasarjasta tehdyt havainnot voidaan esittää joustavassa ja monipuolisessa muodossa ns. tila-avaruusmallina. Useat aikasarjat edustavat dynaamisia
Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:
Simo K. Kivelä, 13.7.004 Frégier'n lause Toisen asteen käyrillä ellipseillä, paraabeleilla, hyperbeleillä ja niiden erikoistapauksilla on melkoinen määrä yksinkertaisia säännöllisyysominaisuuksia. Eräs
Numeeriset menetelmät
Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:
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
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti