Ville Sipola, 49059B vsipola@cc.hut.fi, Ville_Sipola@hotmail.com



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

Kokeile kuvasuunnistusta. 3D:nä

2.3 Voiman jakaminen komponentteihin

Kenguru 2010 Benjamin (6. ja 7. luokka) sivu 1 / 5

6. Etäisyydenmittari 14.

Kenguru Student (lukion 2. ja 3. vuosi) sivu 1 / 6

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

Kenguru 2011 Cadet (8. ja 9. luokka)

Luento 4 Kolmiulotteiset kuvat. fotogrammetriaan ja kaukokartoitukseen

Kenguru 2013 Cadet (8. ja 9. luokka)

S Havaitseminen ja toiminta

Luku 8. Aluekyselyt. 8.1 Summataulukko

Tilkkuilijan värit. Saana Karlsson

Kenguru 2015 Cadet (8. ja 9. luokka)


Datatähti 2019 loppu

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

Tietorakenteet, laskuharjoitus 7, ratkaisuja

2.3 Juurien laatu. Juurien ja kertoimien väliset yhtälöt. Jako tekijöihin. b b 4ac = 2

5.3 Ensimmäisen asteen polynomifunktio

Luento 6: 3-D koordinaatit

a) Mitkä reaaliluvut x toteuttavat yhtälön x 2 = 7? (1 p.) b) Mitkä reaaliluvut x toteuttavat yhtälön 5 4 x

PIKSELIT JA RESOLUUTIO

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Jatkuvat satunnaismuuttujat

LIITO-ORAVASELVITYS VAMMALAN KUKKURISSA

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Yliopistojen erilliset palautteet. Webropol kyselyn tulokset. RAPORTTI 2 Uudet värit portaaliin Testipäivä: sekä kysely Webropolissa

Kun yritän luoda täydellisen kuvan, käytän aina tarkoin määriteltyjä

LOGO 2. LOGO. Autokeskuksen yritystunnus on Autokeskus-logo.

Kenguru 2015 Ecolier (4. ja 5. luokka)

- 4 aloituslaattaa pelaajien väreissä molemmille puolille on kuvattu vesialtaat, joista lähtee eri määrä akvedukteja.

Kuvan pehmennys. Tulosteiden hallinta. Tulostaminen. Värien käyttäminen. Paperinkäsittely. Huolto. Vianmääritys. Ylläpito.

Algoritmit 2. Luento 6 To Timo Männikkö

Gimp alkeet XIII 9 luokan ATK-työt/HaJa Sivu 1 / 8. Tasot ja kanavat. Jynkänlahden koulu. Yleistä

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

Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto.

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

Graafiset käyttöliittymät Sivunparantelu

Tekijä Pitkä matematiikka

Tehtävä 3: Ongelmanratkaisutehtävä

Teknillinen Korkeakoulu Fotogrammetrian ja kaukokartoituksen laboratorio Maa Fotogrammetrian, kuvatulkinnan ja kaukokartoituksen seminaari

8-99- vuotiaille taikuri + yleisö

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

Opetusmateriaalin visuaalinen suunnittelu. Kirsi Nousiainen

Kenguru 2016 Cadet (8. ja 9. luokka)

Nollasummapelit ja bayesilaiset pelit

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

Kiipulan ammattiopisto. Liiketalous ja tietojenkäsittely. Erja Saarinen

RATKAISUT: 16. Peilit ja linssit

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

Valokuvien matematiikkaa

Asiakirjojen vertailu-kurssi

Saksanpystykorvien värit

KERTAUS KERTAUSTEHTÄVIÄ K1. P( 1) = 3 ( 1) + 2 ( 1) ( 1) 3 = = 4

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

Digikuvan peruskäsittelyn. sittelyn työnkulku. Soukan Kamerat Soukan Kamerat/SV

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Teoreettisia perusteita I

2 Pistejoukko koordinaatistossa

Kenguru 2015 Student (lukiosarja)

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Tarina-tehtävän ratkaisu

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

Kenguru 2010, Benjamin, ratkaisut sivu 1 / 9

Turun seitsemäsluokkalaisten matematiikkakilpailu Tehtävät ja ratkaisut

Kenguru 2017 Student lukio

Kenguru 2014 Cadet (8. ja 9. luokka)

v1.2 Huom! Piirto-ohjelmissa asioita voi tehdä todella monella tavalla, tässä esitellään yksi esimerkkitapa tällaisen käyrän piirtämiseen.

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

Kenguru 2012 Student sivu 1 / 8 (lukion 2. ja 3. vuosi)

ORMS2020 Päätöksenteko epävarmuuden vallitessa Syksy päätöspuiden avulla tarkastellaan vasta seuraavissa harjoituksissa.

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

WSC7 analysointia Vanha-Ulvila

Kenguru 2017 Benjamin (6. ja 7. luokka)

Sukelluskeräily. Pelihahmon liikuttaminen. Aarre ja pisteet

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Kenguru Cadet, ratkaisut (1 / 6) luokka

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen

Jamboree villasukkien ohje

1.2 Yhtälön avulla ratkaistavat probleemat

Kenguru 2019 Student lukio

4.1 Kaksi pistettä määrää suoran

766323A Mekaniikka, osa 2, kl 2015 Harjoitus 4

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

MATEMATIIKKA JA TAIDE II

kertaa samat järjestykseen lukkarissa.

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET

Ristiniityn ja Välikankaan tuulivoimahanke, Haapajärvi

Jakopinnat ja liikkuvan keernan pinnat 1, keerna jakopinnan tasalla

Kenguru 2016 Ecolier (4. ja 5. luokka)

Luento 5: Stereoskooppinen mittaaminen

Tehdään laadukas painotuote

Matematiikan peruskurssi 2

OHJEET LUE TÄMÄ AIVAN ENSIKSI!

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Scratch ohjeita. Perusteet

Transkriptio:

Maa-57.355 Kuvatekniikan harjoitustyöt: Anaglyfisen tietokonepelin grafiikan toteuttamisesta Ville Sipola, 49059B vsipola@cc.hut.fi, Ville_Sipola@hotmail.com

Sisällysluettelo 1 Työstä...3 2 Kysymykseen tulevia tuotantotekniikoita...4 3 Anaglyfikuvantamisen värityksen perusteita...6 4 Värityksen hienouksia...7 5 Värijaon syvyystoteutus...12 6 Fraktaaleista...13 7 Stereokuvat ja tietokonegrafiikka...19 8 Aiheisiin liittyvää kirjallisuutta...22

1 Työstä Kolmiulotteinen grafiikka siinä merkityksessä, että esitetty grafiikka mallinnetaan kolmiulotteisesti ja projisoidaan sitten monitorin pinnalle kaksiulotteisena, on nykyajan tietokonepeleissä suorastaan häiritsevän tavallista. Sitävastoin kolmiulotteisuus siinä merkityksessä, että grafiikka olisi aidosti stereografista, on lähestulkoon tavatonta.työn tarkoituksena oli tutkia, miten hyviin tuloksiin tällaisessa käytössä olisi mahdollista päästä anaglyfisellä (puna-viher) grafiikalla.työn olennaisimman sisällön muodosti tietokonepelin karttaeditoria varten tarvittavan koodin kirjoittaminen. Toiseksi työn sisällöksi muodostui fraktaalien käyttömahdollisuuksien tutkiminen pelien karttatuotannossa. Erilaiset karttageneraattorit ovat vanhastaan olleet mm. strategiapelien perusaineistoa. Niillä on pystynyt luomaan realistisen näköisiä pelimaisemia kohtuullisen helposti. Noille editoreille on kuitenkin aina ollut yhteistä se, että niissä on yhdistetty toisiinsa etukäteen piirrettyjä maisemaosia tiettyjen sääntöjen mukaan. Tässä työssä testattiin menetelmää, jossa kaikki maastonmuodot sekä ainakin osa kasvistosta on luotu fraktaaleilla. Anaglyfipiirtämisestä, erityisesti väripintagrafiikkaa käyttävästä sellaisesta, on olemassa sen verran vähän varsinaista tieteellistä tutkimustietoa, että tekstiä kirjoitettaessa lähteitä ei juuri käytetty. Teksti sisältääkin pääasiassa empiirisiä tuloksia. Silloin kun testien tuloksen arviointi on vaatinut mielipiteen muodostamista, mielipiteitä on kysytty rajoitetulta kohdeyleisöltä. Pääosin olen pyrkinyt perustelemaan tulokseni kuvin. Tekstin esimerkkikuvien katselu vaatii anaglyfilasit.

2 Kysymykseen tulevia tuotantotekniikoita Teoriassa ei olisi mitenkään mahdotonta tuottaa täysin uusia apuvälineitä tietokonegrafiikan kolmiulotteiseen näyttämiseen. Käytännössä sellaisten valmistaminen vaatisi kuitenkin niin paljon rahaa, että moisten näyttölaitteiden levittäminen pelin tai muun hinnaltaan suhteellisen halvan tietokoneohjelman mukana ei tulisi kyseeseen. Niinpä kaikissa yleisissä stereototeutuksissa kuva tuotetaan tietokoneen monitorilla ja stereojako toteutetaan jälkeenpäin. Stereokuvan käyttäminen tietokoneohjelmassa vaatii, että kuvia pystytään katselemaan tunteja yhtäjaksoisesti väsymättä. Tämä johtaa vaatimukseen, että tekniikka on helposti nähtävissä, ts. katsojan ei tarvitse sopeuttaa silmiään katselua varten. Tämänkaltaisessa käytössä kyseeseen tulevia tekniikoita ovat mm. seuraavat: Suljinlasit: näytön kuva tuotetaan kahdesta erillisestä kamerasta kuvattuna, ja ko. kuvia näytetään ruudulla vuorotellen. Lasien ja monitorin toiminta tahdistetaan siten, että kun vasemmalla silmällä nähtäväksi tarkoitettua kuvaa näytetään, oikean puolen linssi ei läpäise valoa, ja kun oikealla silmällä nähtäväksi tarkoitettua kuvaa näytetään, pimeänä on vasemman puolen linssi. Tekniikalla saadaan erittäin hyvän näköinen kuva, sen käyttö ei tuota juuri mitään rajoituksia itse grafiikan tuotantoon (puolet tavanomaista alemman kuvanpäivitysnopeuden lisäksi) ja ohjelmointitekninen toteutus on melko yksinkertaista molemmilla yleisesti käytetyillä 3Dgrafiikkakirjastoilla, ts. OpenGL:llä ja Direct X:llä. Ainoa todella suuri rajoitus toteutukselle on itse suljinlasien tarve. Lasit ovat juuri sen verran kalliit, että niitä ei voida levittää itse pelien mukana, ja erillisenä lisälaitteena lasit eivät ole saavuttaneet samanlaista suosiota kuin esim. äänikortit tai rattiohjaimet. Niin kauan kuin suljinlasit ovat käyttäjien keskuudessa harvinaisia, harvinaisia ovat myös pelit, jotka niitä käyttävät. Ja päinvastoin. Anaglyfilasit: Sarjakuvapuolella aina silloin tällöin nähty tekniikka ei jostain syystä ole saavuttanut suosiota tietokonepuolella, vaikka itse jako on tietoteknisesti helppo toteuttaa (asiasta enemmän muualla tässä työssä). Tekniikan ylittämättömänä ongelmana on värillisten linssien aiheuttama värivirhe sekä se, että lasien käyttö tulee jossain määrin huomioida koko pelintekoprosessissa. Tekniikan suuri etu, ja myös syy siihen, että pidän sitä todennäköisimpänä tekniikkana stereografiikan tuomiseksi tietokonepeleihin, on itse anaglyfilasien tekninen yksinkertaisuus. Muutamia kymmeniä senttejä maksavia punaviherlaseja voitaisiin levittää muutaman kymmenen euron hintaisten pelien mukana vaikkapa useampiakin joka paketissa. Chromadepth: Chromatek niminen yhtiö (www.chromatek.com) markkinoi omaa tekniikkaansa, jossa toinen lasin linsseistä taittaa eri tavoin valon eri aallonpituuksia. Tällöin esim. punaiset värisävyt näkyvät sinisten edessä. Lasien hinnat jäävät pienissäkin erissä dollarin alapuolelle, joten niidenkin levittäminen peleissä tulisi kysymykseen. Ohjelmointiteknisesti Chromadepthiin sisältyy kaksikin mielenkiintoista etua: ensinnäkin tekniikka on ainoa tunnettu stereotekniikka, jossa kuvia ei tarvitse piirtää kuin yksi, ts. stereojako tapahtuu suoraan kuvasta. Tämä on huomion arvoinen etu peleissä, joissa grafiikan nopeus on usein olennaisen tärkeä seikka. Lisäksi varsinkin palettigrafiikkaan pohjaavissa väritiloissa (2-256 -värisissä tiloissa) olisi värisävyn ja niin muodoin syvyyden säätäminen erittäin helppoa ja nopeaa. Tärkein kirjaus tekniikan ongelmapuolelle on se perustava seikka, että kappaleiden värin täytyisi liittyä syvyyteen. Siis esimerkiksi nouseva helikopteri tai portaita kiipeävä ihmishahmo joutuisi vaihtamaan väriä syvyyden muuttuessa. Tämä ei näytä kovinkaan luonnolliselta, ja estää värin käyttämisen informaation välittämiseen. Grafiikka olisi siis katsojien mielestä riemunkirjavaa, mutta ohjelmoijan ja graafikon kannalta mustavalkoista. Lisäksi on vuosia siitä, kun 256- väriset tilat olivat yleisesti hyväksyttyjä tietokonepeissä. Nykyään standardin asemassa olevissa

täysväritiloissa laajat värisävyn muunnokset taas eivät ole erityisen nopeita operaatioita. 3D Eye:saman nimisen firman levittämässä tekniikassa otetaan tavanomainen stereokuvapari, jonka toinen puolikas peilataan. Katselua varten kuvat asetetaan vierekkäin ja niiden väliin asetetaan peili. Kun katselija asettaa nenänsä peilin kohdalle ja kohdistaa katseensa siihen peilaamattomaan kuvaan, hänen toinen silmänsä näkee suoraan peilaamattoman kuvan ja toinen peilistä toisen kuvan kahdesti peilattuna. Tekniikan etuna olisi helppo toteutus (peilaaminen on tietokoneella hyvin nopea operaatio) sekä erinomainen kuvan laatu. Teknisen ongelmapuolen monitorikäytössä muodostavat peilin kiinnittämiseen ja ergonomiaan liittyvät vaikeudet. Hinnan kannalta epävarmuustekijän tuottaa se, että tekniikkaan liittyy patentteja. Niinpä käyttö luultavasti vaatisi lisenssimaksujen kustantamista tai muita (mahdollisesti kalliita) järjestelyjä. Perinteiset katselujärjestelmät: ilmakuvien tulkinnassa, fotogrammetriassa ja useissa muissa käyttötarkoituksissa on jo pitkaään käytetty vaihtelevaa määrää mekaanisia apuvälineitä. Periaatteessa ei olisi mitään estettä asettaa esimerkiksi ilmakuvatulkinnassa käytettävän stereonäkökojeen kuvanlähteeksi kahta kuvaa monitorin eri puolilta. Käytännön ongelman muodostavat näissä toteutuksissa laitteiston mekaaninen kiinnittäminen monitoriin sekä mekanismin mutkikkuuden kasvaessa erittäin nopeasti kasvava hinta.

3 Anaglyfikuvantamisen värityksen perusteita Perusperiaate anaglyfikuvissa on sama kuin missä tahansa stereopiirtämisessä: piirretään kaksi hyvin pitkälti samanlaista kuvaa, joista toinen näytetään toiseen ja toinen toiseen silmään.kuvien vaakasuoraa etäisyyttä säätämällä saadaan aikaan syvyysvaikutelma. Anaglyfilaseissa toinen linssi läpäisee punaiset ja toinen siniset ja vihreät värisävyt. Tapa, jolla tätä värijakoa käytetään hyväksi, poikkeaa tietokoneen kokovärikuvissa ja sarjakuvien mustavalkomaailmassa hiukan toisistaan. Sarjakuvissa musta väri on piirretty valkoisen pinnan päälle. Niinpä esimerkiksi sininen tai vihreä linssi, joka läpäisee heikosti punaisia aallonpituuksia, saa punaisen viivan näkymään mustana valkoisella taustalla. Sitävastoin kirkas, linssin väriä vastaava värisävy ei erotu valkoiselta taustalta. Siis punaisessa linssissä erottuvat sininen ja vihreä, sinisessä tai vihreässä linssissä punainen. Kuva 1 sarjakuvan punaviherkäyttöä: pyrkimys mustaan. Kansilehti 3D- Ankronikkasarjasta Hyppypapujen hyökyaalto. (Disney, Sanomaprint/Kirjat 1993) Monivärisissä kuvissa tilanne on päinvastainen. Kaikki punaisen sävyt näyttävät vihreän linssin läpi yhtä tasaisen mustilta, vihreästä ja sinisestä taas erottuvat myös sävyt. Vastaavasti punaisessa linssissä näkyvät punaisen sävyt.

4 Värityksen hienouksia Alunperin värityksen tutkimisen oli tarkoitus olla työn olennaisin sisältö, ja aiheesta tehtiinkin varsin perusteellisia, vaikkakin tuloksiltaan rajallisia tutkimuksia. 4.1 Lasien väritys Värien vääristymisen kannalta olennaisin tekijä ovat itse lasit. 3D- vaikutelmaltaan hyväksi todetut sinipunaiset lasit osoittautuivat tässä suhteessa erittäin heikoksi vaihtoehdoksi, sillä kuva kuin kuva muuttuu niiden lävitse katseltuna väistämättä hivenen violetin sävyiseksi. Koska violetti on tosimaailmassa melko harvinainen väri, realismista ei ole juuri puhetta. Punaviherlaseilla värien vääristymä on useimmiten pienempi, lisäksi vihreä on erityisesti luonnonmaisemissa niin tavallinen väri, että aidon värisiä maisemia on melko niillä helppo tuottaa. Toisaalta edellisessä kappaleessa mainitut seikat ovat lasikohtaisia, ja minulla ei ollut testeissä käytettävissäni kuin yhdet hyvät lasit kumpaakin väritystä. Linssivärien tummuus ja sävy vaikuttavat tuloksiin. Ainakin teoriassa on kuitenkin niin, että myös lähes täydellisen väriset lasit olisi mahdollista tuottaa. Koska tietokoneen monitoreissa on vain kolmea värikomponenttia, eli tiettyä punaista, vihreää ja sinistä, riittäisi melko puhtaiden värien tuottamiseksi käyttää vastaavaa punaista ja sinivihreää sopivissa suhteissa. Spektrissä ko. värit tosin olisivat hiukan lähempänä toisiaan kuin punainen ja sininen, joka saattaisi osaltaan heikentää värinäkemistä.värikokeiden aikana kehittelin pienen testinkin optimaalisten värisävyjen etsimiseksi: Testisävystön ylin osa sisältää lähes kokonaisen sävyskaalan. Toiseksi ylimmässä on sama skaala ilman punaista. Sinivihreän linssin läpi katsottuna ylimmän ja toiseksi ylimmän tulisi näyttää tarkalleen samalta. Lisäksi toiseksi ylimmän skaalan tulisi näyttää molempien linssien läpi katsottuna samalta kuin pelkän sinisen lasin läpi. Skaalan värin tulisi olla myös mahdollisimman tarkoin alkuperäinen. Punaisen linssin läpi taas toisen skaalan tulisi näyttää täysin mustalta.valkoisen skaalan tulee näyttää punaisen linssin läpi katsottuna tarkalleen samalta kuin ylimmän ja alimman skaalan. Punaisen skaalan tulee olla sinivihreän linssin läpi täysin musta. Täysin mustan vastavärin vaatimus on sikäli ongelmallinen, että sen suhteen tilanne paranee värin säätämisen lisäksi myös tummentamalla laseja. Ja liian tummat lasit taas ovat ongelma, koska niiden läpi kuvan näkyminen heikkenee. Värien vääristymisen kannalta tärkeämpi vaatimus onkin, että värit näkyvät läpi yhtä voimakkaasti. Toistaiseksi en ole keksinyt kunnon testiä sille, että punaisen ja sinivihreän linssin värin voimakkuus on yhtä suuri, joka on kuitenkin värien vääristymisen kannalta tärkeä vaatimus. Testiskaaloja on tietysti syytä tarkastella tietokoneen ruudulta. -Ja mieluiten juuri sen tietokoneen, jolta peliäkin aiotaan pelata. Kuva 2 Testi optimaalisen linssivärin etsimiseksi.

4.2 Kuvassa käytettävistä väreistä Kuvan värityksellä on voimakas vaikutus siihen, miten käyttäjä kuvan näkee. Täysin väärän tyyppinen väritys estää kolmiulotteisen näkemisen kokonaan, ja mitä voimakkaammat syvyyserot ovat, sitä paremmin onnistunut väritys tarvitaan kuvan näkemiseksi. Väritysvirheitä löydettiin viittä perustyyppiä: 1. Väripinnassa ei ole riittävää tekstuuria. Tasaisen väriset väripinnat ovat ongelma erityisesti silloin, kun kuvassa ei ole tarkkaa varjostusta. Katso itse, kumman maiseman muodot näet lasien läpi tarkemmin? Kuva 3 Esimerkki tekstuurin olemassaolon tärkeydestä Kyseessä on yksi ja sama korkeusmalli tarkalleen samanlaisella punaviherjaolla. Ainoastaan värityksessä on eroa. Kuvissa on melko voimakas anaglyfierottelu kuvien kokoon nähden, joten mikäli et näe syvyyksiä kummassakaan kuvassa, käännä lasit ympäri. Tekstuuri tarjoaa silmälle paikkoja joihin tarttua ja kohtia joita yhdistää toisiinsa. Mitä enemmän nähtävän kokoisia yksityiskohtia kuvassa on, sitä helpommin se pystytään näkemään ja sitä tarkempia ja syvempiä syvyysmuotoja siinä pystyy olemaan. Kuvaa 1, samoin kuin muitakin anaglyfisarjakuvia, voidaan käyttää esimerkkinä myös siitä, kuinka teksturoinnin puutetta voidaan käyttää hyväksi. Mikä hyvänsä täysin tasainen väripinta kahden jollekin tasolle sijoittuvan rajan välillä näyttää katsojan silmässä olevan samalla syvyydellä kuin rajansa. 2. Tekstuuri näyttää eri linssien läpi katsottuna olennaisesti erilaiselta. Tämä on oikeastaan niin itsestäänselvä asia, ettei sitä pitäisi tarvita edes sanoa. Jotenkin vain totesin itse lankeavani ansaan useamman kerran. Mikäli kuvan värikomponentit ovat todella täysin erilaiset, minkäänlaista syvyyskuvaa ei tietenkään synny, koska silmä ei pysty näkemään (tai aivot päättelemään), mitkä pisteet kuvissa pitäisi yhdistää toisiinsa. Asiassa on kuitenkin mahdollista tehdä useita pienempiäkin virheitä, jotka onnistuvat nekin tuhoamaan ulottuvuusnäkemisen täysin. Eräs tyypillisimmistä virheistä on, että jommassa kummassa värikomponentissa tapahtuvat muutokset ovat niin paljon vaimeampia kuin toisessa, että kuvat eivät yhdisty, ks. kuva 4.

Kuva 4 Vasemmalla (turhan matala) puu oikein väritettynä, oikealla sama kuva tasapaksulla punaisella värillä. Toinen tyyppivirhe on, että väritys näkyy toisen linssin läpi hyvin tummana ja toisen hyvin vaaleana.vaikka väritys olisi tällaisessa tapauksessa muutoin täydellisen onnistunut, värit näyttävät linssien läpi hyvin rauhattomilta. Puhtaat punaiset, vihreät ja siniset värit eivät siis tule kuvissa yleensä kysymykseen. Vastaavasti kuvan näkemisen kannalta ihanteellisiksi väreiksi todettiin erilaiset keltaisen, violetin ja harmaan sävyt, ts. värit, joissa on tasaisesti kummankin linssin läpi näkyviä värikomponentteja. Ei kuitenkaan pidä ymmärtää väärin: vihreä, sininen tai edes punainen eivät ole täysin mahdottomia värejä käytettäväksi, kunhan niistä ei tarvita täysin samoja sävyjä kuin lasin linsseissä. Sinisiin ja vihreisiin kappaleisiin täytyy pystyä lisäämään näkyvä määrä punaista, punaisiin sinistä ja/tai vihreää. Esimerkki erittäin rauhattomista väreistä löytyy omilta kartoiltani. Omituinen fiksaationi, että veden pitäisi olla väriltään sinistä, johti pahimmillaan tämän näköiseen lopputulokseen: Kuva 5 Vihertävän sininen vesi on toki kauniin värinen, mutta värijakolasien läpi katseltuna se juoksee silmissä. Efektiä voi käyttää maltillisesti myös hyväkseen. Kunhan ilmiö ei ole kauhean voimakas, niin sillä saadaan aikaan esimerkiksi kohtuullisen hyvän näköinen heijastava vedenpinta...

On syytä huomata, että värikomponenttien muutosten ei suinkaan aina tarvitse olla eri linsseissä samansuuntaisia, kunhan muutosrajat ovat samoilla kohdin. 3. Värit näkyvät läpi väärän värisestä linssistä. Riittävän kirkas värisävy, erityisesti mikäli se rajautuu terävästi tummiin sävyihin, näkyy lähestulkoon väistämättä haamukuvana läpi myös väärän värisestä linssistä. Haamukuva on jo sinänsä häiritsevä. Lisäksi mikäli väriero on suuri, silmät kohdistuvat herkästi oikean kuvan sijasta haamukuvaan, jolloin syvyysvaikutelmaa ei synny. 4. Tekstuurin väripinnat ovat liian pieniä. Kuva 6 Voimallinen väri erityisesti tummalla taustalla näkyy läpi lähes laseista kuin laseista Tekstuuri menettää erityisesti suurien korkeuserojen yhteydessä merkityksensä, mikäli se on niin pientä, ettei katsoja erota kunnolla toisiinsa yhtyviä pikseleitä. Kuva 7 Liian pikkutarkka tekstuuri menettää tehonsa. Oikeanpuoleisenkin kuvan syvyysefektin pystyy edelleen näkemään, mutta se vaati useimmilta testatuilta enemmän keskittymistä kuin vasemmanpuoleinen. 5. Tekstuuri on joko liian räikeä tai liian tumma Liian tasavärisen tekstuurin vaikutus kerrottiin ensimmäisessä kohdassa. Liian tumman tekstuurin vaikutus on samantapainen, ja sen syykin lienee sama: tekstuuri, joka on liian tumma nähtäväksi on yhtä kuin ei tekstuuria. Liian räikeä (siis tasavärisen vastakohtana) tekstuuri ei yleensä täydellisesti tuhoa syvyysnäkemistä, mutta erittäin voimalliset värierot saattavat erityisesti suhteellisen pieniin väripintoihin yhdistyneenä - heikentää jossain määrin vaikutelmaa.

Tavallisessa piirtämisessä käytettävät syvyysvihjeet helpottavat myös anaglyfikuvien syvyysnäkemistä. Erityisesti kuvien varjostamisella on suuri vaikutus. Raytracing- tekniikalla tai muuten erittäin tarkasti varjostetuissa kappaleissa esimerkiksi liian pikkutarkan tekstuurin sekä tekstuurin puuttumisen vaikutus suurelta osin kumoutuu. Varjostus parantaa myös värikomponenttien keskinäistä samankaltaisuutta. Esimerkiksi linssin värisen tekstuurin ongelmaa paraskaan varjostus ei kuitenkaan poista.

5 Värijaon syvyystoteutus Värijako noudattaa silmien toimintaa. Mitä suorempaan kohteeseen katsottaessa katsellaan, sitä syvemmällä se näyttää olevan, ja mitä enemmän ristiin (sirittäen) sitä katsottaessa katsellaan, sitä lähempänä se näyttää olevan. Jos siis esimerkiksi vasemmasta linssistä näkyy läpi punainen väri, niin mitä enemmän vasemmalla punainen on suhteessa vastaavaan sinivihreään, sitä syvemmällä kohde näyttää olevan, ja mitä enemmän oikealla punainen on, sitä lähempänä kohde näyttää olevan. Taso, jossa sinivihreä ja punainen ovat yhdessä, näkyy (tietysti) kuvaruudun pinnan tasolla. Jos siis halutaan, että kuva näyttää nousevan kuvaruudun pinnasta ylöspäin, tulee punaista siirtää nollatasosta sinivihreän linssin suuntaan, sinivihreää taas punaisen linssin suuntaan. Jos halutaan kuvan laskeutuvan kuvaruudun sisään, toimitaan päinvastoin. (Ei ole tietenkään sinänsä välttämätöntä siirtää molempia, riittää siirtää esimerkiksi punaisia komponentteja ja jättää siniset ja vihreät alkuperäisille paikoilleen.) Se, kumman kuvan (sisään painuvan vai pinnasta nousevan) katsoja näkee helpommin, riippuu katsojasta. On huomattava, että kuvaruudun pinnasta nouseva versio ei näy oikein kuvapinnan laidoilla, koska noilla alueilla alempana oleva kohde (kuvapinnan reunat) peittää (ts. alla oleva väri ei näy) ylempänä olevan kohteen. Asian voit tarkistaa vaikkapa kuvan 3 oikeasta puoliskosta, käyttämällä anaglyfilaseja molemmin päin. Mitä suurempi värijako on, sitä vaikeampi kuva on nähdä. Niinpä eräässä mielessä optimaalinen jakotapa olisi tapaus, jossa värisiirron nollataso sijaitsisi jossain kuvan syvyysjakauman puolivälin paikkeilla. Se, kuinka voimakkaat syvyysvaikutelmat katsoja pystyy näkemään oikein, on kuitenkin sekin käyttäjästä riippuvainen seikka eikä edes vakio ajan suhteen (mm. lisääntynyt kokemus anaglyfikuvien katselussa parantaa vaikutelmaa). Kaikkein paras tekniikka olisikin päästää käyttäjä säätämään sekä värisiirron nollataso että värisiirron voimakkuus omiin mieltymyksiinsä sopiviksi. Omissa kuvissani (ja lähes kaikissa tämän tekstin esimerkeissä) käytän silti kuvaruudun pinnasta nousevaa versiota, lähinnä siksi koska pidän sitä henkilökohtaisesti jotenkin vaikuttavampana. Yksi syvyysvaikutelmaan vaikuttavista seikoista on myös etäisyys, jolta kuvaa katsellaan. Mitä suurempi etäisyys on, sitä suuremmilta syvyyserot vaikuttavat. Koska kulma, johon silmien pitää kääntyä nähdäkseen värikomponentit yhtenä pienenee etäisyyden kasvaessa, kuvan näkeminenkin on yleensä (aina siihen asti että kuvan tarkkuuden heikkeneminen alkaa haittaamaan) helpompaa etäämmältä.

6 Fraktaaleista Fraktaalit ovat, sanakirjaselityksen omaisesti yksinkertaistaen, matemaattisia algoritmeja joilla pyritään luomaan samantapaisia muotoja kuin ne, jotka esiintyvät luonnossa. Fraktaalien keksijänä tunnetaan Benoit Mandelbrot, jonka nimeä kantava Mandelbrot- joukko lieneekin tunnetuin yksittäinen fraktaali. Erityisen käytettyjä fraktaalit ovat pinnanmuotojen, pilvien, puiden ja muiden tämänkaltaisten kohteiden määrittelyssä, joissa tavanomaisen geometrian kuvaamat muodot näyttävät häiritsevän säännöllisiltä mutta täydellinen sattumanvaraisuuskaan ei tuota haluttua tulosta. Fraktaalien määritelmä ei ole kovin tiukka, mutta muutamia niihin yleisesti kytkettyjä ominaisuuksia ovat : Proseduraalinen määritelmä: fraktaaleja eivät yleensä määritä yksittäiset matemaattiset lausekkeet vaan ketjut, joissa tehdään yksi laskelma, testataan sen tulos ja päätetään sen jälkeen, mikä laskelma tehdään seuraavaksi. Ääretön yksityiskohtaisuus: useimmista fraktaaleista voisi ainakin periaatteessa tarkastella kuinka pieniä osia hyvänsä, löytäen silti jatkuvasti lisää yksityiskohtia. Tämän merkityksen ymmärtää, kun ajattelee vaikkapa maastonmuotoja. Kaukaa katsottuna isostakaan tunturista ei näy kuin yleinen muoto. Lähemmäs mentäessä yhä pienemmät pintaa kansoittavat kukkulat alkavat näkymään. Laella seisoessa näkee pikkukiviä ja kumartuessaan vaikka hiekanjyviä. Mitä lähempää tarkastellaan, sitä pienempiä yksityiskohtia näkyy. Sitävastoin mitä hyvänsä tavanomaista matemaattista yhtälöä (ajattele vaikka sinikäyrää) tarkasteltaessa on löydettävissä taso, jossa yhtälön ura oikenee suoraksi. Yhdenmukaisuus itsensä kanssa: tarkasteltaessa fraktaalia eri etäisyyksiltä nähtävät muodot ovat aina jossakin määrin samantapaisia. Siis edellistä esimerkkiä käyttäen: pieninkin mäki näyttää perusmuodoltaan jossakin määrin samalta kuin vuori. Tai paljon ilmeisempi tapaus: tarkastele saniaisen lehteä. Yksittäisen oksan jokaisen haaran muoto on yleisesti ottaen sama kuin koko oksan. Edelleen jokaisen haaran jokainen alihaara on samanmuotoinen kuin itse oksa. Ja niin edelleen. Kuten luonnossa, myös fraktaaleissa yhdenmukaisuutta esiintyy hyvin eriasteisesti käyttökohteesta riippuen. 6.1 Fraktaalit pelin maastonmuodoissa Erilaisia fraktaaleja kauniin maaston tuottamiseksi on esitetty maailmassa lukemattomia. Todella täydellisen maaston luomiseen niistä ei taida kyetä yksikään, mutta useilla niistä saadaan kyllä todella hyvän näköistä jälkeä. Oma tekniikkani on muotoutunut vuosien kuluessa useamman tunnetun mekanismin yhteiskäytöstä, algoritmin olennaisimpana perustana toimii kuitenkin midpoint displacement (keskipisteen poikkeutus) -nimellä tunnettu tekniikka. Pyrkimyksenäni on ollut hakea menetelmää, joka on laskennallisesti nopea ja tuottaa silti hyvän näköisiä maisemia. Olennaisesti periaate on seuraava: Aluksi kuvalle luodaan väriskaala. Ilman pintakasvillisuutta ohjelmani tuottamissa pinnanmuodoissa kutakin korkeusarvoa vastaa aina sama vakioväri. Samantapaisia piirteitä löytyy luonnostakin, alueilta joilla kerroksellisten kivilajien pintaa ei peitä kasvillisuus. Sitten luodaan taulukko, joka sisältää kartalla olevien pikseleiden korkeudet. Kukin pikseli saa korkeuttaan vastaavan värin edellä mainitun väriskaalan mukaan. Otetaan alue, jonka sivujen pituudet ovat jokin toisen potenssi. Sivujen on myös hyvä olla keskenään yhtä pitkät. (128*128,256*256,2048*2048)

Kuva 8 Kartta alkutilassaan: molemmat laidat joku kahden potenssi. Sen jälkeen kuvan nurkkiin tulevat pikselit arvotaan. Näiden pikseleiden arvot ovat käytännössä melko määrääviä sen suhteen, tulevatko kuvan korkeuserot olemaan suuret vai pienet. Kartan keskelle arvotaan pikseli. Tämän pikselin arvonnassa kuitenkin vaaditaan, että pikselin arvo ei saa olla kauempana nurkkapikseleiden arvosta kuin mitä sillä on niihin välimatkaa. (Siis esim. 128*128- kokoisella kartalla keskipikseli saa olla arvoltaan korkeintaan 128*neliöjuuri(2):n päässä kulmapikseleiden keskiarvosta. Siis periaatteessa. Käytännössä säädöt ovat mutkikkaampia.) Kuva 9 Kartan 5 ensimmäistä pikseliä Seuraavaksi kunkin kartan tyhjän osan keskipisteeseen, eli tässä tapauksessa sivujen puoliväleihin, asetetaan pikseli. Toimintaa jatketaan eteenpäin aina suurin tyhjä tila täyttäen, kunnes kartta on täynnä. Joka toinen kierros menee "vinoon" siis ympäröivät pikselit ovat vinoneliön muotoisessa asetelmassa, joka toisella ne ovat vaakaneliön asennossa. Joka kolmannella kierroksella etäisyys ympäröiviin pikseleihin puolittuu. Kuva 10 Kartta viidennellä kierroksella: täyttöjärjestys ensin valkoiset, sitten punaiset ja sitten keltaiset pikselit. Tuloksena saadaan kartta, jossa suuretkin korkeusvaihtelut ovat mahdollisia etäällä toisistaan olevissa pikseleissä, mutta toisiaan lähellä olevat pisteet ovat toisiaan lähellä myös korkeusarvoltaan. Tässä perusmekanismissa on yksi fraktaalimaisemille hyvin tyypillinen ongelma: maasto on kauttaaltaan tasan yhtä kumpuilevaa. Siis mikäli syvyys korostetaan niin korkeaksi, että maasto alkaa muistuttamaan vuoristoa, niin koko maasto on vuoristoa. Jos taas kuvaa kerrotaan sen verran miedommin, että yksikään kohta kuvassa näyttää mukavan tasaiselta pellonpohjalta, niin sitten koko kartta näyttää siltä.

Maapallolla suurin osa maastosta on mukavan tasaista ja harvoissa vuoristoisissa kohdissa sijaitsevat sekä suurimmat korkeudet että suurimmat korkeusvaihtelut. Rannikot ovat enimmäkseen hyvin tasaisia. Syyt ovat geologisia: edelleen nähtävissä olevat vuoristot ovat syntyneet suhteellisen vastikään ja suhteellisen nopeasti pystysuorien liikkeiden vaikutuksesta, vanhempia maastonmuotoja taas on eroosio pyöristänyt ja vesi kuljettanut jo pidemmän aikaa. Koko kartan tuottaminen geologisia tapahtumia simuloiden vaatisi melkoisen pitkiä ajoaikoja (olen testannut), mutta on olemassa nopeampiakin tapoja päästä tavoitteeseen. Helpoin tapa vaihtelevuuden lisäämiseksi on yksinkertainen laskelma, joka suoritetaan jo siinä vaiheessa kun pikseleitä arvotaan ruudulle: mitä korkeampi ympäröivien pikseleiden taso on, sitä enemmän vaihtelua sallitaan suhteessa ympäröiviin pikseleihin. Tämä johtaa siihen, että rannikoilla on runsaasti tasaisia alueita ja vuoristoissa on korkeiden vuorien lisäksi myös suuria korkeuseroja. Tekniikan suuria ongelmia on, että mitä voimakkaampia kertoimia käytetään, sitä suurempi on lähes pyöreiden rakenteiden syntymisen todennäköisyys (ks. kuva alla). Kuva 11 Arpomalla tuotetun eroosion perusongelma Eräs mahdollisuus näiden välttämiseen (ja samalla maastonmuotojen monipuolistamiseen ennestään) olisi lisätä maastoon kivilajialueiden vastineita ennen arpomista. Alueilla joilla simuloidut kivilajit ovat pehmeitä, eroosion vaikutus olisi suurempi kuin kovien kivilajien alueilla. Kaksinkertainen efekti (yhdessä korkeuskertoimen kanssa) saisi maastonmuotojen vaihtelun pehmenemään. Myös aito eroosien simulointi auttaa ongelmaan. Lopputuloksena yksi rantamaisema suoraan edellisellä tekniikalla toimivasta maisemageneraattorista.

Kuva 12 Toimivan maastonmuotogeneraattorin tuote. Tällä kertaa, poikkeuksellisesti: jos et näe, niin katso lähempää. 6.2 Fraktaalikuuset Peleissä käytettävät kasvit piirretään yleensä käsin ja liitetään sitten kartalle kuvina. Mikään ei kuitenkaan estä tekemästä niitäkin fraktaaleina. Fraktaalikasvien käytöllä saavutetaan useita etuja. Tärkein näistä on se, että yhdellä koodilla voidaan saada aikaan lukematon määrä erikokoisia, -muotoisia ja -värisiä kasveja, jotka kaikki kuitenkin ovat tunnistettavissa samaan kasvilajiin kuuluviksi. Toinen, kolmiulotteisille kuville pätevä etu on se, että punaviherjako voidaan tehdä tarkalleen samalla tavalla kuin allaolevassa maastossa. Tästä aiheesta lisää luvussa 7. Ensimmäiseksi simuloitavaksi kasvikseni valitsin kuusen. Syy on toisaalta se, että se on huomattavasti näkyvämpi kohde kuin esimerkiksi ruohonkorret ja toisaalta se, että kuusien muoto (oksia lähes maahan asti, pisimmät oksat lähes alimpana) on ylhäältäpäin kuvattavaksi kiitollisempi kuin esimerkiksi männyn rakenne. Kuusi on myös rakenteeltaan melko yksinkertainen kasvi, ja niin muodoin helposti algoritmisoitavissa.

Viisi minuuttia kestävän kuusen muodon tarkastelun perusteella voi kuka hyvänsä sanoa vaikkapa seuraavaa: Runko on useimmiten lähestulkoon suora. Kuva 13 Kuusenoksan perusmuoto karrikoituna Oksien pituus kasvaa alaspäin mentäessä lähes lineaarisesti, puun oksasto on muodoltaan jotakuinkin kartio tai puolikas venytettyä siniä. Aivan alimmat oksat ovat hieman lyhyempiä kuin niitä ylemmät. Oksat ovat ylhäältäpäin katsottuna lähes saman muotoisia kuin itse puu sivulta, leveämpiä tosin. Oksien varjoon jäävät osat kuihtuvat. Sivultapäin katsottuna oksat ovat usein huomattavasti ohuempia kuin ylhäältäpäin katsottuna. Oksan haaroilla on taipumus olla kallellaan oksan kärkeä kohti. Vastaavasti oksanhaarojen alihaaroilla on taipumus olla kallellaan haaran kärkeä kohti. Kulma haaran ja alihaaran välillä ei vaihtele yksittäisessä puussa kovin paljon, itse tutkimissani se oli jotakuinkin järjestelmällisesti välillä 40-55 astetta. Oksakerrosten välimatka puun rungolla on lähes vakio. Neulaset peittävät puuta kauttaaltaan, varjossa kuihtuneita osia lukuunottamatta. Se, mitä kaikkia ominaisuuksia lopulliseen malliin laitetaan ja kuinka paljon vaihtelua ominaisuuksille annetaan, vaikuttaa suoraan siihen, kuinka aidon näköisiä lopputulokset ovat. Mallin toteutukseen vaikuttaa myös se, mistä suunnasta kuusta kuvataan. Koska itselläni oli tarkoituksena kuvata puita, kuten muutakin maisemaa, suoraan ylhäältä, ja koska toisaalta pidin mallia vielä hiukan kokeiluversiona, tyydyin seuraavaan: Runkoa ei erikseen kuvata, koska se kuitenkin jää oksien peittoon. Oksajakauma, ts. puun muoto, on pystysuora. Puun, oksien ja oksanhaarojen muotona (ts. pituusjakaumana) käytetään venytettyä siniä 45 asteen ja 180 asteen väliltä, ks. alla. Oksissa venytyskerroin on hiukan pienempi kuin itse puun muodossa. Kuva 14 Puolikas kuusen profiilia vaakasuoraan kaadettuna. Oksat ovat täysin lättäniä.

Oksanhaarojen jakauma vaihtelee todetulla välillä. Oksakerrosten välimatka sekä lukumäärä on (toistaiseksi) vakio. Puut piirretään siten, että kukin oksa lähtee kuvitteellisesta rungosta kohtisuoraan, suunta arvotaan mutta pituus tulee edellä esitetystä profiilista. Kullekin oksalle tuotetaan alioksia arvottuihin kohtiin ja todettuun kulmaan emo-oksastaan. Oksien alioksat ovat pituudeltaan säännöllisesti lyhyempiä kuin edelliset oksat. Tätä toistetaan rekursiivisesti, kunnes tullaan oksiin, joiden pituus on alle päätetyn minimipituuden. Lyhimmän kierroksen haarat peitetään kohtuullisen tasaisesti neulasilla. Kuva 15 yksi kerros kuusenoksia Mitä ylempänä puussa ollaan, sitä suurempi on värijako. Kuuset piirretään suoraan kartalle siten, että alin oksakerros tulee samalle korkeudelle kuin allaoleva maan pinta.

7 Stereokuvat ja tietokonegrafiikka Anaglyfigrafiikassa käytetty punaviherjako vaatii yleensä täysväritilojen (tai niiden 15- tai 16- bittisten vastineiden) käyttöä, koska tällöin kuvan jokaisen pikselin punaista, vihreää ja sinistä komponenttia voidaan käsitellä erikseen.tosin, kuten jo aiemmin totesin, nämä tilat ovat nykyajan ohjelmissa joka tapauksessa oletusarvo. Stereojaon tuominen grafiikkaan pakottaa ajattelemaan muutamaa seikkaa, joilla kaksiulotteisessa tai perinteisessä mielessä kolmiulotteisessa tietokonegrafiikassa ei ole merkitystä. Näitä ovat: Stereografiikan toteuttaminen Anaglyfigrafiikassa käytettäviä kaksoiskuvia on mahdollista piirtää lähinnä kolmella eri tavalla: joko kappale voidaan ensin piirtää kaksiulotteisena ja toteuttaa punasiirto jälkeenpäin, kuten tämän tekstin maisemagrafiikassa. Toinen tekniikka on kuvata todellisia kohteita tavanomaisen stereokuvauksen tapaan kahdella vierekkäisellä kameralla tai käyttää kolmiulotteista grafiikkaohjelmaa samalla periaatteella kahdella kameralla. Kolmas versio on piirtää grafiikka sarjakuvien tapaan. Tästä taktiikasta löytyy enemmän tietoa A. Girlingin teoksesta (1990). Kolmiulotteisten hahmojen piirtäminen päällekkäin Päällekkäin piirtäminen vaatii punaviherjaon tekemisen ennen kappaleiden piirtämistä ruudulle tai sen aikana. Kuvan näkymättömän värin poisto (blittaus) täytyy siis tehdä erikseen punaiselle värikomponentille sekä sinisen ja vihreän värikomponentin yhdistelmälle. Sen jälkeen piirrettävän hahmon punainen komponentti korvaa (pelkästään) taustakuvan punaisen komponentin värisiirron jälkeisestä kohdasta ja sininen ja vihreä vastaavat komponentit omasta uudesta sijainnistaan. Kun kuvattavat hahmot piirretään tällä tavoin kuvaan järjestyksessä alimmasta ylimpään, kuva rakentuu oikein. Syvyyden muuttaminen Liikkuvien kohteiden tulisi kolmiulotteisessa grafiikassa yleensä pystyä liikkumaan myös syvyyssuunnassa. Mikäli grafiikka on toteutettu kuvaamalla tai mallintamalla, tämä vaatisi erillisen kuvaparin jokaiselta tarvittavalta korkeudelta. Oman ohjelmani kaltaisissa tapauksissa, joissa korkeussuuntaisen liikkeen täytyy olla suhteellisen vapaata, tämä moninkertaistaisi animaatioruutujen määrän, ja niin muodoin muistintarpeen ja työmäärän. Eräs helppo tapa päästä ongelmasta on kuvata kohde kuvaparilla vain yhden tai muutaman kerran jotta silmille saadaan riittävästi eriävä kuva kappaleen sisäisten syvyyserojen näkemiseksi. Koko kappaleen syvyyssijainti saadaan muuttumaan siirtämällä punaista ja sinistä kuvaa normaaliin tapaan. Kuvien tekemisen vaivoihin saa säästöä myös sillä huomiolla, että riittävän matalissa tai syvällä sijaitsevissa kohteissa itse animoitavan hahmon ylimmän ja alimman pisteen välistä eroa ei pysty kunnolla huomaamaan. Niinpä näissä tapauksissa riittää käyttää kuvasta yhtä ainoaa versiota ja siirtää sen punaista ja sinivihreää komponenttia syvyyssiirron aikaansaamiseksi.

Kuva 16 Kuvan linnut ovat sen verran matalia ja tasapaksuja, ettei katsojaa yleensä paljon häiritse, ettei niissä ole sisäisiä korkeuseroja. Syvyyksien sovittaminen toisiinsa Jotta kappaleet näyttäisivät sopivan kuvassa toisiinsa, niiden syvyysulottuvuus pitäisi onnistua säätämään toisiaan vastaavaksi. Eri kuvantamistekniikoin toteutettujen kappaleiden sovittaminen toisiinsa ei likikään aina ole yksioikoista. Yksi mahdollinen tekniikka on tietysti aina kokeileminen, mutta viisaampi valinta saattaisi olla laskennallinen toteutus. Värijaon todellista vastaava määrä saadaan näin: Jos katselijan silmänväli on s, ja etäisyys katselukohteeseen e, kulma, johon silmät kääntyvät saadaan kuvan 17 suorakulmaisesta kolmiosta. Kuva 17

Kulman lausekkeeksi tulee (1) Kun vastaavaa tilannetta simuloidaan pinnalla, joka sijaitsee etäisyydellä p, värisiirtoa vaaditaan määrän v verran molempiin suuntiin. Kuva 18 v saadaan kuvan mukaisesti lausekkeesta (2) eli yhdistettynä lausekkeeseen 1, (3) Silmienvälin s ei tarvitse välttämättä vastata katselevan ihmisen silmienväliä, kunhan se on vakio kaikissa yhdistettävissä kuvissa. Sama pätee kuvapinnan etäisyyteen p. Laskelmaa hyödynnetään kuvantuottotekniikoiden yhdistämisessä siten, että esimerkiksi mallinnetuissa kuvissa mitat todella annetaan ohjelmalle ennen mallintamista, siis kuvat tehdään kahdesta kamerasta, joiden etäisyys toisistaan on päätetty s, ja kohteet sijoitetaan sille etäisyydelle kameroista kuin millä niiden halutaan lopputuloksessa sijaitsevan. Kappaleet, joissa syvyysvaikutelma tuotetaan suoraan värijaolla, saavat värijaon kaavan 3 mukaan.

8 Aiheisiin liittyvää kirjallisuutta 1. Arthur R Girling: Stereoscopic drawing: A Theory of 3-DVision and Its Application to Stereoscopic Drawing. Omakustanne, 1990. 2. Benoit B. Mandelbrot: The Fractal Geometry of Nature, 1983 3. The Science of Fractal Images, toimittajat Heinz-Otto Peitgen ja Dietmar Saupe. 1988.