Abstract
Visualisering av trianguleringer og trianguleringsprosesser
Sammendrag av hovedfagsoppgave
Per-Idar Evensen
Bakgrunnen for denne hovedfagsoppgaven var ønsket om en interaktiv trianguleringsapplikasjon som primært skulle brukes i undervisningssammenheng. Denne applikasjonen skulle ta utgangpunkt i pensumet som undervises i trianguleringskurset ved Institutt for informatikk, INF-MAT5370 (tidligere INF-TT), og være et hjelpemiddel til å illustrere og demonstrere sentrale deler av dette. I tillegg skulle applikasjonen anvende trianguleringsbiblioteket TTL (Triangulation Template Library) og dermed også være en slags demoapplikasjon for dette biblioteket.
Dette er hovedsakelig en oppgave innenfor visualisering. Applikasjonen visualiserer Delaunay-trianguleringer i planet, med og uten føringer, som blir beregnet av TTL. I tillegg har vi plukket ut noen andre konsepter relatert til Delaunay-trianguleringer, som Voronoi-diagram, omskrivende sirkler og influensregion, og visualisert disse. Applikasjonen bruker OpenGL til å generere datagrafikken.
Hovedproblemstillingen i oppgaven har vært å finne hensiktsmessige måter for å visualisere Delaunay-trianguleringer og teorien rundt disse. Applikasjonen vi har laget har, høy grad av brukerinteraksjon. Den har blant annet en nyttig funksjon hvor brukeren kan ta tak i og flytte en node rundt i trianguleringen, som da oppdateres fortløpende i sanntid. Dette gir brukeren mulighet til fritt å utforske forskjellige situasjoner som kan oppstå i en Delaunay-triangulering.
Vi har kalt applikasjonen for TriangTutor, fordi den først og fremst er en applikasjon som skal brukes til å lære trianguleringsteori. Det er meningen at TriangTutor både skal kunne brukes av en lærer eller foreleser til å illustrere og demonstrere teori og av studenter for å prøve ut forskjellige situasjoner og kanskje få en bedre forståelse av teorien. Det er lagt vekt på at applikasjonen skal være brukervennlig og enkel å ta i bruk. Den er dessuten plattformuavhengig, og det foreligger både en Windows-versjon og en Linux/Unix-versjon. Det er også lagt vekt på å lage en godt strukturert kode som er fyldig kommentert, slik at hele eller deler av denne kan brukes som basis for nye hovedoppgaver.