Fotogrammetrian seminaari. Kolmiulotteisen pinnanmuodostuksen asettamat vaatimukset 3D-digitoinnin suorittamiseen

Samankaltaiset tiedostot
, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Kimppu-suodatus-menetelmä

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Kenguru 2016 Cadet (8. ja 9. luokka)

Osakesalkun optimointi

Johdatus tekoälyn taustalla olevaan matematiikkaan

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

Luento 6: Stereo- ja jonomallin muodostaminen

Laskennallinen menetelmä puun biomassan ja oksien kokojakauman määrittämiseen laserkeilausdatasta


Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Algoritmit 2. Luento 13 Ti Timo Männikkö

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

1. Lineaarinen optimointi

Matematiikan tukikurssi

2 Pistejoukko koordinaatistossa

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Kombinatorinen optimointi

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

10. Esitys ja kuvaus

Derivaatta: funktion approksimaatio lineaarikuvauksella.

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

Luento 6: 3-D koordinaatit

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

Tietorakenteet ja algoritmit

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Luento 6: Tulostusprimitiivien toteutus

Algoritmit 2. Luento 6 To Timo Männikkö

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

valitseminen vaikuttaa laskennan aikana ratkaistaviin yhtälöryhmiin.

Materiaalifysiikan perusteet P Ratkaisut 1, Kevät 2017

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

Demo 1: Simplex-menetelmä

Pintoja kuvaavien verkkojen muodostaminen ja optimointi. Antti Seppälä

Differentiaali- ja integraalilaskenta

M 1 ~M 2, jos monikulmioiden vastinkulmat ovat yhtä suuret ja vastinsivujen pituuksien suhteet ovat yhtä suuret eli vastinsivut ovat verrannolliset

MAA3 TEHTÄVIEN RATKAISUJA

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

Vanhoja koetehtäviä. Analyyttinen geometria 2016

7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen

Osafaktorikokeet. Heliövaara 1

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Luento 3: 3D katselu. Sisältö

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 1: Parametrisoidut käyrät ja kaarenpituus

Kenguru 2019 Student lukio

Algoritmit 2. Luento 6 Ke Timo Männikkö

Fysiikan laboratoriotyöt 1, työ nro: 2, Harmoninen värähtelijä

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

Signaalien generointi

Suurteholaskenta-algoritmien hyödyntämien suurten kohteiden tutkavasteen laskennassa

MAB3 - Harjoitustehtävien ratkaisut:

Tehtävä 1. Oletetaan että uv on neliö ja (u, v) = 1. Osoita, että kumpikin luvuista u ja v on. p 2j i. p j i

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

JHS 163 Suomen korkeusjärjestelmä N2000 Liite 3. Geoidimallit

SINI- JA KOSINILAUSE. Laskentamenetelmät Geodeettinen laskenta M-Mies Oy

TUULIKKI TANSKA ALGORITMIT PUURAKENTAMISESSA

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Paikkatiedon käsittely 6. Kyselyn käsittely

Määrittelydokumentti

Harjoitus 9: Excel - Tilastollinen analyysi

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

Ratkaisuehdotukset LH 7 / vko 47

Partikkelit pallon pinnalla

C.C. McGeoch, Toward an experimental method for algorithm simulation. algorithm simulation = algoritmin testaus, experimental algorithmics

Juuri 7 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty c) sin 50 = sin ( ) = sin 130 = 0,77

1 sup- ja inf-esimerkkejä

Luku 8. Aluekyselyt. 8.1 Summataulukko

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon

Algoritmit 1. Luento 10 Ke Timo Männikkö

Luento 7: Kuvan ulkoinen orientointi

Kenguru 2013 Cadet (8. ja 9. luokka)

Vastepintamenetelmä. Kuusinen/Heliövaara 1

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

Vapo: Turveauman laskenta 1. Asennusohje

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

Paraabeli suuntaisia suoria.

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

Tekijä Pitkä matematiikka

Preliminäärikoe Tehtävät Pitkä matematiikka / 3

SISÄLTÖ Venymän käsite Liukuman käsite Venymä ja liukuma lujuusopin sovelluksissa

Virhearviointi. Fysiikassa on tärkeää tietää tulosten tarkkuus.

Anna jokaisen kohdan vastaus kolmen merkitsevän numeron tarkkuudella muodossa

Harjoitus 3 ( )

= = = 1 3.

1 sup- ja inf-esimerkkejä

a) on lokaali käänteisfunktio, b) ei ole. Piirrä näiden pisteiden ympäristöön asetetun neliöruudukon kuva. VASTAUS:

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Harjoitus 3 ( )

4.3. Matemaattinen induktio

12. Hessen matriisi. Ääriarvoteoriaa

A-osa. Ratkaise kaikki tämän osan tehtävät. Tehtävät arvostellaan pistein 0-6. Taulukkokirjaa saa käyttää apuna, laskinta ei.

Harjoitustyö 3. Heiluri-vaunusysteemin parametrien estimointi

Luento 2 Stereokuvan laskeminen Maa Fotogrammetrian perusteet 1

Transkriptio:

Fotogrammetrian seminaari Kolmiulotteisen pinnanmuodostuksen asettamat vaatimukset 3D-digitoinnin suorittamiseen 1

Johdanto...3 Alkuoletukset pisteaineistolle...3 Kolmiopinnan muodostaminen...5 2D-Marching cubes...5 3D-Marching cubes...6 Marching cubes sovellettuna käytäntöön...7 Tangenttipinnan estimointi...8 Verkon optimointi...9 Valinta tarkkuuden ja kompaktiuden välillä...9 Energiafunktion määrittely...10 Tulokset...13 Päätelmät...13 viitteet...15 2

Johdanto Pinnanmuodostukseen pisteaineistosta on kolme eri algoritmia: - Delanykolmiointi, joka toimii vain 2D+1D pinnoille. - Pisteitten yhdistys mittausjärjestyksessä eli peräkkäin mitatut pisteet ovat aina rinnakkaisia. - Marching cubes, jossa pisteaineistosta muodostetaan kuutiohila. Delany ei sovellu aidolle 3D-kappaleelle ja jos pisteaineisto on mitattu järjestyksessä ei tarvita muuta kuin alkeellinen yhdistysalgoritmi. Jos pisteaineisto on mitattu useasta eri suunnasta ja mahdollisesti eri mittausmenetelmillä, on marching cubes ainut mahdollinen algoritmi pinnan muodostukseen. Sen päälle on tehty useita pinnan muotoa optimoivia ratkaisuja. mutta kaikki perustuvat samaan kuutiohilaan. Alkuoletukset pisteaineistolle Jos aluksi oletamme pisteaineiston järjestämättömäksi, emme voi sanoa varmuudella, mikä piste on kunkin pisteen naapuri tai pinnan piste. Näin on, jos mittaukset on tehty useasta suunnasta ja pisteaineistot on yhdistetty. Peräkkäisten ja järjestettyjen pisteiden muuntaminen pinnaksi on yksinkertainen tehtävä, jossa vierekkäiset pisteet voidaan helposti liittää toisiinsa miettimättä pinnan muotojen muutoksia. Kun pisteaineisto on koottu useasta eri suunnasta, täytyy pisteaineisto ensin koota yhdeksi ja järjestää 3D-avaruuteen. Samalla voidaan karsia myös häiriöpisteet mallilta. Mittausta tehtäessä on suunniteltava, kuinka tarkka malli pinnasta halutaan eli mitkä ovat pienimmät näkyvät muodot. Pinnan muodostuksessa määritellään? joka on pisteiden etäisyys toisistaan ja? joka on etäisyyksien vaihteluväli. Parametria??? käytetään useaan eri tarkoitukseen. Parametri määrittää pisteitten tiheyden sekä tiheyden vaihtelun seuraavasti: - Se määrittelee pisteiden naapuruuden Nbhd(x i ) estimoitaessa tangenttitasoja pinnalle. - Sitä käytetään tangenttipintojen yhdistämiseen toisiinsa Riemanin kuvaajassa. 3

- Se määrittää onko, arvioitaessa määrättyä etäisyysfunktiota, p:n projektio lähimmälle tangenttipinnalle rajan sisällä. - Sitä käytetään määrittämään pienimpiä kappaleessa esiintyviä muotoja. Parametrin??? vaikutus ensimmäisessä vaiheessa muodostettuun verkkoon 4

Kolmiopinnan muodostaminen Kolmiopinnan muodostamiseen tasopinnalle on useita eri algoritmejä, joista yleisimmin tunnettu on Delany-kolmiointi. Kirjallisuudessa sanotaan sen soveltuvan kolmiulotteiseen pintaan vaihtamalla ympyrät palloiksi, mutta todellisuudessa sitä voidaan käyttää vain 2D+1Dtapauksissa, koska Delany-kolmioinnissa pinnat kasvavat yhteen. Ainut laajasti tunnettu tapa pinnan muodostukseen 3D-mallista on Marching cubes tai sen optimoidut toteutukset. Marching cubes on William E. Lorensen ja Harvey E. Clinen kehittämä pinnansovitusalgoritmi 3D-mallien muodostukseen. Edellisessä vaiheessa muodostettua tangenttipintaa voidaan käyttää kappaleen pinnan rajaukseen. Toteutus on kuvattu 2D- ja 3D-muodossa, koska asian hahmottaminen on paljon helpompaa, jos se esitetään ensin 2D-tilassa. 2D-Marching cubes Jos pisteellä, joka on pienempi kuin raja-arvo, on naapuripiste, joka on suurempi kuin raja arvo, on pinnan on oltava pisteitten välissä. Kun käytetään ensimmäisen kuvan data, niin algoritmi määrittää ensin, mitkä pisteet ovat sisäpuolella. Seuraavaksi määritetään, mitkä neliön sivut ovat sisällä osittain tai kokonaan. Nyt voidaan valita sivut, jotka leikkaavat reunaviivaa. Yksinkertaistuksena oletetaan, että sivu leikkaa reunaviivaa aina sivun keskikohdasta. Tarkempi 5

ja parempia määritysmenetelmä olisi määritää sivulle 3 tai 5 leikkaus kohtaa reunaviivalle. Menetelmällä saadaan pisteet, joiden kautta voidaan piirtää reunaviivan approksimaatio. 3D-Marching cubes Sama algoritmi toimii myös 3D-tilassa. Tekniikka on sama kuin 2D-mallissa, mutta - neliöt on muutettu kuutioiksi - tuloksena ei saada viivoja vaan kolmiopintoja. Kuutiossa on 8 kulmaa, jokainen kulma voi olla joko sisä- tai ulkopuolella pinnasta eli saadaan 256 vaihtoehtoista tapausta pisteitten sijainnille pinnan suhteen. Koska sivu voi kohdata pinnan vain kerran, saadaan 256 mahdollista pinnanmuodostustapausta kuutiossa. Tapausten määrä voidaan pelkistää 256 tapauksesta 15 tai14 tapaukseen, jos jätetään pois tapaukset, joissa yksikään piste ei ole pinnalla. Yksinkertaistus voidaan suorittaa käsittelemällä samana tapauksena tilat, joissa tapaus voidaan muodostaa toisesta tapauksesta: - kiertämällä minkä tahansa x,y,z-akselin ympäri, - peilaamalla minkä minkä x,y,z-akselin suhteen tai - kiertämällä kaikkia pisteitä. Tapausten yhdistäminen vähentää merkittävästi algoritmin monimutkaisuutta, koska kaikki tapaukset voidaan muodostaa 15 perustapauksesta yksinkertaisilla operaatioilla. Kuvassa sininen piste kuvaa pistettä, joka on pinnan sisällä ja vihreä nuoli pinnan normaalin suuntaa. Kolmioitten laskentaan voidaan yksinkertaisimmillaan olettaa sivujen leikkaavan aina keskikohdassa, mutta se antaa epätarkan tuloksen, koska kolmioitten asennoille on vain 6

rajallinen määrä vaihtoehtoja. Parempaan tulokseen päästään pienentämällä kuutioita tai jakamalla kuution sivu useampaan osaan. Huonon approksimaation vaikutukset voidaan korjata vain paremmalla algoritmilla määrittämällä kolmion pinnat kuution sisällä. Yksi nopeimmista ja käytetyimmistä menetelmistä on linear interpolation. Jokaiselle pinnalle annetaan interpolaatioarvo, minkä jälkeen pinnan asento on helppo määritellä samaksi kuin raja-arvopinnan. Kolmion nurkkapisteitten gradientit voidaan laskea interpoloimalla kuution nurkkapisteitten gradienteista. Marching cubes sovellettuna käytäntöön Tarkan approksimaation muodostamiseksi pinnasta ja sen muodosta määritellään pisteistölle kuutiohila, jossa kuution sivun pituuden on oltava????. Jokaisen kuution sisällä on vähintään yksi piste ja algoritmin nopeuttamiseksi pinnan etsinnässä tutkitaan vain naapurikuutioiden pisteitä. Pinnan määrittämiseksi lasketaan määrätty etäisyys lähimmästä hilapisteestä mitatun pisteen tangenttipinnalle. Jos etäisyys hilapisteestä pinnalle on suurempi kuin???, niin piste ei voi olla pinnan piste. Pisteitten etäisyyksistä approksimoidaan pienimmän neliösumman menetelmällä pinta, jonka muoto jäljittelee alkuperäistä kappaletta. 7

Ensimmäisen vaiheen tulos on approksimoitu verkko Z( ). Verkko on tiheä ja sillä on sama topologia kuin pinnalla U, mutta se ei ole tarkka malli alkuperäisestä kappaleesta. Tangenttipinnan estimointi Verkon optimoitiin tarvitaan malli pinnan tangenttipinnan muutoksista, joilla voidaan määrittää pinnan muotoa. Ensimmäiseksi lasketaan orientoitu tangenttipinta jokaiselle pisteelle. Valitaan pisteen läheisyydestä k pistettä joukosta X ja pienimmän neliösumman menetelmällä etsitään parhaiten sopiva tangenttipinta pisteelle. Samalla tehdään myös läheisten pintojen keskinäinen orientointi. Orientointia varten jokaiselle pinnalle määrätään painoarvo, jossa n on pinnan tangenttivektori. Jos, ovat tangenttipinnat lähes toistensa suuntaisia. Pintojen keskinäiseen orientointiin muodostetaan kuvaajan optimointitehtävä, joka ratkaistaan käyttämällä "ahne"(greedy) -algoritmia. Algoritmi pyrkii levittämään orientoinnin aina siihen suuntaan, jossa pinnat ovat lähes toistensa suuntaisia ja välttämään alueita, joilla orientointi on vaikeampaa. Määrätty etäisyysfunktio 8

Määrätty etäisyysfunktio on mielivaltaisen pisteen ja pinnan välinen lyhin etäisyys kerrottuna? 1:llä. Jos piste on kauempana pinnasta kuin? +?, se ei voi olla pinnan piste, koska pinnalla pisteiden etäisyys toisistaan on? ja virhemittauksessa?. Verkon optimointi Marching cubes antaa pinnasta hyvän ja tarkan pintamallin, joka jäljittelee pinnan topologiaa, mutta se ei ole optimoinut pintamallia ja verkon optimointi joudutaan tekemään erikseen. Optimoinnilla poistetaan tarpeettomia kolmio pintoja ja tihennetään verkkoa sopivilta alueilta. Verkon optimoinnin ratkaisemiseksi minimoidaan energiafunktio (energy function), jossa on vastakkain kompakti verkko ja tarkka malli pinnasta. Käyttämällä vaiheessa 1 saatua verkkoa M 0 lähtökohtana minimoidaan epälineaarinen energiafunktio vaihtelemalla sivujen määrää, pisteiden sijainteja ja niiden välisiä kytkentöjä (ehtona on että alkuperäinen topologia säilyy). Oletuksena on että optimointi käy läpi kaikki verkot, joilla on sama topologia kuin verkolla M 0. Parhaan mahdollisen verkon löytymistä ei voida taata, mutta tulos on kuitenkin riittävän hyvä. Valinta tarkkuuden ja kompaktiuden välillä Verkon optimoinnissa valinta tarkkuuden ja kompaktin välillä on käyttäjän määrittelemällä parametrilla c rep. Suurella c rep arvolla tulee verkosta karkea ja pienellä kompakti. Arvo on suhteutettava pisteitten mittaustiheyteen eikä verkon tiheyttä voi kasvattaa yli mittaustarkkuuden rajan. 9

Energiafunktion määrittely Verkon optimoinnin tarkoituksena on tehdä verkko, joka on hyvä sovitus mitatuille pisteille X ja jonka sivujen määrä on mahdollisimman pieni. Etsitään ryhmä K ja joukko sivuja V määrittämään verkko M=(K,V), joka minimoi energiafunktion niin, että se vastaa asetettuja vaatimuksia. E(K,V) = E dist (K,V)+ E rep (K,V) + E spring (K,V). i E dist on pisteiden etäisyyksien neliösumma verkosta M 0, joka rankaisee, kun pisteiden topologia poikkeaa verkon topologiasta. E rep rankaisee sivujen määrästä ja mahdollistaa sivujen poistamisen. 10

Optimointi mahdollistaa sivujen poiston ja lisäyksen verkkoon. Kun sivu lisätään, E dist pienenee. Samalla E rep rankaisee operaatiosta niin, että sivuja ei lisätä loputtomiin. Vastaavasti jos sivu poistetaan, kasvaa E dist -arvo ja E rep -arvo pienenee. Käyttäjä määrittelee arvon, jolla voidaan säädellä verkon tiheyttä ja mallin tarkkuutta. Pelkästään summan E dist + E rep minimointi ei tuota haluttua tulosta. Kun minimoidaan vain E dist, estimoidussa pinnassa on monia lisäyksiä, joita ei ole alkuperäisessä kappaleessa, koska minimiä E dist + E rep ei välttämättä ole olemassa. 11

Minimin olemassaolon takaamiseksi lisätään kolmas termi E spring. Se asettaa jokaiselle sivulle verkossa 0-pituisen jousen ja jousivakion?. 12

Minimoimalla E käyttäen lisänä E spring saadaan paljon stabiilimpi lopputulos. Jousivoima ei ole tasainen voima. Sen tehtävänä ei ole poistaa teräviä reunoja, joita voi esiintyä kappaleessa. Jousivoiman tehtävänä on tasata verkkoa ja helpottaa optimointia. Tulokset Jos kolmiulotteisesta mallista halutaan muodostaa pintamalli, joka on tarkka, ja kolmion pintamalli on optimoitu, niin on lähtöaineiston oltava mahdollisimman tasalaatuinen. Mittaustarkkuuden on pysyttävänä samana joka puolella kappaletta ja pinnan muodot eivät saa olla pienempiä kuin?? 3??tai pinnat kasvavat yhteen. Tiheä pisteytys jää optimoinnin jälkeen vain kohtiin, joissa pinnan muodot muuttuvat voimakkaasti ja tasaisilla alueilla kolmiointi on harva. Pieniä puutteita mittauksissa voidaan paikata: - Aukot voidaan peittää, jos voidaan varmasti olettaa, että aukon kohdalla pinnan normaali on saman tai lähes saman suuntainen kuin ympäröivien pintojen normaalit. - Häiriöpisteet, jotka poikkeavat selvästi verkon muusta topologiasta, on helppo suodattaa pois. - Pintojen päällekkäiset pisteet eivät haittaa pinnan muodostusta, kunhan pisteaineisto on riittävän tiheä. - Jos pisteistön tiheys vaihtelee suuresti, on mallin muodostus jaettava osiin, joissa tarkemmat alueet mallinnetaan erikseen ja liitetään myöhemmin epätarkkoihin alueisiin. - Verkon optimoinnilla voidaan poistaa huomattava määrä tarpeettomia kolmiopintoja, mutta alkuperäisen pisteistön on oltava tarkka. Päätelmät Marching cubes soveltuu lähes kaikkiin 3D-mallinnus kohteisiin, jos pinta on mitattu riittävän tiheällä verkolla ja verkko on tasalaatuinen. Algoritmi pystyy käsittelemään pinnan haarautumat, reiät ja tangenttipinnan voimakkaat muutokset edellyttäen pienimmän muodon, jonka halutaan näkyvän, olevan mittaustiheys + 3 x mittaustiheyden hajonta. Jos kappaleessa on pinnan muotoja, joiden koko on pienempi kuin edellä mainittu miniarvo, niitä ei pystytä kappaleesta 13

mallintamaan. Pistetiheyttä ei voida muuttaa eri puolilla kappaletta, vaikka se pinnan muotojen kannalta olisikin järkevää. Käytännöllisin menetelmä on mitata kappale useassa osassa ja mallintaa osat erikseen ja yhdistellä ne toisiinsa valmiina kappaleina. 14

Viitteet http://research.microsoft.com/~hoppe/ http://www.exaflop.org/docs/marchcubes/ind.html http://www.siggraph.org/education/materials/hypervis/vistech/volume/surface4.htm http://www.cosc.brocku.ca/project/info/grossi/detmarch.html http://www.wheatchex.com/projects/viz/02b_mcubes/ http://astronomy.swin.edu.au/~pbourke/modelling/polygonise/ http://www.it.uu.se/edu/course/homepage/grafik2/public_html_2002/discretizedmarchin gcubes.pdf http://www.cs.technion.ac.il/~u_shani/cs236807-s2/lecturesstudents/marching%20cubes.pdf 15