Törmäysten havaitseminen tietokoneanimaatiossa. Jyrki Rasku

Samankaltaiset tiedostot
Matematiikan ja tilastotieteen laitos Johdatus diskreettiin matematiikkaan (Syksy 2008) 4. harjoitus Ratkaisuja (Jussi Martin)

Tchebycheff-menetelmä ja STEM

Mat Tilastollisen analyysin perusteet, kevät 2007

Frégier'n lause. Simo K. Kivelä, P B Q A

Luento 6 Luotettavuus Koherentit järjestelmät

VÄRÄHTELYMEKANIIKKA SESSIO 23: Usean vapausasteen vaimenematon ominaisvärähtely osa 1

7. Menetysjärjestelmät

Markov-prosessit (Jatkuva-aikaiset Markov-ketjut)

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

3.5 Generoivat funktiot ja momentit

1. Luvut 1, 10 on laitettu ympyrän kehälle. Osoita, että löytyy kolme vierekkäistä

Mat Lineaarinen ohjelmointi

( ) ( ) Tällöin. = 1 ja voimme laskea energiatason i. = P n missä

FYSA220/2 (FYS222/2) VALON POLARISAATIO

KUNTIEN ELÄKEVAKUUTUS VARHAISELÄKEMENOPERUSTEISESSA MAKSUSSA LÄHTIEN NOUDATETTAVAT LASKUPERUSTEET

Terveytemme Termisanasto ja tilastolliset menetelmät

Jakaumien tunnusluvut. Jakaumien tunnusluvut. Jakaumien tunnusluvut: Mitä opimme? 2/2. Jakaumien tunnusluvut: Mitä opimme? 1/2

Jaksolliset ja toistuvat suoritukset

VÄRÄHTELYMEKANIIKKA SESSIO 24: Usean vapausasteen vaimenematon ominaisvärähtely osa 2

Mat /Mat Matematiikan peruskurssi C3/KP3-I Harjoitus 2, esimerkkiratkaisut

Monte Carlo -menetelmä

. C. C Kirjoitetaan sitten auki lineaarisuuden määritelmän oikea puoli: αt{i c1 } + βt{i c2 } = α

Täydennetään teoriaa seuraavilla tuloksilla tapauksista, joissa moninkertaisen ominaisarvon geometrinen kertaluku on yksi:

HASSEN-WEILIN LAUSE. Kertausta

COULOMBIN VOIMA JA SÄHKÖKENTTÄ, PISTEVARAUKSET, JATKUVAT VARAUSJAKAUMAT

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

ER-kaaviot. Ohjelmien analysointi. Tilakaaviot. UML-kaaviot (luokkakaavio) Tietohakemisto. UML-kaaviot (sekvenssikaavio) Kirjasto

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 7: Lagrangen kertojat. Pienimmän neliösumman menetelmä.

Flow shop, työnvaiheketju, joustava linja, läpivirtauspaja. Kahden koneen flow shop Johnsonin algoritmi

Tarkastellaan kuvan 8.1 (a) lineaarista nelitahoista elementtiä, jonka solmut sijaitsevat elementin kärkipisteissä ja niiden koordinaatit ovat ( xi

1 0 2 x 1 a. x 1 2x c b 2a c a. Alimmalta riviltä nähdään että yhtälöyhmällä on ratkaisu jos ja vain jos b 3a + c = 0.

Vakuutusmatematiikan sovellukset klo 9-15

b 4i j k ovat yhdensuuntaiset.

Bernoullijakauma. Binomijakauma

J1 (II.6.9) J2 (X.5.5) MATRIISILASKENTA(TFM) MALLIT AV 6

Simplex-menetelm. S ysteemianalyysin. 11. luento: Duaali-simplex. 1. vaiheen duaali-simplex. Hinnoittelu. Pivot-rivin laskeminen. Degeneroituneisuus

A = B = T = Merkkijonon A osamerkkijono A[i..j]: n merkkiä pitkä merkkijono A:

6. Stokastiset prosessit (2)

ABTEKNILLINEN KORKEAKOULU

Pyramidi 3 Analyyttinen geometria tehtävien ratkaisut sivu 139 Päivitetty a) 402 Suplementtikulmille on voimassa

d L q i = V = mc 2 q i 1 γ = = p i. = V = γm q i + QA i. ṗ i + Q A i + Q da i t + j + V + Q φ

13. Lineaariset ensimmäisen kertaluvun differentiaalisysteemit

[ ] [ 2 [ ] [ ] ( ) [ ] Tehtävä 1. ( ) ( ) ( ) ( ) ( ) ( ) 2( ) = 1. E v k 1( ) R E[ v k v k ] E e k e k e k e k. e k e k e k e k.

Epätäydelliset sopimukset

Mekaniikan jatkokurssi Fys102

1. YKSISUUNTAINEN VARIANSSIANALYYSI: AINEISTON ESITYSMUODOT

Tehtävä 2 Todista luennoilla annettu kaava: jos lukujen n ja m alkulukuesitykset. ja m = k=1

Käytetään säteille kompleksiesitystä. Tuleva säde on Ee 0 iw t ja peräkkäisiä heijastuneita säteitä kuvaaviksi esityksiksi saadaan kuvasta: 3 ( 2 )

8 USEAN VAPAUSASTEEN SYSTEEMIN VAIMENEMATON PAKKOVÄRÄHTELY

Todennäköisyysjakaumat 1/5 Sisältö ESITIEDOT: todennäköisyyslaskenta, määrätty integraali

Hanoin tornit. Merkitään a n :llä pienintä tarvittavaa määrää siirtoja n:lle kiekolle. Tietysti a 1 = 1. Helposti nähdään myös, että a 2 = 3:

BL20A0600 Sähkönsiirtotekniikka

Tchebycheff-menetelmä ja STEM

Differentiaali- ja integraalilaskenta 1 Ratkaisut 1. viikolle /

funktiojono. Funktiosarja f k a k (x x 0 ) k

Pyörimisliike. Haarto & Karhunen.

Tehtävä 3. Määrää seuraavien jonojen raja-arvot 1.

Taustaa. Sekventiaalinen vaikutuskaavio. Päätöspuista ja vaikutuskaavioista. Esimerkki: Reaktoriongelma. Johdantoa sekventiaalikaavioon

3 Tilayhtälöiden numeerinen integrointi

Todennäköisyyslaskenta IIa, syys lokakuu 2019 / Hytönen 1. laskuharjoitus, ratkaisuehdotukset

Matematiikan tukikurssi

4.7 Todennäköisyysjakaumia

Mittausvirhe. Mittaustekniikan perusteet / luento 6. Mittausvirhe. Mittausepävarmuus ja siihen liittyvää terminologiaa

HARMONINEN VÄRÄHTELIJÄ

1, x < 0 tai x > 2a.

LIGNIININ RAKENNE JA OMINAISUUDET

r i m i v i = L i = vakio, (2)

Puupintaisen sandwichkattoelementin. lujuuslaskelmat. Sisältö:

Palkanlaskennan vuodenvaihdemuistio 2014

2.8 Mallintaminen ensimmäisen asteen polynomifunktion avulla

menetelmän laskennalliset tekniikat

Kokonaislukuoptimointi

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

Hyrynsalmen kunta, jäljempänä kunta. Laskutie 1, HYRYNSALMI. Kohde sijaitsee Hallan Sauna- nimisessä kiinteistössä.

HY, MTO / Matemaattisten tieteiden kandiohjelma Tilastollinen päättely II, kevät 2018 Harjoitus 6A Ratkaisuehdotuksia.

AINEIDEN OMINAISUUKSIIN PERUSTUVA SEOSTEN LUOKITUS JA VAARAA OSOITTAVAT LAUSEKKEET

Sähköstaattinen energia

Talousmatematiikan verkkokurssi. Koronkorkolaskut

2 Taylor-polynomit ja -sarjat

Kuluttajahintojen muutokset

VALIKOITUJA KOHTIA LUKUTEORIASTA

1. YLEISKATSAUS MYYNTIPAKKAUKSEN SISÄLTÖ. ZeFit USB -latausklipsi Käyttöohje. Painike

Mittausepävarmuus. Mittaustekniikan perusteet / luento 7. Mittausepävarmuus. Mittausepävarmuuden laskeminen. Epävarmuuslaskelma vai virhearvio?

Varianssianalyysi. Varianssianalyysi. Varianssianalyysi. Varianssianalyysi: Mitä opimme? Varianssianalyysi: Johdanto

Yksikköoperaatiot ja teolliset prosessit

. g = 0,42g. Moolimassat ovat vastaavasti N 2 :lle 28, 02g/ mol ja typpiatomille puolet tästä 14, 01g/ mol.

Sekatuotantoverstas Job shop. Flow shop vs. Job shop Esko Niemi

3 x ja 4. A2. Mikä on sen ympyräsektorin säde, jonka ympärysmitta on 12 ja pinta-ala mahdollisimman

Raja-arvot. Osittaisderivaatat.

Johdatus tekoälyn taustalla olevaan matematiikkaan

= E(Y 2 ) 1 n. = var(y 2 ) = E(Y 4 ) (E(Y 2 )) 2. Materiaalin esimerkin b) nojalla log-uskottavuusfunktio on l(θ; y) = n(y θ)2

Ilmari Juva. Jalkapallo-ottelun lopputuloksen stokastinen mallintaminen

Kuorielementti hum

Tuotteiden erilaistuminen: hintakilpailu

Naulalevylausunto Kartro PTN naulalevylle

Hallin ilmiö. Laatija - Pasi Vähämartti. Vuosikurssi - IST4SE. Tekopäivä Palautuspäivä

Vakuutusteknisistä riskeistä johtuvien suureiden laskemista varten käytettävä vakuutuslajiryhmittely.

KUORMITUSKÄYRÄSTÖT VALMISTUS JA LAADUNVALVONTA... 17

7. Keko. Tarkastellaan vielä yhtä tapaa toteuttaa sivulla 162 määritelty tietotyyppi joukko

OULUNSALON KESKUSTAN YLEISSUNNITELMA

Transkriptio:

Törmäysten havatsemnen tetooneanmaatossa Jyr Rasu Tamereen ylosto Tetoenästtelyteteden latos Tetoenästtelyo / Vuorovauttenen tenologa Pro gradu -tutelma Elouu 003

Tamereen ylosto Tetoenästtelyteteden latos Tetoenästtelyon latos / Vuorovauttenen tenologa Teän Nm: Jyr Rasu Pro gradu -tutelma, 65 svua, ltesvua Elouu 003 Tässä tutelmassa tarastellaan alus törmäysten havatsemseen lttyven ongelmen luonnetta, ona äleen luodaan lyhyt atsaus näden ongelmen ylesmn ratasumenetelmn. Seuraavas tuttaan useasta ohteesta muodostuvan anmaatosysteemn törmäysten havatsemsen eraatteta. Luu 6 ästtelee Stefan Gottschaln [] vätösraa muallen ohteen muaan suunnatun raotustlavuusheraran äyttöä törmäysyselyssä. Luvussa 7 estellään ylesmä geometrsten rmtven välsä leausa, oden määrttämseen törmäysen havatsemnen loulta ohtaa. Luu 8 erustuu myös Gottschaln vätöstutmuseen, a se ästtelee raotustlavuusherarassa suortettaven törmäysyselyden oeellsuutta seä nden luumäären ala- a yläraoa. Lous tarastellaan törmäysyselyden suorttamsen vautusta tetooneanmaaton ruudunävtysnoeuteen enen testohelman avulla. Avansanat a -sanonnat: Herarset tetoraenteet, törmäysten havatsemnen, geometran arosmont, fysaalnen mallnnus.

Ssällys. Johdanto.... Ongelman luonne... 3. Ratasumenetelmä...3 3.. Säteen a tason leauseen erustuva menetelmä...3 3.. Geometran alaoon erustuvat menetelmät...4 3... Raotustlavuudet...4 3... Raotustlavuustyyeä...5 3..3. Pallo...5 3..4. Koordnaattaseleden muaan suunnattu laato...6 3..5. Kohteen muaan suunnattu laato...6 3..6. Raotustlavuusherarat...7 3..7. Törmäysyselyt raotustlavuusherarassa...8 3..8. Kustannusfunto...9 3.3. Voronon aluesn erustuvat menetelmät...9 4. Usean ohteen muodostama anmaato...0 5. Mahdollsten törmäysaren etsmnen... 6. Kohteen muaan suunnatun raotustlavuuden menetelmä...3 6.. Kohteen geometran sovttamnen raotustlavuuteen...4 6... Raotustlavuuden sovttamnen ulmasteden avulla...5 6... Raotustlavuuden sovttamnen olmoden avulla...8 6.. Kovaranssmatrsn avulla sovtetun raotustlavuuden sovuus..3 6.3. Raotustlavuusheraran muodostamnen...4 6.4. Raotustlavuusen erllsyyden testaamnen...5 6.4.. Gaussn uvaus...9 6.4.. Mnowsn erotus...9 6.4.3. Erottavan aseln määräytymnen...30 7. Leaussta...3 7.. Kahden säteen välnen leaus...33 7.. Säteen a tason leaus...34 7.3. Kolmon barysentrset oordnaatt...36 7.4. Säteen a olmon leaus...38 7.5. Kahden olmon välnen leaus...39 8. Törmäysyselyden tarastelua raotustlavuusherarassa...43 8.. Bnaarsen testuun nvarantt...47 8.. Yläraa varhaseen loettamseen erustuvalle törmäysyselylle...49 8.3. Yläraa aallseen oherenssn erustuvalle törmäysyselylle...50

8.4. Kontatarmatrs...5 8.5. Törmäysyselyn oeellsuus raotustlavuusherarassa... 5 8.6. Törmäysyselyden luumäären raat raotustlavuusherarassa..55 8.7. Yhden leausen löytämnen törmäysyselyllä...56 8.8. Alaraa törmäysyselyden luumäärälle...56 8.9. Yläraa törmäysyselyen luumäärälle...57 9. Testärestely...58 9.. Testtuloset...59 0. Lous...6 Vteluettelo...63 Lte...66

. Johdanto Nyyaaslla tetoonella ystytään tuottamaan erttän näyttävää a noeaa anmaatota. Erlaset ulmaste- a selvarostustenat ovat mahdollstaneet luonnollselta näyttäven anmaatoden toteuttamsen. Anmaatota äytetään alon er tarotusssa. Esmers CAD/CAM ymärstössä erlasten osaoonasuusen asennusten smulonnessa, tetooneelessä a vrtuaaltodellsuussovellusssa. Kassa sovellusssa on täreää, että anmaatossa muana olevat ohteet vauttavat tosnsa luonnonlaen muasest. E ole suotavaa, että ohteet ulevat tostensa lä vauttamatta tosnsa mllään tavalla. Kohteden välnen vuorovautus tetooneanmaatossa vodaan aaa olmeen osaan. Ensmmäsessä vaheessa tuttaan, vovato ohteet törmätä tosnsa. Tämän äleen nntetään huomo täsmällsten törmäysohten löytämseen. Vmesessä vaheessa suortetaan aaleden fysaalsten omnasuusen muutosen tarastelu löydettyen törmäysohten erusteella. Törmäysten taausessa aaleden lettä tarastellaan tyyllsest le- a yörmsmäärän sälymsen laen avulla. Tässä tutelmassa estytään anoastaan törmäysten havatsemseen. Kohteden fysaalsten tloen muutoset evät uulu tämän tutelman ahe alueeseen. Anmotaven ohteden välsten törmäysten tarastelemnen on ollut tutmusohteena o tään a on edelleen. Tämä ohtuu stä, että törmäysten havatsemen on aaomlessuudeltaan O(n ) a se muodostuu usen suuvan anmaaton ullonaulas. Tässä n tarottaa anmotavssa ohtessa oleven monulmoden luumäärää. Luotettavan a tehoaan törmäysten havatsemsalgortmn toteuttamnen on erttän vaeaa, varsnn os halutaan, että stä votasn äyttää rastotyysest usessa er sovellusssa. Nän on lähnnä ss, että anmaatossa äytettäven mallen tetoraenne on erlanen sovellusen välllä. Lsäs er lateymärstössä saattaa tulla erlasa luuen yörstystaruussta ohtuva ongelma. Algortmen täs myös ystyä ästtelemään syöttetä, ossa saattaa olla degenerotuneta rtetä. Esmernä on olmon surastumnen vvas ta stees. Jossan algortmessa suur osa oodsta ästtelee uur syötteen oeustaausa. Tetooneanmaatota aetaan tyyllsest slmuassa, ossa ohteden omnasuusn, esmers santn a asentoon, vodaan vauttaa äyttään antamen syötteden muasest. Tosaalta ohteta vodaan luttaa myös ennalta määrättyä rataa tn aan funtona. Koodatelma uvaa ysnertasen anmaatorungon, ossa fysamallnnusessa raotutaan anoastaan aaleden ysäyttämseen törmäysen sattuessa.

whle() { HandleInut(); UdateLoacatons(); RenderScene(); } UdateLocatons() { for(every obect) { RestoreOldPoston(); CalculateNewPoston(); f(collson) newoston=oldoston; } } Koodatelma : Ysnertanen anmaatoruno.. Ongelman luonne Tyyllsest tetooneanmaatossa on muana M aaletta aallaan oleva ohteta a N aaletta luva ohteta. Näden ohteden esen vo taahtua NM+ N erlasta törmäystä. Tässä N luvaa ohdetta vo törmätä M aallaan olevan ohteen anssa a muodostaa törmäysarea N yl aaletta. Tetenn törmäyseen vo osallstua enemmän un as ohdetta errallaan, mutta ästtelyn helottamses suortetaan nälle ohtelle arettanen törmäystarastelu. Jos anmaatoon uuluu useta ohteta, nn näden muodostamen mahdollsten törmäysaren luumäärä asvaa noeast nn suures, että aen aren tarastelu hdastaa anmaaton äyttöelvottomas. Lähtöohta ongelman ratasemses on ss sellasten ohteden arsmnen tarastelusta, ota evät vo törmätä esenään. Tässä tutelmassa tarastellaan alus eraatetasolla ylesmä törmäysen havatsemsen erusmenetelmä erlaslle ohteden estysmuodolle. Tämän äleen estytään tarastelemaan monulmoverosta muodostuven ohteden välsä törmäysä. Nän on ss, että monulmoverohn erustuvat

3 estysmuodot ovat ylesmmn äytettyä. Lsäs muut estysmuodot, esmers voselen a nelöllsten arametrsten lauen äyttö, alautuvat loulta monulmoveroestyss. Erlassta estysmuodosta errotaan enemmän seuraavssa teosssa: Alan Watt [8] svulla 7-, Edward Angel [] svulla 477-57 seä Slater et al. [7] svulla 383-433. 3. Ratasumenetelmä Törmäystarastelussa äytettäven menetelmen valnta ruu enssasest äytettävästä sovellusesta a sovellusessa äytettävästä ohteen estysmuodosta. Ysnertasssa taausssa, ossa törmäysten luonne a suunnat tunnetaan etuäteen vodaan äyttää esmers säteen a tason leauseen erustuva menetelmä. Monmutasssa ärestelmssä, ossa törmäysten suunnat a ohdat vovat olla melvaltasa, vaadtaan yleensä herarseen geometran alaoon erustuva tenota. Nässä taausssa äytetään ohteden estysmuotona yleensä monulmoveroa. Geometran alaoon erustuvssa menetelmssä vodaan olla nnostuneta täsmällsten törmäysohten löytämsestä. Jossan aarttsssä taausssa saattaa rttää elä törmäysen havatsemnen. Ysnertassta onvesesta montahoasta muodostuvlle ohtelle vodaan äyttää Voronon aluesn erustuva menetelmä. 3.. Säteen a tason leauseen erustuva menetelmä Oletetaan, että auto luu mäeä ylös tasasella alustalla. Oletetaan lsäs, että autoon ohdstuu anoastaan ten nnasta aheutuvat tuvomat, eä törmäystä vo taahtua orn a ymärstön välllä. Nyt vodaan asettaa säteet lähtemään auton renasta sten, että ne ovat ten nnan normaaln suuntaset. Jos renaasta lähtevän säteen tuus on nolla, auto ulee täsmällsest ten ntaa tn. Jos säteen tuus on ostvnen, auto on rt ten nnasta a stä tää srtää alasän säteen suunnassa sen tuuden verran. Säteen ollessa negatvnen auto on anunut ten nnan ssään a stä tarvtsee nostaa säteen suunnassa sen tuuden verran ylösän. Erlasa geometrsten rmtven leaustaausa tarastellaan myöhemmn. Kuva esttää tason a säteen leauseen erustuvan menetelmän eraatteen. Tämä menetelmä soveltuu hyvn vastaavanlasn tlantesn, ossa ohdetta lutetaan ymärstön geometran muaan. Säteen a tason leauseen erustuvassa menetelmässä arosmodaan ss monmutasta geometraa ouolla sätetä. Esmerssä auton rengas vos hyvnn ssältää satoa monulmota.

4 Kuva : Säteen a tason leauseen erustuva törmäys Säteen a tason leauseen erustuva menetelmä tarastellaan enemmän Hanesn a Möllern rassa [5] svulla 343-344. 3.. Geometran alaoon erustuvat menetelmät Anmaatossa olevat ohteet muodostuvat usen sadosta, oa sadosta tuhanssta monulmosta. Jos tarastellaan ahden tällasen ohteen törmäystä ysnertasella raa an voman menetelmällä, oudutaan tutmaan a monulmoart ohteden esen. Mäl ohteessa on n aaletta monulmota äädytään O(n )-ongelman ratasemseen. Lasentatareen vähentämses on ehtetty menetelmä, oden avulla vodaan ättää tarastelematta oonasa ohteen osa. Näden menetelmen suortusaavaatmuset ovat tyyllsest luoaa O(logn), mssä n on ohteessa oleven monulmoden luumäärä. Tässä oletetaan, että törmäystarastelu suortetaan ahden sellasen ohteen välllä, ossa on yhtä alon monulmota. Suortusaosta errotaan taremmn myöhemmn. 3... Raotustlavuudet Monmutasen geometran arosmonnssa äytetään erlasa ysnertasa raotustlavuusa. Tämä tarottaa stä, että monmutasen geometran omaava ohde suletaan ysnertasen geometran ssään. Tällön ohtelle vodaan suorttaa arean tason tömäystarastelu testaamalla, ono nden raotustlavuuslla yhtesä stetä. Jos raotustlavuudet ovat erllsä, e lsätarastelua törmäysen löytämses tarvta. Raotustlavuusen äyttö vähentää huomattavast lasentatarvetta, osa ohteden aen monulmoaren e tarvtse välttämättä suorttaa. Kuva esttää tlannetta, ossa alon monulmota ssältävä ohde on sotettu suoraulmasen särmön muotosen raotustlavuuden ssään.

5 Kuva : Kohteen raottamnen suoraulmasella särmöllä. 3... Raotustlavuustyyeä Raotustlavuudes vodaan valta mä tahansa geometrnen muoto. Valnnassa on utenn huomotava että raotustlavuuden tää ystyä ettämään ohde mahdollsmman tarast. Lsäs raotustlavuus on ystyttävä ävttämään noeast ohteen leen muaan. Nämä as vaatmusta ovat utenn esenään rstrtasa, oten oean raotustlavuustyyn valnta e ole välttämättä ovn heloa. Seuraavas estellään äytetymä raotustlavuusa. Vähemmän äytettyä raotustlavuustyyeä ästtelevät mm. Klosows et al. [9] a Larsen et al. [0]. 3..3. Pallo Pallon äyttö raotustlavuutena erustuu sen noeaan srtämseen raotettavan ohteen muana. Pallon srrossa sen essteelle c suortetaan sama srto-oeraato un srrettävälle ohteelle. Srrosta enemmän teosssa: Alan Watt [8] svulla -0 seä Edward Angel [] svulla 43-5. Pallon oo valtaan sten, että se ystyy raottamaan melvaltasessa asennossa olevan ohteen. Tällön alloa e tarvtse ertää ohteen muana. Tyyllsest allo estetään nelällä arametrlla muodossa: P = {(x, y, z) (x c ) + (y c ) + (z c ) r }, x y z < mssä r on allon säde a c on allon esste.

6 Pallon äytön huono uol on se, että sen a raotettavan ohteen väln ää alon tyhää. Tällön arean tason törmäystarastelu vo raortoda törmäysen vaa ohteet evät utenaan törmää. Pallon äyttöä raotustlavuutena uvaavat mm. Bradshaw a O Sullwan [7] seä P. Hubbard [6]. 3..4. Koordnaattaseleden muaan suunnattu laato Koordnaattaselen muaan suunnattu laato vodaan esttää muodossa: L = {(x,y,z) c x r, c y r, c z r }, x x y y z z mssä c on laaton esste, r x, r y a r z ovat laaton x-, y - a z-aselen suuntaset särmen tuusen uolaat. Kohteen srron a erron yhteydessä laaton särmät oudutaan lasemaan uudestaan sten, että laato on ana oordnaattaselen suuntanen. Koordnaattaseleden muaan suunnatun laaton äyttöä uvaa ystysohtasest van den Bergen [6]. 3..5. Kohteen muaan suunnattu laato Kohteen muaan suunnattu laato muodostetaan sten, että se raottaa ohteen mahdollsmman tarast. Tällön ohteen a raotustlavuuden väln äävä tla mnmotuu. Kohteen muaan suunnatun laaton tyyllnen estysmuoto on: 3 L = { c + a v + a v + a }, 3v mssä c on laaton esste, a, a a a 3 ovat laaton svuen tuusen uolaat a vetort v, v a v 3 lmasevat laaton suunnan avaruudessa. Kohteen muaan suunnatun laaton muodostamsesta errotaan myöhemmn. Kohteen srron a erron yhteydessä oudutaan myös raotustlavuudelle suorttamaan samat oeraatot. Kohteen muaan suunnatun laaton äyttöä on uvattu Gottschaln a Manochan onferenssulasussa [3]. Kuvassa 3 sama ohde on raotettu er raotustlavuuslla. Ensmmäses on estetty oordnaattaselen suuntanen laato, tosena allo seä vmesenä ohteen muaan suunnattu laato.

7 Kuva 3: Kohteen raottamnen er raotustlavuuslla 3..6. Raotustlavuusherarat Jos ohteden raotustlavuudet menevät äälleän, on suortettava tarastelu raotustlavuusen ssältämen monulmoden välllä. Yleensä geometraa aetaan reursvsest enemn raotustlavuusn sten, että äätason geometraa lotaan enemn osn nn auan, että lehttason raotustlavuus ssältää anoastaan yhden monulmon. Geometran aamnen mustuttaa lähesest alattelua. Alus etstään tlavuus, oa sulee ssäänsä äätason geometran. Tämän äleen valtaan on taso, ona suhteen monulmot aetaan. Monulmot sotetaan aotason muaan uusn raotustlavuusn sen muaan, ummalle uolelle aotasoa monulmon anoste sottuu. Nän atetaan, unnes aoa e voda enää suorttaa. Geometran alaon toteuttamsessa äytetään yleensä bnääruuta. Valnta on tehty helohon toteutettavuuden taa. Muta alaon toteuttamstaoa uvataan myöhemmn. Kuvassa 4 havannollstetaan vdestä segmentstä muodostuvan murtovvan alaon suorttamsta. Päätasolla raotustlavuus A ssältää oo murtovvan. Päätaso A aetaan osn B a C atovvalla osotetun aotason muasest. Jaoa atetaan reursvsest tasolle D, E, F a G ast. Raotustlavuudelle F on velä suortettava ys ao, otta an solmutason raotustlavuusn saadaan anoastaan ys alestason rre. Kuva 4: Murtovvan alao raotustlavuusn.

8 3..7. Törmäysyselyt raotustlavuusherarassa Oletetaan, että anmaatossa on as ohdetta A a B, olle on muodostettu raotustlavuusherarat. Ensmmäsessä vaheessa tuttaan, menevätö äätason raotustlavuudet äälleän. Mäl äälleäsyyttä e havata, testaamnen vodaan loettaa välttömäst. Jos raotustlavuusen välllä havataan äälleäsyys, uletaan herarota A a B reursvsest lehttasolle saaa. Reurson haara loetetaan, os se tuottaa erllset raotustlavuudet. Lehttasolla äytetään metoda, oa löytää monulmoden välset leauset. Jossan taausssa monulmoden välsä leausa e etstä, vaan elä raotustlavuusen äälleäsyysen vmesen tason löytämnen rttää. Tällanen menettely on omnasta ertysen aarttslle sovelluslle. P. Hubbard [6] on tarastellut tämän tyysä tlanteta. Raotustlavuusheraran lehttason rmtvt ovat yleensä olmota. Tehoas menetelmä olmoden leaamseen estetään myöhemmn. Koodatelma esttää törmäysyselyn seudooodna.. QueryCollson(R,A,B). { f(!collbv(a,b) return; 3. f(leaf(a) AND LEAF(B)) 4. { CollTrs(R,A,B); 5. return; 6. } 7. f(descenda(a,b)) 8. { QueryCollson(R,Left(A),B); 9. QueryCollson(R,Rght(A),B); 0. }. else. { QueryCollson(R,A,Left(B)); 3. QueryCollson(R,A,Rght(B)); 4. } Koodatelma : Törmäysysely raotustlavuusherarassa. Koodatelmassa rvllä 4 oleva metod CollTtrs(R,A,B) sottaa lehttasolta löydetyt olmoden törmäyset lstaan R. Rvllä 7 oleva metod DescendA(A,B) tut, mhn suuntaan herarassa edetään seuraavas. Raotustlavuusherarassa ulemsta vodaan suorttaa monlla er tavolla, mutta ylesn taa on, että lähdetään ulemaan shen haaraan, ona raotustlavuus on suurem.

9 Ennen törmäysyselyn suorttamsta ohteden raotustlavuudet tää sottaa samaan tarasteluavaruuteen. Tarastelu vodaan suorttaa srtämällä tonen ohtesta tosen aallseen oordnaatstoon ta srtämällä molemmat ohteet yhteseen maalmanoordnaatstoon. Vsualsonnn annalta on luonnollsemaa sottaa ohteet maalman oordnaatstoon. Tällön ohteden aat määräytyvät valms anmaaton muaan, a vältytään ylmääräseltä ohteen srtämseltä tosen ohteen aallseen oordnaatstoon. 3..8. Kustannusfunto Raotustlavuusherarohn erustuvssa törmäysyselyssä ulutettua aaa t uvataan tyyllsest funtolla t=n v C v +N C +N u C u. Tässä N v uvaa raotustlavuusen välllä tehtyen vertaluen luumäärää a C v yhden vertalun ustannusta. Vastaavast N a C uvaavat rmtvtasolla tehtyhn tarasteluhn uluvaa aaa. Vmesenä summassa muana olevat N u a C u uvaavat raotustlavuusen ävttämseen uluvaa aaa. Monessa yhteydessä raotustlavuusen ävttämseen uluvaa aaa e ole mertty näyvn, mutta se on erttän täreä anmaatossa, ossa ohteet ovat atuvassa leessä. Nän on ss, että raotustlavuutta tää ävttää ana, un ohde luu ta ertyy. Kustannusfunton suuruuteen vauttavat asat ovat esenään rstrtasa, oten otmaalsen systeemn löytämnen on vaeaa. Jos raotustlavuudes valtaan allo, asvaa teä N v noeast suures, mutta C u ysyy enenä, osa allo on nvarantt errolle. Kohteen muaan suunnatun särmön taausessa N v on edellä manttua enem, mutta C v a C u asvavat huomattavast. 3.3. Voronon aluesn erustuvat menetelmät Voronon aluesn erustuva menetelmä äytetään tyyllsest sellasssa sovellusssa, ossa ohteet muodostuvat montahoasta, ota ssältävät suhteellsen vähän monulmota. Tällasten montahoaden sanotaan muodostuvan rtestä X, ota ovat ulmasteet, monulmon särmät seä monulmon nnat. Montahoaan P rteen X Voronon alueella VP(X) tarotetaan sellasta avaruuden osaa, ossa montahoaan P ulouolella olevat avaruuden steet ovat lähemänä rrettä X un mtään muuta montahoaan P rrettä Y. Oloon A a B as montahoasta, ossa on rteet P A A a P B B. Jos nyt on olemassa avaruuden steet x P A a y P B sten, että x VB(P B ) a y VA(P A ),

0 nn steet x a y ovat lähmmät mahdollset steet montahoaden A a B välllä. Pstear x a y e välttämättä ole ysästtenen, mutta välä x-y lyhyemää välä montahoaden A a B välllä e ole olemassa. Nän on esmers sllon, un as uutota asetetaan sten, että nden tahot ovat yhdensuuntaslla tasolla. Törmäysen taausessa x=y. Bran Mrttch [3] on ehttänyt tehoaan Voronon aluesn erustuvan törmäysten havatsemsmenetelmän, ona nm on V-Cl. Voronon alueden äyttöä uvataan tarast Mn Lnn [] vätöstutmusessa. 4. Usean ohteen muodostama anmaato Tetooneanmaatossa ohteden välnen törmäysen havatsemnen aetaan yleensä ahteen er vaheeseen. Ensmmäsessä vaheessa engl. (Broad Phase) etstään sellaset ohdeart, ota mahdollsest törmäävät tosnsa. Tosessa vaheessa engl. (Narrow Phase) suortetaan mahdollslle törmäysarelle täsmällsten törmäysohten etsmnen. Jos täsmällsten törmäysohten etsmseen äytetään raotustlavuusherarohn erustuva menetelmä, vodaan ohteen osen ossulemsta atotarastelusta tää myös ensmmäseen vaheeseen uuluvana tomenteenä. Nän ollen törmäystarastelun aamnen ahteen vaheeseen on huan ontuva. Aatus on utenn se, että mahdollsmman varhasessa vaheessa yrtään arsmaan lasennasta sellaset ohteet ta ohteden osat, ota evät vo törmätä tosnsa. Kuvassa 5 smulaato tarottaa anmaaton vsualsonta. Smulaatossa olevlla ohtelle suortetaan mahdollsten törmäysaren etsmnen, os ne ovat luneet edellsen tarastelun äleen. Mahdollslle törmäysarelle suortetaan edelleen täsmällsten törmäysohten etsmnen. Tämän äleen törmäävlle arelle vodaan tehdä sovellusohtanen fysaalnen mallnnus, ona äleen alataan taasn smulaatovaheeseen. Mahdollsten törmäysaren etsmnen suortetaan ohteden äätason raotustlavuusen avulla. Kohteden äätason raotustlavuusen äälleäsyys e velä tarota, että ohteet törmäsvät, oten lsätarastelu tarvtaan täsmällsten törmäysohten löytämses. Tarastelussa saattaa äydä myös nn, että täsmällsten törmäysohten etsmsessä äädytään tlanteeseen, ossa ohteet evät törmää. Anmaatosysteemssä on täreää, että smulaatovaheeseen alataan ana mahdollsmman noeast. Jossan menetelmssä [6] törmäystarasteluvaheelle annetaan tetty aaraa. Kun aaraa täyttyy, nn alataan taasn smulaatoon. Mussa taausssa aluu anmaatoon suortetaan het, un se

on mahdollsta. Nän on esmers sllon, os mahdollsa törmäysarea e löydy. Seuraavas tarastellaan menetelmää, ona avulla mahdollsten törmäysaren löytämen vodaan suorttaa esmäärn aassa O ( nlog n + ), mssä n on ohteden luumäärä a on mahdollsest törmääven ohteden luumäärä. Parhaassa taausessa menetelmä tom aassa O (n + ). Usean ohteen muodostaman anmaaton törmäysä uvaavat mm. Cohen et al. [8] a Hudson et al. [7]. Kuva 5: Anmaatosysteemn eraate. 5. Mahdollsten törmäysaren etsmnen Mahdollsten törmäysaren etsmsessä vodaan hyödyntää anmaaton aallsta oherenssa. Tämä tarottaa stä, että ohteden le on suhteellsen entä, evätä nden aat a asennot muutu ratasevast lyhyellä aavälllä. Valtaan raotustlavuudes sellanen oordnaattaseleden suuntanen uuto, oa ystyy sulemaan ssäänsä melvaltasessa asennossa olevan ohteen. Tällön uutota e tarvtse ertää ohteen muana, vaan elä srtämnen rttää. Kuutota srretään sten, että sen essteelle suortetaan sama srto-oeraato un uuton raottamalle ohteelle. Tämän äleen uuton särmlle lasetaan uudet alu- a lousteet essteen a särmän tuuden avulla. Jos nyt as tällasta uutota ssältää yhtesä stetä, nn a nden ysulotteset oordnaattaselen suuntaset särmät menevät arettan äälleän. Ongelma vodaan nyt ysnertastaa olmen ysulottesen särmälstan tarastelus. Menetelmää utsutaan rallsuudessa nmellä swee-and-rune. Joaselle anmaatossa muana olevan ohteen raotustlavuudelle muodostetaan alus oordnaattaselen suuntaset ntervallt. Intervalllle annetaan aluste, louste a tunnstenumero, oa ertoo mhn

ohteeseen se uuluu. Seuraavas muodostetaan olme ntervalllstaa x-, y- a z-aseln suuntasa ntervallea varten. Nähn lstohn latetaan aen anmaatossa muana oleven ohteden o. aselen suuntaset ntervallt, ona äleen lstat latellaan nousevaan ärestyseen. Tässä on hyvä äyttää autetoraennetta, ossa on ntervalln tunnste, ntervalln steen arvo a ntervalln steen tyy, oa vo olla alu- ta louste. Mahdollsten törmäysaren löytämses uletaan x-, y- a z-aselen suuntaset ntervalllstat alusta louun. Lstan ulemses muodostetaan atvsten ntervallen lsta, ohon latetaan ntervall ana, un sen aluste löydetään. Jos tosen ntervalln aluste löydetään ntervalllstasta ennen atvsessa lstassa olevan ntervalln loustettä, mertään nämä as ntervalla äälleäss. Jos atvsessa lstassa on useta ntervallea, mertään vmeses lsätty ntervall äälleäses aen atvsessa lstassa oleven ntervallen, ats tsensä anssa. Intervall ostetaan atvsesta lstasta, un sen louste tulee vastaan ntervalllstan selaamsessa. Jos ahden ohteen ntervallen vällle tulee olme äälleäsyyttä, nn nästä ohtesta muodostetaan törmäysar, olle suortetaan myöhemmn täsmällsten törmäysohten etsmnen. Ohelmotaessa menetelmää on luonnollsta äyttää törmäysarlle strutuura, ossa on törmääven ohteden yslövät oonasluvut. Kolme äälleäsyyttä ohteden ntervallen esen vo löytyä ss sllon, un aen olmen oordnaattaseln suuntaset ntervalllstat on äyty lä. Tämä menetelmä lattelee ntervalllstan aassa O( nlogn), mäl äytetään otan muuta ylestä lattelumenetelmää un ulalattelu. Lsäs se tarvtsee aan O(n ) ntervalllstan lääymseen seä aan O( ) :n ntervalln äälleäsyyden meraamseen. Nän ollen menetelmän suortusaa oonasuudessaan on O( n logn + ). Aallsen oherenssn vuos ntervalllsta e muutu ovn aloa vertaluen välllä, oten äyttämällä lsäyslattelua vodaan lähes ärestysessä oleva ntervalllsta latella aassa O(n). Tällön arhaassa taausessa menetelmän suortusaa on O( n + ). Kuvassa 6 estetään menetelmän eraate x-aseln osalta. Selaussuoran S ohdalla ohteen x-aseln suuntanen ntervall on atvsessa lstassa, un saavutaan ohteen ntervalln aluohtaan b. Tällön raortodaan äälleäsyys ohtelle a x-aseln osalta. Kohde 3 e mene äälleän mnään ohteen anssa eä ss vo törmätä mhnään. Selaussuora S uvaa tässä ntervalllstan lääyntä.

3 Kuva 6: Swee-and-Prune menetelmän eraate. Tässä uvatun menetelmän tulosena saadaan lsta, oa ssältää ne ohdeart, ota vovat törmätä tosnsa. Lstassa olevlle ohtelle on velä suortettava täsmällsten törmäysohten etsmnen. Tässä estettyä menetelmää on ästelty myös Hanesn a Möllern rassa [5] svulla 358-360. Seuraavas tarastellaan menetelmää, ona avulla vodaan etsä olmoverosta muodostuven ohteden olmot, ota törmäävät esenään. 6. Kohteen muaan suunnatun raotustlavuuden menetelmä Kohteen muaan suunnatun raotustlavuuden menetelmä erustuu olmoverosta muodostuven ohteden geometran alaoon. Jos ohteet muodostuvat monulmoverosta, nn nlle tää alus suorttaa olmont. Monulmoden olmonta uvaavat hyvn Fourner a Montuno []. Kohtelle muodostetaan alus raotustlavuusherara ohdassa 3..5 uvatusta raotustlavuussta. Nälle herarolle suortetaan oodatelman muasa yselytä törmäysen havatsemses. Koodatelmassa rvllä oleva metod CollBV(A,B) testaa, ovato raotustlavuudet A a B äälleäsä. Päälleäsyyden testaamsessa ohteet rosodaan erottavalle asellle L uvan 6 muasest. Jos ohteden roetot ovat erllsä, nn myös ohteet ovat erllsä. Erottavasta aselsta a äälleäsyyden testaamsesta errotaan myöhemmn. Jos testattavana on lehttason raotustlavuudet, nn tällön tuttaan, leaavato o. raotustlavuusen ssältämät olmot tosensa. Suurn ongelma ohteen muaan suunnatun raotustlavuuden menetelmässä on raotustlavuuden sovttamnen ohteen geometraan sten, että tyhä tla ohteen a raotustlavuuden välssä äs mahdollsmman enes. Seuraavas tarastellaan menetelmä raotustlavuuden

4 sovttamses ohteen geometraan. Tässä luvussa estetyt asat erustuvat Stefan Gottschaln [] vätöstutmuseen. L Kuva 7: Raotustlavuusen roetot erottavalle asellle L. 6.. Kohteen geometran sovttamnen raotustlavuuteen Tehoaan raotustlavuuden löytämses tarastellaan ohteen geometrsten omnasuusen tlastollsta aaumaa. Geometrsena omnasuutena vodaan tää monulmoveron ulmastetä, särmä ta tse monulmota. Nämä omnasuudet muodostavat avaruuteen steouon, ona muotoa vodaan arosmoda ovaranssmatrslla C a esstettä vetorlla m. Kolmulottesessa avaruudessa ovaranssmatrs on symmetrnen a reaalnen 3x3-matrs. Kovaranss vodaan aatella normaalaauman srtämsenä ysulottesesta avaruudesta olmulotteseen avaruuteen. Tällön normaalaauman tasouvaus muuttuu olmulottesen muodon uvaamses. Tämä muoto uvaa ohteen muodon tlastollsen sottumsen olmulotteseen avaruuteen. Nyt ohteen muodon aauman roeto P v =v T Cv lmasee ohteen steden varanssn vetorlla v. Kovaranssmatrsn omnasvetort antavat ne suunnat, ossa steden varansst saavat masm- a mnmarvonsa. Geometran sovttamses raotustlavuuteen on ensn määrtettävä ovaranssmatrs a lasettava tälle omnasvetort. Tämän äleen raotustlavuus vodaan määrttää ovaranssmatrsn omnasvetoren

5 suunnssa oleven ulmasteden mnm- a masmarvoen avulla. Kuvassa 8 nuolet esttävät steouon ovaranssmatrsn omnasvetoreta. Kuva 8: Psteouon suunnan luonnehtmnen ovaranssmatrsn omnasvetorella. 6... Raotustlavuuden sovttamnen ulmasteden avulla Ensmmänen tehtävä raotustlavuuden sovttamses ulmasteouolle on ovaranssmatrsn määrttämnen. Oletetaan, että ohde K muodostuu ulmastestä,,, n. Tämän steouon ovaranssmatrsn C alo C vodaan lmottaa muodossa C =Cov(x,x )=E[(x -m )(x -m )]. Tässä x on ohteen K melvaltasest valttu ulmaste a m on ulmasteouon esste. E tarottaa ulmasteouon odotusarvoa, a esste m vodaan lmottaa myös muodossa m=e[x]. Alandest a uvaavat ulmasteen x ysttäsä oordnaattarvoa. Jos =0, nn x 0 tarottaa ulmasteen x x-oordnaatn arvoa. Kulmasteen x y-a z- oordnaatt saadaan :n arvolla a. Vastaavast äyttäytyy myös alandes. Kovaranss tarottaa ahden muuttuan yhtesvahtelua, oten tässä tarastellaan ahden ulmasteen er oordnaattarvoen esnästä vahtelua. Kovaranss lmastaan yleensä muodossa: C =Cov(x,x )=E[x x ]-m m,

6 ollon ovaranss n ulmasteelle C =Cov(x,x )= n n [ ] = m m, mssä m =E[x ]= n n = Tämä uvaa ulmasteouon essteen -oordnaatta. Jos =0 saadaan essteen x-oordnaatt. Vastaavast y- a z-oordnaatt saadaan :n arvolla a. Kovaranssmatrsn C määrttämsen äleen lasetaan sen omnasarvot, oden avulla lasetaan edelleen omnasvetort. Matrsn C omnasarvo λ on sellanen salaar arvo, olla Cv=λv sllon, un vetor v e ole nollavetor. Nyt omnasarvot vodaan ratasta rottamalla omnasarvoyhtälö muodossa (CλI)v=0, mssä I on denttnen 3x3-matrs. Omnasarvoyhtälö vodaan nyt ratasta λ:n olynomna, os det(c-λi)=0. Omnasarvoen a omnasvetoreden määrttämsessä vodaan äyttää esmers Jacob- Davdson [8] menetelmää. Omnasarvoen määrttämsen äleen omnasvetort saadaan ratasemalla yhtälö Cv=λv. Tässä taausessa omnasarvoa λ vastaa omnasvetor v, oa uuluu oeaätseen oordnaattärestelmään. Raotustlavuuden ulottuvuusen lasemses rosodaan ohteen a ulmasteet omnasvetoren v,v a v 3 suuntn. Ylä- a alaraat raotustlavuuden ulottuvuuslle saadaan nyt seuraavast stetulolla:. u =max(v ) u =max(v ) u 3 =max(v 3 ) l =mn(v ) l =mn(v ) l 3 = mn(v 3 ). Nyt raotustlavuuden esste c vodaan lasea ulottuvuusen avulla 3 3 3 c = ( l + u ) v + ( l + u ) v + ( l + u ) v. Kulmasteden aaumaan erustuva raotustlavuuden määrttämnen on aen ysnertasn menetelmä ohteen raottamses. Tämä menetelmä tom hyvn sllon, un ulmasteet ovat aautuneet suhteellsen tasasest

7 avaruuteen. Jos ohteessa on ollan aluella theäst ulmastetä, nn nämä vovat vauttaa eäedullsest raotustlavuuden suuntaan. Suunnan ertymsen lsäs raotustlavuuden oo asvaa lan suures. Kuva 9 havannollstaa tätä taausta. Kohdassa (a) olevan ohteen ssään on lsätty ouo ulmastetä, ota aheuttavat vrheellsen raotustlavuuden muodostumsen ohdassa (b). Kuva 9: Kulmastethentymän vautus raotustlavuuteen. Kuvan 8 muasta tlannetta vodaan yrttää arantaa sten, että ätetään ohteen ssmmäset ulmasteet huomotta a tarastellaan anoastaan äärmmäsä ulmastetä. Yleensä tlanne aranee huomattavast, mutta osus vodaan outua tlanteeseen, ossa ohteen reunolla oleven ulmasteden alueellset theys erot vovat tuottaa huonost sovan raotustlavuuden. Kuva 0 havannollstaa tätä taausta. Kuva 0: Kohteen reunalla oleven ulmasteden theyseroen vautus raotustlavuuteen.

8 Kulmasteden äyttämnen raotustlavuusen määrttämsessä ohtaa yleensä eäedullseen loutuloseen. Tämän vuos raotustlavuuden määrttämses äytetään tyyllsest ohteen onvesa etettä ta ohteen muodostava monulmota. Jos ohteen monulmoverolla e ole ssästä raennetta, nn monulmoveron nnan olmota vodaan äyttää ohteen onvesn etteen arosmonnssa. Seuraavas tarastellaan raotustlavuuden sovttamsta ohteelle sen nnan olmoden avulla. 6... Raotustlavuuden sovttamnen olmoden avulla Oletetaan, että ohde muodostuu olmoverosta, ossa on n olmota. Kohteen yhteen olmoon vtataan yländesllä a olmoveroon yländesllä M. Vetor x uvaa ysttäsen olmon melvaltasest valttua stettä a vetor m lmasee olmon essteen. Oloon olmoveron esste vetor m M a salaar A olmon nta-ala. Mertään lsäs olmon ulmastetä vetorella, q a r seä ysesen olmon ntegrontaluetta mernnällä Ω. Nyt olmoveron olmon ste x vodaan esttää muodossa: x (s,t)= +su +tv, mssä s [0,] a t [0,-s], u =q - a v =r -. Pntantegraal olmolle alueessa Ω={(s,t) s [0,], t [0,-s]} on nyt Ω f(s, t)da = uxv f(s,t)dtds. Aasemmasta mustetaan, että ovaranssmatrslle C 0 s 0 C =E[x x ]-E[x ]E[x ]. Nyt muuttuat x a x uvaavat olmoden nta-aloen suuruudet suunnssa x a x, oten odotusarvos saadaan olmoverossa M x da M E[x ]= da M

9 x da M E[x ]= da E[x x ]= M M M x x da Edellä estetyt ntegraalt olmoverossa M vodaan esttää olmoveron olmoden ntegraalen summana. Odotusarvoen lasemsessa tarvttava nmttää saadaan seuraavast: da = M = = = = =A M. da da Ω. u xv u xv u xv A 0 s dtds 0 ( s)ds 0 Tässä A on ysttäsen olmon nta-ala a A M on olmoveron ntaala. Nyt odotusarvoen lauseeet ysnertastuvat muotoon: E[x ]= M A E[x ]= M A E[x x ]= A M M M x da x da M x da. x Nyt odotusarvo E[x ] vodaan lasea seuraavast E[x ]= A M M x da = x da, M A Ω a edelleen

A M Ω x da = u xv s 0 s x u xv x dtds = u xv 0 0 0 0 dtds s 0 0 + su = u xv ( s) + ( s)su + ( s) v 0 = u xv + u + v 6 6 = u xv + ( q ) + ( r ) 6 6 = u xv ( + q + r ) 6 = u xv ( + q + r ) 3 =A m. + tv ds dtds Tässä m on olmon esste a A on sen nta-ala. Nyt saadaan odotusarvolle aava E[x ]= A M A oa on edelleen oo olmoveron nta-alaaauman essteen oordnaatt suunnassa x el m, M E[x ]= m. Odotusarvon E[x ] lasemnen taahtuu vastaavalla tavalla. Lasennan tulosena saadaan a edelleen E[x ]= A M A m, M E[x ]= m. Kovaranssmatrsn määrttämses täytyy velä lasea E[x x ]. Nyt E[x x ]= da A x M x M = da M A x x, Ω

osta saadaan da Ω x x = dtds 0 s 0 x x x v u =. dtds f(s,t 0 s 0 ) xv u Tässä f(s,t)= a edelleen f(s,t)=(. Kun f(s,t) errotaan au, nn saadaan: x x ) )( v t s t s + + + + u v u ) ( ) ( v v u u + + + + t s + ) ( ) ( ) ( v v u u u v v u t s st + + +. Kun tämä ntegrodaan t:n suhteen, nn saadaan: s 0 t)dt f(s, = ) ( ) ( ) ( ) ( ) v v u u + + + + s s s s ( + ) ( ) ( )s ( ) ( ) ( 3 v v u u u v v u s s s s + + +, a edelleen ntegrodaan s:n suhteen: 0 s 0 t)dtds f(s, = ) ( 6 ) ( 6 v v u u + + + + + ) ( ) ( ) ( 4 v v u u u v v u + + +. Sottamalla u =q -r a v =r -r saadaan: = u u + q q + v v + = r r + = v u q r r q + = u v q r q r + = u u q q q q + =. v v r r r r + Kun ntegraal 0 s 0 t)dtds f(s, lasetaan sotusten äleen, nn odotusarvos E[x x ] saadaan:

A E[x x]= [9 ] M m m + + q q + r r. A Nyt vodaan lasea ovaranssmatrs olmoveron nnan olmoden muaan määrtetylle raotustlavuudelle seuraavast: C =E[x x ]-E[x ]E[x ]= [9 ] M A M M m m + + q q + r r - m m. A Kun ovaranssmatrslle on määrtetty omnasvetort, vodaan raotustlavuuden ulottuvuudet määrttää samalla tavalla, un ohdassa 6... Tämän äleen vodaan muodostaa ysttänen raotustlavuus, oa vodaan rottaa c++ strutuurna oodatelman 3 muasest. struct trangle { double vertex[3], vertex[3], vertex3[3]; }; struct OrentedBox { ublc: double orentatons[3][3]; //Kovaranssmatrsn omnasvetort double center[3]; //Raotustlavuuden esste double dmensons[3]; //Raotustlavuuden oo trangle *trlst; //Raotustlavuuden ssältämät olmot }; Koodatelma 3: Ysttänen ohteen muaan suunnattu raotustlavuus. Raotustlavuuden sovttamnen ohteelle vodaan suorttaa lneaarsessa aassa O(n), un sovttamsessa äytetään olmoveroa. Sovttamsta varten vodaan muodostaa oodatelman 4 muanen austrutuur acc, ohon lasetaan yhteen aen ohteessa oleven olmoden nta-alat, essteet a ovaransst. Tästä ertymästä saadaan olmoveron esste aamalla strutuurn ertynyt esste acc.m olmoveron nta-alalla acc.a. Kovaranssmatrsn C alo C saadaan ertyneestä ovaransssta acc.c seuraavast

3 C = acc.c acc.m[] * acc.m[] *. acc.a struct acc { double A; //Pnta-alan ertymä double m[3]; //Kessteen ertymä double C[3][3]; //Kovaranssn ertymä }; Koodatelma 4: Austrutuur raotustlavuuden lasemses. Jos halutaan määrttää ohteelle aras mahdollnen raotustlavuus on äytettävä ohteen ulmasteden onvesa etettä. Tämän lasemnen on astetta vaatvam tehtävä, un edellä estetyn austrutuurn äyttö. Tällön raotustlavuuden muodostamsen aavaatmuses tulee O(nlogn). Konvesn etteen äytöstä ertovat mm. M. de Berg et al. [5] a Barber et al. [4]. 6.. Kovaranssmatrsn avulla sovtetun raotustlavuuden sovuus Kovaranssmenetelmällä määrtetyn raotustlavuuden suunta a ulottuvuudet muuttuvat heräst ohteen geometrsten omnasuusen muaan. Tämän vuos menetelmä e välttämättä tuota otmaalsta raotustlavuutta. Tarastellaan asaa uvan avulla. Kuva : Kulmasteen srtämsen vautus raotustlavuuteen. Kuvan (a)-ohta esttää ohteen M ovaranssmenetelmällä muodostettua raotustlavuutta P. Srretään nyt ohteen M yhtä ulmastettä sten, että ohteen M muoto muuttuu (b)-ohdan muases.

4 Tällön ohde M muuttuu ohtees M. Raotustlavuus P ystyy edelleen sulemaan ssäänsä ohteen M, mutta ohteelle M muodostettu raotustlavuus P e ole enää sama un P. Nän ollen raotustlavuuden muoto on ohteen geometran aauman funto. Kovaranssmenetelmän tuottama raotustlavuus e ss välttämättä ole aras mahdollnen. 6.3. Raotustlavuusheraran muodostamnen Anmaatossa muana oleven ohteden geometra ladataan yleensä tedostosta, oa on tehty ollan 3D-mallnnusohelmalla. Raotustlavuusheraran muodostamses ohteen olmot ladataan lstaan L. Jos ohde muodostuu monulmosta, ossa on enemmän un olme särmää, suortetaan nälle monulmolle olmont []. Ylesn taa raotustlavuusheraran toteuttamses on bnaaruu a sen raentamnen sten, että syötelstaa L aetaan ahteen osaan nn auan, un lsta on aettavssa. Tätä menetelmää äytetään myös alattelussa. Päätason raotustlavuudelle R lasetaan alus olmolstan L avulla esste m a suuntavetort v, v a v 3. Oletetaan, että vetor v on raotustlavuuden R se suuntavetor, ona suunnassa ohteen K geometran aaumalla on suurn varanss. Tämän äleen olmolstaa L aetaan reursvsest osalstohn L a L. Lstan L aamnen osalstohn L a L taahtuu sten, että rosodaan lstan L olmoden essteet vetorlle v a atsotaan, ummalle uolelle raotustlavuuden R essteen m roetota vetorlla v ne sottuvat. Raotustlavuudet R a R määrtetään nyt osalstoen L a L muaan vastaavast un raotustlavuus R. Kun lstaa e enää voda aaa, nn lehttason raotustlavuusssa on ussan van ys olmo. Jos oletetaan, että ohteen geometra aaantuu tasasest, nn loullsen raotustlavuusheraran syvyydes saadaan O(logn). Ysttäsen raotustlavuuden muodostamseen uluu aa O(), mssä on raotustlavuuden ssältämen olmoden luumäärä. Kaen raotustlavuusen muodostamseen uluu nyt aa O(n) oten oonasaa heraran muodostamses on O(nlogn). Kuva havannollstaa ohteen geometran alaoa raotustlavuusheraraan.

5 Kuva : Geometran alao raotustlavuusheraraan. Edellä estetyn menetelmän lsäs raotustlavuusherara vodaan muodostaa myös sten, että lähdetään raentamaan bnaaruuta ysttästen olmoden raotustlavuussta a lomttamalla nätä suuremn tlavuusn unnes saavutetaan uurtaso. Tämä taa on utenn vaeam toteuttaa, eä sen soveltamsta uur esnny törmäystarastelua ästtelevässä rallsuudessa. Geometran alaoon erustuvassa törmäystarastelussa tuttaan ahden raotustlavuusheraran raotustlavuusen erllsyyttä. Jos raotustlavuudet ovat erllsä, vodaan testaamnen loettaa het. Kahden ohteen välsessä törmäysessä edetään nden raotustlavuusheraroden lehttasolla oleven olmoden leausen tarasteluun. Seuraavas tarastellaan menetelmää, ona avulla raotustlavuusen erllsyyden vo todeta. 6.4. Raotustlavuusen erllsyyden testaamnen Kohdassa 3..5 todettn, että ohteen muaan suunnatun raotustlavuuden uvaamses tarvtaan essteen c lsäs suuntavetort v, v a v 3.

6 Edelleen tarvtaan velä raotustlavuuden särmen tuusen uolaat a, a a a 3. Nyt vodaan määrtellä raotustlavuudelle A säde r seuraavast: r = a +. 3 v + av a3v Raotustlavuusen A a B erllsyys vodaan nyt todeta rosomalla nden essteden c A a c B erotus T seä säteet r A a r B erottavalle asellle L. Jos tässä roetossa T L > ra L + r B L, nn raotustlavuudet A a B ovat erllsä. Kuvassa 3 uvataan erllsä raotustlavuusa. Kuva 3: Erllset raotustlavuudet A a B. Erottava asel L vo olla umman tahansa raotustlavuuden A ta B 3 3 onn suuntavetorn v, v, v, v, ta v suuntanen. Lsäs erottavan A A A B v B aseln suunta vo määräytyä onn rsttulon x muaan. Tässä [,3]. Tällön erottava asel vo määräytyä yhteensä vdellätosta er tavalla. Raotustlavuusen erllsyyttä tutttaessa tomtaan yleensä sten, että raotustlavuus B srretään raotustlavuuden A aallseen oordnaatstoon. Tällön on luonnollsta lmottaa raotustlavuusen suuntavetort matrsmuodossa sten, että vetorsta v tulee matrsn A ensmmänen, v A v A 3 vetorsta tonen a vetorsta olmas sarae. Tällön raotustlavuuden B suuntavetort vodaan lmasta raotustlavuuden A aallsessa oordnaatstossa muodossa B=AC, mssä C=A T B. Tässä A T on matrsn A transoos. Oloon c matrsn C omonentt. Nyt raotustlavuuden B suuntavetor vodaan rottaa raotustlavuuden A suuntavetoren v B avulla seuraavast A B v A v B

7 3 v = c v + c v + c. B A A 3v A Tässä oletetaan, että matrsn ndesont alotetaan ohdasta eä 0. Raotustlavuuden B esste c B raotustlavuuden A oordnaatstossa A vodaan nyt rottaa muodossa c =A T c B. Raotustlavuuden A suuntavetort B vodaan vastaavast lmottaa raotustlavuuden B suuntavetoren avulla muodossa 3 v = c v + c v + c. A B B 3v B Nyt vodaan alle vdelletosta testlle muodostaa tauluo, osta lmenee yhteydet muuttulle L, T, r A L a r B L. Tässä oletetaan, että molemmat raotustlavuudet ovat samassa oordnaatstossa.

8 L r A L r B L T v a b c + b c + b 3 c 3 L =A A v a b c + b c + b 3 c 3 L =A A 3 A B B 3 B 3 v a 3 b c 3 + b c 3 + b 3 c 33 L =A3 v a c + a c + a 3 c 3 b v L A A A A A A 3 A 3 A 3 A v a c + a c + a 3 c 3 b v L v a c 3 + a c 3 + a 3 c 33 b 3 v L v x v B a c 3 + a 3 c b c 3 + b 3 c c A3-c 3 A v x v B a c 3 + a 3 c b c 3 + b 3 c c A3-c 3 A 3 v x v B a c 33 + a 3 c 3 b c + b c c 3 A3-c 33 A v x v B a c 3 + a 3 c b c 3 + b 3 c c 3 A-c A3 v x v B a c 3 + a 3 c b c 3 + b 3 c c 3 A-c A3 3 v x v B a c 33 + a 3 c 3 b c + b c c 33 A-c 3 A3 v x v B a c + a c b c 33 + b 3 c 3 c A-c A v x v B a c + a c b c 33 + b 3 c 3 c A-c A v x v a c 3 + a c 3 b c 3 + b c 3 c 3 A-c 3 A 3 B Tauluo : Raotustlavuusen säteden a erottavan aseln ruvuus. v A v A v A B B 3 B Tauluossa on saraeessa T olmella ensmmäsellä rvllä äytetty yhtä suuruus merä louen rven lyhentämstä varten. Kahden raotustlavuuden A a B erllsyyden toteamses on löydettävä ys erottava asel L sten, että T L > r A L + r B L tauluon muasest. Jos tällasta asela e löydy, nn raotustlavuudet A a B menevät äälleän. Pahmmassa taausessa oudutaan tutmaan a vahtoehdot, mutta esmäärn testataan van 7,5 aselehdoasta. Testn tehostamses se loetetaan het, un ensmmänen erottava asel löydetään. Tämä on huomattava arannus navn menetelmään, ossa oudutaan tutmaan 44 erlasta raotustlavuuden särmän a tahon mahdollsta leausta. 44 testä navssa menetelmässä tulee stä, että raotustlavuusa on as a ummassan on uus tahoa a astosta särmää. El x6x=44. Seuraavas tuttaan mten ehdoaat erottavas asels on valttu. Tämän selvttämses tutustutaan ensn Gaussn uvauseen a Mnowsn erotuseen.

9 6.4.. Gaussn uvaus Montahoaan Gaussn uvausessa montahoaan ulmasteet v, särmät e a tahot f uvautuvat olmulottesen allon nnalle. Tässä taausessa raotutaan suoraulmasen särmön Gaussn uvausen muodostamsen. Suoraulmasen särmön taho f 0 uvautuu yhdes stees 0, oa lmasee ysesen tahon suuntavetorn. Kahden tahon välssä oleva särmä e 0 uvautuu allon nnalla olevas aares g 0. Tämä aar lmasee ne suunnat, ota ovat ohtsuorassa särmän e 0 anssa. Kulmaste v uvautuu onvess aluees r, oa muodostuu olmen rsteävän aaren e, e a e 3 raottamasta alueesta. Gaussn uvausta havannollstaa uva 4. Kuva 4: Suoraulmasen särmön Gauss-uvaus. Gaussn uvausessa saman allon ehälle vodaan uvata useama montahoata. Erottavan aseln määräytymsen tarastelemsessa uvataan raotustlavuudet A a B allon ehälle. Tämän uvausen tulosena vodaan muodostaa raotustlavuuslle A a B Mnowsn erotus A Θ B, ona äleen vodaan määrttää yhteys erottavalle asellle a raotustlavuuslle. 6.4.. Mnowsn erotus Kahden raotustlavuuden A a B välnen Mnowsn erotus A Θ B on sellanen steouo P, mssä P:n steet ovat muotoa a-b. Tässä a A a b B. Tämä vodaan lmottaa myös muodossa P={ a-b a A, b B}.

30 Mnowsn erotus vodaan tulta geometrsest sten, että raotustlavuuden B stestä muodostetaan uus suoraulmanen särmö vastavetoreden b avulla. Tämän äleen uletetaan raotustlavuutta A vetoreden b muodostamaa uraa tn sten, että A sälyttää suuntansa a sen esste c A on uralla. Kuvassa 5 vvasegmentt B uvataan ensn segments B. Tämän äleen vvasegmenttä A uletetaan vvasegmenttä B tn sten, että A:n esste on vvasegmentllä B. Mnowsn erotusta A Θ B uvaa nyt muodostunut nta-ala. Kolmulottesessa taausessa muodostuu luonnollsest tlavuus. A B A -B A Θ B Kuva 5: Mnowsn erotusen geometrnen tulnta. Mnowsn erotusella on esenen osa erlasssa törmäystarastelumenetelmssä. Tämä ohtuu stä, että steouo P ssältää tarasteluavaruuden orgon 0 sllon a van sllon, un montahoaat A a B osettavat tosaan. Tämä ätee mhn tahansa montahoaaseen a ertysest tässä tarasteltavlle suoraulmaslle särmölle. Jos suoraulmaset särmöt A a B osettavat tosaan, nn sllon on olemassa steet a a b sten, että nden erotus a-b=0. Nyt a=b, ollon määrtelmän P={ a-b a A, b B} muaan b A, a B. Seuraavas tarastellaan erottavan aseln määräytymstä Gaussn uvausen a Mnowsn erotusen avulla. 6.4.3. Erottavan aseln määräytymnen Tarastellaan erottavan aseln määräytymstä uvan 6 avulla

3 Kuva 6: Raotustlavuusen A, B a nden Mnowsn erotusen A Θ B Gaussn uvauset. Kuvan 6 yläosassa on estetty montahoaat A, B a A Θ B seä alaosassa nden Gaussn uvauset. Aasemmasta mustetaan, että A Θ B muodostuu un särmötä A lutetaan särmön B särmä tn sten, että A:n esste ulee B:n särmällä a A:n suunta avaruudessa ysyy muuttumattomana. B on ss särmö, ona särmävetort ovat V={-b b B}. Kuvassa 6 raotustlavuuden A tahot uvautuvat olmes esenään ohtsuorassa olevas ymyräs Gaussn uvausessa G(A). Vastaavast uvautuu myös raotustlavuus B. Raotustlavuusen A a B Mnowsn erotusen A Θ B Gaussn uvausessa G(A Θ B) syntyy uus ymyrää uvausallon nnalle. Nästä olme on esenään ohtsuorassa tosaan vastaan, a ne uuluvat raotustlavuudelle A. Toset olme ovat myös esenään ohtsuorassa tosaan vastaan, a ne uuluvat raotustlavuudelle B. Nämä on rretty uvaan 6 sten, että A:sta tulevat ymyrät on rretty harmaalla värllä a B:stä tulevat ymyrät mustalla värllä. Jos oletetaan, että anoastaan as ymyrää vo leata tosensa yhdessä steessä, nn uudesta ymyrästä vodaan nyt valta arettan 6 =5 erlasta ymyräara. Joanen ymyräar leaa tosensa täsmälleen ahdessa steessä, ota ovat allon vastaaslla uollla. Nän ollen leausstetä on nyt 30. Kosa steet ovat allon vastaaslla uollla, ovat stelle uvautuvan Mnowsn erotusen A Θ B tahoen normaalt nässä ohdssa vastaassuuntaset. Nän ollen A Θ B raottuu ahden yhdensuuntasen tason väln. Kosa leausstetä on aaan 30, raottuu A Θ B yhteensä 30 esenään arettan yhdensuuntasen tason raottaman avaruuden osan ssään. Tämä tarottaa

3 stä, että raotustlavuusen A a B Mnowsn erotusessa A Θ B on 30 tahoa. Gaussn uvausen aaren a montahoaan särmen välllä on ys yhteen vastaavuus. Kosa oanen uvausen G(A Θ B) uudesta aaresta vodaan aaa ahteen osaan vdellä muulla uvausen aarsta, saadaan raotustlavuusen A a B Mnowsn erotuselle A Θ B särmen luumääräs 6x5x=60. Nyt vodaan A Θ B:n ulmasteden luumäärä lasea Eulern aavan V-E+F= avulla. Tässä E on särmen luumäärä, F on tahoen luumäärä a V on ulmasteden luumäärä. Nyt ss A Θ B:n ulmasteden luumäärä on +60-30=3. Jos ahta useam ymyrä leaa tosensa yhdessä steessä, nn muodostuvassa Mnowsn erotusessa A Θ B särmen, tahoen a ulmasteden määrä ää edellä estettyä enemmäs. Raotustlavuusen A a B Mnowsn erotus on nyt ss sellanen montahoas, ossa on 30 arettan yhdensuuntasta tahoa, 60 särmää a 3 ulmastettä. Aasemmasta mustetaan, että raotustlavuudet A a B ovat äälleäsä, os nden Mnowsn erotus A Θ B ssältää tarasteluavaruuden orgon 0. Jos raotustlavuudet A a B ovat erllsä, nn orgon 0 etäsyys lähmmästä aluetta A Θ B raottavasta tasosta on raotustlavuusen A a B välnen etäsyys. Samalla etäsyyden suunta on ysesen tason suunta. Kuvassa 6 uvausen G(A Θ B) olme harmaata ymyrää lmasee raotustlavuuden A tahoen suunnat. Kolme mustaa ymyrää lmasee raotustlavuuden B tahoen suunnat. Jälelle ää yhdesän mustan a harmaan aaren leausta, ossa stessä suunta on ohtsuorassa seä raotustlavuuden A, että raotustlavuuden B otan särmää vastaan. Edellä mantun erusteella erottava asel vo olla olemassa nssä suunnssa, ossa Mnowsn erotusta A Θ B raottavat tasot satsevat. Erottavaa asela e ole olemassa, os tarasteluavaruuden orgo 0 satsee aen Mnowsn erotusta A Θ B raottaven tasoen välssä. Raotustlavuusen A a B erottavan asel L vo ss olla olemassa nssä suunnssa, ossa raotustlavuusen A a B Mnowsn erotusen A Θ B raottavat tasot satsevat. Tasoa on yhteensä 30, mutta ne ovat arettan yhdensuuntasa, oten tarastelussa rttää 5 tason suunnan tutmnen. 7. Leaussta Edellä on uvattu menetelmää, ona äätarotusena on arsa lasennasta sellasa geometrsa rmtveä, ota evät vo leata tosaan. Lehttason raotustlavuusen äälleäsyysen taausessa oudutaan utenn loulta lasemaan täsmällset leausohdat rmtven välllä.

33 Seuraavas tarastellaan tyyllsmä geometrsten rmtven välsä leausa. Nätä ovat ahden säteen välnen leaus, säteen a tason välnen leaus, säteen a olmon välnen leaus a ahden olmon välnen leaus. Kahden olmon välstä leausta äytetään myös ohteen muaan suunnatun raotustlavuuden lehttason olmoden leaustarastelussa. 7.. Kahden säteen välnen leaus Kolmulottesessa avaruudessa säde annetaan yleensä arametrmuodossa r(t)=+td, mssä on säteen aluste, d on säteen suuntavetor a t on salaar, ona avulla säteen tuutta määrtellään suunnassa d. Tyyllsest d on ysövetor, mutta nän e välttämättä tarvtse olla. Lsäs arametra t e tarvtse raottaa, vaan sen avulla säteestä vodaan muodostaa sellanen, että sllä on aluste, mutta se atuu äärettömyyteen ast suunnassa d. Oloon annettuna as sädettä r a r sten, että r (t )= +t d r (t )= +t d. Nämä säteet vovat sata olmulottesessa avaruudessa nelällä er tavalla tosnsa nähden. Säteet r (t ) a r (t ) vovat leata tosensa yhdessä steessä, ta nllä vo olla ääretön määrä yhtesä stetä. Säteet vovat myös olla yhdensuuntasa sten, että nllä e ole yhtesä stetä. Edellsten lsäs säteet vovat sata ahdella samansuuntasella tasolla sten, että tasot ovat er etäsyysllä orgosta. Tällön sätellä e ole yhtesä stetä. Kahden säteen välsen leausen löytämnen on ästteellsest ysnertasta, mutta tetooneden yörstystaruus saattaa aheuttaa sen, että leausta e välttämättä löydetä, vaa sellanen ols olemassa. Jos oletetaan, että säteden leaus vodaan löytää äytössä olevalla yörstystaruudella, nn leausohta löydetään sottamalla seuraavast r (t )= r (t ) +t d = +t d t d = +t d - (t d )xd =( +t d - )xd t (d xd )=(t d )xd +( - )xd t (d xd )=t (d xd )+( - )xd t (d xd )=t 0+( - )xd t (d xd )=( - )xd t (d xd ) (d xd )=(( - )xd ) (d xd )

34 (( )xd ( d xd t = d xd ). Parametrn t arvo vodaan lasea vastaavast, ollon saadaan (( )xd ( dxd t = d xd ). Edellä estetyssä säteden leaussteen etsmsessä on oletettu, että säteet r a r atuvat äärettömyyteen suuntavetoren osottamssa suunnssa. Jos säteden tuudet ovat raotettua on tutttava uuluuo saatu leausste sätelle, va nden atelle. Tämä vodaan tuta sten, että sotetaan saadut arvot t a t vastaaven säteden r a r yhtälöhn. Jos nyt +t d r a +t d r, nn säteet leaavat tosensa. Kosa yse on säteden tuussta, nn ana täytyy olla t >0 a t >0. 7.. Säteen a tason leaus Tason yhtälö annetaan yleensä muodossa Ax+By+Cz+D=0. Tetoonegrafassa on äytännöllsemää lmottaa taso P sen ysönormaaln n avulla. Ysönormaal n saadaan muodostamalla ysövetor A + B + C n=. A + B + C Tämän lsäs tarvtaan tason ysönormaaln n suuntanen etäsyys d oordnaatston orgosta O. Jos A, B a C muodostavat ysövetorn n, nn tason etäsyys orgosta d=d. Nyt alle tason P stelle on vomassa n=d. Kuvan 7 vasen uol selventää asaa.

35 Kuva 7: Tason etäsyys orgosta seä säteen a tason leaus. Oloon nyt säde R(t)= 0 +dt a taso P muodossa n=d. Sottamalla säde R tason yhtälöön saadaan: ( 0 +dt) n=d 0 n+td n=d td n=d- 0 n d n t= 0. d n Säde R leaa ss tason P steessä, mäl on olemassa sellanen t R sten, että t>0. Tason a säteen leaussteen määrttämsessä vodaan lasentaa noeuttaa tutmalla alus ono leaus ollenaan mahdollnen. Jos stetulo d n=0, nn taso a säde ovat yhdensuuntasa eä leausta taahdu. Jos taas d n>0, nn tason normaal n osottaa osän säteestä. Tällön vodaan leausen lasemnen loettaa, os ysymysessä on yssuuntanen taso. Esmernä on lasnta, oa lääsee valon van toselta uolelta. Parametrn t lasemnen annattaa ättää suorttamatta, os d n a d- 0 n ovat er mersä. Tällön t e ole meleäs, osa säteen a tason leaus taahtus säteen orgon taana, eä tämä vastas mtään todellsta tlannetta. Tässä taausessa säästytään turhalta aolasun suorttamselta, oa snällään on suhteellsen alon aaa vevä oeraato. Parametrn t lasemsen äleen vodaan täsmällnen tason a säteen leausohta lasea sottamalla = 0 +dt.

36 7.3. Kolmon barysentrset oordnaatt Kolmon nnan tarastelemnen olmulottesessa avaruudessa on suhteellsen hanalaa. Tämän vuos on otettu äyttöön olmon nnan määräämä avaruus, ota utsutaan barysentrses avaruudes. Barysentrsessä avaruudessa oanen olmon ste vodaan lmasta sen ulmasteden anotettuna esarvona. Nätä esarvoa utsutaan olmon barysentrss oordnaates. Barysentrsten oordnaatten (b,b,b 3 ) a olmulottesen avaruuden oordnaatten v, v a v 3 välllä valltsee yhteys: (b,b,b 3 )=b v +b v +b 3 v 3, mssä b +b +b 3 =. Kuva 8 havannollstaa barysentrsten oordnaatten a olmulottesen avaruuden oordnaatten yhteyttä. Kuva 8: Barysentrsten a arteessten oordnaatten yhteys Kuvasta 8 vodaan huomata, että oasen ulmasteen v, v a v 3 barysentrset oordnaatt ovat samat un ysesten ulmasteden oordnaatt. Tämän lsäs vodaan huomata, että ulmasteen v vastaäsellä analla oleva barysentrnen oordnaatt on nolla. Esmers ulmasteen v barysentrnen oordnaatt b vastaäsellä analla v -v 3 on 0. Kolmon ssäuolella olevat barysentrset oordnaatt b, b a b 3 ovat a suurema un nolla. Jos onn ulmasteen v barysentrnen oordnaatt b <0, nn ysenen oordnaatt on olmon ulouolella. Esmers uvassa 8 ulmasteen v 3 barysentrnen oordnaatt b 3 =-/3, un ste luu olmon ulouolelle anan v -v yl. Kolmon barysentrnen oordnaatsto muodostaa tason, oa oostuu esenään samanlassta olmosta. Tätä havannollstavat Dunn a Barberry ransa [0] svulla 6.

37 Kun olmon ulmasteet tunnetaan, on olmon barysentrsten oordnaatten muuttamnen arteesss oordnaates suoravvanen tomende aavan (b,b,b 3 )=b v +b v +b 3 v 3 avulla. Jos halutaan muuttaa olmon melvaltanen ste barysentrss oordnaates, oudutaan teemään enemmän työtä. Kuva 9 esttää barysentrsten oordnaatten määrttämstä asulottesessa taausessa. Kuva 9: Melvaltasen steen barysentrset oordnaatt Kuvan 9 melvaltaselle steelle saadaan asulottesessa taausessa yhtälöt: x =b x +b x +b 3 x 3 y =b y +b y +b 3 y 3 =b +b +b 3. Kun tämä yhtälöryhmä ratastaan, nn steeen barysentrss oordnaates b,b a b 3 saadaan b b ( = (y y ( = (y y y y y 3 3 y 3 )(x )(x )(x )(x 3 x ) + (y 3 x ) + (y 3 x ) + (y x ) + (y 3 3 y y y y 3 3 3 )(x )(x )(x )(x 3 3 3 x x x x ) ) ) ) ( y y )(x x ) + (y y )(x x ) b 3 =. (y y )(x x ) + (y y )(x x ) 3 3 3 3 Jos nyt tarastellaan saatuen yhtälöden osottaa, nn huomataan, että ne vastaavat uvan 9 osaolmoden T, T a T 3 asnertasa nta-aloa.

38 Lsäs oasen yhtälön nmttää antaa oo olmon T asnertasen ntaalan. Nän ollen olmon steen barysentrset oordnaatt vodaan lausua myös muodossa: A(T ) b = A(T) A(T ) b = A(T) A(T 3 ) b 3 =. A(T) Kolmulottesessa avaruudessa barysentrsten oordnaatten lasemnen e onnstu edellä estetyllä tavalla, osa ratastavas tulee yhtälöryhmä, ossa on nelä yhtälöä a olme tuntematonta. Tyyllnen ratasutaa on olmon rosomnen ollen tasolle xy, xz ta yz. Nän vodaan tehdä, osa rosotuen olmoden nta-alat ovat suhteessa alueräsen olmoden nta-alohn. Proetotasos valtaan taso, olle olmon roeton nta-ala on suurn. Tällön vältytään mahdollslta olmoden surastumslta vvos. Suurmman roeton omaava taso saadaan tutmalla olmon normaalvetora n a ättämällä yhtälöryhmästä os se omonentt x, y ta z, ona suunnassa normaalvetorn n omonentt n x, n y ta n z on suurn. Tällön lasenta alautuu edellä estettyyn asulotteseen taauseen. Kolmon barysentrsä oordnaattea tarvtaan seuraavas esteltävässä säteen a olmon leausen määrttämsessä. 7.4. Säteen a olmon leaus Säteen a olmon leausen määrttämsessä haetaan yleensä ensn säteen a olmon muodostaman tason leausohta, ona äleen tuttaan ssältyyö leausohta tarasteltavaan olmoon va e. Leausohta ystytään utenn määrttämään lman erllstä tason a säteen leausen tutmsta. Kätevän tavan olmon a säteen leausen määrttämses ovat esttäneet Möller a Trumbore [5]. Tässä menetelmässä etstään arvot olmon barysentrslle oordnaatelle u a v seä etäsyys t säteen orgosta leaussteeseen. Oloon olmon T melvaltanen ste annettu muodossa: T(u,v)=(-u-v)v 0 +uv +vv.

39 Tässä u a v ovat barysentrset oordnaatt, olle on vomassa u 0 a v 0 seä u+v. Nyt säteen R(t)=0+td a olmon T(u,v) leausste saadaan sottamalla R(t)= T(u,v), ollon saadaan: 0 +td=(-u-v)v 0 +uv +vv. Kun yhtälö errotaan au a termt ärestetään uudelleen, saadaan lneaarnen yhtälöryhmä [ d v v v ] 0 v 0 t u v =[ 0 v 0 ]. Kyseessä on ss 3x3- a 3x-matrsn tulo. Selvyyden vuos ätetään vetoren -d, v - v 0 a v - v 0 ysttäset omonentt rottamatta. Yhtälöryhmän ysnertastamses vodaan mertä e =v -v 0, e =v -v 0 a T= 0 -v 0. Nyt yhtälöryhmä vodaan ratasta esmers Cramern säännöllä, ollon saadaan: t u = d v T e e d d e e T e e. T Yllä olevassa mernnässä -d e e tarottaa ss 3x3-matrsn determnantta. Samon on T e e ne. Lasettaessa arvoa t äytetään determnantta T e e u:n lasemsessa determnantta -d T e a v:n lasemsessa determnantta -d e T. Säteen a olmon leausohdan lasemsen noeuttamses lasetaan arvot t, u a v ystellen. Lasenta loetetaan het, os on arvosta on enem un nolla. Tällön säde a olmo evät vo leata tosaan. Lähdeood tässä uvatun menetelmän toteutuselle on Möllern a Trumboren [0] estysessä. 7.5. Kahden olmon välnen leaus Kohdassa 6 estetyssä ohteen muaan suunnatun raotustlavuuden menetelmässä suortetaan lehttason raotustlavuusssa oleven olmoden leaustarastelu, os yseset raotustlavuudet ovat äälleäsä. Kahden olmon välnen leausste vodaan määrttää säteen a olmon

40 leausena, ossa tosen olmon särmä äytetään sätenä a nden mahdollsa leausa tuttaan tosen olmon suhteen. Tarastelussa äytetään vuoronerään molemen olmoden särmä sätenä. Tämän menetelmän heous on utenn snä, että olmot vovat leatessaan muodostaa myös vvasegmentn. Tomas Möller [4] esttää ratasun ahden olmon leausen löytämses sten, että leaus vo olla oo ste ta vvasegmentt. Oletetaan että annettuna on as olmota T a T, olla on ulmasteet,, a v 0,, v. Kolmot T a T satsevat tasolla P a P alandesensä v muasest. Tason P yhtälö on n =d, mssä on tason P melvaltanen ste a d on tason P etäsyys orgosta. Kolmon T määräämän tason yhtälö vodaan lasea rsttulon avulla seuraavast: n = ( v v 0 )x( v v d = n. v 0 0 ) v 0 v v Vastaavalla tavalla määrtetään tason yhtälö myös olmon T määräämälle tasolle. Nyt vodaan lasea olmon T ulmasteden etäsyydet tasosta P. Kuva 0 selventää asaa. Kuva 0: Kolmon T ulmasteen v 0 etäsyys tasosta P. avulla: Psteen v 0 etäsyys tasosta P saadaan nyt seuraavast uvan 0 merntöen +an=v 0 (+an) n=v 0 n n+(an) n= v 0 n d+a= v 0 n a= v 0 n-d.

4 Nyt ss mnä tahansa olmon T ulmasteen v etäsyys a tasosta P vodaan rottaa muodossa: a = n v + d. Kolmon T etäsyydet tasosta P lasetaan vastaavalla tavalla. Jos nyt alla a 0 a a etäsyydet a ovat samanmersä, nn olmo T satsee oonaan tason P tosella uolella. Tällön olmot T a T evät vo leata tosaan a test vodaan loettaa. Jos utenn on nn, että löytyy ermersä etäsyysen arvoa, nn tasot P a P leaavat tosensa suoraa L tn. Suora L on tällön vetorn n xn suuntanen. Jos a etäsyysen arvot a =0, nn olmot satsevat samalla tasolla. Tällön vodaan tarastaa, leaavato olmoden särmät tosaan. Tämä vodaan toteuttaa rosomalla olmot ollen tasolle xy, xz ta yz. Kolmot rosodaan sellaselle tasolle, olla nden roetoden nta-ala on suurn. Prosonnn äleen vodaan olmoden särmen leaamnen määrttää asulottesena vvasegmentten leausena. Jos leausohta e löydetä, täytyy velä tuta ssältyyö tonen olmosta toseen. Ylesessä taausessa on suhteellsen harvnasta, että as olmota on samalla tasolla, oten tässä taausessa leausen määrttämsessä vodaan äyttää tavallsta raa an voman menetelmää. Sellasessa taausessa, mssä olmot satsevat er tasolla saadaan tasoen leausvvan yhtälös L(t)= 0 +td. Leausvvan yhtälössä suuntavetor d=n xn, mssä n a n ovat olmoden T a T normaalvetort. Pste 0 on leausvvan orgo, oa vodaan asettaa halutulla tavalla, osa sen muuttamnen e vauta loullseen leaustarasteluun. Kas er tasolla olevaa olmota vovat sata avaruudessa ahdella er tavalla tosnsa nähden. Nämä taauset on estetty uvassa. Kuvassa vvasegmentn L harmaalla estetty alue uvaa olmoden a vvasegmentn L leausta. Jos olmolla on yhtesä stetä vvasegmentllä L, nn ne leaavat tosensa.

4 Kuva : Kolmoden sottumnen ahdella rsteävällä tasolla. Kahden olmon leausen toteamses lasetaan ummallen olmolle ntervallt vvasegmentllä L. Jos nämä ntervallt ovat äälleäsä, nn olmot leaavat tosensa. Intervallen lasemses rosodaan olmon T ulmasteet vvasegmentlle L. Lsäs lasetaan olmon T ulmasteden etäsyydet a 0, a a a 3 tasosta P. Kuvassa ulmasteden roetosta vvasegmentllä L äytetään merntää v 0 a v. Harmaalla värllä mertyn ntervalln aluste t lmasee olmon särmän v 0 -v leausohdan salaararvon vvasgmentllä L(t)= 0 +dt. Kuva : Kolmon ulmasteden rosomnen vvasegmentlle L a nden etäsyydet tasosta P.

43 Kuvasta vodaan huomata, että olmon T ulmasteden roetot ovat v 0, v a nden etäsyydet a 0 a a tasosta P muodostavat as esenään yhdenmuotosta olmota. Näden avulla vodaan lasea ntervalln aluste t seuraavast: a t = v 0 + ( v v 0 ). ( a a ) 0 Vastaavalla tavalla lasetaan ntervalln louste, mutta tässä äytetään tetenn ulmastetä v 0 a v. Tämän äleen suortetaan samat lasutomenteet olmolle T tason P suhteen. Lous tuttaan, ono saadulla ahdella ntervalllla yhtesä stetä. Jos yhtesä stetä on olemassa, nn as olmota leaavat tosensa. Tässä tutelmassa on estetty eraatetasolla tyyllsmä geometrsten rmtven välsä leausa. Sovellusohtasest erlasa leaustyyeä vo olla una alon tahansa. Dunn a Barberry [] ästtelevät erlasa leausa ransa svulla 83-38. Lsää erlasa leausalgortmea esttävät mm. Arenberg [] a Badouel [3]. 8. Törmäysyselyden tarastelua raotustlavuusherarassa Oloon annettuna as raotustlavuusheraraa V A a V B, oden ssältämen ohteden välsä törmäysä tuttaan. Kuva 3 esttää murtovvosta oostuvan ohteen A raotustlavuusheraran V A olme er tasoa. Ensmmäsenä estetään uurtaso, oa ssältää ohteen oonasuudessaan, a vmesenä on estetty lehttaso, ossa oasella vvasegmentllä on oma raotustlavuutensa. Kuva 4 esttää vastaavan tlanteen raotustlavuusheraralle B. Tämän luvun uvat Gottschal []. Kuva 3: Raotustlavuusheraran V A olme tasoa.

44 Kuva 4: Raotustlavuusheraran V B olme tasoa. Törmäysyselyden suorttamses srretään ohteet A a B yhteseen maalmanoordnaatstoon. Ensmmäsessä törmäysyselyssä testataan ohteden A a B uurtason raotustlavuusen äälleäsyyttä. Käytetään tästä teststä merntää T(V A,V B ). Jos uurtason raotustlavuudet menevät äälleän, oudutaan suorttamaan uusa törmäysyselytä, ossa verrataan ohteen A raotustlavuuden V A lasen V A0 a V A äälleäsyyttä raotustlavuuden V B anssa. Tällön suortetaan ss testt T(V A0,V B ) a T(V A,V B ). Kuvassa 5 havannollstetaan äätason törmäysyselyn aautumsta ahdes alemman tason yselys. Kuvassa 5 testart T(V A0,V B ) a T(V A,V B ) on valttu sten, että srrytään testaamaan suuremman raotustlavuuden lasa ensmmäsen testn enemää raotustlavuutta vasten. Testattaven raotustlavuusen lassolmut vodaan valta myös mulla tavolla, mutta rallsuudessa tässä estetty taa on ylesn. Kuva 5: Päätason törmäysyselyn aautumnen ahdes alyselys. Aasemmasta mustetaan, että törmäysysely loetetaan het, os testattavat raotustlavuudet ovat erllsä. Muussa taausessa testä atetaan lehttasolle saaa, ossa vodaan määrttää ohteden A a B ne rmtvt, ota leaavat tosensa. Kuvassa 6 on uvattu yselyn T(V A0,V B ) a uvassa 7 testn T(V A,V B ) etenemnen lehttasolle saaa. Kysely T(V A0,V B ) e löydä

45 törmäysä raotustlavuusen V A0 a V B ssältämen rmtven välllä, mutta ysely T(V A,V B ) tuottaa leausen rmtven a 4 a b 3 välllä. Kuvsta 6 a 7 vodaan huomata, että a alyselyt haarautuvat suuremman raotustlavuuden lasen vertaamseen enemään raotustlavuuteen. Kuva 6: Törmäysyselyn T(V A0,V B ) etenemnen lehttasolle.

46 Kuva 7: Törmäysyselyn T(V A,V B ) etenemnen lehttasolle. Raotustlavuusen V A a V B välllä suortettavat törmäysyselyt muodostavat uuraenteen edellä uvatulla tavalla. Tällasta uuraennetta vodaan äyttää törmäysyselyen luumäärän alaraan määrttämseen tetyntyysten otmonttenoden yhteydessä. Tämän lsäs uuraennetta vodaan äyttää törmäysyselyen luumäärän määrttämses, os halutaan löytää >0 leausta ohteden A a B rmtven välllä. Puuraenteesta äytetään englannn elessä lyhennettä BVTT (boundng volume test tree). Tässä tutelmassa raennetta utsutaan nmellä testuu. Edellä estetty törmäysysely raotustlavuusen V A a V B välllä vodaan lmasta symbolsessa muodossa uvan 7 avulla. Kuvassa 7 tyhä solmu tarottaa yselyä, oa tuottaa erllset raotustlavuudet a X tarottaa yselyä, oa tuottaa äälleäset raotustlavuudet. Lehttasolla oleva tyhä olmo tarottaa sellasta rmtven välstä yselyä, ossa leausta e todeta. Kolmon ssältämä X tarottaa sellasta rmtven välstä yselyä, ossa rmtvt leaavat tosensa. Kuvan 8 olmon ssältämä X tarottaa ss törmäysyselyn T(V A,V B ) tuottamaa rmtven a 4 a b 3 välstä leausta.

47 Kuva 8: Törmäysyselyn T(V A,V B ) testuu. Törmäysysely T(V A,V B ) tuottaa testuun, oa e ole bnaarnen. Yleensä ohtesta yrtään raentamaan sellasa raotustlavuusherarota, ota ovat bnaarsa. Tällön myös testuusta tulee bnaarnen. Seuraavas tarastellaan bnaarseen testuuhun lttyvä nvaranttea. Näden nvarantten avulla vodaan määrttää törmäysyselyden luumäärlle alaraat, un äytetään yselyden otmonnssa varhaseen loettamseen seä aallseen oherenssn erustuva tenota. 8.. Bnaarsen testuun nvarantt Tarastellaan uvan 9 muasta bnaarsta testuuta. Kysenen testuu uvaa tlannetta, ossa ahden ohteen välllä on suortettu ymmenen yselyä, oden tulosena on saatu äälleäset raotustlavuudet. Vden yselyn tulosena on saatu erllset raotustlavuudet. Näden lsäs lehttason tarastelussa on suortettu as yselyä, oden tulosena on erllset rmtvt, seä ys ahden rmtvn leausen tuottanut ysely. Jos testuu on bnaarnen, nn se ssältää nvarantn, oa lttää ertyysten törmäysyselyen luumäärän tosnsa sten, että D-I+S+K=. Tässä D on nden yselyen luumäärä, ota tuottavat erllset raotustlavuudet. I on nden yselyden luumäärä, ota tuottavat äälleäset raotustlavuudet. Lehttason yselyssä S antaa sellasten yselyen luumäärän, ota tuottavat erllset rmtvt, a K on leausen tuottaven yselyden luumäärä.

48 Kuva 9: Bnaarnen testuu. Joanen raotustlavuusherarassa suortettu törmäysysely vo äättyä olmella er tavalla uvan 30 muasest. Törmäysysely äättyy, os tutttavat raotustlavuudet ovat erllset, lehttason ysely tuottaa erllset rmtvt ta lehttason rmtvt leaavat tosensa. Kuva 30: Ertyysten törmäysyselyden äättymsehdot. Invarantt D-I+S+K= on nyt todstettavssa ndutolla testuuhun suortettaven törmäysyselyden luumäärän suhteen. Kuvataan testuuhun tehtävää yselysaraa mernnällä (D,I,S,K)=(a,b,c,d), mssä a, b, c a d uvaavat vastaaven törmäysyselyden D, I, S a K luumäärä. Otetaan alus erusasel a suortetaan törmäysysely sellaslle ohtelle, ota ovat erllsä. Tällön saadaan (D,I,S,K)=(,0,0,0), oa toteuttaa nvarantn.

49 Edellsen yselyn anssa yhtätävä loetusehto saadaan, un ysely orvataan uvan 30 ensmmäsen ohdan yselyllä. Tällön alueräseen yselysaraan tulee lsäs ys erllset raotustlavuudet tuottava ysely D seä ys äälleäset raotustlavudet tuottava ysely I. Nyt yselysara on ss muotoa (D,I,S,K)=(,,0,0), mä toteuttaa nvarantn. Jos ensmmänen ysely orvataan uvan 30 tosen ohdan yselyllä, nn tällön yselysarasta vähennetään ys D-ysely a shen lsätään ys I-a ys S-ysely. Nyt yselysara saadaan rotettua muodossa (D,I,S,K)=(0,,,0), oa toteuttaa nvarantn. Vmenen erlanen, mutta alueräsen yselyn anssa yhtätävä loetusehto saadaan, un alueräsestä yselystä ostetaan ys D ysely a shen lsätään ys I- a ys K-ysely. Tällön yselysara on muotoa (D,I,S,K)=(0,,0,), oa toteuttaa nvarantn. 8.. Yläraa varhaseen loettamseen erustuvalle törmäysyselylle Törmäysyselyssä vodaan äyttää varhaseen loettamseen erustuvaa otmonta, os on eätodennäöstä, että as ohdetta törmää tosnsa. Tällasessa taausessa edellä estetty nvarantt vodaan rottaa muodossa D=I+. Nyt ss lehttason törmäysyselyden K a S luumäärät ovat nolla. Varhaseen loettamseen erustuvassa otmonnssa äytetään errosellsta raotustlavuusheraraa. Tämä tarottaa stä, että monmutasem raotustlavuus suletaan ysnertasemman raotustlavuuden ssään. Raotustlavuusen äälleäsyysen testaamnen suortetaan ensn ysnertasemmalla raotustlavuudella. Varsnasta raotustlavuutta äytetään anoastaan, os on ao. Yleensä ysnertasn äytetty raotustlavuus on allo, ona sant avaruudessa vodaan ävttää noeast sen essteen a säteen avulla. Pallon sannn ävtys on huomattavast noeamaa un esmers ohteen muaan suunnatun raotustlavuuden ävtys. Oletetaan, että allon sannn ävttämnen on lmanen tomende a että allolla testaamnen havatsee erllset raotustlavuudet samalla tavalla un ohteen muaan suunnatun raotustlavuuden test. Lsäs oletetaan, että raotustlavuustesten luumäärä ysyy muuttumattomana. Nyt törmäysyselysaralle saatu noeutus, oa on saatu äyttämällä ysnertasema raotustlavuustesteä, vodaan rottaa muodossa s IT + DT IT I D D D = = + +, I DT IT I T T I

50 mssä I on nden törmäysyselyden luumäärä, ota tuottavat äälleäset raotustlavuudet a D on nden törmäysyselyden luumäärä, ota tuottavat erllset raotustlavuudet. T I a T D ovat vastaavast ysesten testen suortusaat. Tässä on huomattava, että D a T D tarottavat alueräsen raotustlavuuden testen luumäärä a suortusaaa. Nmttäästä on ätetty os ysnertasemman testn suortusaa, oa oletettn nollas. Invarantt D=I+ vodaan nyt ysnertastaa muotoon D=I. Kohteen muaan suunnatun raotustlavuuden menetelmässä raotustlavuusen äälleäsyyden havatsemses oudutaan suorttamaan 5 er testä. Jos raotustlavuudet ovat erllsä, nn testeä tarvtaan vähemmän. Nän ollen T D >T I. Jos ysnertasuuden vuos oletetaan, että T D =T I, nn saadaan varhasen loettamsen menetelmän tuoman törmäysyselyn noeutuses s=. Ihanteellsssa olosuhtessa varhaseen loettamseen erustuva törmäysyselyn otmont tuottaa ss asnertasen noeutusen alueräseen törmäysyselyyn verrattuna. Todellsessa tlanteessa ohteden välllä on utenn törmäysä a oudutaan tutmaan myös lehttason rmtven välset leauset. Tällön varhaseen loettamseen erustuvan otmonnn noeutus on alon enem un. 8.3. Yläraa aallseen oherenssn erustuvalle törmäysyselylle Jos oletetaan, että anmaatossa oleven ohteden sannt evät muutu ratasevast eräästen anmaatoruutuen välllä, nn tätä vodaan hyödyntää törmäysyselyden suorttamsessa. Tässä taausessa törmäysyselyä e tarvtse alottaa uurtasoen testaamsella, vaan edellseen anmaatoruutuun lttyvää törmäysyselyä vodaan äyttää hyväs. Tämän toteuttamses yllädetään lstaa edellseen anmaatoruutuun erustuvan törmäysyselyn lehtsolmusta. Ihanteellsessa taausessa ohteet evät törmää, a lehtsolmut ovat testeä, ota tuottavat erllset raotustlavuudet. Uudelle anmaatoruudulle suortetaan törmäystarastelu ohteen uuden sannn muaan äyttämällä edellsen ruudun törmäysyselyn lehtsolmua. Jos ohteden välnen törmäystlanne e muutu, säästytään uur- a lehtsolmuen väln äävltä törmäysyselyltä seä ohteden rmtven välsltä leausyselyltä. Tällön törmäysyselyn noeutus vodaan rottaa muodossa IT + DT IT T s + DT DT T I D I I = = +. D D D

5 Tässän taausessa nvarantta D=I+ on ysnertastettu sten, että D=I. Lsäs oletetaan, että T D =T I. Nän ollen huomataan, että aallseen oherenssn erustuvan törmäysyselyn noeutus hannetaausessa alueräseen nähden on ss s=. Todellsessa tlanteessa noeutusen tuoma hyöty on enem, osa os törmäystlanne muuttuu ahden anmaatoruudun välllä, nn oudutaan suorttamaan myös leaustarastelua lehttason rmtven välllä. Jossan taausssa tömäysysely vodaan outua myös alottamaan edellsen anmaatoruudun lehtsolmua ylemmältä tasolta. Tässä taausessa on utenn nn, että aallsen oherenssn oletus e enää ole vomassa. 8.4. Kontatarmatrs Kontatarmatrs on edellä estellyn testuun ohella työalu, ona avulla vodaan arvoda törmäysyselytä raotustlavuusherarassa. Kontatarmatrsn avulla vodaan todeta, että reursvnen törmäysysely löytää a mahdollset rmtven leauset ahden ohteen olmoveron välllä. Tämän lsäs ontatarmatrsn avulla vodaan löytää ylä- a alaraat törmäysyselyden luumäärälle, un ohteden välllä on >0 törmäystä. Oletetaan, että ohde A ssältää m olmota a ohde B ssältää n olmota. Tällön on olemassa mn mahdollsta törmäysara ohteden A a B välllä. Kohteden A a B välllä taahtuvat rmtven leauset on estetty uvassa 3 olevassa ontatarmatrsssa. Tässä matrsssa ohteen A rmtvt a, a m on estetty matrsn rvenä a ohteen B rmtvt b,,b n matrsn saraena. Kuvan 3 ontatarmatrsn ruutuun mertty - tarottaa, että ohteden A a B rmtvt evät leaa tosaan. Merntä X uolestaan tarottaa ohteden A a B välllä taahtuvaa rmtven välstä leausta. Kontatarmatrsn lääymnen raa an voman menetelmällä on aavaatmuseltaan O(mn) tomende, mutta raotustlavuusheraraan erustuvat törmäysyselyt vovat sulea oonasa matrsn lohoa atotarastelun ulouolelle. Seuraavas tuttaan raotustlavuusheraraan erustuvan törmäysyselyn yyä löytää a leauset ahden ohteen välllä. Tämän äleen etstään ylä- a alaraat törmäysyselyden luumäärälle >0 törmäysen löytämses.

5 Kuva 3: Kontatarmatrs. 8.5. Törmäysyselyn oeellsuus raotustlavuusherarassa Tarastellaan ohteden A a B välstä törmäysyselyä T(V A,V B ). Tämä ohtaa alyselyhn, ossa vertallaan suuremman raotustlavuuden lasa enemään raotustlavuuteen. Tässä yselysarassa verrataan ss vuorotellen raotustlavuusheraran V A lasa raotustlavuusheraraan V B a änvaston. Tämä yselytaa ohtaa loulta molemen raotustlavuusheraroden V A a V B osttamseen raotustlavuusen ooen määräämllä tavolla. Tämä osttamnen määrää myös ontatarmatrsn lohoen määräytymsen. Kuva 3 esttää ontatarmatrsn lohon muodostumsen yselyllä T(V A0,V B ). Kuvassa 3 oletetaan, että ohteden A a B rmtvt a,,a 7 a b,,b 7 ovat uden A a B esärestysulemsen määräämssä ärestysssä. Kysely T(V A0,V B ) tuottaa erllset raotustlavuudet V A0 a V B. Tämä tarottaa stä, että ysään nstä rmtvestä, ota ssältyvät raotustlavuuteen V A0, e vo leata raotustlavuudessa V B oleva rmtveä. Kontatarmatrsssa tämä näyy x3-oosena allohona, oa on mertty arvolla -. Nyt on huomattava, että ontatarmatrsssa saattaa olla leaussta vaaa loho, vaa test tuottas äälleäset raotustlavuudet. Joa taausessa erllset raotustlavuudet tuottava test taaa sen, että testä vastaava loho ontatarmatrsssa e ssällä rmtven välsä leausa.

53 Kuva 3: Törmäysyselyn T(V A0,V B ) tuottama x3-oonen loho, ossa e ole ohteden A a B rmtven välllä leausa. Käydään seuraavas lä uvssa 3, 4, 5, 6 a 7 estetty törmäysysely T(V A,V B ). Kuvan 3 esttämä ohde A ssältää nelä vvasegmenttä a uvan 4 esttämä ohde B ssältää vs vvasegmenttä. Nän ollen ohteden A a B vällle saadaan ontatarmatrs, ossa on nelä rvä a vs saraetta uvan 33 muasest. Kuva 33: Raotustlavuusherarota A a B vastaava ontatarmatrs.

54 Kuvassa 33 raotustlavuusheraroden A a B välsessä ontatarmatrsssa on havattu ys leaus rmtven a 4 a b 3 välllä. Kuvan 33 ontatarmatrs uvaa ensmmästä törmäysyselyä ohteden A a B välllä. Tämä ysely ohtaa ahteen uuteen törmäysyselyyn uvan 34 muasest. ao. Kuva 34: Kyselyden T(V A0,VB) a T(V A,VB) tuottama ontatarmatrsn Kuvassa 34 on estetty tlanne, ossa yselyt T(V A0,VB) a T(V A,VB) aavat alueräsen ontatarmatrsn ahteen lohoon. Molemmat lohot tuottavat äälleäset raotustlavuudet. Kuvsta 5 a 6 vodaan nähdä, että seuraavas suortetaan uus törmäysyselyä raotustlavuusen (V A0, V B0 ), (V A0, V B ), (V A0, V B ), (V A, V B0 ), (V A, V B ) a (V A, V B ) välllä. Näden yselyden suorttamsen äleen ontatarmatrs on uvan 34 muanen. Harmaalla värllä sävytetyt lohot tarottavat erllsä raotustlavuusa. Tämä tarottaa stä, että nässä lohossa e vo olla leaava rmtveä, eä nätä lohoa tarvtse enää testata. Vmesenä suortetaan as yselyä uvan 35 muasest. Kyselyt T(V A0,V B ) a T(V A,V B ) tuottavat umn äälleäset raotustlavuudet. Näden testen äleen raotustlavuusherarota V A0, V A0 a V B e enää voda aaa enemms, vaan on suortettava leaustestt ysesssä raotustlavuusssa oleven rmtven välllä. Prmtven välsä leaustesteä on mertty vvotusella uvassa 35.

55 Kuva 35: Kontatarmatrs rmtven leausen löytymsen äleen. Törmäysyselyen suorttamnen vodaan nähdä ontatarmatrsn lomsena enemn osn raotustlavuusen suuruuden avulla. Joa taausessa törmäysyselyä atetaan nhn testuun haarohn, osta raotustlavuusen äälleäsyydet löytyvät. Nän ollen raotustlavuusherarohn erustuva törmäysysely löytää a ohteden A a B välllä olevat rmtven leauset. Nän on ss, että ysään ontatarmatrsn osont e vo taahtua sten, että on loho outus erstetys tuleven alyselyden ulouolelle. Seuraavas tarastellaan raotustlavuusheraraan erustuven törmäysyselyden luumäärän ylä- a alaraoen määräytymstä ontatarmatrsn avulla. 8.6. Törmäysyselyden luumäären raat raotustlavuusherarassa Raotustlavuusherarassa suortettaven törmäysyselyden luumäären ylä- a alaraoen määrttämses tarvtaan deaalsen raotustlavuuden ästettä. Ideaalnen raotustlavuus on sellanen uvtteellnen raotustlavuus, ota äytettäessä törmäysysely tuottaa erllset raotustlavuudet, os a van os ysesten raotustlavuusen ssältämät rmtvt evät leaa tosaan. Tällasen deaalsen raotustlavuuden tuottama törmäysyselyden luumäärän alaraa on myös mnä tahansa raotustlavuustyyn törmäysyselyden alaraa. Seuraavssa tarastelussa oletetaan, että äytettävssä on deaalnen raotustlavuus.

56 8.7. Yhden leausen löytämnen törmäysyselyllä Oletetaan, että ontatarmatrs ssältää anoastaan yhden leausen ahden ohteen rmtven välllä. Oletetaan lsäs, että ummann ohteen deaalnen raotustlavuusherara on täydellsest tasaanonen bnaaruu. Täydellsest tasaanonen bnaaruu tarottaa ss stä, että ohteen raotustlavuusherarassa on n= m rmtvä, mssä m on bnaaruun tasoen luumäärä. Tällasessa taausessa ontatarmatrsssa on n solua a yhden leausen löytämseen tarvtaan logn + törmäysyselyä. Törmäysyselyden luumäärä vodaan todeta seuraavast. Ensmmänen törmäysysely tuottaa oo ontatarmatrsn, ossa on n solua. Tonen törmäysysely aaa ontatarmatrsn ahteen yhtä suureen osaan, ossa molemmssa on n / solua. Tonen osa ssältää leausen a tonen on tyhä, eä stä tarvtse enää tuta. Leausen ssältämä ontatarmatrsn loho aautuu seuraavalla törmäysyselyllä edelleen ahteen lohoon, ossa on molemmssa n /4 solua. Leausen löytämses törmäysyselytä atetaan, unnes ontatarmatrsssa on älellä loho, ossa on as solua, osta tonen ssältää haettavan leausen. Tällasen assolusen lohon löytämses ontatarmatrsa täytyy aaa s=logn ertaa. Joanen ontatarmatrsn ao ohtaa ahteen törmäysyselyyn sten, että tonen lohosta ssältää leausen a tonen e, oten törmäystesten luumääräs saadaan logn +. Tässä yösen lsäämnen tarottaa ensmmästä törmäysyselyä, oa e velä aa ontatarmatrsa osn. 8.8. Alaraa törmäysyselyden luumäärälle Oletetaan, että tutttavana on as täydellsest tasaanosta deaalsta raotustlavuusheraraa, ossa on lehttasolla n rmtvä. Jos lehttason rmtven välllä on >0 leausta, nn alaraa törmäysyselylle näden leausten löytämses on a(n,)=log(n /)+-. Tämä vodaan todeta helost uvan 35 ontatarmatrsn avulla. Ihanteellsessa taausessa ohteden rmtven leauset ssältyvät a samaan lohoon a alus vodaan mahdollsmman enellä törmäysyselyden määrällä sulea ontatarmatrsn muut lohot törmäysyselyden ulouolelle. Tässä taausessa ontatarmatrsn lohomsten luumääräs saadaan log(n /). Leauset ssältävän lohon erstämsen

57 äleen tarvtaan velä - lohomsta aen erllsten leausten löytämses. Tämä vodaan todeta uvan 36 alaosan ssäsolmuen luumäärän avulla. Kosa oanen lohomnen aheuttaa as törmäysyselyä saadaan törmäysyselyden luumäärän alaraas a(n,)=log(n /)+-. Kuva 36: Leauset ssältyvät yhteen lohoon. 8.9. Yläraa törmäysyselyen luumäärälle Tlanne on huonon törmäysyselyden luumäärän annalta sllon, un a ohteden välset leauset sottuvat ontatarmatrsssa omaan lohoonsa. Tällanen tlanne on estetty uvassa 37. Tässä tlanteessa ontatarmatrs ssältää lohoa, oden erstämses tarvtaan - lohomsta. Näden lohoen ssältämen leausten löytämses tarvtaan oaselle loholle log(n /) lohomsta. Aasemmasta mustetaan, että oanen lohomnen aheuttaa as törmäysyselyä, oten törmäysyselyen yläraas saadaan a(n,)=log(n /)+-.

58 Kuva 37: Leausten sottumnen omn erllsn lohohn. 9. Testärestely Seuraavas tarastellaan testärestelyä, ona tarotusena on tuta törmäysyselyden suorttamsen vautusta ruudunävtysnoeuteen. Testä varten on toteutettu c++-ohelmontelellä en ohelma, ohon vodaan ladata 3D Studo Max-ohelmalla [9] tehtyä olmoveromallea. Ohelma muodostaa mallelle uuton muotoset raotustlavuudet sten, että mallt mahtuvat nhn melvaltasssa asennossa. Tämän lsäs mallen olmosta muodostetaan raotustlavuusherarat, oden solmut ovat ohteen muaan suunnattua raotustlavuusa. Ohelma srtää a ertää ohteta melvaltasest. Joasen srron äleen tuttaan uutonmuotosten raotustlavuusen äälleäsyys a muodostetaan lsta äälleässtä ohdearesta. Tämän äleen suortetaan lstassa olevlle ohdearelle rmtvtasolle menevä törmäysysely Rad [6]-törmäysyselyrastolla. Ohelmassa on toteutettu ysnertanen vsualsont Mcrosoft DrectX 9.0 SDK:n [] avulla. Testn suorttamses ohelmaan ladataan n ohdetta, ota lutetaan melvaltasest mnuutn aan. Ensn ohelma suortetaan lman törmäysyselytä, ollon mtataan esmääränen ruudunävtysnoeus. Tämän äleen ohelma suortetaan sten, että ruudunävtysnoeuden lsäs lasetaan törmäysyselyen a havattuen rmtven leausten luumäärät. Joanen test suortetaan olme ertaa. Ohelmassa äytetään ahta ertyystä malla, ota ovat uuto a allo. Mallen olmoden luumäärät lmotetaan testtulosen yhteydessä. Ensmmänen test suortetaan sten, että shen ladataan ymmenen malla. Tosessa testssä äytetään ahtaymmentä malla. Kuvssa 38 a 39 on uvaaaauset uuton a allon testestä ymmenen malln taausessa. Testt suortetaan tetooneella, ossa on AMD 000+-suortn, Geforce3- näytönohan seä 5MB musta.

59 Kuva 38: Törmäystest uutolla Kuva 39: Törmäystest allolla 9.. Testtuloset Ensmmäsessä testssä äytetään ymmentä uutota, ossa oasessa on astosta olmota. Testtuloset on lmotettu tauluossa. Tauluon testnumero 0 tarottaa testä lman törmäysyselytä. Testt -3 ovat normaaleta testtulosa a testnumero 4 tarottaa testen -3 esarvoa. Tämä merntätaa on vomassa myös tauluossa 3, 4 a 5. Tauluoden