Introduction to Computer Graphics Projekt 1. Aarhus Universitet Datalogisk institut. Rapporten er udarbejdet af:
|
|
- Augusta Holmberg
- 8 år siden
- Visninger:
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:
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 mereIntroduktion 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 mereSå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 mereFable 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 mereFang 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 mereTyngdekraft 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 mereGuide 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 mereUnity 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 mereArbejde 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 mereHvad 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 mereKom 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 merePæ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 mereMandelbrot 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 mereFable 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 mereAfstande, 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 merePhoto 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 mereBilledvideo 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 mereNå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 mereIDAP 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 mereAFTER 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 mereManual 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 mereTræ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 mereGhostbusters. 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 mereIntroduktion 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 mereAfstande, 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 mereTing 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 mereSimulering 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 mereVejledning 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 mereSå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 mereMini 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 mereOVERGANGS- 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 mereVejledning 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 mereBilledbehandling 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 mereTing 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 mereBeskæ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 mereMicrosoft 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 mereIntroduktion. 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 mereVejledning 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 mereDRONNINGER (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 mereMartin 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 mereVejledning 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 mereMircobit 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 mereI 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 mereIntro 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 mereDM507 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 mereMircobit 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 mereSå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 mereMichael 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 merefå 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 mereTastevejledning 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 mereIntroduktion 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 mereProjekt 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 merei 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 mereBrugervejledning. 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 mereI 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 mereProjekt 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 mereDesignPro 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 mereSynkron 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 mereStudieretningsopgave
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 mereStart 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 mereSeriediagrammer - 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 mereInstruktioner 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 mereDesign 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 merefortsæ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 mereVejledning 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 mereSkriftlig 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 mereBrug 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 mereSimulering 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 mereEdb-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 mereRumfart. 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 mereSikre 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 merei 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 mereANALOG 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 mereBrugervejledning. 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 mereBrugervejledning 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 mereDM507 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 mereBrugermanual 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 mereGuide 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 mereGrupperede 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 mereOnline 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 mere1.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 mereDM507 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 mereCamtasia 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 mereGRAFIK & 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 mereMatlab 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 mereAt 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 mereDansk 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 mereOdense 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 mereProjekt - 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 mereTegneserien - 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 mereEksponentielle 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 mereUnder '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 mereMatematisk 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 mereDynamisk 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 mereDM507 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 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 mereAPPENDIX 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 mereNå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