Introduction to Computer Graphics Projekt 1. Aarhus Universitet Datalogisk institut. Rapporten er udarbejdet af:

Størrelse: px
Starte visningen fra side:

Download "Introduction to Computer Graphics Projekt 1. Aarhus Universitet Datalogisk institut. Rapporten er udarbejdet af:"

Transkript

1 Aarhus Universitet Datalogisk institut Introduction to Computer Graphics Projekt 1 Rapporten er udarbejdet af: Kim Munk Petersen Andreas Koefoed-Hansen Tim Rasmussen

2 Contents 1 Indledning 3 2 Afvikling af kode 3 3 Programstruktur 4 4 Scenegraf 4 5 Overvejelser og valg Terræn Intersection Watersurface Skybox Boids Noise Dopesh Fisk og attractor Overlays Koordinatsystem FPS Eects Fog Anti-aliasing Motion blur Program dele Stereo Grabber Clock Wiimote Problemer, fejl og forbedringer Motion blur og Anti-aliasing Teleporterende sk Konklusion 15 2 af 15 Projekt 1

3 1 Indledning Denne rapport vil give et indblik i første del projekt i kurset Introduktion til computergrak. Rapporten vil indeholde en beskrivelse af de overvejelser og valg vi har stået med undervejs i projekt forløbet, en scenegraf og UML diagram der viser sammenhængen mellem klasserne samt en sektion hvor vi beskriver nogle af de problemer der er opstået undervejs. Vi vil afslutte med en konklusion på projektet. 2 Afvikling af kode Programmet kan ndes: /users/u063667/cgf10/project1/project1/ Koden afvikles ved først at compile projektet. Dette gøres ved at kalde:./make For herefter at køre programmet, kaldes:./run project1 <<STEREO MODE>> Hvor STEREO MODE enten er 0,1 eller 2, alt efter hvilken mode man ønsker at køre programmet i. Følgende gur viser en oversigt over de forskellige knappers funktion i programmet. 3 af 15 Projekt 1

4 3 Programstruktur På guren herunder ses en del af vores programstruktur. Vi har lavet en sceneabstraktion hvortil vi kan tilføje objekter til scenen. Disse objekter er enten er af klassen CDrawableObject eller CAnimatableObject. CAnimatableObject er en specialisering af CDrawableObject og gør det muligt at animere objekter vha. en metode Preframe der tager en tid som parameter. Denne tid er scenens aktuelle tid og idet den sættes til alle scenens objekter rekursivt ned igennem scenegrafen, synkroniseres alle objekter til samme tid. Herefter kaldes metoden Draw på samme rekursive måde på alle objekter, både CDrawableObject s og CAnimatableObject s hvilket gør at de bliver tegnet. Fælles for CDrawableObject og CAnimatableObject er at de implementerer interfacet IObject som primært sikrer at alle objekter har basale metoder til at translateres og roteres i scenen. De re nederste klasser i UML-diagrammet viser strukturen for de vigtigste objekter i scenen, herunder alle skene, attractoren og en predator kaldet Dope- Fish. Vi forklarer nærmere om samspillet mellem disse under punktet Boids. Alle skene er samlet i klassen CSchool der repræsenterer en stime af sk. 4 Scenegraf Scene grafen giver et overblik over alle de elementer der bliver tegnet i vores scene. Som tidligere vist har vi vores objekter indeholdt i en scene klasse, men udover dette er der også andre elementer der skal tegnes. Disse elementer omfatter blandt andet en skybox som afgrænser hele scenen, en FPS tæller og et koordinat system, som viser de 3 akser i scenen. Scene grafen siger også noget om hvilket koordinat system elementerne bender sig i. Der er et overordnet koordinatsystem hvor hele verdenen kan roteres eller translateres, og efterhånden som man bevæger sig længere ned i grafen er der andre koordinatsystemer. Fx. har halen på sken sit eget koordinatsystem, der er placeret i skens koordinatsystem osv. 4 af 15 Projekt 1

5 5 Overvejelser og valg I denne sektion vil vi beskrive de overvejelser og valg vi har truet undervejs i projekt forløbet. 5.1 Terræn I scenen har vi et terræn som er formet således at der er en fordybning i midten hvor vores sk og vandoverade er placeret. Terrænet består af et net af punkter som er 128 x 128 hvor højderne af punkterne er bestemt ud fra farveværdierne i et bitmap billede. Værdierne bliver hentet ud via Image klassen som er blevet givet under kurset og ligger i intervallet fra 0 til 255. Billedet til vestre viser vores terræn som wireframe hvor man kan se alle vektorer og billedet til højre er det bitmap billede hvorfra højderne bliver læst fra. Vi bruger ikke normaler til at beregne hvordan lyset på teksturen i terrænet, vi bruger derimod højderne fra heightmappet til at bestemme lysniveauet Intersection For at undgå at sk og madding ikke kan gennemtrænge terrænet benytter vi en intersection test. Testen bliver udført ved at se på trekanterne i terrænet og udføre en trekant-linjestykke intersection test. I starten testede vi på alle trekanter, 5 af 15 Projekt 1

6 men dette betød at vores framerate var meget lav da det tog en masse beregninger. Vi optimerede dette ved at kun at tage hensyn til de trekanter der ligger tæt på objektet. Intersection metoden er taget fra bogen Real-time Collision Detection 1 og derefter optimeret ved at teste på om hele linjestykket skærer planet som trekanten ligger i, hvorved man tidligt kan afbryde beregningerne hvis dette ikke er tilfældet. 5.2 Watersurface Vandoveraden er en oscilating textured surface som vi tidligere har benyttet i forbindelse med øvelser i kurset. Der er 150x150 vektorer og amplituden på bølgerne er 0, 05. Dette giver en ret realistisk bølgegang, især når Preframe bliver kaldt med tid + 100sekunder så bølgerne er blevet fordelt ud over hele surfacen før Draw metoden bliver kaldt. Som tekstur har vi benyttet skyerne der er i skyboksen, da det i en virkelig situation også vil være skyerne der vil reekteres i vandoveraden. Vi bruger en alpha værdi på 0, 6 dette giver en eekt af at vandet virker klart men at man stadig kan se bølgerne og reeksionen i overaden. En forskel fra en normal textured surface bruger vi ikke tekstur koordinater, men derimod environment mapping. Dette giver en bedre illusion af reeksion da teksturen bliver yttet alt efter hvor objektet bender sig i universet, i forhold til kameraet. På Linux test maskinen i CAVI havde vi problemer med at frameraten blev meget lav når vi havde vores vandoverade inkluderet i scenen. Grunden til dette er at maskinens processor ikke er specielt kraftig (3 ghz Pentium 4) og at vi skal udføre beregninger hver gang preframe metoden bliver kaldt. Dette er ikke noget problem på Windows testmaskinen der har en noget kraftigere processor. For at sikre at skene ikke kan komme op af vandet har vi sat en maksimal højde de kan bevæge sig til. Denne test bliver udført sammen med intersection testen. 5.3 Skybox En skybox er en boks med baggrunde, der omkranser hele verdenen. Teksturen på baggrunden er oftest af ting der virker langt væk såsom skyer og bjerge, dette giver en illusion af at verdenen er større end den egentligt er og er en "billig" måde at opnå en eekt af at man bender sig i et stort univers. Skyboxen er det første der bliver tegnet i scenen og den bliver altid tegnet rundt om kameraet for at der altid er den samme afstand lige meget hvor i scenen kameraet er placeret. Skyboksen bliver roteret med kameraet så det virker som om man ser i forskellige retninger ud i landskabet. Depth bueren er slået fra når skyboxen tegnes for at det altid er den der ser ud til at være bagerst, 1 Real-time Collision Detection, Christer Ericson, 2005, Elsevier Inc., af 15 Projekt 1

7 men den bliver slået til igen så snart vi begynder at tegne objekterne i scenen. Vores skyboks har 6 teksturer der passer sammen således at man ikke kan se overgangen imellem dem når de bliver placeret på en terning. Billedet herunder viser hvordan teksturerne er placeret i forhold til hinanden så de passer sammen når de bliver sat ind i en terning. For at give en mere naturlig overgang imellem vores terræn og skyboksen har vi brugt en modiceret tekstur, fra den nederste ade i skyboksen, til terrænet. 5.4 Boids For at animere vores sk i ok, så anvender vi boids principper til at håndtere dette. Boids beskriver hvordan et objekt (en sk i vores tilfælde) skal forsøge at undgå at kollidere med andre objekter i okken. Samtidig skal objektet bevæge sig i samme retning som gennemsnittet af okken samt bevæge sig mod denne gennemsnitlige position i okken. Ved at anvende disse tre principper fås en ok der bevæger sig mere naturligt. For at håndtere vores ok har vi oprettet en school hvor vil tilføjer det antal sk vi ønsker. Når vi har oprettet vores school, så tilføjes en attractor som okken skal forsøge at svømme imod samt en predator som okken skal forsøge at undgå. Måden school fungere på er at preframe() metoden løber alle sk igennem og derefter beregner skens nye position og derefter kalder skens egen preframe() metode. Eftersom vi har tilføjet en attractor og en predator, har vi tilføjet nogle regler når vi beregner skens nye position. Reglerne vi anvender er: Undgår at kollidere med andre sk i okken. Bevæge sig imod den gennemsnitlige position i okken. Bevæge sig imod attractoren. Undgå predatoren. 7 af 15 Projekt 1

8 Til at håndtere disse regler har vi metoden CalculatePosition, som beregner en accelerations vektor ud fra reglerne og lægger dette til dens nuværende position. Denne samlede vektor bestemmer hvor sken skal ytte sig hen. Ved at gøre brug af en accelerations vektor, opnår vi at skenes hastighed afhænger af længden af accelerationsvektoren. For at sikre at skene ikke bevæger sig så hurtige at det ikke længere ser ud som om den bevæger sig igennem vandet, men i stedet ytter sig fra en position til en anden, har vi deneret en maxspeed som skene må bevæge sig med. Reglen om at skene skal bevæge sig i samme retning som gennemsnittet af okken tager vi ikke med når vi beregner deres ny position. Grunden til dette, er denne regel indirekte bliver taget i betragtning når skene bevæger sig imod attractoren. if( vectorlength > maxspeed ) dir = dir / ( maxspeed / vectorlength ); Figur 5.4 viser forholder i mellem de forskellige områder. 5.5 Noise For at få skene til at bevæge deres hale mere naturligt, kan det være en god idé at tilføje noget støj (noise) til halens rotation. Det at bruge støj, vil betyde at halen ikke roterer med samme konstante hastighed, men i stedet bevæger sig 8 af 15 Projekt 1

9 med en mere tilfældig hastighed. Dette betyder at en støj funktion hovedsageligt er en seeded Random Number Generator, der tager et heltal som parameter og returnere et tilfældigt tal baseret på denne parameter. Hvis funktionen modtager den samme seed ere gange, vil funktionen returnere der samme tal i hver gang. Dette er en meget vigtig egenskab for støj funktionen, da Perlin funktionen der bygger ovenpå ellers vil returnere noget ubrugeligt. Vi har taget udgangspunkt i en hjemmeside omkring perlin noise 2, for at forstå principperne i brugen af støj funktioner samt hvordan de implementeres. På siden beskrives hvordan man for at kunne oprette en Perlin støj funktion, skal bruge en støj funktion samt en interpolation funktion. Vi anvender dog yderligere en SmoothedNoise funktion, som får outputtet af støj funktionen til at se mindre tilfældigt ud ved at tage gennemsnittet af værdien og dens naboværdier. Perlin støj funktionen anvender to vigtige konstanter, Persistence og Octaves. Persistence bruges til at bestemme udstrækningen (amplitude) for hver frekvens. Dette betyder at jo højere persistence, jo mere støj bliver der produceret. Octaves bestemmer i bund og grund hvor mange gange man ønske at tilføje støj funktionen. Hver af de efterfølgende støj funktioner der tilføjes er kendt som en oktav. Grunden til at dette er, at hver støj funktion er dobbelt hyppigheden af den foregående. Vi har brugt hans pseudo code for 1-dimensional Perlin noise til at implementere vores Perlin støj funktion. Vi har dog ikke været særlig heldige med at anvende den. Efter at have tilføjet vores Perlin støj funktion begyndte skenes hale i stedet for at bevæge sig mere naturligt at bevæge sig meget i ryk som om skene havde krampe. Efter at have brugt adskillige timer på at nde frem til en løsning, måtte vi sande at vi ikke var kommet tættere på og valgte derfor at droppe vores støj funktion. Koden kan stadig ndes i len: noise.cpp. Vi k i stedet implementeret det således at halens rotationshastighed afhænger af den hastighed sken bevæger sig med. Dette betyder at jo hurtigere sken bevæger sig, jo hurtigere bevæger halen sig også. Da vi allerede tager højde at skens hastighed ikke bliver for høj, var det blot en spørgsmål om at nde den rigtige faktor at gange på for at halens rotations til at se naturlig ud. 5.6 Dopesh Som beskrevet i afnittet om Boids har vi lavet én speciel sh kaldet Dope Fish. Denne er inspireret af det klassiske computerspil Commander Keen 4, hvorefter den i spilverdenen opnåede kult-status og optræder derfor i mange nyere spil. Mere information om sken kan ses her: Idet det ikke var muligt at nde en 3d-model af sken, blev vi nødt til selv at af 15 Projekt 1

10 modellere den. Dette blev gjort i 3D Studio Max hvorefter modellen blev eksporteret med ltype 3DS som ofte bruges til simple 3d-modeller pga. deres simple opbygning. I stedet for at lave vores egen 3ds-loader til at loade len ind i OpenGL, fandt vi en på Internettet. 3DS-formatet indeholder mange features, inklusiv animation, men vi bruger kun geometri, teksturkoordinater, farver og teksturtildelinger til skens subobjekter. Den eneste tekstur sken bruger er til dens øjne. Vi loader to forskellige modeller af sken ind i programmet. Ved den første har den munden lukket og ved den anden har den munden åben. Metoderne OpenMouth og CloseMouth i klassen CDopeFish bruges så til at skifte mellem hvilken model der tegnes. På den måde kan vi lave en simpel form for animation. Dette bruges til at få sken til at åbne munden når den nærmer sig attractoren og lukke den igen efter den har "fanget` den. 5.7 Fisk og attractor Som sk har vi valgt at gøre brug den sk som Peter har lavet. Fisken er opbygget af 3 pyramider, hvor de 2 former kroppen, mens den sidste udgør halen. Vi har modiceret sken så den nu bevæger halen fra side til side. Som attractor har vi valgt at bruge en almindelig bold. Der ligger ikke nogen begrundelse bag denne beslutning. Vi havde overvejet at lave en krog med en orm i 3D Studio Max og importere guren, men dette er ikke blevet til noget. 5.8 Overlays Vi har i vores program forskellige overlays der giver nyttige informationer om programmets tilstand. Et overlay denerer vi som et lag der tegnes ovenpå den egentlige rendering af scenen. Vi sørger for at disse overlays tegnes selvom de er bagved objekter i scenen ved at disable depth testing vha. gldisable(gl_depth_test) Koordinatsystem Vi har lavet et koordinatsystem i nederste venstre hjørne af vinduet som viser world coordinate system. Ud over at rotere, skaleres det også en smule, afhængigt af hvor tæt kameraet er på dets target, dvs. det punkt det roterer omkring. For det første var det en god øvelse i sig selv at lave koordinatsystemet så det tegnes korrekt og er stationært nede i hjørnet selvom hele scenen translateres, men derudover kan det også bruges til at debugge idet man hele tiden kan følge med i hvordan objekterne i scenen er placeret og bevæger sig ift. world coordinate system. Selve koordinatsystem-modellen der vises er tegnet vha. en sphere, 3 cylinder og 3 kegler vha. metoderne glutsolidsphere, glucylinder og glutsolid- Cone henholdsvis. Vi har valgt at tegne akserne rød, grøn og blå for henholdsvis x, y, og z. Idet farver i OpenGL, og i mange andre sammenhænge, angives med rød, grøn og blå, i nævnte rækkefølge, er det let at huske hvilken farve der svarer til hvilken akse. 10 af 15 Projekt 1

11 5.8.2 FPS For at kunne følge med i performance, har vi lavet en FPS counter der viser den aktuelle framerate, i øverste venstre hjørne af vinduet. Ud over at vi herved har kunnet følge med i hvordan forskellige features har påvirket framerateen, er den nødvendig for at implementere motion blur der giver samme eekt uafhængigt af framerateen. Mere om dette under punktet Eekter. Logikken bag FPScounteren er at tælle hvor tit Display-metoden udføres, dvs. hvor tit scenen renderes. Vi ville oprindeligt bruge funktionen glutget(glut_elapsed_time) til at få tiden siden kaldet til glutinit, men denne funktion returnerede altid 0 under Windows, så vi måtte nde en anden løsning. Idet man i Microsoft Windows umiddelbart kun har adgang til en timer der er præcis ned til 1 ms, vil en framerate over 1000 tælle som uendeligt. Derudover bliver den meget ustabil ved høje framerates. Af den grund nder vi tiden det tager at tegne re frames. Vi kunne gøre den endnu mere præcis ved at forøge antallet af frames vi tager tid på, men herved ville FPS counteren blive forsinket når programmet har en meget lav framerate idet den ikke beregnes så tit. Eksempelvis opdateres den nu kun hvert fjerde sekund hvis hver frame tager et sekund. 5.9 Eects For at gøre scenen pænere og mere livagtig, samt at lære om nogle af de features OpenGL stiller til rådighed, valgte vi at implementere nogle eekter Fog En grask eekt der er let tilgængelig i OpenGL er fog, dvs. tåge. Vi har valgt at enable fog under vandet i vores scene for at simulere urenheder der nedsætter sigtbarheden. Det er ikke umiddelbart muligt kun at enable fog under vandet idet det aktiveres ved kaldet glenable(gl_fog) og gælder herefter for hele scenen. Vi gør derfor det at vi kun har fog enabled når kameraet kommer under vandets overade. Som beskrevet tidligere bruger vi en oscillerende over- ade til vandet, men idet amplituden af svingningerne er relativt lille, har vi approksimeret vandets overade til at have samme højde overalt, for herved at spare en masse beregninger. Vores eksperimenter viser at denne approksimation er ubetydelig i praksis. For at få fogen til at se realistisk ud, giver vi det en blålig farve der svarer til vandet. Eekten kan ses ved at skene og attractoren, samt alle andre overader falmer jo længere væk de er fra kameraet, og bliver til sidst fogens farve. Idet tågen påvirker hele scenen, er det naturligt at tro at himlen bliver helt usynlig idet den er langt væk. Dette er dog ikke tilfældet idet vi bruger en skybox der er meget lille og altid centreret omkring kameraet. Afstanden til himlen er derfor meget lille hvilket gør at himlen let kan ses gennem tågen når kameraet er under vandet. Herved opnås en illusion om at tågen slutter i vandoveraden selvom den rent faktisk fortsætter til det punkt hvor den er helt tæt og hvor objekter hinsides dette punkt ikke kan ses. Tågen virker af den grund meget overbevisende når kameraet er under vandets over- ade. Er kameraet over vandets overade, er tågen disabled og skene fremstår 11 af 15 Projekt 1

12 derfor (fejlagtigt) lige klare uanset hvor langt nede i vandet de er. Idet vandet har en translucent overade, dvs. ikke er fuldstændig transparent, samtidig med de simulerede reeksioner og den relativt lille afstand til bunden, er denne skønhedsfejl ikke specielt tydelig i praksis Anti-aliasing Anti-aliasing er i computergrak en teknik til at få takkede kanter til at fremstå som glatte. Vi har implementeret anti-aliasing vha. accumulation bueren som beskrevet i Redbook kapitel 10 omkring framebueren. Måden det virker på er at rendere scenen n gange, hver gang med kameraet yttet en smule. Disse n renderings adderes ind i accumulation bueren med vægt 1 n således at den fyldes helt op, efter alle renderings. Herefter kopieres accumulation bueren over i color bueren som så vises på skærmen. Vi har valgt n = 4 idet det eksperimentelt giver et fornuftigt resultat ift. dets performance hit. Idet hele scenen skal renderes 4 gange og accumulation bueren også bruges, er det klart at framerateen bliver mindre end en fjerdedel af hvad den ville være uden denne type anti-aliasing. I moderne computerspil og andre graske applikationer foregår anti-aliasing typisk udelukkende på grakkortet, transparent for programmet. Det skal i denne sammenhæng nævnes at vi ved at påtvinge 16x anti-aliasing, dvs. n = 16, i grakkort-driveren, oplevede en næsten ubetydelig ændring i framerate i vores program, mens den altså blev rdelt med vores teknik. Dette vidner om at der ndes teknikker til anti-aliasing som giver et relativt lille performance hit Motion blur Accumulation bueren har vi også brugt til at implementere motion blur, en eekt der får en sekvens af billeder til at virke mere ydende ved at hvert billede indeholder en mere og mere falmet udgave af de tidligere billeder. Måden hvorpå vi implementerer motion blur er for hver rendering at først gange accumulation bueren med k, hvor 0 < k < 1 og så akkumulere den nyeste rendering med en faktor 1 k i accumulation bueren således at den fyldes op til 1.0. Faktoren k angiver således hvor meget den nyeste rendering skal vægtes ift. de tidligere og kan derfor bruges til at justere graden af eekten. Det er klart at k skal afhænge af den aktuelle framerate for at eekten er ensartet ved forskellige framerates. Vi beregner derfor denne faktor ud fra følgende formel: F P S motionblurlevel motionblurlevel kan bruge til at justere graden af motion blur, uafhængigt af framerateen. Vores implementering gør det muligt at kombinere anti-aliasing og motion blur. Dette kræver stort set kun at man ikke clearer accumulation bueren for hver frame, som man ellers typisk ville gøre ved brug af anti-aliasing. Det er i princippet nemt at implementere motion blur, men for at få en troværdig eekt er der nogle tilfælde man bliver nødt til at håndtere for at undgå artifacts. 12 af 15 Projekt 1

13 For eksempel clearer vi accumulation bueren når vinduet bliver resized idet frames af det gamle vindues størrelse ellers ville få de første nye frames til at se mærkelige ud. 6 Program dele 6.1 Stereo For at kunne udnytte stereo-rendering som stilles til rådighed i CAVI, har vi fulgt eksemplet fra week9 til at implementere understøttelse heraf. I stedet for at have en camera-klasse, har vi yttet koden ind i vores main.cpp idet vi allerede har informationer såsom FOV, viewport-størrelse osv. heri. I stedet for at bruge glulookat-funktionen til at translatere scenen til henholdsvis venstre og højre øje, bruger vi vores grabbers relativetranslate-metode. Herved sikrer vi at scenen kun translateres når grabberens apply-metoden kaldes hvilket giver os mere kontrol over hvilke objekter der skal påvirkes af translationen. F.eks. ønsker vi ikke at overlays og skyboxen skal påvirkes. På runtime kan afstanden mellem "`øjnene"', typisk 6-7cm, justeres, dvs. den afstand som kameraet translateres for at skabe stereo-eekten. Dette har vi gjort af ere grunde. For det første fordi vores scene ikke har nogen bestemt længde-enhed, dvs. vi ved ikke hvad en enhed i vores scene svarer til i virkeligheden. Grunden hertil er at vores sk er imaginære og vi dermed ikke kender deres virkelige størrelse. For det andet blev vi ved kursets første besøg i CAVI fortalt at man typisk justerer afstanden mellem "`øjnene"' eksperimentelt så den passer til formålet og giver den ønskede eekt. 6.2 Grabber I starten af projektet blev det hurtigt klart for os at vi blev nødt til at implementere en mere avanceret grabber end den udleverede, for lettere at kunne navigere rundt og betragte scenen. Grabberen vi har lavet er inspireret af 3D Studio Max, hvor man zoomer ind og ud vha. scroll-hjulet og kan panorere og kredse rundt om et variabelt punkt i scenen vha. musen. Derudover har vi også implementeret mulighed for at rotere kameraet omkring dets egen akse hvilket vi bruger til at rotere sky-boxen. Vi har valgt at det ikke skal være muligt at rotere kameraet omkring z-aksen, altså synsretningen, idet det ikke har nogen praktisk anvendelighed i vores scene. 6.3 Clock Den udleverede clock, clockpmn, er kun kompatibel med Linux. Idet vi primært har programmeret vores program på Windows-maskiner, blev vi nødt til at udbygge denne clock så den blev Windows-kompatibel. Udover denne tilføjelse, valgte vi at gøre det muligt at stoppe og starte klokken samt at ændre dens hastighed, altså få den til at køre hurtigere eller langsommere. I stedet for at angive tiden i sekunder, ændrede vi den til at angive tiden i millisekunder. 13 af 15 Projekt 1

14 Herved kan vi bruge heltal til at repræsentere tiden hvilket giver bedre performance idet vi undgår oating point aritmetik. 6.4 Wiimote For at kunne bruge wiimoten til at bevæge vores attractor og rotere verdenen, anvender vi wiimonitor klasse udleveret af Peter. Det er wiimonitorens job at sørge for at der bliver oprettet forbindelse til en wiimote. Dette sker når der i main klassen bliver kaldt init. Når der er oprettet forbindelse til en wiimote, så sørger preframe metoden for at undersøge hvilke knapper der trykkes ned, samt hvordan wiimoten roteres. Den udleverede wiimointor klasse har kun support for knapperne 1 og 2, så derfor har vi udvidet den så den nu har support for alle knapper. Oplysningerne om hvordan wiimoten bevæges bliver gemt i en række variablerne og kan på den måde bruges til at påvirke attractoren, verdenen og kameraet. wiimonitorens preframe metode bliver kaldt hver gang Idle metoden bliver kaldt i main klassen. For at få overført bevægelserne fra wiimoten via wiimonitoren til de forskellige objekter, har vi oprettet en wiilistener. Det den gør, er at den som argument tager en grabber, som i vores tilfælde er et terræn. Det vi ønsker er at når man trykker på knapperne frem, tilbage, venstre, højre, A og B, så bevæger attractoren sig i de respektive retninger, hvor A og B får attractoren til at bevæge sig op og ned. For at gøre disse bevægelser mere intuitiv, ønsker vi at bevægelserne sker i forhold til hvordan kameraet ser på verdenen og ikke i forhold til koordinatsystemet. Hvis knappen 2 holdes nede, så ytter knapperne frem, tilbage, venstre, højre, A og B i stedet på kameraet. Holdes knap 1 inde, så roteres og vippes verdenen i forhold til hvordan wiimoten bevæges. De sidste funktioner der er implementeret er plus og minus knapperne, der henholdsvis zoomer ind og up på verdenen. For at vores wiilistener skal opdateres lige så ofte som wiimonitoren, kalder vi Listen() på den lige efter at vi har kaldt preframe på wiimonitoren. 7 Problemer, fejl og forbedringer 7.1 Motion blur og Anti-aliasing Under normale omstændigheder virker motion blur og anti-aliasing efter hensigten. Når programmet bruger stereo mode 2, opstår der dog problemer. I stereo mode 2 oprettes en viewport der er dobbelt så bred som normalt. Den ene halvdel bruges så til at rendere scenen for det ene øje og den anden halvdel til det andet øje. Når første halvdel renderes, er anden halvdel clear'et med den farve man har sat i glclearcolor. Det der gemmes i accumulation bueren ved anti-aliasing og motion blur er således en korrekt halvdel og en tom halvdel hvilket resulterer i at den sidste halvdel af viewport'et står og imrer. For at 14 af 15 Projekt 1

15 løse dette problem skal man rendere samples for anti-aliasing af begge halvdele på samme tid og derefter beregne motion blur. Vi mener ikke at fejlen er kritisk idet den kun opstår ved stereo mode 2 når der bruges anti-aliasing og motion blur, som ikke er en obligatorisk del af projektet. Af den grund har vi ikke rettet fejlen. 7.2 Teleporterende sk Et af de problemer der stadig er i koden er at skene kan teleportere sig fra et sted til et andet eller sådan ser det i hvert fald ud. Hvis skene bliver fanget på bunden og man ytter attractoren, så vil skene bliver stående på den samme position. Grunden til at de bliver fanget, skyldes at deres retningsvektor peger ind i noget terræn som de ikke kan bevæge sig igennem. Så i stedet for at svømme op over terrænet bliver de stående. Når de så igen kan bevæge sig, så ytter de sig så hurtigt hen imod attractoren at det ser ud som om de teleportere sig derhen. Det samme er gældende hvis man ytter attracoten op over vandoveraden og sænker den ned et andet sted i vanden. 8 Konklusion Vi har fået lavet et projekt som vi alle er meget godt tilfreds med. De este af de ideer vi har fået undervejs, er gået fra ide til en egentlig del af programmet. Her er vi specielt stolte af skyboxen, terrænet og vores dopesh, der virkelig er med til at fremme 3D oplevelsen. Vi har kodet projektet på windows maskiner, så da vi skulle til at ytte projektet over på linux maskiner og tilføje wiimonitoren, k vi nogle problemer med segmentationfault. Vi fandt efter længere tids søgen ud af at grunden til fejlen ligger i rækkefølgen de to styresystemer kalder Draw og preframe metoderne. I windows bliver preframe kaldt før draw, mens den på linux kalder draw før preframe. Dette betød at vi havde nogle arrays der ikke var blevet initialiseret. Vi k løst problemet og k dermed systemet til at køre på linux maskiner. Testen i CAVI har bådet være et positiv og negativ oplevelse. For det første har det være dejligt at komme over og opleve 3D eekten og dermed se hvor meget det betyder at tilføje det ekstra kamera. Et stort irritations moment og stadig en gåde, er hvorfor wiimoten ikke køre som den skal på linux maskiner. Vi har efter lang tids søgen ikke kunne sige præcist hvad der er glat, men det virker til at computeren ikke kan nå at opdatere hele vores scene, hvorved den kommer til at hænge. Vi yttede projektet over på den noget hurtigere windows maskine, hvor projektet virker nt. Det kunne være rart at teste projektet på en noget hurtigere linux maskine. Overordnet set, har projektet været god og lærerig oplevelse der har givet et større kendskab til processen med at generere grak. 15 af 15 Projekt 1

Introduction to Computer Graphics Projekt 1. Aarhus Universitet Datalogisk institut. Rapporten er udarbejdet af:

Introduction to Computer Graphics Projekt 1. Aarhus Universitet Datalogisk institut. Rapporten er udarbejdet af: Aarhus Universitet Datalogisk institut Introduction to Computer Graphics Projekt 1 Rapporten er udarbejdet af: Kim Munk Petersen Andreas Koefoed-Hansen Tim Rasmussen Indhold 1 Indledning 3 2 Afvikling

Læs mere

Introduktion til Computer Grafik Projekt 1

Introduktion til Computer Grafik Projekt 1 Introduktion til Computer Grafik Projekt 1 Line Løfquist,Thor Prentow, Nikoline Vinkel Datalogisk Institut, Aarhus Universitet Åbogade 34, 8200 Aarhus N, Denmark 20071346, 20071952, 20071387 {u071346,prentow,u071387}@cs.au.dk

Læs mere

Sådan laver du en animationsfilm

Sådan laver du en animationsfilm Sådan laver du en animationsfilm i Animtoon Først skal du åbne Animtoon. I start menuen trykker du på Film Værkstedetikonet, som er billedet af et ben der går, se figur 1. Figur 1: Film Værkstedetikonet.

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Vers. 1.3.1 Opdateret: 29-08-2018 Indholdsfortegnelse 1. Installer programmet 3 2. Pak robotten ud 5 3. I gang med at programmere 6 4. Programmér Fable til at køre fra 90 til -90

Læs mere

Fang Prikkerne. Introduktion. Scratch

Fang Prikkerne. Introduktion. Scratch Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Læs mere

Tyngdekraft i Scratch

Tyngdekraft i Scratch Tyngdekraft i Scratch Nogle gange er det nemmere at forstå nogle ting, når man ser det ske. Derfor kan vi nu prøve at lave et spil med tyngdekraft. Det gør også at man får nogle meget federe spil! 1) Figur

Læs mere

Guide til Umbraco CMS

Guide til Umbraco CMS web Guide til Umbraco CMS Indhold Indledning 3 Kompatible browsere 3 Log ind i Umbraco 4 Content-delen 5 Indholdstræet 5 Tilføjelse af en side/sektion 7 Sortering af indhold 12 Galleri 14 Mediebibliotek

Læs mere

Unity Guide 1 CONTENTS

Unity Guide 1 CONTENTS Unity Guide 1 CONTENTS Unity interface... 2 Components... 4 Materials... 7 Scripts opbygning... 8 Terrain... 8 Animations... 9 Particle system... 11 Audio... 11 Sprites... 12 GUI... 14 UNITY INTERFACE

Læs mere

Arbejde med 3D track motion

Arbejde med 3D track motion Arbejde med 3D track motion Gary Rebholz I sidste måneds Tech Tip artikel gennemgik jeg det grundlæggende i track motion. Selv om vi ikke gennemgår alle værktøjer i Track Motion dialog box vil du alligevel

Læs mere

Hvad er animation? 30 min: grupperne tegner storyboard, karakter- og elementdesign, fx en fisk, sky, figurer.

Hvad er animation? 30 min: grupperne tegner storyboard, karakter- og elementdesign, fx en fisk, sky, figurer. Hvad er animation? Animation er en ny genre i folkeskolen, som går ud på, at børnene selv skal skabe små fortællinger. Det er en sjov måde for børn at eksperimentere med historiefortælling, da børnene

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

Pædagogisk vejledning til. Materialesæt. Sphero. http://via.mitcfu.dk/99872760

Pædagogisk vejledning til. Materialesæt. Sphero. http://via.mitcfu.dk/99872760 Pædagogisk vejledning til Materialesæt Sphero http://via.mitcfu.dk/99872760 Pædagogisk vejledning til materialesættet Sphero Materialesættet kan lånes hos VIA Center for Undervisningsmidler og evt. hos

Læs mere

Mandelbrot smartphone applikation

Mandelbrot smartphone applikation Mandelbrot smartphone applikation Navne: Troels Leth Jensen & Morten Møller Studienumre: 20095039 & 20093873 Fag: ITSMAP 6-1-2012 Indholdsfortegnelse Introduktion... 2 Kravspecifikation... 2 Teori... 2

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

Photo Story 3. Photo Story 3

Photo Story 3. Photo Story 3 Side 1 af 8 Photo Story 3 Introduktion Når jeg tager på ferie, tager jeg altid en masse videoer og billeder, som jeg så efter hjemkomsten redigerer, så jeg selv og andre kan have glæde af at se indtryk

Læs mere

Billedvideo med Photo Story

Billedvideo med Photo Story Billedvideo med Photo Story Programmer: Microsoft Photo Story 3 Microsoft Windows XP Microsoft Internet Explorer Anvendelse: Edb informatik - Almen Voksenuddannelse September 2006 Billedvideo med Photo

Læs mere

Når du åbner Sportsplanner første gang, får du to muligheder. Åben opstilling og Ny opstilling.

Når du åbner Sportsplanner første gang, får du to muligheder. Åben opstilling og Ny opstilling. Sportsplanner I DGI Sportsplanner har du mulighed for at tegne redskabsbaner, som passer direkte på det sted, hvor du og dine gymnaster træner. De opstillinger du tegner har du mulighed for at få tilsendt

Læs mere

IDAP manual Emission

IDAP manual Emission IDAP manual Emission Dato: 08-06-2005 16:32:35 Indhold INDHOLD... 1 1 EMISSION... 2 1.1 KURVER... 2 1.2 RAPPORTER... 5 1.3 DATA REDIGERING... 6 1.3.1 Masse redigering... 7 1.3.2 Enkelt redigering... 10

Læs mere

AFTER EFFECTS DET GRUNDLÆGGENDE INTERFACE

AFTER EFFECTS DET GRUNDLÆGGENDE INTERFACE AFTER EFFECTS DET GRUNDLÆGGENDE INTERFACE PROJEKT VINDUE KOMPOSITIONS OMRÅDE TIDS KONTROL EFFEKTER LAGSTRUKTUR TIDSLINJE AFTER EFFECTS PROJEKT VINDUET Når filerne er importeret, kan de frit omdøbes og

Læs mere

Manual til administration af online booking

Manual til administration af online booking 2016 Manual til administration af online booking ShopBook Online Med forklaring og eksempler på hvordan man konfigurerer og overvåger online booking. www.obels.dk 1 Introduktion... 4 1.1 Formål... 4 1.2

Læs mere

Trænerkursus i Odense den

Trænerkursus i Odense den Trænerkursus i Odense den 17-01-2015 Trænerpunkter/-opgaver Vælge en trænerstil Hvordan får man respekt? Vigtigt at rette en øvelse til, således at det hele tiden er tydeligt, hvem der har trænerrollen

Læs mere

Ghostbusters. Introduktion. Scratch. Du skal lave et fangelegsspil med spøgelser! Arbejdsliste. Test dit Projekt. Gem dit Projekt

Ghostbusters. Introduktion. Scratch. Du skal lave et fangelegsspil med spøgelser! Arbejdsliste. Test dit Projekt. Gem dit Projekt Scratch 1 Ghostbusters All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can register

Læs mere

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Ting man gør med Vektorfunktioner

Ting man gør med Vektorfunktioner Ting man gør med Vektorfunktioner Frank Nasser. april 11 c 8-11. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

Læs mere

Vejledning til Photo Story 3

Vejledning til Photo Story 3 Vejledning til Photo Story 3 Start på billedfortælling Når du har startet programmet, får du dette vindue. Du får 3 valg: 1. Opret en ny fortælling. 2. Redigere et projekt 3. Afspille en fortælling. Den

Læs mere

Sådan starter du PowerPoint vha. Start-knappen

Sådan starter du PowerPoint vha. Start-knappen Bliv en haj til IT i hverdagen 4.3 PowerPoint Microsoft PowerPoint er et præsentationsprogram, som kan bruges til at oprette flotte præsentationer, der enten kan udskrives eller afspilles på en computer.

Læs mere

Mini game 1-2 Binding 14-09-2012

Mini game 1-2 Binding 14-09-2012 1-2: Binding Kort fortalt Der vil i dette minigame være en start skærm med bakterien (hovedskærmen), hvor man kan klikke på forskellige celledele og bagefter er der spillet hvor man skal skrive forskellige

Læs mere

OVERGANGS- OG OPBYGNINGSEFFEKTER

OVERGANGS- OG OPBYGNINGSEFFEKTER OVERGANGS- OG OPBYGNINGSEFFEKTER Kan PowerPoint ikke animere, kan programmet i stedet lave overgangs- og opbygningseffekter. Ikke mindst opbygningseffekter giver rige muligheder, for at lave særdeles avancerede

Læs mere

Vejledning til opgraderet version af Danmarks Arealinformation

Vejledning til opgraderet version af Danmarks Arealinformation Vejledning til opgraderet version af Danmarks Arealinformation Følgende funktioner virker anderledes i HTML5-versionen end i Silverlight-versionen: 1) Vælg/tænd kortlag... 2 2) Tilføj kortlag fra Lagkatalog...

Læs mere

Billedbehandling i praksis

Billedbehandling i praksis Billedbehandling i praksis Øvelser til værktøjerne i simpel billedbehandling Version: August 2012 Indholdsfortegnelse Dette hæfte...4 Billedstørrelse, billedformater m.m...4 Billedstørrelse...4 Sideformat...5

Læs mere

Ting man gør med Vektorfunktioner

Ting man gør med Vektorfunktioner Ting man gør med Vektorfunktioner Frank Villa 3. august 13 Dette dokument er en del af MatBog.dk 8-1. IT Teaching Tools. ISBN-13: 978-87-9775--9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Beskæring af et billede med Vegas Pro

Beskæring af et billede med Vegas Pro Beskæring af et billede med Vegas Pro Gary Rebholz Event Pan / Crop værktøj, som du finder på alle video begivenhed i dit projekt giver dig masser af power til at justere udseendet af din video. Du har

Læs mere

Microsoft PowerPoint 2010

Microsoft PowerPoint 2010 Microsoft PowerPoint 2010 Opbyg dias... 3 Sidehoved og sidefod... 3 Afspil diasshow... 4 Vis dias... 4 Formatering og baggrund... 5 Overgang... 6 Animation... 7 Indspil tidsindstilling... 8 Gentagen visning...

Læs mere

Introduktion. Properties (egenskaber) Timeline (Tidslinien) Stage (hovedscenen) kan redigeres.

Introduktion. Properties (egenskaber) Timeline (Tidslinien) Stage (hovedscenen) kan redigeres. Flash er et program der bruges til at fremstille animation og interaktion i - især til Internettet. I forhold til andre tilgængelige teknologier er Flash-filer meget små rent datamæssigt. Årsagen er, at

Læs mere

Vejledning Brug af Ad hoc analyser

Vejledning Brug af Ad hoc analyser PROPHIX 11 Systemansvarlige Daniel Nygaard Ricken Økonomiafdelingen 9940 9785 dnr@adm.aau.dk Michael Siglev Økonomiafdelingen 9940 3959 msi@adm.aau.dk Vejledning Opdateret: September 2016 Version: 5 1.

Læs mere

DRONNINGER (QUEENS) Opgave 1

DRONNINGER (QUEENS) Opgave 1 DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.

Læs mere

Martin Geisler. Uge 49, 2001

Martin Geisler. Uge 49, 2001 Min dintprog-browser Martin Geisler Uge 49, 2001 Resumé Dette dokument beskriver tankerne bag min dintprog-browser, en browser skrevet i Java der skal kunne fortolke en mindre delmængde af HTML 4, kaldet

Læs mere

Vejledning KPK Online Prøverum

Vejledning KPK Online Prøverum Vejledning KPK Online Prøverum INDHOLD Introduktion side 2 Funktionsliste side 2 Få adgang til systemet side 3 Opload dine billeder side 4 Sådan bruges systemet side 5 Gem dine eksempler side 7 Side 1/7

Læs mere

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 3   (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel

Læs mere

I denne vejledning lærer du de mest grundlæggede funktioner i PowerPoint 2003: Hvad er en præsentation?... 3. Eksempel på en præsentation...

I denne vejledning lærer du de mest grundlæggede funktioner i PowerPoint 2003: Hvad er en præsentation?... 3. Eksempel på en præsentation... Præsentationer: Vejledning PowerPoint 2003 I denne vejledning lærer du de mest grundlæggede funktioner i PowerPoint 2003: Hvad er en præsentation?... 3 Eksempel på en præsentation... 3 Visninger... 3 Normal...

Læs mere

Intro til Windows Live Movie Maker

Intro til Windows Live Movie Maker Intro til Windows Live Movie Maker Windows Live Movie Maker er efterfølgeren til Windows Movie Maker. I denne version er der blevet tilføjet slideshow-funktion, altså en funktion hvor du kan lave et lysbilledshow

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Mircobit Kursus Lektion 4   (Du skal her vælge Lets Code Og herefter Block Editor.) Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne

Læs mere

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Systemkrav For at kunne bruge Composite kræves: Windows 95 eller nyere (bemærk - kun Windows kan bruges) Browseren Internet Explorer 6.0 eller

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside

få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside 1 Alle har ret og råd til en professionel hjemmeside på få minutter GoMinisite

Læs mere

Tastevejledning til Photo Story 3 for Windows

Tastevejledning til Photo Story 3 for Windows Tastevejledning til Nyt projekt... 2 Import af billeder... 2 Tekster og billedeffekter... 4 Billedbevægelse og speak... 5 Lydeffekter... 7 Konvertering til film... 9 Afslutning... 11 Photo Story 3 er et

Læs mere

Introduktion til Rhinoceros 3d

Introduktion til Rhinoceros 3d Introduktion til Rhinoceros 3d September 2012, ruben.borup@aarch.dk, Arkitektskolen Aarhus Interfacets opbygning B A C D F E G H I a) Den øverst menu (alle kommandoer, kategoriseret browse) b) Kommandoprompt

Læs mere

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT. Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT. Projektet kan bl.a. anvendes til et forløb, hvor en af målsætningerne er at lære om samspillet mellem værktøjsprogrammernes geometriske

Læs mere

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0 BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den

Læs mere

Brugervejledning. ClaroRead fra Dictus -PC

Brugervejledning. ClaroRead fra Dictus -PC Brugervejledning ClaroRead fra Dictus -PC 1 Indholdsfortegnelse HVAD ER CLAROREAD?... 3 INSTALLATION... 3 CLAROREAD-VÆRKTØJSLINJE... 3 AFSPIL... 4 STOP... 4 GEM TEKST SOM LYDFIL... 4 INDSTILLINGER... 5

Læs mere

I denne vejledning lærer du de mest grundlæggede funktioner i PowerPoint: Hvad er en præsentation?...3. Eksempel på en præsentation...

I denne vejledning lærer du de mest grundlæggede funktioner i PowerPoint: Hvad er en præsentation?...3. Eksempel på en præsentation... Præsentationer: Vejledning PowerPoint I denne vejledning lærer du de mest grundlæggede funktioner i PowerPoint: Hvad er en præsentation?...3 Eksempel på en præsentation... 3 Visninger...3 Normal... 3 Diassortering...

Læs mere

Projekt 1.3 Brydningsloven

Projekt 1.3 Brydningsloven Projekt 1.3 Brydningsloven Når en bølge, fx en lysbølge, rammer en grænseflade mellem to stoffer, vil bølgen normalt blive spaltet i to: Noget af bølgen kastes tilbage (spejling), hvor udfaldsvinklen u

Læs mere

DesignPro II Side 11. Grupper

DesignPro II Side 11. Grupper DesignPro II Side 11 Grupper Hvis man arbejde helt fra grunden, er det ofte en fordel at kunne samle tekst, billeder og baggrund til en fast gruppe, som så kan flyttes rundt, og ændres i størrelsen. I

Læs mere

Synkron kommunikation

Synkron kommunikation Synkron kommunikation Synkron kommunikation betyder, at kommunikationen foregår her og nu, med ingen eller kun lidt forsinkelse. De to kommunikatorer er synkrone de "svinger i samme takt". Et eksempel

Læs mere

Studieretningsopgave

Studieretningsopgave Virum Gymnasium Studieretningsopgave Harmoniske svingninger i matematik og fysik Vejledere: Christian Holst Hansen (matematik) og Bodil Dam Heiselberg (fysik) 30-01-2014 Indholdsfortegnelse Indledning...

Læs mere

Start af Smart PSS 1. Hent af optagelser fra valgte kamera 2. Tidslinjen 4. Afspilning af optagelser 4

Start af Smart PSS 1. Hent af optagelser fra valgte kamera 2. Tidslinjen 4. Afspilning af optagelser 4 Indhold Start af Smart PSS 1 Hent af optagelser fra valgte kamera 2 Tidslinjen 4 Afspilning af optagelser 4 Zoom, se detaljer og tag snapshots på optagelser 5 Snapshot/billede 5 Zoom ind 5 Udtræk af video

Læs mere

Seriediagrammer - Guide til konstruktion i LibreOffice Calc

Seriediagrammer - Guide til konstruktion i LibreOffice Calc Seriediagrammer - Guide til konstruktion i LibreOffice Calc På forbedringsvejlederuddannelsen anvender vi seriediagrammer til at skelne mellem tilfældig og ikketilfældig variation. Med et seriediagram

Læs mere

Instruktioner ved første anvendelse

Instruktioner ved første anvendelse Instruktioner ved første anvendelse Kapitel 1. Tilslutning (4.1) 2. Afinstallering af gamle drivere og enheder (4.2) 3. Installation i Windows (4.3) 4. Kontrol efter installation (5)! 1 Introduktion Denne

Læs mere

Design af IT-medier. Skriftlig prøve 10. juni Alle skriftlige hjælpemidler er tilladt.

Design af IT-medier. Skriftlig prøve 10. juni Alle skriftlige hjælpemidler er tilladt. Design af IT-medier Skriftlig prøve 10. juni 1999 Varighed: Hjælpemidler: Bedømmelse: Besvarelse: Opgaver: 4 timer. Alle skriftlige hjælpemidler er tilladt. Karakter efter 13-skalaen. Alle ark skal være

Læs mere

fortsætte høj retning mellem mindre over større

fortsætte høj retning mellem mindre over større cirka (ca) omtrent overslag fortsætte stoppe gentage gentage det samme igen mønster glat ru kantet høj lav bakke lav høj regel formel lov retning højre nedad finde rundt rod orden nøjagtig præcis cirka

Læs mere

Vejledning i brug af Kommunen på kort

Vejledning i brug af Kommunen på kort Vejledning i brug af Kommunen på kort Indhold Adgang til Kommunen på kort... 2 Værktøjslinjen den øverste sorte del... 3 Navn... 3 Indstillinger... 3 Hjælp... 3 Kortvindue og infolinje... 3 Målforhold...

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =

Læs mere

Brug Photo Story 3 en let introduktion

Brug Photo Story 3 en let introduktion Brug Photo Story 3 en let introduktion Denne vejledning forudsætter at programmet Photo Story 3 er installeret på din computer. Se andetsteds for vejledning i at installere programmet, der kan findes gratis

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

Læs mere

Edb-tekstbehandling, præsentation mm

Edb-tekstbehandling, præsentation mm Edb-tekstbehandling, præsentation mm I denne lektion skal du: - hente kopier et skærmbillede og sætte det ind i et dokument - beskære billedet, så det passer til dit dokument Der findes specielle programmer

Læs mere

Rumfart. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen animation! Arbejdsliste. Test dit Projekt.

Rumfart. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen animation! Arbejdsliste. Test dit Projekt. Scratch 1 Rumfart All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

i tredje brøkstreg efter lukket tiendedele primtal time

i tredje brøkstreg efter lukket tiendedele primtal time ægte 1 i tredje 3 i anden rumfang år 12 måle kalender lagt sammen resultat streg adskille led adskilt udtrk minus (-) overslag afrunde præcis skøn efter bagved foran placering kvart fjerdedel lagkage rationale

Læs mere

ANALOG vs DIGITAL. figur 1: fotografi af en blyantsstreg. figur 2: en linje beskrevet som formel er omsat til pixels

ANALOG vs DIGITAL. figur 1: fotografi af en blyantsstreg. figur 2: en linje beskrevet som formel er omsat til pixels ANALOG vs DIGITAL Ordet digitalt bliver brugt ofte indenfor skitsering. Definitionen af digitalt er en elektronisk teknologi der genererer, gemmer, og processerer data ved at benytte to tilstande: positiv

Læs mere

Brugervejledning. People Software Solutions Ltd. Version: 2011.1.24

Brugervejledning. People Software Solutions Ltd. Version: 2011.1.24 Brugervejledning People Software Solutions Ltd. Version: 2011.1.24 1 Start programmet Isæt USB-nøglen i et ledigt USB-stik på computeren. Klik på: Klik på ikonet, når mappen på USB-nøglen er åbnet. Skulle

Læs mere

Brugervejledning for Microstation til OpenSceneGraph konverter

Brugervejledning for Microstation til OpenSceneGraph konverter Brugervejledning for Microstation til OpenSceneGraph konverter - sidste rettelse: 10/06/2005 side 1 Indholdsfortegnelse Kort oversigt over dgn2osg... 3 Systemkrav... 3 Funktionalitet...4 Geometri...4 Materialer...

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Brugermanual Netværkoptager (NVR)

Brugermanual Netværkoptager (NVR) Brugermanual Netværkoptager (NVR) Indholdsfortegnelse Login på videooptageren...2 Brugerkonti...2 Afspilning og Søgning i optagelser...3 Visnings vindue...3 Optagelses søgetype...4 Optagelses kalender...4

Læs mere

Guide til CraftBot2-3D printere

Guide til CraftBot2-3D printere AARHUS SCHOOL OF ENGINEERING Guide til CraftBot2-3D printere Udarbejdet af: Jens Mejdahl j.mejdahl@post.au.dk Side 1 af 12 Gem din model Når dit emne er tegnet færdig i CAD-programmet (fx SolidWorks) skal

Læs mere

Grupperede observationer

Grupperede observationer Grupperede observationer Tallene i den følgende tabel viser antallet af personer på Læsø 1.januar 2012, opdelt i 10-års intervaller. alder antal 0 131 10 181 20 66 30 139 40 251 50 318 60 421 70 246 80

Læs mere

Online billede filtrering

Online billede filtrering Online billede filtrering Eksamensprojekt 2014 Andreas Lorentzen, klasse 3.4 Roskilde Tekniske Gymnasium Programmering C 09-05-2014 I dette projekt vil jeg demonstrerer en af de mange ting moderne browsere

Læs mere

1.0 Velkommen til manualen for Editor 1. 1.1.1 Editorens typiske udseende 1. 1.1.2 HTML-kode 1. 1.1.3 Generelle funktioner og deres ikoner 2

1.0 Velkommen til manualen for Editor 1. 1.1.1 Editorens typiske udseende 1. 1.1.2 HTML-kode 1. 1.1.3 Generelle funktioner og deres ikoner 2 1.0 Velkommen til manualen for Editor 1 1.1 Editoren 1 1.1.1 Editorens typiske udseende 1 1.1.2 HTML-kode 1 1.1.3 Generelle funktioner og deres ikoner 2 1.2 Værktøjslinjer 2 1.3 Ikoner 2 1.3.1 Liste over

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Camtasia guide. Redigering af video. Trin for trin guide til redigering af video i Camtasia.

Camtasia guide. Redigering af video. Trin for trin guide til redigering af video i Camtasia. Camtasia guide Trin for trin guide til redigering af video i Camtasia. Redigering af video Det forventes at læsere af denne guide allerede har Camtasia installeret. 1. Hvis du har valgt at redigere i din

Læs mere

GRAFIK & BILLEDBEHANDLING

GRAFIK & BILLEDBEHANDLING GRAFIK & BILLEDBEHANDLING 9 Carlo Antonio Rattà Grafik & Billedbehandling 10 Carlo Antonio Rattà Grafik & Billedbehandling The Division fanart Opgaven Dette er en opgave jeg gik i gang med fordi jeg elsker

Læs mere

Matlab script - placering af kran

Matlab script - placering af kran Matlab script - placering af kran 1 Til at beregne den ideelle placering af kranen hos MSK, er der gjort brug af et matlab script. Igennem dette kapitel vil opbygningen af dette script blive gennemgået.

Læs mere

At indsætte ord og billeder og brug af hjælpefunktionen.

At indsætte ord og billeder og brug af hjælpefunktionen. Udarbejdelse af kommunikationsbøger Noter og øvelser i forbindelse med at udarbejde kommunikationsbøger vha. programmet Phraseit (Genlyd). Følgende øvelser og instruktion er baseret på at Phrase-it 2.1

Læs mere

Dansk vejledning til. Picasa billedbehandlingsprogram Version 3.9

Dansk vejledning til. Picasa billedbehandlingsprogram Version 3.9 Picasa 3 - billedbehandling Dansk vejledning til Picasa billedbehandlingsprogram Version 3.9 picasa.google.dk Åge Monrad UC Syddanmark Haderslev juni 2014 Enhver distribution uden forfatterens samtykke

Læs mere

Odense Video Klub Bent Sehested Side - 1. Start AE og kontroller indstillingerne for PAL:

Odense Video Klub Bent Sehested Side - 1. Start AE og kontroller indstillingerne for PAL: Bent Sehested Side - 1 Billedstabilisering med After Effects 6,5 PRO Hvis man skal bruge filmklip optaget med lang brændvidde og særlig hvis det er med håndholdt kamera, vil optagelserne oftest være urolige

Læs mere

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

Læs mere

Tegneserien - Kom godt i gang. Mikro Værkstedet A/S

Tegneserien - Kom godt i gang. Mikro Værkstedet A/S Tegneserien - Kom godt i gang Mikro Værkstedet A/S Tegneserien - Kom godt i gang Mikro Værkstedet A/S Revision 1.14, 15. maj 2007 Indholdsfortegnelse 1. Forord... 1 2. Kom godt i gang... 3 2.1. Opstart

Læs mere

Eksponentielle funktioner for C-niveau i hf

Eksponentielle funktioner for C-niveau i hf Eksponentielle funktioner for C-niveau i hf 2017 Karsten Juul Procent 1. Procenter på en ny måde... 1 2. Bestem procentvis ændring... 2 3. Bestem begyndelsesværdi... 2 4. Bestem slutværdi... 3 5. Vækstrate...

Læs mere

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet. 8 3. Nedtælling Nu skal du lave en nedtæller. Det er en god måde at lære variabler på og hvordan du skal kode micro:bit til at gøre dét, du vil have, at den skal vise. Du skal bruge: 1 x BBC micro:bit

Læs mere

Matematisk modellering og numeriske metoder. Lektion 13

Matematisk modellering og numeriske metoder. Lektion 13 Matematisk modellering og numeriske metoder Lektion 3 Morten Grud Rasmussen 3. november 206 Numerisk metode til Laplace- og Poisson-ligningerne. Finite difference-formulering af problemet I det følgende

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

APPENDIX A INTRODUKTION TIL DERIVE

APPENDIX A INTRODUKTION TIL DERIVE APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer

Læs mere

Når du har logget dig ind, ser du Randers Kommunes byvåben midt på siden. I venstre side er der en række mapper:

Når du har logget dig ind, ser du Randers Kommunes byvåben midt på siden. I venstre side er der en række mapper: DXP vejledning Generelt: DXP er et værktøj til at fremstille præsentationsmaterialer (foldere, brochurer, løbesedler mv.) DXP egner sig kun til mindre brochurer og lign., da den største skabelon kan rumme

Læs mere