FAKULTET FOR INFORMASJONSTEKNOLOGI, MATEMATIKK OG ELEKTROTEKNIKK HOVEDOPPGAVE

Størrelse: px
Begynne med side:

Download "FAKULTET FOR INFORMASJONSTEKNOLOGI, MATEMATIKK OG ELEKTROTEKNIKK HOVEDOPPGAVE"

Transkript

1 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET FAKULTET FOR INFORMASJONSTEKNOLOGI, MATEMATIKK OG ELEKTROTEKNIKK HOVEDOPPGAVE Kandidatens navn: Joakim Tysseng Fag: Datateknikk Oppgavens tittel (norsk): Observasjonspunkttilpasset projeksjon i et distribuert system for bildeveiledet kirurgi Oppgavens tittel (engelsk): Viewpoint adapted projection in a distributed system for image guided surgery Oppgavens tekst: Innen minimalt invasiv terapi benyttes i stadig økende grad 3D-datagrafikk for å veilede kirurgi og visualisere objekter som befinner seg utenfor brukerens synsfelt. Kombinert med stereografiske bildemetoder, er slik grafikk med på å øke nøyaktigheten av, og senke tiden brukt ved, kirurgiske inngrep. I dag benyttes hovedsaklig hodemonterte display (HMD) for å fremstille stereografiske bilder. Dette utstyret har enkelte ulemper som gjør det upraktisk i bruk. Som et alternativ til HMD, kan man benytte lerretsprojeksjon. Ved hjelp av spesialmaskinvare oppnår man stereosyn, samtidig som fysiologiske problemer knyttet til bruk av HMD elimineres. Visning av stereografiske bilder på lerret introduserer imidlertid nye problemer. Dersom observatøren ikke befinner seg sentrert foran lerretet, vil bildene oppfattes som forvrengte. Dette medfører at objektenes romlige plassering endres dersom observatøren forflytter seg. Objektenes bevegelser er kontraintuitive, de reduserer maksimal oppnåelig presisjon og kan resultere i ubehag for brukeren av systemet. Det er derfor ønskelig å utvikle et system som tar hensyn til observatørens posisjon. Ved å tilby relasjoner mellom den virtuelle og reelle verden som resulterer i objektbevegelser som kjennes naturlige for observatøren, kan bruken av et slikt system forenkles og ubehagsfølelsen motvirkes. For å redusere maskinvarekostnadene bør systemet distribueres over en klynge av standard-pc-er. Utred eksisterende systemer for distribuert rendrering og foreslå løsninger for et fremtidig system. Foreslå videre mulige relasjoner mellom den virtuelle og den reelle verden, og etabler et prototypesystem som gjør det mulig å teste og evaluere relasjonene. Oppgaven gitt: Besvarelsen leveres innen: Besvarelsen levert: Utført ved: Institutt for datateknikk og informasjonsvitenskap Veileder: Eigil Samset Oslo, 3. mars 2003 Lars Aurdal Faglærer

2

3 Forord Dette er en hovedoppgave i datateknikk ved Institutt for datateknikk og informasjonsvitenskap, Norges teknisk-naturvitenskapelige universitet. Oppgaven er skrevet ved Intervensjonssenteret, Rikshospitalet universitetsklinikk, vinteren Jeg vil gjerne takke veilederene mine, Eigil Samset og Lars Aurdal, for all oppfølging og støtte underveis i arbeidet med oppgaven. Videre vil jeg takke Arne Enger Hansen for hjelp med oppsett og testing av prototypesystemet, samt alle som deltok i testingen, kom med innspill eller hjalp til med korrekturlesing. En spesiell takk rettes til Mette Lafton for innsatsen under sluttføringen av rapporten. Oslo 3. mars 2003 Joakim Tysseng

4

5 Sammendrag I denne rapporten beskrives et system for observasjonspunkttilpasset 3D-grafikk til bruk i bildeveiledet kirurgi. En viktig trend i moderne medisin er minimal invasiv behandling, muliggjort ved bildeveiledet kirurgi. I det siste er også 3D-datagrafikk kombinert med medisinske bilder tatt i bruk. Dette krever intuitive og nøyaktige visualiseringsmetoder. Systemet som foreslåes i denne rapporten er et verktøy for 3D-grafikk der brukerens bevegelser påvirker posisjon og orientering av systemets virtuelle kameraer, og dermed vedkommendes oppfatning av virtuelle objekters romlige posisjon. Ved hjelp av observasjonspunktkorrigert perspektivprojeksjon kompenserer systemet for forvrengninger som oppstår dersom observatøren ikke befinner seg direkte foran visningsenheten. Tre forhold mellom brukerens bevegelser, den reelle og den virtuelle verden diskuteres. 1. Den virtuelle og reelle verden er sammenkoblet slik at virtuelle objekter har en fast posisjon i den reelle verden. Observatørens bevegelser i den reelle verden reflekteres direkte i kamerabevegelser i den virtuelle verden. 2. Den virtuelle verden låses i en fast posisjon i brukerens synsfelt. De virtuelle objektene følger observatørens bevegelser og forholdet fungerer dermed som et virtuelt hodemontert display. 3. Den virtuelle og reelle verden er sammenkoblet i et referansepunkt, men den virtuelle verden roterer slik at brukeren til enhver tid ser den virtuelle scenen fra samme vinkel. Observatørens bevegelser i den reelle verden resulterer i en bevegelse for det virtuelle kameraet langs aksen fra observatør til referansepunktet. Dette tillater studier av modellens detaljer uten at observatøren mister ønskede synsvinkel, samt muliggjør korreksjon av forvrengninger også for todimensjonale bilder. En prototype av systemet implementeres ved hjelp av et API for interaktiv 3D-grafikk. For automatisk plassering av observasjonspunkt brukes et videobasert sporingssystem. Tester gjennomført viser at sporingssystemets kalibrering og nøyaktighet ikke er tilstrekkelig i sitt nåværende oppsett. Prototypen har markante problemer med oscillopsia, tilsynelatende bevegelser av den virtuelle verden i forhold til en stabil referanse [4], selv når brukeren står stille. De tekniske aspektene for de foreslåtte forholdene mellom den reelle og virtuelle verden fungerer som planlagt, det samme gjelder for observasjonspunktkorrigert projeksjon.

6 iv Resultatene av arbeidet rapportert her er akseptert for publikasjon på konferansen Computer Assisted Radiology and Surgery (CARS) 2003 [43].

7 Innhold 1 Introduksjon Motivasjon og bakgrunn Problemstilling Organisering av oppgaven Bakgrunn Intervensjonssenteret IGVaC Virtuell og utvidet virkelighet Virtuell og utvidet virkelighet i medisin Problemer i eksisterende systemer Stereosyn Bildegenerering og -visning i 3D-grafikk Forarbeid Om distribuert rendrering Tre tjenertyper Oppgavedeling Rendreringsmetoder Eksisterende systemer for distribuert rendrering WireGL Chromium Distributed 3D RealTime Rendering at Washington OpenRT Distributed Open Inventor Sammenlikning Krav til vårt system

8 vi Innhold WireGL og Chromium Distributed 3D RealTime Rendering at Washington OpenRT Distributed Open Inventor Konklusjon Metoder Forhold mellom den reelle verden, den virtuelle verden og observatør Tre ulike forhold Sporet posisjon Låst posisjon og synsvinkel Låst synsvinkel Posisjonering av den virtuelle verden Realisering - relasjonsmatrise Relasjonsmatrise, sporet posisjon Relasjonsmatrise, låst posisjon og synsvinkel Relasjonsmatrise, låst synsvinkel Observasjonspunktkorrigert perspektivprojeksjon Projeksjonskorreksjon Konseptuelt Teori og matematikk Sporing av observatør Kamerakorreksjon ved stereosyn Konseptuelt Teori og matematikk Verktøy og maskinvare Biblioteker og operativsystem OpenGL Open Inventor Coin Distributed Open Inventor ARToolKit OpenTracker Operativsystem og kompilator Maskinvare

9 Innhold vii Datamaskiner Projeksjonssystem Sporingssystem Realisering Kravspesifikasjon Analyse av Coins rendreringssystem og kameraklasser Implementasjonsdetaljer Observasjonspunktkorrigert projeksjon og relasjonsmatrise Stereosyn Sporing Hjelpefunksjoner Diskusjon av implementasjon Frakobling av kamera- og sporingssystem Sporet posisjonering av reelle objekter Utskilling av matriseberegninger Representasjon av lerret Automatisk lerretsoppsett Korrekt beregning av clipping planes Forenklet oppsett av initiell relasjonsmatrise Dynamisk bytte av forholdstype Utvidet synsfelt Resultater og diskusjon Brukertest Testoppsett Sporet posisjon Låst synsvinkel Låst posisjon og synsvinkel Testresultater Sporet posisjon Låst synsvinkel Låst posisjon og synsvinkel Diskusjon av testresultater Sporingssystem Kritiske bemerkninger til testresultatene

10 viii Innhold 7.5 Oppsummering Brukertest Prototype Konklusjon Oppsummering av resultater Fremtidig arbeid A Relasjonsmatriser 81 B Brukertest av SoSCPerspectiveCamera 85 B.1 Sporet posisjon B.2 Låst synsvinkel B.3 Låst posisjon og synsvinkel C Testfiler 89 D Ordliste 91 E Kildekode 97 E.1 SoSCPerspectiveCamera.h E.2 SoSCPerspectiveCamera.cpp Bibliografi 119

11 Figurer 2.1 Symmetrisk og asymmetrisk viewing volume To bilder generert side ved side Sporet posisjon Translasjon, låst posisjon og synsvinkel Rotasjon, låst posisjon og synsvinkel Låst synsvinkel Låst synsvinkel - 2D-bilder på plan Initiell relasjon mellom og Plassering og orientering av i og Plassering av "! # med origo i $ $! &% med origo i (') "! *, % kompensert for orientering Endelig plassering av i, låst synsvinkel Rotasjon av for å kompensere for hoderotasjon Endelig plassering av i, låst synsvinkel og posisjon Referansebase i, og Punkt relativt til referansebase Endelig plassering for punkt Bevegelser i, for låst synsvinkel Referansebase med kamerapunkt i origo Rotasjon av referansebase Ny referansebase i den virtuelle verden Før bevegelser i for låst synsvinkel Etter bevegelser i for låst synsvinkel Forvrengning av skjermbilde

12 x Figurer 4.25 Korrigering av skjermbilde Skråstilt projeksjonsplan Objekters projeksjon på lerret Stereoprojeksjon med symmetriske viewing volume-er Stereoprojeksjon med asymmetriske viewing volume-er Sporingsmarkør brukt i ARToolKit Maskinvareoppsett, testsystem Prosjektøroppsett Sporingskamera Kalltre for getviewvolume Testperson foran lerret Modeller for sporet posisjon, plassering Modeller for sporet posisjon Modell for låst synsvinkel Modell for låst posisjon og synsvinkel Visualisering og objekt i den reelle verden Forskjellig virtuell og reell stereoseparasjon Bevegelser ved varierende stereoseparasjon

13 Tabeller 3.1 Sammenlikning av systemer for distribuert rendrering Maskinspesifikasjon, rendreringsklynge Funksjon asymperspective Nye felter i SoSCPerspectiveCamera Funksjon setscreen Funksjon calccp Funksjon calcmapping Funksjon stereocorrect Funksjon callbackf Funksjon settrackingsource Funksjon settrackingmode Funksjon gettrackingmode Funksjon forcecamposition Funksjon forcecamorient Funksjon setlockedcamorient Funksjon iscamorientlocked

14

15 Kapittel 1 Introduksjon 1.1 Motivasjon og bakgrunn Minimal invasiv terapi (MIT) er en av de viktigste trendene i moderne medisin i dag. Gjennom bruk av minimalt invasive metoder, forkortes pasientens sykehusopphold og rehabiliteringstid, noe som også gir samfunnsøkonomiske besparelser. Avansert medisinsk bildefremstilling er hovedkraften bak minimal invasiv terapi. Kikkhullskirurgi assistert av videoskopiske teknikker, er en bredt akseptert teknologi. I den senere tid er også bildeutstyr som tidligere er benyttet til diagnostikk, tatt i bruk for veiledning av minimalt invasive intervensjoner. CT, MR, røntgen og ultralyd er eksempler på slikt utstyr. Med nye metoder kommer også nye problemer. For MIT er ikke lenger øye-håndkoordinasjon via direkte syn mulig, men isteden erstattet av visualisering via skop eller radiologiske billedverktøy. Synsfeltet for videoskop er begrenset til det som ligger rett foran skopet og instrumenters plassering utenfor dette området, er derfor usynlig for brukeren. For å kompensere for ulempene ved MIT, er nye navigeringsverktøy under utvikling. Verktøyene baserer seg på visuell sammenkobling av bildeinformasjon fra ulike kilder. Gjennom bruk av nye verktøy håper man å oppnå en gevinst i form av økt produktivitet og kortere prosedyrer. Det ultimate målet er å gi medisinsk personell en form for supersyn med muligheter for ikke bare å se inn i pasienten, men også gjennom organoverflater til organenes indre strukturer. Verktøy for slik visualisering må være brukervennlige både i form av enkle, intuitive bruksmetoder og ergonomisk utforming. Utstyret må kunne benyttes av personell uten spesialkompetanse innen IKT, og det må kunne tilpasses ulike prosedyrer, samtidig som høy presisjon er svært viktig. Prisen på eksisterende spesialsystemer for visualisering er ofte svært høy. Samtidig er systemenes levetid ikke vesentlig høyere enn det som er normalt for andre datamaskiner. Det er derfor ønskelig å utvikle systemer som benytter standard masseproduserte PC-komponenter. Ved å kombinerer flere maskiner i en klynge, antas det at man kan oppnå tilfredsstillene ytelse til en lavere pris.

16 2 Introduksjon 1.2 Problemstilling For økt presisjon ved for eksempel bildeveiledet plassering av prober i organer, benyttes i dag 3D-datagrafikk kombinert med stereografiske metoder. Studier som er rapportert i [33] viser at presisjonen øker og tiden som brukes på korrekt probeplassering minskes dersom brukeren gis stereosyn fremfor monosyn. I eksisterende systemer for medisinsk visualisering benyttes i hovedsak hodemonterte displayer (HMD) for stereografisk fremstilling av bilder. Dagens HMD-utstyr er tildels tungt og upraktisk i bruk. Brukeren må ta av og på eller endre konfigurasjonen av utstyret for å flytte blikket fra visualisering til pasient. I tillegg kan lang tids bruk av utstyret være ubehagelig. Som et alternativ til HMD kan man benytte lerretsprojeksjon og briller som er spesialberegnet for stereosyn. Brukeren kan i denne situasjonen flytte blikket fritt mellom virtuelle og reelle objekter, og fysiologiske problemer knyttet til vekt og utforming av HMD-utstyr elimineres. Ved bruk av lerretsprojeksjon vil bildet kun oppfattes korrekt dersom observatøren befinner seg rett foran lerretet. For projeksjon av stereografiske bilder vil et annet observasjonspunkt gi feilaktig oppfatning av virtuelle objekters utseende og romlige posisjon. Objektene vil tilsynelatende bevege seg dersom observasjonspunktet flyttes. Denne bevegelsen er kontraintuitiv, reduserer observatørens presisjon, og antas å være en viktig årsak til svimmelhet og kvalme ved lengre tids bruk av slikt utstyr. For å beholde presisjon ved bruk av lerretsprojeksjon og samtidig motvirke årsakene til ubehag, er det ønskelig å utvikle et system som tar hensyn til observatørens posisjon og bevegelser relativt til visningsenheten. Ettersom systemet skal benytte et lerret, må projeksjonen korrigeres for å gi observatøren korrekt perpektivfølelse. I systemer for virtuell eller utvidet virkelighet eksisterer det til enhver tid et forhold mellom den reelle og virtuelle verden. Forholdet definerer virtuelle objekters plassering, orientering og størrelse i den reelle verden. Ved å la observatørens posisjon og bevegelser påvirke dette forholdet kan man oppnå økt forståelse av de virtuelle objektenes oppførsel. Konkrete forholdstyper som dekker behovene MIT stiller til et visualiseringssystem må defineres. Forholdene kan testes gjennom realisering av en prototype. 1.3 Organisering av oppgaven Kapittel 2 gir en kort introduksjon til eksisterende programvare for visualisering utviklet ved Rikshospitalet universitetsklinikk. Virtuell og utvidet virkelighet omtales. Ulike metoder for stereosyn beskrives. Problemer innen dagens systemer for medisinsk visualisering presenteres. Kapittel 3 er en studie av eksisterende systemer for distribuert rendrering. Fem ulike systemer presenteres og vurderes opp mot hverandre og opp mot krav til et fremtidig system for medisinsk visualisering. Kapittel 4 beskriver et system for observasjonspunktstilpasset projeksjon. Kapittelet består av fire deler. Første del inneholder metoder for beregning av forholdet mellom den reelle verden brukeren befinner seg i og den virtuelle verden man ønsker å

17 1.3 Organisering av oppgaven 3 studere, samt definerer hvordan brukerens bevegelser i den virkelige verden påvirker forholdet. Tre mulige forhold foreslås. Del to beskriver observasjonspunktkorrigert perspektivprojeksjon. Tredje del beskriver kort muligheter for sporing av bruker og visningsenhetens posisjon. I siste del redegjøres det for hvordan man kan benytte to virtuelle kameraer for å gi brukeren forbedret dybdesyn. Kapittel 5 er en gjennomgang av programvare og maskinvare som benyttes ved utviklingen av en systemprototype. I kapittel 6 stilles kravene til et prototypesystem, eksisterende kildekode analyseres og en overordnet implementasjonsbeskrivelse gis. Implementasjonen av prototypen diskuteres i siste del av kapittelet. Kapittel 7 er i sin helhet viet resultater og diskusjon. Faglige betraktninger av prototypens ytelse trekkes frem. Oppsett, gjennomføring og diskusjon av en brukertest står sentralt i kapittelet. I kapittel 8 oppsummeres oppgaven og konklusjoner trekkes. Til slutt foreslås fremtidig arbeid. Teksten benytter i hovedsak norske oversettelser på engelske faguttrykk, disse finnes i ordlisten i appendiks D. I enkelte tilfeller finnes ingen gode norske oversettelser. I disse tilfellene, og i tilfeller der engelske uttrykk er innarbeidet i det norske språket, benyttes de engelske ordene. Eksisterende kildekode for programvare og bibliotek som benyttes, er skrevet på engelsk. Dette konvensjonen videreføres i prototypen. Av denne grunn benyttes også engelske forkortelser for noen ord i teksten. Forkortelser som er benyttet i oppgaven, finnes i ordlisten i appendiks D. I tilfeller der funksjoner og andre programmeringselementer beskrives i teksten er disse uthevet med skrivemaskinskrift.

18

19 Kapittel 2 Bakgrunn 2.1 Intervensjonssenteret Intervensjonssenteret (IVS) ved Rikshospitalet Universitetsklinikk, er et forskningssenter for medisinsk teknologi. Senteret fungerer som en utviklingsavdeling for alle kliniske enheter ved sykehuset og har omkring 50 ansatte fra ulike disipliner. 70% av de ansatte tilhører kliniske disipliner kirurgi og radiografi, mens 30% tilhører tekniske disipliner som ingeniører, fysikere og matematikere. Hovedfokus i forskningen ligger på minimalt invasiv terapi. Forskningsområdene inkluderer robotkirurgi og bildeveiledet kirurgi. IVS samarbeider tett med industrien og har avtaler med blant annet Silicon Graphics [35] for sanntids bildebehandling, GE/Vingmed [19] for ultralyd og ComputerMotion [14] innen robotkirurgi. 2.2 IGVaC IGVaC (Image Guidance, Visualization and Control) er et programvaresystem for bildeveiledet kirurgi, utviklet ved Intervensjonssenteret. Systemet er fortsatt under utvikling, men kan i sin nåværende implementasjon visualisere MR-bilder romlig, som en del av et 3D-miljø. Med IGVaC gis medisinsk personell en tredimensjonal fremstilling av pasientens anatomi. Videre kan klinisk utstyr som prober og skop vises i kombinasjon med bildene. Ved å spore en probes posisjon og fremstille denne sammen med MRbilder eller 3D-modellen vil pasienten i praksis bli transparent og kirurgen vet nøyaktig hvor proben befinner seg i forhold til pasientens organer. Fysiske fenomener som ikke kommer frem på MR-bildene kan også visualiseres. Eksempelvis benyttes det i dag en probe for å fryse og ødelegge levertumorer. Fordi MR ikke kan fange opp bilder fra områder der temperaturen er lavere enn o grader celsius, kan man ikke se tilstanden til områder som fryses ned. Levertumoren må fryses til under o for å sikre at alle cellene er døde. Ut ifra eksperimenter og beregninger vet man hvordan temperaturen rundt fryseproben sprer seg over tid. Ved å vise temperaturen som en isoterm kan man se når hele tumoren er nedkjølt til ønsket temperatur og man unngår å ødelegge større deler av leveren enn nødvendig. Kirurgen gis på denne måten en form for utvidet virkelighet. IGVaC vil over tid utvikles til å utføre andre oppgaver.

20 6 Bakgrunn 2.3 Virtuell og utvidet virkelighet Med virtuell virkelighet (virtual reality, VR) menes syntetiske, datagenererte immersive 3D-miljøer [41]. Brukeren plasseres i et virtuelt miljø og kan samhandle med systemet gjennom eksplisitte kommandoer til datamaskinen eller ved at systemet sporer brukerens bevegelser. Treningssimulatorer for piloter og spill der brukeren benytter HMD, er kjente bruksområder for VR. Mens VR tilbyr brukeren et altomfattende kunstig miljø, kombinerer utvidet virkelighet (augmented reality, AR) kunstige og reelle objekter. AR gir mulighet for å visualisere ikke-eksisterende objekter i et reelt miljø eller forsterke og tydeliggjøre eksisterende objekter og fenomener. AR utvider den reelle scenen med mer informasjon [40] Virtuell og utvidet virkelighet i medisin Innen medisin ble VR initielt tatt i bruk for å visualisere komplekse medisinske data, spesielt for diagnostikk og planlegging av kirurgiske inngrep [45]. Medisinsk undervisning og telemedisin er også områder som drar nytte av VR. Med AR gis medisinsk personell muligheten til å kombinere visualiseringer av data med den virkelige verden. Virtuelle objekter gis en romlig posisjon og kan sees samtidig med reelle objekter, eksempelvis i en operasjonssituasjon. Videre kan man med bruk av AR-metoder tilsynelatende se gjennom organers overflate til indre strukturer. Bilder kan projiseres på pasienten, vises på HMD med mulighet for gjennomsyn, eller vises på gjennomsiktige skjermer, og på denne måten gi kirurger mulighet til å se organmodeller relativt til pasienten. 2.4 Problemer i eksisterende systemer Eksisterende HMD-utstyr er tungt og brukerens bevegelighet begrenses av at utstyret er koblet til rendreringsmaskinene med en kabel. En operasjon kan pågå i mange timer og HMD har ofte en vekt og utforming som gjør lang tids bruk slitsomt. Det er også et ønske å kunne flytte blikket fra pasienten til visualiseringen av organet uten store bevegelser, noe som for eksempel kreves når en skal ta på seg HMD. Som et alternativ til HMD, kan man benytte bilder vist på skjerm eller lerret. Ved å projisere visualiseringen på et lerret vil kirurgen kun behøve å bevege hodet for å se ønskede bilder. Tilsvarende løsning vil være mulig ved bruk av en normal PC-skjerm, men dersom denne plasseres et stykke unna kirurgen vil ikke en enkelt skjerm kunne vise et stort nok bilde til å gi kirurgen de nødvendige detaljer. Det vil også være umulig å koble sammen flere skjermer sømløst. Bruker man derimot prosjektører og lerret vil man relativt enkelt kunne utvide synsfeltet ved å benytte flere prosjektører og/eller øke projeksjonsstørrelsen. Ved bruk av lerretsprojeksjon for stereobilder, må brukeren være posisjonert rett foran lerretet. Hvis dette ikke er tilfelle vil brukeren få feilaktig inntrykk av objekters romlige posisjon. Objektene vil også oppfattes som forvrengte. Ved bevegelser rundt i rommet

21 2.5 Stereosyn 7 beveger objektene seg, de innehar ingen fast posisjon. Dette er i beste fall forvirrende, i mange tilfeller kan det oppfattes som ubehagelig og resultere i svimmelhet og kvalme hos brukeren [44, 16]. Systemets ytelse avhenger av tilgjengelig maskinvare. Spesialmaskinvare for visualisering er svært dyrt og priser i hundretusenkronersklassen er ikke uvanlig. Slikt utstyr utdateres like fort som tilfellet er for annet datautstyr, og kan resultere i en uforholdsmessig stor kostnad for visualiseringssystemet. 2.5 Stereosyn Ved å rendrere to ulike bilder, ett for hvert øye, kan man gi virtuelle objekter en tilsynelatende plass i rommet. De to bildene genereres ved hjelp av to kameraer som plasseres tilsvarende langt fra hverandre som avstanden mellom brukerens øyne. Stereosyn kan oppnås på mange ulike måter. Av enklere metoder kan nevnes: Lokasjonsseparerte displayer, eksempelvis bruk av to skjermer i et HMD. Tidsseparerte displayer, for eksempel briller der glassene kan lukke for utsyn i gitte tidsrom (shutter glasses) og gjennom synkronisering av lukking og bildevisning på skjermen som gir brukeren forskjellige bilder for hvert øye. Stereoseparering ved hjelp av fargefiltre (rød-grønne briller) med polariserte brilleglass der polariseringen filtrerer ut riktig bilde for hvert øye. Dette er også de vanligste teknikkene for å gi stereosyn. Flere metoder beskrives i [1]. Som nevnt er ikke alltid HMD-ene spesielt egnet for lengre tids arbeid. Shutter glasses har den ulempen at de må synkroniseres med visningen og derfor trenger innebygget elektronikk samt kommunikasjon med utstyret som genererer bildene. Ved fargefiltrering kreves kun et sett med lette briller for å separere bildene. Denne teknikken har likevel den ulempen at nettopp farger ikke kan brukes eller ikke trer spesielt godt frem. Bruk av polariserte glass tillater derimot full bruk av farger mens man bevarer fordelen med lette briller. Polarisering krever spesielt utstyr for visning. En vanlig PC skjerm vil ikke kunne generere det polariserte lyset som er nødvendig for å separere bildene. Ved bruk av lerretsprojeksjon trengs to prosjektører med ulike polariseringsfiltre, en for hvert øye. I tillegg kreves et spesielt lerret som reflekterer lyset uten å endre polariseringen. Slikt utstyr er i dag relativt dyrt, men løsningen er også den mest fleksible og anvendelige sett fra et brukerperspektiv. For å gi brukeren rett oppfatning av objekters plassering i rommet, må kameraseparasjonen være tilpasset brukerens øyne. Dersom nøyaktig posisjonering ikke er nødvendig, kan avstanden mellom de virtuelle øyepunktene justeres for å forandre dybdevirkningen. Studier som beskrives i [50], viser at øyeseparasjonen kan justeres dynamisk uten at brukeren merker dette dersom endringen skjer over tid.

22 8 Bakgrunn I denne oppgaven benyttes stereoseparasjon på en måte som gjør nøyaktig stereoseparasjon viktig. Overdreven separasjon vil gi en større dybdevirkning enn ønsket. Videre studier av stereojustering er utelatt fordi hovedfokus i oppgaven ligger på metoder for observasjonspunkttilpasset projeksjon. 2.6 Bildegenerering og -visning i 3D-grafikk I de fleste systemer for 3D-grafikk genereres bilder som om brukeren står i kamerapunktet og ser langs kameraets synsretning. For å gi et korrekt bilde benyttes et såkalt symmetrisk viewing frustum der vinkelen mellom synsretning og ytterkantene på viewing volume-et er like på begge sider av synsretningsaksen (figur 2.1). For at slike bilder skal se riktig ut må brukerens synsretning være normalt på visningsenheten. Dersom brukeren sitter rett foran en skjerm eller har på seg HMD, er dette kravet oppfylt. Har man derimot tilfeller der brukeren av ulike årsaker ikke befinner seg rett foran skjermen, vil vedkommende se et forvrengt bilde. Et objekt som sett rett forfra ser 10 cm ut vil synes smalere dersom observatøren beveger seg mot høyre eller venstre. I tillegg vil linjer som synes parallelle sett rett forfra, oppfattes som om de skrår mot hverandre når de sees fra siden. For å gi brukeren et bilde som svarer til hva brukeren forventer å se, kreves derfor en korrigering av bildet på skjermen. Denne korrigeringen er avhengig av brukerens posisjon i forhold til skjerm/lerret og av lerretets posisjon i forhold til den virtuelle modellen. Synsretning Synsretning a b a b Figur 2.1: Symmetrisk og asymmetrisk viewing volume. Viewing volume-er definerer hvilke objekter i den virtuelle scenen som er synlige og hvordan disse rendreres. For symmetriske viewing volume-er (venstre) er vinkel a og b like store. For asymmetriske viewing volume-er er vinkel a og b ulike.

23 Kapittel 3 Forarbeid Dette kapittelet er en studie av eksisterende systemer for distribuert rendrering. Først defineres begreper brukt i studiet, deretter presenteres fem utvalgte systemer. Til slutt kommer en sammenlikning og kritikk av systemene sett i lys av krav til et fremtidig system for medisinsk visualisering. 3.1 Om distribuert rendrering Det finnes flere ulike måter å distribuere rendreringsprosessen på. Systemer for distribuert rendrering kan bestå av en eller flere maskiner som tar seg av beregningen av bildedata, en eller flere maskiner for visning av bildedata og en eller flere maskiner for applikasjonskjøring. Videre kan systemene benytte seg av ulike språk for beskrivelse av 3D-miljøene og de kan benytte ulike metoder for produksjon av bildedata. Deling av rendreringsoppgaver kan skje enten i objektrommet (object space) eller i bilderommet (image space). Oppgavedelingen kan enten være statisk eller kan endres dynamisk underveis. De to neste seksjonene forklarer de viktigste begrepene brukt i gjennomgangen av eksisterende systemer for distribuert rendrering Tre tjenertyper Rendreringssystemene kan grovt sett deles inn i tre ulike deler ut ifra hvilke oppgaver de utfører: Rendreringstjener: Maskin/programvare som konverterer objektdata til pikseldata. Applikasjonstjener: Maskin/programvare som mottar inndata fra bruker og/eller foretar nødvendige beregninger på objektdata før disse behandles av rendreringstjeneren(e). Displaytjener: Maskin/programvare som mottar og viser pikseldata. Det er ingen absolutte grenser mellom disse typer tjenere. En maskin kan opptre som rendrerings-, applikasjons- eller displaytjener, eller en vilkårlig kombinasjon av disse,

24 10 Forarbeid samtidig. I sammenlikningen i dette kapittelet kreves det imidlertid at minst to maskiner samarbeider om produksjonen av resulterende bildedata Oppgavedeling I systemer for sanntidsrendrering vil hastigheten til maskinen som utfører rendreringen være en flaskehals for systemets ytelse. Ved å dele jobben mellom flere maskiner kan man øke systemets totale ytelse. Tre ulike metoder for deling av rendreringen forekommer i systemene som er studert: Bilderom: Oppgavedelingen baseres på lokasjon i den resulterende todimensjonale bildematrisen. En maskin blir tildelt et sett med bildepunkter og er alene ansvarlig for rendreringen av disse. Objektrom: Oppgavedelingen gjøres på objekt/triangelnivå, hver maskin får ansvaret for et sett objekter. Dette kan resultere i flere sett med pikseldata for hver piksel i den endelige bildematrisen hvor den korrekte pikselverdien bestemmes på bakgrunn av de individuelle pikselverdienes dybdebuffer og transparens. Image Layer Decomposition: Image Layer Decomposition (ILD) er en metode for lastdeling som i hovedtrekk baserer seg på å sortere objekter på bakgrunn av avstanden fra det virtuelle kamera. Ved å dele rendreringen slik at ingen to maskiner rendrerer grupper av objekter som gjensidig overlapper hverandre, unngår ILD behovet for filtrering av resulterende bilder på bakgrunn av dybdebuffer [27]. Fordelingen av oppgavene kan gjøres statisk eller dynamisk. Ved statisk deling vil den enkelte maskin få tildelt en del av bildet eller et sett med objekter ved oppstart. Maskinene vil alltid rendrere de tildelte delene uavhengig av tiden rendreringen tar. Dette kan resultere i at enkelte maskiner står ubrukte store deler av tiden mens andre maskiner alltid er opptatt. Ytelsen til maskinene som alltid er opptatt vil dermed være den begrensende faktoren i systemet. Ved dynamisk lastdeling forsøker man å fordele rendreringsoppgavene underveis slik at ingen maskiner blir stående uten oppgaver. På denne måten utnyttes systemressursene bedre Rendreringsmetoder Med rendreringsmetoder menes metoder for å konvertere tredimensjonale scenebeskrivelser til todimensjonale bilder. To ulike varianter benyttes av systemene som er studert: Ray tracing: Ray tracing er fellesbetegnelsen på algoritmer som beregner bilder ut ifra å sende en stråle ut i det virtuelle rommet for hver piksel i det ønskede bildet. Avhengig av objekters form, farge, tekstur, lyssetting og andre parametre fanger strålen opp en fargeverdi som lagres i det gitte bildepunktet. Ray tracing kan gi svært realistiske bilder men, er også meget prosessorintensivt.

25 3.2 Eksisterende systemer for distribuert rendrering 11 Scan-conversion-metoder: OpenGL-baserte systemer benytter i hovedsak såkalte scan-conversion-metoder for å rendrere bilder. Ulike algoritmer eksisterer for rendrering av ulike objekttyper. Noen slike algoritmer beskrives i [5]. Scan-conversion er generelt raskere enn ray tracing og benyttes ofte i systemer for sanntidsrendrering. 3.2 Eksisterende systemer for distribuert rendrering I denne delen beskrives fem ulike systemer som utfører distribuert rendrering. Først kommer en kort gjennomgang av de individuelle systemene med kommentarer til fordeler og ulemper. Deretter vises en tabell som sammenlikner systemene. Til slutt gis en vurdering av systemene sett opp mot krav som stilles til et fremtidig system for medisinsk visualisering. Som hovedbetingelser kreves det at systemene kjøres på en klynge (cluster) av standard PC-er (commodity machines), at rendreringsprosessen deles på flere maskiner og at rendreringen skjer i sanntid. Sammenlikningene og beskrivelsene baserer seg på publiserte tekster fra produsentene av systemene, i hovedsak [22] (WireGL), [23] (Chromium), [26] (DDDDRaW), [49] (OpenRT) og [20] (DIV) WireGL Faktaopplysningene i denne seksjonen er, hvis ikke annet spesifiseres, hentet fra artikkelen Distributed Rendering for Scalable Displays [22]. Fordeler og ulemper kommenteres på grunnlag av teksten og er en generell vurdering av systemet. WireGL er utviklet ved Computer Science Department, Stanford University. WireGL er et system for 3D-grafikk på store videovegger (tiled displays) og tilbyr deling av bilde over flere skjermer/prosjektører. Hver skjerm er koblet til en dedikert rendreringstjener/videoutgang. Det kreves derfor like mange rendreringstjenere 1 som det er skjermer i videoveggen samt en applikasjonstjener som koordinerer alle maskinene. Systemet baserer seg på OpenGL 2 og støtter eksisterende OpenGL-baserte applikasjoner direkte uten at endringer av disse er nødvendig. Ved å maskere seg som opengl.dll i MS Windows og libgl.so i Linux kan systemet utføre distribusjonen uten at applikasjonen har kjennskap til dette. Rendreringstjenerene gjør bruk av underliggende maskinvare med OpenGL-støtte og oppnår således høy ytelse sammenliknet med rene programvarebaserte alternativer. I WireGL er det OpenGL-kall som distribueres. Distribusjon av data skjer kontinuerlig. Systemet trenger ingen forhåndsinformasjon om scenen som skal rendreres men såkalte GLhints kan benyttes for å bedre ytelsen. Bildene på en skjerm kan kun genereres av en enkelt maskin og visning av bildene skjer derfor bare på utenheter tilkoblet den aktuelle rendreringstjeneren. Det foretas dermed heller ingen form for dynamisk lastdeling, hver rendrerer tar seg av sin tildelte bit av det totale bildet. 1 Programvare, flere rendreringstjenere kan kjøre på samme maskin og utnytte flere grafikkadaptere. 2 Se seksjon for mer om OpenGL.

26 12 Forarbeid Systemet skalerer tilsynelatende bra, det hevdes at videoveggens ytelse er tilnærmet uavhengig av den totale oppløsningen. Nettverkstrafikken minimeres ved å kode Open- GL-kallene effektivt og kun distribuere data til de som trenger disse, når de trenger det. Fordeler Applikasjonen trenger ingen kjennskap til WireGL. Eksisterende applikasjoner kan derfor vises/distribueres uten endring i applikasjonens kildekode. WireGL bygger på og støtter OpenGL API versjon 1. En rekke eksisterende og fremtidige applikasjoner støttes derfore direkte samtidig som programmerere tilbys et kjent API. Systemet er bygget for videovegger og det er derfor rimelig å anta at rammesynkronisering mellom rendreringstjenerene støttes. Dette er ikke verifisert. Støtte for nettverkstypen Myrinet [9] gir muligheter for høye datarater. Ulemper WireGL tilbyr ingen tilbakelesning (readback) av bildedata, det er derfor ikke mulig å vise resultatet av rendreringen på en enkelt skjerm. Det er heller ikke mulig å dele renderingen av en celle i videoveggen mellom flere maskiner. Fordi rendrering av en celle kun gjøres av maskinen koblet til cellens skjerm tilbys ingen dynamisk lastdeling. Store maskinressurser kan stå ubenyttet og den faktiske ytelsen til systemet ligge under hva som er teoretisk mulig. WireGL distribuerer bare OpenGL-delen av applikasjoner. Dette er et problem for applikasjoner der pekermarkøren ikke er kodet i OpenGL, men isteden vises av vindussystemet, da markøren ikke vil vises på videoveggen. Problemet er delvis løst i videreutviklingen av WireGL, Chromium, som beskrives i neste seksjon Chromium Faktaopplysningene i denne seksjonen er, hvis ikke annet er spesifisert, hentet fra Chromium: A Stream-processing Framework for Interactive Rendering on Clusters [23]. Chromium er en videreutvikling av WireGL og drives som et prosjekt via Source- Forge [12]. Både WireGL og Chromium er tatt med i dette studiet av eksisterende systemer for distribuert rendrering fordi funksjonaliteten varierer mellom systemene. Ved å beskrive systemene i separate seksjoner kommer forskjellen klarere frem. Utover funksjonaliteten som finnes i WireGL, tilbyr Chromium parallelle applikasjoner muligheten til å rendrere til det samme konseptuelle displayet. Dette tillater i bedre skalering på applikasjonssiden enn tilfellet er for WireGL.

27 3.2 Eksisterende systemer for distribuert rendrering 13 Chromium er bygget opp av Stream Processing Units (SPU) som behandler strømmen av OpenGL-kall. Hver SPU utfører en bestemt tjeneste som rendrering, tilbakelesning av pikseldata og visning av bilder. Ved å koble sammen flere SPU-er kan man bygge opp nøyaktig den tjenesten man ønsker. Sammenkoblingen skjer dynamisk gjennom et oppstartsskript. Alle SPU-er må implementere, men er ikke begrenset til, OpenGL API-et. Dette gjør det enkelt å implementere nye SPU-er ved behov. Gjennom bruken av såkalte readback SPU-er kan et bilde som vises på en enkelt skjerm genereres av flere maskiner. Distribusjonen kan skje på to måter: Bilderomsbasert distribusjon, der hver enkelt skjerms bildeflate deles i flere deler og tilsvarende mange maskiner rendrerer hver sin del. Objektromsbasert distribusjon, der selve applikasjonen distribueres og man lar enkeltmaskiner rendrere et fast sett med polygoner. I begge tilfeller kreves et raskt nettverk fordi store mengder bildedata skal overføres. Datamengden er likevel desidert størst for objektromsbasert distribusjon. For det første må dybdeinformasjon for hver enkelt piksel i bildet sendes med for å bestemme hvilke piksler som representerer objekter nærmest skjermen, for det andre må hver rendrerer sende hele bildeflaten for hvert bilde ettersom distribusjonen av rendreringsoppgaver er uavhengig av objektenes plassering i bilderommet. Ved objektromsbasert distribusjon kreves i tillegg behandling av bildedata på visningsmaskinen fordi flere enkeltbilder må filtreres og settes sammen til et bilde. Fordeler Parallell OpenGL- API, muliggjør distribusjon av polygongenerering og dermed mulighet for distribusjon av applikasjonsdelen av systemet. Chromium kan, via tilbakelesning, fordele rendreringen av en enkelt skjerms bilde mellom flere maskiner. Ny funksjonalitet kan legges til med egenproduserte SPU-er. Dette gjøres uten å endre Chromiums eksisterende kildekode. Som en løsning på problemet som oppstår når markøren ikke er kodet i OpenGL kan Chromium utføre rendrering av bilde lokalt på applikasjonsmaskinen i tillegg til å vise bildet på en videoveggen. Dette krever likevel større ressursbruk da applikasjonstjeneren også må fungere som rendreringstjener. Ulemper Scenebeskrivelser i Chromium gjøres i OpenGL, noe som krever at overliggende applikasjoner selv genererer all nødvendig geometri. Dette er ingen stor mangel da OpenGL støtter mange eksisterende og fremtidige applikasjoner direkte.

28 14 Forarbeid Distributed 3D RealTime Rendering at Washington Faktaopplysningene i denne seksjonen er, hvis ikke annet opplyses, hentet fra DDDD- RRaW: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters [26]. Distributed 3D RealTime Rendering at Washington (DDDDRRaW) er en prototype for distribuert sanntidsrendrering utviklet ved University of Washington, Seattle. Systemet er implementert som et bibliotek for VRML-rendrering. Systemet er beregnet å kjøre på en kombinert applikasjons-/displaytjener og bruker distribusjon for å øke rammeraten. En klynge av maskiner rendrerer deler av bildet og sender resultatet til applikasjonstjeneren, der bildet settes sammen. Applikasjonen som ligger på toppen av DDDDRRaW har ingen kjennskap til distribusjonen av rendreringsoppgavene. Lastdelingen i DDDDRRaW bestemmes ved en egen algoritme, Image Layer Decomposition (ILD) beskrevet i [27]. Denne algoritmen forsøker å gjennomføre dynamisk lastdeling slik at tilgjengelige ressurser blir best mulig utnyttet. I den nåværende implementasjonen krever ILD forhåndsprosessering av scenedata. Av den grunn støtter ikke DDDDRRaW objektbevegelser, kun kamerabevegelse. Heller ikke dynamiske endringer av scenen støttes. All scenedata distribueres til alle rendreringstjenere før rendreringen starter første gang. Fordeler DDDDRRaW utfører dynamisk lastdeling og utnytter således de tilgjengelige ressursene godt. Ulemper DDDDRRaW mangler støtte for dynamiske scener og objektbevegelse. DDDDRRaW tilbyr muligheter for overlappende kommunikasjon og rendrering i et forsøk på å øke rammeraten. Dette øker samtidig forsinkelsen ved bevegelse og dermed også den oppfattede responstiden fra programmet. Dersom applikasjonen tilbyr interaktiv kontroll av bevegelse, kan for høy responstid gjøre det vanskeligere for brukeren å navigere i den virtuelle verden OpenRT Faktaopplysningene om OpenRT i denne seksjonen er, hvis ikke annet spesifiseres, hentet fra A Flexible and Scalable Rendering Engine for Interactive 3D Graphics [49]. OpenRT er et system for interaktiv ray tracing utviklet av Computer Graphics Group ved Saarland University, Tyskland. OpenRT er et API som ligner på OpenGL, men API-ene er ikke identiske.

29 3.2 Eksisterende systemer for distribuert rendrering 15 Ray tracing-prosessen er i utgangspunktet svært lett å distribuere. Alle bildepunkter beregnes uavhengig av hverandre og kan derfor distribueres over et stort antall maskiner for å oppnå høy ytelse. Ray tracing er samtidig en svært prosessorintensiv oppgave. For OpenGL-baserte løsninger er det vanlig med maskinvareakselerasjon av rendreringsprosessen. Da denne rapporten ble påbegynt eksisterte ikke slikt utstyr for interaktiv raytracing. Senere har utviklerene av OpenRT lansert en egen arkitektur for maskinvareakselerert sanntids ray tracing, SaarCOR [32]. Realismen som tilbys gjennom ray tracing overgår det som kan oppnås med OpenGLbaserte rendrerere. Ray tracing skalerer også angivelig svært godt. Wald et al. [49] rapporterer logaritmisk kompleksitet med hensyn til antall triangler i scenen. For standard rasteriseringsalgoritmer hevdes det at kompleksiteten er lineær. Det påstås videre at hastigheten for ray tracing vil overgå hastigheten for triangelrasterisering i komplekse scener. Distribusjonen i OpenRT er transparent for overliggende applikasjoner, disse kommuniserer med systemet omtrent som de ville gjort med et underliggende system basert på OpenGL. Lastdeling i OpenRT skjer dynamisk, hver rendreringstjener forespør en sentral koordineringstjeneste om oppgaver og får disse basert på tidligere rendrerte stråler. På denne måten oppnås både utnyttelse av cache og god bruk av tilgjengelige ressurser. Rendrerte piksler sendes tilbake til applikasjons-/displaytjeneren og settes sammen til ett bilde. Som for alle systemer der tilbakelesning av pikseldata er mulig krever dette stor båndbredde og nettverket er derfor en av de begrensende faktorene. OpenRT støtter både dynamiske scener og objektbevegelse, men får angivelig problemer med ytelsen dersom endringene er store og/eller antall rendreringstjenere er stort. Dette begrunnes med bruken av en sentral scenedatabase og broadcast for å oppdatere scenedata hos rendreringstjenerene. Fordeler Akselerasjonsstrukturene og algoritmene som brukes for å finne skjæringspunkter mellom objekter og stråler gjør at ray tracing skalerer svært godt med hensyn til scenekompleksitet. Bildene som produseres ved ray tracing er av overlegen kvalitet i forhold til OpenGL-baserte rendrerere dersom fotorealisme ønskes. Skygger, refleksjon, diffraksjon og andre optiske fenomener kan fremstilles korrekt og uten bruk av for eksempel refleksjonskart (reflection maps). OpenRT tilbyr metoder for å kombinere ulike rendreringstyper. Eksempelvis kan volumdata rendreres uten endringer i systemet. Dette implementeres som en surface shader. Lastdeling benyttes, systemressursene utnyttes derfor bra. Ulemper Preprosessering kreves for å oppnå interaktive hastigheter. Statiske strukturer bygges opp før start. Programmet er derfor ikke uavhengig av scenen som skal

30 16 Forarbeid vises. Foreløpig eksisterer maskinvare for akselerasjon av rendreringsprosessen kun i et svært lite omfang. Mye objektbevegelse skaper skaleringsproblemer da alle endringer må broadcastes. Dette er likevel ikke unikt for OpenRT, men forekommer også for de andre systemene. Hvorvidt problemet er større for OpenRT er ukjent. OpenRT er et nytt og ukjent API. Selv om det er tett knyttet opp mot OpenGL må eksisterende applikasjoner skrives om Distributed Open Inventor Faktaopplysningene om DIV er hentet fra A Practical Approach to Distributed 3D graphics [20] dersom ikke annet er spesifisert. Distributed Open Inventor (DIV) er en utvidelse av Open Inventor (OI) og er utviklet ved Institute of Computer Graphics and Algorithms, Vienna University of Technology (Technische Universität Wien)[42]. DIV tilbyr konseptuell deling av scenegraf, flere brukere på flere maskiner får tilgang til samme scene. Scenegrafen kan oppdateres mens programmet kjører, nye subtrær kan legges til eller fjernes og transformasjoner endres. I tillegg kan hver enkelt brukers applikasjon være individuelt tilpasset slik at den kan inneholde individuelle variasjoner i scenegrafen. Bruken av DIV er nær transparent. Kun få linjer med kode må legges til for å dele ut/hente inn en scenegraf. Scenegrafen distribueres initielt til alle maskiner, senere sendes kun informasjon om endringer i grafen. I tillegg tilbyr DIV et eget system med dedikerte sporingstjenere (tracking servers) som tar imot og behandler sporingsdata. For minimal responstid kan sporingstjenerene kommunisere direkte med de enkelte klienter, posisjoneringsdata trenger ikke gå veien om en sentral applikasjonstjener. Distribusjonen i DIV skjer på objektnivå, scenegraf og tilhørende grafikkommandoer distribueres. Systemet støtter ikke deling av rendreringsjobber mellom flere maskiner. Isteden regnes hver enkelt maskin som en uavhengig rendreringstjener. Dette fører til at hver rendrerer jobber i sitt eget tempo uten synkronisering mellom rendreringstjenerene. DIV er likevel tatt med i dette studiet fordi DIV kan benyttes for deling av stereorendrering mellom to maskiner, samt fordi dagens system, IGVaC, benytter DIV. Fordeler OI er et avansert rammeverk for objektorientert 3D-grafikkprogrammering. Ved å utvide OI nyttiggjør DIV seg den teknologien som ligger i OI. Samtidig tilbys programmerere et velkjent API for utvikling av applikasjoner, terskelen for å lage distribuerte programmer blir dermed lav. Det er mulig å endre scenegrafen under kjøring (runtime).

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z Kommentar: Svar kort og konsist. Husk at eksamen har tre oppgaver. Poengene for hver (del-) oppgave bør gi en indikasjon på hvor me tid som bør benttes per oppgave. Oppgave 1: Forskjellige emner (40 poeng)

Detaljer

Software på IVS. Oversikt Programvare Programvare Stakken Egen utviklet programvare IGVAC

Software på IVS. Oversikt Programvare Programvare Stakken Egen utviklet programvare IGVAC Software på IVS Oversikt Programvare Programvare Stakken Egen utviklet programvare IGVAC OpenTracker (studierstube.org/opentracker) Objekt orientert graf struktur implementert i C++. Generisk dataflyt

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

Kravspesifikasjon MetaView

Kravspesifikasjon MetaView Kravspesifikasjon MetaView BACHELOROPPGAVE VÅREN 2014 1. Presentasjon Tittel: MetaView Oppgave: Lage en applikasjon og api som skal kommunisere med MetaVision slik at det skal bli enklere for leger og

Detaljer

O3D 3D-grafikk rett i nettleseren. Tom Ryen, Institutt for data- og elektroteknikk (IDE), oktober 2009

O3D 3D-grafikk rett i nettleseren. Tom Ryen, Institutt for data- og elektroteknikk (IDE), oktober 2009 O3D 3D-grafikk rett i nettleseren Tom Ryen, Institutt for data- og elektroteknikk (IDE), oktober 2009 O3D 3D-grafikk rett i nettleseren v/ Tom Ryen Institutt for dataog elektroteknikk Om foredragsholderen

Detaljer

Mangelen på Internett adresser.

Mangelen på Internett adresser. 1. Av 2 Introduksjon og forord Internett er som kjent bygd opp i adresser, akkurat som husstander, byer og land, dette er fordi Internett er bygd opp mye likt post systemet, du kan sammenligne en maskin

Detaljer

Kjørehjelperen Testdokumentasjon

Kjørehjelperen Testdokumentasjon 2013 Kjørehjelperen Testdokumentasjon Høgskolen i Oslo og Akershus Henrik Hermansen og Lars Smeby Gruppe 8 26.05.2013 Forord Dette dokumentet tar for seg to forskjellige ting. Først forklares det hvordan

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Fotorealistisk fremstilling... 3

Fotorealistisk fremstilling... 3 DDS-CAD 9 Fotorealistisk fremstilling Kapittel 4 1 Innhold Side Kapittel 4 Fotorealistisk fremstilling... 3 Perspektiv... 3 Rendere konturmodell... 4 Rendere sjattert - sanntid... 5 Materialer... 5 Teksturkobling...

Detaljer

Introduksjon Bakgrunn

Introduksjon Bakgrunn 1 Introduksjon Den foreliggende oppfinnelsen beskriver en metode for å presentere visuell informasjon relatert til et objekt eller struktur. Mer spesifikt er oppfinnelsen beskrevet ved en metode for å

Detaljer

TextureTool med SOSI-parser

TextureTool med SOSI-parser TextureTool med SOSI-parser Verktøy for teksturmapping og automatisk generering av 3D-modeller Hovedprosjekt 11E Erlend A. Lorentzen Jørn G. Nyegaard-Larsen 3DSU 2008/2009 Høgskolen i Sør-Trøndelag Avdeling

Detaljer

Forelesningsnotater SIF8039/ Grafisk databehandling

Forelesningsnotater SIF8039/ Grafisk databehandling Forelesningsnotater SIF839/ Grafisk databehandling Notater til elesninger over: Kapittel 5: Viewing i: Edward Angel: Interactive Computer Graphics Vårsemesteret 22 Torbjørn Hallgren Institutt datateknikk

Detaljer

Design og dokumentasjon

Design og dokumentasjon Design og dokumentasjon Information Architecture Peter Morville& Louis Rosenfeld Kapittel 12 29.01.2015 Håkon Tolsby 1 Ny fase i prosjektet Fokusskifte: Fra planlegging til produksjon Fra overordnet arkitektur

Detaljer

EKSAMEN I EMNE TDT4195/SIF8043 BILDETEKNIKK ONSDAG 19. MAI 2004 KL

EKSAMEN I EMNE TDT4195/SIF8043 BILDETEKNIKK ONSDAG 19. MAI 2004 KL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I EMNE TDT4195/SIF8043

Detaljer

INF Obligatorisk oppgave 2

INF Obligatorisk oppgave 2 INF3320 - Obligatorisk oppgave 2 Innleveringsfrist: 23. september (Revisjon 4. september 2003) I denne oppgaven skal vi se på transformasjoner og interaktivitet. Vi skal lage et lite program som implementerer

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

InfraWorld avslutningsseminar. - Introduksjon. torsdag 13/9-12

InfraWorld avslutningsseminar. - Introduksjon. torsdag 13/9-12 InfraWorld avslutningsseminar - Introduksjon torsdag 13/9-12 13:00 13:30 Innledning Dagens agenda 13:30 14:15 Siste nytt innen bruk av virtuelle modeller (Erik Kjems) 14:15 15:00 Bruk av kunstig intelligens

Detaljer

NÆRMERE VIRKELIGHETEN UTVIKLINGSPLANLEGGING MED BIM

NÆRMERE VIRKELIGHETEN UTVIKLINGSPLANLEGGING MED BIM NÆRMERE VIRKELIGHETEN UTVIKLINGSPLANLEGGING MED BIM Hvordan Linz i Østerrike ble banebrytende innen 3D byplanlegging 5 MINUTTER LESETID INTRODUKSJON 2 Linz en pioner innen 3D byplanlegging 3D-modeller

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. mai 2009 (Sist oppdatert: 2009-05-17 22:38) Forelesning 29: Kompleksitetsteori

Detaljer

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 29: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17

Detaljer

WORKSHOP BRUK AV SENSORTEKNOLOGI

WORKSHOP BRUK AV SENSORTEKNOLOGI WORKSHOP BRUK AV SENSORTEKNOLOGI MIKROKONTROLLERE - ARDUINO KURS 27.08.16 ANALOG - DIGITAL FRA VARIASJONER AV STRØMSTYRKE TIL TALL ARDUINO BRUKES TIL Å UTFØRE SLIK KONVERTERING STRØM/TALL ELLER TALL/STRØM

Detaljer

KRAVSPESIFIKASJON FOR SOSIORAMA

KRAVSPESIFIKASJON FOR SOSIORAMA KRAVSPESIFIKASJON FOR SOSIORAMA Innhold 1. Forord... 2 2. Definisjoner... 3 3. Innledning... 4 3.1 Bakgrunn og formål... 4 3.2 Målsetting og avgrensninger... 4 4. Detaljert beskrivelse... 8 4.1 Funksjonelle

Detaljer

Forelesningsnotater SIF8039/ Grafisk databehandling

Forelesningsnotater SIF8039/ Grafisk databehandling Forelesningsnotater SIF8039/ Grafisk databehandling Notater til forelesninger over: Kapittel 1: Graphics Systems and Models i: Edward Angel: Interactive Computer Graphics Vårsemesteret 2002 Torbjørn Hallgren

Detaljer

Programbeskrivelse for revidert versjon av bachelorprogrammet Matematikk, informatikk

Programbeskrivelse for revidert versjon av bachelorprogrammet Matematikk, informatikk Programbeskrivelse for revidert versjon av bachelorprogrammet Matematikk, informatikk og teknologi (MIT) Tabell 1 Revidert versjon av Matematikk, informatikk og teknologi Programnavn: Vertsinstitutt: Navn

Detaljer

Oppsummering. Thomas Lohne Aanes Thomas Amble

Oppsummering. Thomas Lohne Aanes Thomas Amble Oppsummering Thomas Lohne Aanes Thomas Amble 14.11.04 Kapittel 2: Data Modell Mål: Data som skal brukes av applikasjonen blir spesifisert på en formell og likevel intuitiv måte. Resultat: Vi får et konseptuelt

Detaljer

Ledende internasjonalt traumesykehus tar til teknologi for å forvandle pasientpleie. Unfallkrankenhaus Berlin

Ledende internasjonalt traumesykehus tar til teknologi for å forvandle pasientpleie. Unfallkrankenhaus Berlin Ledende internasjonalt traumesykehus tar til teknologi for å forvandle pasientpleie (Emergency Hospital Berlin) www.ukb.de 1000+ ansatte Tyskland Helsevesen er en av verdens ledende sykehus med akuttmottak,

Detaljer

Prosjektrapport. Gruppe 23

Prosjektrapport. Gruppe 23 Prosjektrapport Gruppe 23 Prosjektrapport Forord Hensikten med denne rapporten er å gi en introduksjon til oppgaven. Her vil det bli forklart hensikten med oppgaven og applikasjonens funksjonalitet. Brukergrensesnittet

Detaljer

INF1510 Oblig #1. Kjetil Heen, februar 2016

INF1510 Oblig #1. Kjetil Heen, februar 2016 INF1510 Oblig #1 Kjetil Heen, februar 2016 1 2 Etch-a-sketch Det ferdige sluttproduktet skal simulere en klassisk leke, Etch-a-sketch, et tegnebrett, hvor man tegner på en flate ved å skru på 2 hjul, og

Detaljer

(12) PATENT (19) NO (11) 332103 (13) B1 NORGE. (51) Int Cl. Patentstyret

(12) PATENT (19) NO (11) 332103 (13) B1 NORGE. (51) Int Cl. Patentstyret (12) PATENT (19) NO (11) 3323 (13) B1 NORGE (1) Int Cl. A01K 61/00 (06.01) G01B 11/04 (06.01) G01B 11/24 (06.01) Patentstyret (21) Søknadsnr 1736 (86) Int.inng.dag og søknadsnr (22) Inng.dag.12.13 (8)

Detaljer

Kapittel 4 - Fotorealistisk fremstilling... 3

Kapittel 4 - Fotorealistisk fremstilling... 3 11.12.2008 Kapittel 4... 1 DDS-CAD 6.5 Fotorealistisk fremstilling Kapittel Innhold... Side Kapittel 4 - Fotorealistisk fremstilling... 3 Perspektiv... 3 Rendere konturmodell... 4 Rendere sjattert - sanntid...

Detaljer

Mars Robotene (5. 7. trinn)

Mars Robotene (5. 7. trinn) Mars Robotene (5. 7. trinn) Lærerveiledning Informasjon om skoleprogrammet Gjennom dette skoleprogrammet skal elevene oppleve og trene seg på et teknologi og design prosjekt, samt få erfaring med datainnsamling.

Detaljer

NORGE. Patentstyret (12) SØKNAD (19) NO (21) 20101407 (13) A1. (51) Int Cl.

NORGE. Patentstyret (12) SØKNAD (19) NO (21) 20101407 (13) A1. (51) Int Cl. (12) SØKNAD (19) NO (21) 1407 (13) A1 NORGE (1) Int Cl. G06T 3/00 (06.01) G06T 3/40 (06.01) G06T 3/60 (06.01) G09G /14 (06.01) G09G /397 (06.01) Patentstyret (21) Søknadsnr 1407 (86) Int.inng.dag og søknadsnr

Detaljer

Forprosjektrapport MetaView

Forprosjektrapport MetaView Forprosjektrapport MetaView BACHELOROPPGAVE VÅREN 2014 Presentasjon Tittel: MetaView Oppgave: Utvikle en Windows 8 applikasjon som skal forenkle en liten del av MetaVision. Et verktøy for sykehus, leger

Detaljer

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig. Synkronisering En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig. Behov for synkronisering Mange prosesser/tråder

Detaljer

Dokument 1 - Sammendrag

Dokument 1 - Sammendrag Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om

Detaljer

Hvilken BitBot går raskest gjennom labyrinten?

Hvilken BitBot går raskest gjennom labyrinten? Hvilken BitBot går raskest gjennom labyrinten? I fokusuka i IT skal vi jobbe praktisk, nærmere bestemt ved å bruke naturvitenskaplig metode for å løse en oppgave. Denne metoden er sentral i naturfag og

Detaljer

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk

Detaljer

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling

Detaljer

What designers know. Rune Simensen, 04hbmeda Designhistorie og designteori Høgskolen i Gjøvik, våren 2006

What designers know. Rune Simensen, 04hbmeda Designhistorie og designteori Høgskolen i Gjøvik, våren 2006 Rune Simensen, 04hbmeda Designhistorie og designteori Høgskolen i Gjøvik, våren 2006 Innledning Oppgaven omfatter: skriv et fortellende resymé av Bryan Lawsons bok What Designers Know Oxford England :

Detaljer

Hva er drivkrefter ved utvikling av dataspill: innhold eller teknologi? Om spillutdanning i nord

Hva er drivkrefter ved utvikling av dataspill: innhold eller teknologi? Om spillutdanning i nord Hva er drivkrefter ved utvikling av dataspill: innhold eller teknologi? Om spillutdanning i nord Trender Serious gaming spill for trening og utvikling Gamifisering -- utdanning på nett (MOOC) Minigames

Detaljer

Windows eller Linux. i MinButikk

Windows eller Linux. i MinButikk Windows eller Linux i MinButikk Windows eller Linux Scenario Jeg har startet matbutikken MinButikk og er medlem av ToppKjeden Kjeden har ingen krav til personalsystem så jeg kan fritt velge system selv.

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres

Detaljer

S y s t e m d o k u m e n t a s j o n

S y s t e m d o k u m e n t a s j o n S y s t e m d o k u m e n t a s j o n Monitorering av produksjonsløyper ved Nasjonalbiblioteket - Project BAKE Utarbeidet av: Einar Wågan Kristian Akerhei Studium: Informasjonssystemer Innlevert: 26.5.2015

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk og Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 9. august 2016 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D:

Detaljer

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5 Testrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 24.5.2013 Public 2013 Aker Solutions Page 1 of 5 Innledning I denne rapporten vil vi skrive om testingen som

Detaljer

EKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER 2005 KL

EKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER 2005 KL NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for fysikk, informatikk og matematikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER

Detaljer

Vedlegg Brukertester INNHOLDFORTEGNELSE

Vedlegg Brukertester INNHOLDFORTEGNELSE Vedlegg Brukertester INNHOLDFORTEGNELSE Vedlegg Brukertester... 1 Testrapport Wireframe... 2 1. INTRODUKSJON... 2 1.1 Systemoversikt... 2 1.2 Meningen med testen... 2 2 TESTPLAN... 2 2.1 Funksjoner som

Detaljer

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato

Detaljer

EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400

EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400 Side 1 av 6 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK

Detaljer

Simulerings-eksperiment - Fysikk/Matematikk

Simulerings-eksperiment - Fysikk/Matematikk Simulerings-eksperiment - Fysikk/Matematikk Tidligere dette semesteret er det gjennomført et såkalt Tracker-eksperiment i fysikk ved UiA. Her sammenlignes data fra et kast-eksperiment med data fra en tilhørende

Detaljer

Side 1 av 5. www.infolink.no post@infolink.no. Infolink Datatjenester AS Ensjøveien 14, 0655 Oslo. Telefon 22 57 16 09 Telefax 22 57 15 91

Side 1 av 5. www.infolink.no post@infolink.no. Infolink Datatjenester AS Ensjøveien 14, 0655 Oslo. Telefon 22 57 16 09 Telefax 22 57 15 91 Side 1 av 5 En grunnleggende guide til trådløst nettverk WiFi er et begrep som brukes om trådløst nettverk og internett. WiFi er et bransjenavn som inkluderer en rekke standarder for trådløs overføring

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Universitetet i Agder Fakultet for teknologi og realfag LØSNINGSFORSLAG. Dato: 11. desember 2008 Varighet: 0900-1300. Antall sider inkl.

Universitetet i Agder Fakultet for teknologi og realfag LØSNINGSFORSLAG. Dato: 11. desember 2008 Varighet: 0900-1300. Antall sider inkl. Universitetet i Agder Fakultet for teknologi og realfag LØSNINGSFORSLAG Emnekode: Emnenavn: DAT2 Grafisk Databehandling Dato:. desember 28 Varighet: 9 - Antall sider inkl. forside 7 OPPGAVE. (2%) a) b)

Detaljer

Holdninger til og bruk av avdelingsvise kliniske informasjonssystemer ved St. Olavs hospital

Holdninger til og bruk av avdelingsvise kliniske informasjonssystemer ved St. Olavs hospital 1 Holdninger til og bruk av avdelingsvise kliniske informasjonssystemer ved St. Olavs hospital Eivind Vedvik Medisinstudent, det medisinske fakultet, NTNU Norsk senter for elektronisk pasientjournal eivindve@stud.ntnu.no

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF330 Metoder i grafisk databehandling og diskret geometri Eksamensdag: 3. desember 010 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

GJENNOMGANG UKESOPPGAVER 9 TESTING

GJENNOMGANG UKESOPPGAVER 9 TESTING GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.

Detaljer

Kloning og genforskning ingen vei tilbake.

Kloning og genforskning ingen vei tilbake. Kloning og genforskning ingen vei tilbake. Sammendrag. Innen genforskning og kloning er det mange utfordringer, både tekniske og etiske. Hvordan kloning gjennomføres, hva slags teknikker som blir brukt

Detaljer

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle Soloball Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal nå lære hvordan vi

Detaljer

3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D.

3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. 3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen LocMoC Low Cost Motion Capture. Avatar ( definisjon fra Store Norske

Detaljer

LØSNINGSANTYDNING EKSAMEN

LØSNINGSANTYDNING EKSAMEN Universitetet i Agder Fakultet for teknologi og realfag LØSNINGSANTYDNING EKSAMEN Emnekode: Emnenavn: DAT Grafisk Databehandling Dato: 5. desember Varighet: 9 - Antall sider inkl. forside 8 Tillatte hjelpemidler:

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005, Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac Kjenn din Mac MacBook Pro 13,3 Retina MF840 Oppgave 1. Beskriv hvilke enheter som er koblet til datamaskinen, og det du kan finne ut om egenskapene deres. Bluetooth: Dette er en trådløs protokoll for å

Detaljer

RAPPORT Forprosjekt: Pasientforståelig sykehusjournal

RAPPORT Forprosjekt: Pasientforståelig sykehusjournal RAPPORT Forprosjekt: Pasientforståelig sykehusjournal 22. desember 2010 RAPPORT - Forstudie Prosjekttittel: Pasientforståelig sykehusjournal Prosjektområde: IKT Dato: 22.12.2010 Utarbeidet av: Karl Øyri,

Detaljer

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen

Detaljer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun) Side 1 av 5 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

KONTINUASJONSEKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 13. AUGUST 2008 KL. 09.00 13.00

KONTINUASJONSEKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 13. AUGUST 2008 KL. 09.00 13.00 Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN

Detaljer

Teknologiske forklaringer LEGRIA HF R48, LEGRIA HF R46, LEGRIA HF R406 og LEGRIA HF G25

Teknologiske forklaringer LEGRIA HF R48, LEGRIA HF R46, LEGRIA HF R406 og LEGRIA HF G25 Teknologiske forklaringer LEGRIA HF R48, LEGRIA HF R46, LEGRIA HF R406 og LEGRIA HF G25 Live Streaming (LEGRIA HF R48 og LEGRIA HF46) Den nye LEGRIA HF R-serien gir deg mulighet til å streame opptak direkte

Detaljer

På den sørlige kanten av det vestlige bordet

På den sørlige kanten av det vestlige bordet På den sørlige kanten av det vestlige bordet av David A Rios På den sørlige kanten av det vestlige bordet er en utstilling hvor jeg jobber både med og mot vår orienteringsevne og vår oppfattelse av perspektiv.

Detaljer

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR INF 1050 UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR Oppgave 1 a) Foranalyse: Foranalysen kan med fordel gjøres i to trinn. Den første er å undersøke finansiering og øvrige

Detaljer

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus Forprosjektrapport Gruppe 2 Hovedprosjekt 2014, Høgskolen i Oslo og Akershus 1 INNHOLD 2 Presentasjon... 2 2.1 Gruppen medlemmer... 2 2.2 Oppgave... 2 2.3 Oppdragsgiver... 2 2.4 Veileder... 2 3 Sammendrag...

Detaljer

Kryptografi og nettverkssikkerhet

Kryptografi og nettverkssikkerhet Kryptografi og nettverkssikkerhet Kapittel : Blokkchiffere og DES (the Data Encryption Standard) Moderne symmetrisk kryptografi Skal se på moderne blokkchiffere, en av de mest brukte kryptoalgoritmene.

Detaljer

Kravspesifikasjonsrapport

Kravspesifikasjonsrapport Kravspesifikasjonsrapport JobCrawl Ledige jobber representert i kart for IBM Gruppe 9 Bachelorprosjekt ved Oslo Metropolitan University Gruppemedlemmer: Kim Smedsrud Chris-Thomas Lundemo Grenness Lars

Detaljer

Knut Styve Hornnes, Stig Løvlund, Jonas Lindholm (alle Statnett)

Knut Styve Hornnes, Stig Løvlund, Jonas Lindholm (alle Statnett) STORSKALA LASTSTYRING I NORD-NORGE Knut Styve Hornnes, Stig Løvlund, Jonas Lindholm (alle Statnett) Sammendrag Prosjektet Storskala Laststyring er en del av satsingen innenfor forskningsprogrammet Smarte

Detaljer

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK 2017 FORPROSJEKT BACHELOROPPGAVE 2017 KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK PRESENTASJON OPPGAVE: Oppgaven er å lage en webapplikasjon som kan hjelpe bachelor

Detaljer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

d. Utviklingssteg for å utforme animasjonssekvenser:

d. Utviklingssteg for å utforme animasjonssekvenser: Oppgave 1: Generelt a. Logisk inndeling av inputdata: Locator En enhet for å spesifisere en koordinatposisjon. Stroke En enhet for å spesifisere et sett med koordinatposisjoner. String En enhet for å spesifisere

Detaljer

Bilag 1 Kravspesifikasjon Avtalereferanse: NT Web avspiller

Bilag 1 Kravspesifikasjon Avtalereferanse: NT Web avspiller ilag 1 Kravspesifikasjon Avtalereferanse: NT-0730-15 Web avspiller SIST LAGRET DATO: 18. desember 2015 Side 1 av 12 Innholdsfortegnelse ilag 1 Kravspesifikasjon 1 INNLEDNING... 3 1.1 EGREPSDEFINISJONER...

Detaljer

- reklamebannere mobil og tablet

- reklamebannere mobil og tablet Spesifikasjoner - reklamebannere mobil og tablet FINN.no Versjon 2.4 Sist oppdatert 16.08.2013 1. Innhold Innhold Introduksjon Målsetning Spesifikasjoner HTML Fysisk størrelse 225 px* Eksempler Størrelser

Detaljer

Leica Viva TS11: Avansert Manuell totalstasjon med bildefunksjonalitet

Leica Viva TS11: Avansert Manuell totalstasjon med bildefunksjonalitet Leica Viva TS11 Leica Viva TS11: Avansert Manuell totalstasjon med bildefunksjonalitet 6 oktober 2010 Leica Geosystems har gleden av å presentere sin nye manuelle totalstasjon, Leica Viva TS11. Denne moderne

Detaljer

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00 Side 1 av 11 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN

Detaljer

Sakkyndig vurdering av. Strategy Group for Medical Image Science and Visualization. Torfinn Taxt, Universitetet i Bergen, Norge, mars 2008

Sakkyndig vurdering av. Strategy Group for Medical Image Science and Visualization. Torfinn Taxt, Universitetet i Bergen, Norge, mars 2008 Sakkyndig vurdering av Strategy Group for Medical Image Science and Visualization Torfinn Taxt, Universitetet i Bergen, Norge, mars 2008 Innledning Bakgrunn for vurderingen er dokumentene i mappen med

Detaljer

Kryptografi og nettverkssikkerhet

Kryptografi og nettverkssikkerhet Kryptografi og nettverkssikkerhet Kapittel : Blokkchiffere og DES (the Data Encryption Standard) Moderne symmetrisk kryptografi Skal se på moderne blokkchiffere, en av de mest brukte kryptoalgoritmene.

Detaljer

PR362009 24. november 2009 Programvare, pc-basert kontroll Side 1 av 5

PR362009 24. november 2009 Programvare, pc-basert kontroll Side 1 av 5 Programvare, pc-basert kontroll Side 1 av 5 IT-standarder: TwinCAT-programmeringsmiljø integreres i Microsoft Visual Studio TwinCAT 3 extended Automation Med TwinCAT 3 introduserer Beckhoff sin nye generasjon

Detaljer

Psykososiale målemetoder og psykometri.

Psykososiale målemetoder og psykometri. Psykososiale målemetoder og psykometri. Kliniske og psykososiale konstruksjoner: Spørreskjema, måleskalaer og målemetoder i teori og praksis. Kort om emnet De fleste kliniske forsknings-studier, uansett

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

Forprosjekt gruppe 13

Forprosjekt gruppe 13 Forprosjekt gruppe 13 Presentasjon Tittel: Oppgave: Periode: Gruppemedlemmer: Veileder: Oppdragsgiver: Kontaktperson: Mobilbillett i HTML5 Utvikle en mobil billettautomat innenfor kategorien dedikert web

Detaljer

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen A study of different matching heuristics Hovedfagspresentasjon Jan Kasper Martinsen (janma@ifi.uio.no) Terminologi: Graf teori En graf består av et sett med noder Nodene er tilknyttet hverandre ved hjelp

Detaljer

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11 Konfigurasjonsstyring INF1050: Gjennomgang, uke 11 Kompetansemål Konfigurasjonsstyring Hva og hvorfor? I en smidig sammenheng Endringshåndtering Versjonhåndtering Systembygging Release -håndtering Del

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006, Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjonseksamen

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

Detaljer

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om

Detaljer

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00 Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultetet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsskisse

Detaljer

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

BAAN IVc. BAAN Data Navigator - Brukerhåndbok BAAN IVc BAAN Data Navigator - Brukerhåndbok Utgitt av: Baan Development B.V. P.O.Box 143 3770 AC Barneveld The Netherlands Trykt i Nederland Baan Development B.V. 1997. Med enerett. Informasjonen i dette

Detaljer

1 Måleprosedyre. I målemoduset jobber du i følgende skjerm:

1 Måleprosedyre. I målemoduset jobber du i følgende skjerm: 1 Måleprosedyre I målemoduset jobber du i følgende skjerm: Fig. 11-1: Målemodus Trykk [Mode] knappen for å endre kombinasjonen for måle funksjonene til Individuelle målinger. De andre parametrene som er

Detaljer

Kapittel 3: Litt om representasjon av tall

Kapittel 3: Litt om representasjon av tall MAT1030 Diskret Matematikk Forelesning 3: Litt om representasjon av tall, logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 3: Litt om representasjon av tall 20. januar 2009

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer