Hemtenta i Grafik och Interaktionsprogrammering Martin Berglund Uppgift 1 Föreläsning 1 Föreläsning 2 föreläsning 3 föreläsning 4

Storlek: px
Starta visningen från sidan:

Download "Hemtenta i Grafik och Interaktionsprogrammering Martin Berglund Uppgift 1 Föreläsning 1 Föreläsning 2 föreläsning 3 föreläsning 4"

Transkript

1 Hemtenta i Grafik och Interaktionsprogrammering Martin Berglund Uppgift 1 Jag har länge och väl funderat över på vilket sätt som vore bäst att beskriva vad jag har lärt mig under kursens gång och jag tror mig vara övertygad om att detta skulle vara att diskutera de olika föreläsningarna. Som en introduktion till det kan det vara lämpligt att komplettera med en redogörelse för vad jag bar med mig för kunskap om just grafik- och interaktionsprogrammering innan kursen startade. När jag väl hade lärt mig grunderna i programmering, en gång i tiden, så ville jag snabbt gå vidare mot att lära mig att skriva grafiska program. Jag provade några olika utvecklingsmiljöer med dialogeditorer och skapade enklare program. Därefter blev jag fascinerad av 3D-motorer och lärde mig OpenGL för att försöka skriva en egen. Men för att en 3D-motor ska vara meningsfull krävs innehåll och för detta så började jag skriva egna verktyg. Jag tröttnade någonstans där och började titta på andra grenar av datorvetenskapen. Men under tiden hade jag lärt mig DirectX och fått en viss förståelse av hur den matematik som ligger bakom 3D-grafiken fungerar. Fram till kursstarten hade jag ändå av och till arbetat med grafikprogrammering och kände mig väl förberedd. Föreläsning 1 kunde jag inte delta på grund av schemakrock, men jag hörde från andra att det var en intressant film som visades. Jag hoppas att kunna få se den någon annan gång. Föreläsning 2, som handlade om signalbehandling, tog upp sådant som jag inte tidigare kände till eller inte förstod. Jag kände att jag fick en bättre förståelse för färgmodellen och hur diskretisering av färg fungerar. Det här var en presentation av grafik på en så låg nivå som jag aldrig tidigare reflekterat över. På föreläsning 3, som handlade om 2D-grafik, kände jag mig ganska hemma. Tranformationerna och de andra matematiska elementen kände jag igen från 3D-världen och sprites var också bekant efter närmare studier av Super Nintendo-spel sen tidigare. Jag hade greppat hur interpolation över primitiver fungerar och även grafikarbete med lager. När det gäller transformation i 3D, som föreläsning 4 handlade om, så var det ett sedan tidigare bekant ämne, men jag upplevde det intressant att få förklarat på svenska. Min förståelse av vad som egentligen händer hade tidigare varit ganska begränsad och överlag kände jag att det var vissa element som jag inte förstod alls. Men på den här föreläsningen så kändes det som att allting slutligen kunde falla på plats och fylla upp alla hål. Gimbal lock är något som jag råkat ut för själv tidigare, men jag har aldrig förstått problemet eller ens vetat om att det hade ett namn. Jag kände att jag äntligen begrep vad kvaternioner är och vad de är bra för, tyvärr har jag än idag inte fått chansen att testa dem. När så föreläsning 5, första gästföreläsningen, anlänt så kände jag mig nog inte mer klokare när jag gick ut ur salen jämfört med när jag kom in. Att man kan experimentera sig fram till väldigt spännande bilder med Photoshop var jag sedan tidigare medveten om, föreläsningen tyckte jag inte tog upp särskilt mycket annat. Men nästa handlade om kurvor och ytor, föreläsning 6, och där kände jag till ungefär vad vi hade lärt oss i Numeriska Metoder-kursen. Mycket av matematiken som ligger bakom de olika kurvorna hade vi talat om i den eller flervariabel-kursen, men det var kul att få se demo:n på dem i realtid. Catmull-Clark-ytor kände jag inte till som begrepp och hade bara en

2 vag aning om att det borde gå att jämna till ytor på det viset. Det kände således spännande att få det förklarat i mer detalj och demonstrerat. Det kändes som någonting väldigt användbart. Föreläsning 7 beskrev rastrering och displayalgoritmer, här lärde jag mig de mer elementära delarna av 3D-rendering och de fundamentala algoritmer som ritar ut former på skärmen. Om detta kunde jag tidigare ingenting. När det gäller borttagning av skymda ytor så kände jag mig däremot mer hemma. Jag hade tidigare, från när jag ville skriva en egen 3D-motor, tittat på binärrymduppdelning och quad-träd, så jag var väl insatt i dessa algoritmer. Z-buffring kommer naturligt ur OpenGL, backface-culling likaså. Portaler och visibility-sets hade jag tidigare sett kod för men visste inte i detalj hur de fungerar. Jag kände under föreläsningen att jag ville göra något som använda detta som spelprojekt i sista labben (vilket mina kamrater dessvärre röstade ner). Billboards var jag bekant med, även om jag aldrig använt dem själv, men impostors var mig helt främmande. Jag blev väldigt imponerat av vad man kan åstadkomma och kunde inte låta bli att fundera över hur de konstrueras; för hand eller datorgenererade? Animation var temat för Föreläsning 8 och den började med morphing som jag givetvis kände till men inte alls visste hur det fungerade. Inverse kinematics är begrepp som jag stött på men inte visste vad det var. Jag funderade själv över liknande idéer när jag planerade min 3D-motor med jag visste inte alls om att det fanns en term för det. Jag började fundera på hur det kunde implementeras i real-tid och försökte tänka efter om jag sett det i real-tid någonstans (kunde inte komma på något, kanske är det inte vanligt?). Olika metoder av skinning kände jag inte heller till, men det är nog för att det rör sig mera in mot en konstnärliga delen av datorgrafik. Jag hade ingen aning om att kan försöker simulera muskler under huden på modellerna för att få realistiska kroppsanimationer. Fysikbaserade simuleringar hade jag tittat lite granna på tidigare via öppna bibliotek för fysiksimulering, så det kändes bekant. Partikelsystem kunde jag inte så mycket om däremot, så det kändes kul att lära sig teorin bakom och se vad man kan göra med det. När det gäller objektorientering, som föreläsning 9 handlade om, så kändes allting väldigt bekant eftersom jag programmerat i objektorienterade språk sedan länge. Informationsvisualisering, föreläsning 10, var däremot helt nytt med många nya begrepp. Det var en analys av datorgränssnitt på en så grundläggande nivå att jag inte reflekterat över det tidigare. Jag misstänker att mycket av detta kommer i MDI-kursen nästa höst. OpenGL var ju som jag tidigare skrivit bekant, så att jag var i Tokyo när föreläsning 11 hölls gjorde kanske inte så mycket. Av vad jag sett i föreläsningsanteckningarna i efterhand så verkade det vara sådant som jag tidigare arbetat med. Att jag fortfarande befann mig på andra sidan jordklotet och lyssnade på musik när föreläsning 12 om visualisering hölls var däremot kanske inte lika lyckat. Det var en föreläsning som jag annars gärna hade gått på. Föreläsningsanteckningarna gav tyvärr inte så mycket. Så kom bildsyntes till fokus i föreläsning 13 och denna gång var jag tillbaka i Sverige. Föreläsningen tog nästan enbart upp sådant som jag hört talas om tidigare men inte hade någon aning om hur det fungerade. Det kändes som en väldigt givande föreläsning eftersom jag kände att jag fick en bättre förståelse för framför allt ljusmodeller, vilket jag inte sysslat mycket med förut.

3 Det blev dags att ge sig på datorspel i föreläsning 14 vilket jag tyckte var väldigt kul. Den senare delen av datorspelshistorian var mig bekant, likaså de olika komponentera i ett datorspel, men det var ändå intressant att få allt förklarat på svenska. Shaders och andra specialeffekter som dök upp i sista föreläsningen, föreläsning 15, är ingenting som jag själv skrivit kod för, men jag har ändå försökt att förstå dem tidigare. Dessvärre hade jag aldrig riktigt förstått vad de skulle vara bra för förrän nu. Det var väldigt intressant och lärorikt att se på live-demonstrationen av olika belysningsmodeller och olika kod för hur enskilda pixlar kan manipuleras. Sammanfattningsvis kan jag säga att kursen har tagit upp mycket som varit mig bekant eller till och med känt, men ändå kompletterat med mycket nyttigt som jag inte tidigare kunnat eller bara har haft en vag aning om. Vissa av labbarna har varit mycket givande, andra väldigt frustrerande (*host* en-nivå-undo-director *host*) men jag har lärt mig mycket mer än vad jag trodde innan kursen började. Framför allt har den gett en bred och heltäckande kunskapsbas inom datorgrafik och interaktionsprogrammering.

4 Uppgift 2 Här ska jag beskriva ett av kursens teman i detalj och visa vilka koncept, metoder och tillämpningar som är centrala. Jag tycker att många ämnen som kursen tagit upp är intressanta och har velat lite mellan några olika. Men till slut har jag bestämt mig för att beskriva olika displayalgoritmer, i synnerhet borttagning av skymda ytor. Jag kommer att beskriva binärrymduppdelning, quad-träd, oct-träd och andra smarta knep. Ungefär lika länge som människan har försökt rita i 3D på datorer så har behovet av att kunna minimera antalet utritningar av polygoner funnits. Med lite smarta knep kan man bedöma om en polygon ligger helt och hållet utanför skärmen och därmed inte behöver ritas, men för att kunna vara riktigt effektiv ska man helst kunna döma ut hela grupper av polygoner redan innan de transformeras för utritning. Binärrymdsuppdelning är ett bra sätt att i förväg beräkna vad som syns och vad som inte syns beroende på vart kameran befinner sig. Att kombinera binärrymdsuppdelning med en tabell över vilka områden som skymmer andra områden ger en hög effektivitet och en god approximation till den optimala lösningen på problemet att rendera så få polygoner som möjligt. Det första större datorspelet som använde sig av binärrymdsuppdelning var Doom; där maximal prestanda var absolut nödvändig då datorerna som det var tänkt att fungera på inte var särskilt kraftiga. Nackdelen med binärrymdsuppdelning, kombinerat med synlighetsinformationen, är att genereringen tar väldigt lång tid för komplicerad indata (dvs, många polygoner, tätt). Dessutom kräver den konvexa polygoner (vilket kan åstadkommas med tesselation). Binärrymdsuppdelning fungerar enligt följande. Först väljer man en polygon ur mängden sätter den som första nod i en trädstruktur. Man tar sedan det plan som polygonen ligger i och sorterar in alla andra polygoner i en lista för de som ligger framför planet och en för de som ligger bakom. Alla polygoner som skär planet delas upp vid planets skärningspunkt till två polygoner, som hamnar i var sin lista. Därefter sätts listorna som två barnnoder till roten. Nästa steg är att rekursivt går igenom trädet och när man kommer till en nod med fler än en polygon i sin lista så väljer man en av polygonerna, sorterar in de övriga efter om de ligger framför eller bakom och hänger på listorna som nya barnnoder. På så vis bygger man upp ett binärt träd av alla polygoner. Den första effekt man får ut av detta träd är att man kan rita ut alla polygoner i ordning, sorterat efter vilken som är längst bort. Detta sker genom att man tar kamerans position och kontrollerar mot översta nodens plan. Är kameran framför planet ska man traversera trädet först till noderna bakom översta noden, därefter rita noden och sist traversera till noderna framför översta noden. Är kameran placerad bakom planet gör man tvärt om. Processen upprepas för varje nod som besöks. På så vis är man garanterad att inte rita över en polygon som är nära kameran med en som ligger längre bort. Men detta fixar sig ändå på våra modernare grafikkort som har hårdvarustöd för Z-buffring. Men trots det kan det vara användbart, exempelvis om vi vill rendera flera genomskinliga ytor så måste ytan längst bort renderas först. Men, målet var ju att kunna välja bort grupper av polygoner som vi vet inte syns. Inga problem, vi kan använda kamerans frustum för att välja bort delar av trädet. Detta går till genom att när vi traverserar trädet så kollar vi om varje nods plan korsar kamerans frustum. Om den inte gör det, och kameran är placerad framför planet, kan vi hoppa över helt att rita ut allt bakom noden. På

5 samma sätt, om vi är bakom planet och kamerans frustum inte korsar planet kan vi hoppa över att rita ut allting framför. Som en ytterligare bonus till trädet som skapas kan vi använda det för mer än bara rendering, det fungerar för kollisionsdetektering, pathfinding, sektorsindelning och säker ännu mer. En nackdel är tyvärr att binärrymdsuppdelningen lämpar sig bäst för inomhusscener. För utomhuslandskap där den mesta av geometrin ligger (nästan) horisontellt duger den inte så bra, då får vi ta till andra metoder. Moderna 3D-applikationer idag kanske inte heller behöver vara så noga. Vi har mer minne, mer processorkraft och kraftigare grafikkort. Ett annat sätt att sortera geometri på som är mindre tidskrävande att räkna på vid generering men ändå fungerar bra på att välja bort ytor som inte syns är önskvärt. Man kan då ta till quad-träd eller oct-träd. Ett quad-träd är en indelning av världen i ett rutnät, sett uppifrån. Man börjar med fyra stora rutor som delar in världen i fyra lika stora delar. Polygoner som går över gränsen mellan två rutor får man dela på. Därefter tar man varje ruta och delar i sin tur upp dem i fyra mindre rutor. Processen upprepas tills dess att man når ett önskat minimivärde på rutstorlek. När man sedan ska rendera geometrin kontrollerar man vart kameran befinner sig och vilka rutor som kamerans frustum antingen korsar eller helt inkluderar. Man börjar med de fyra stora rutorna och väljer bort de som är helt utanför. De som korsar kamerans frustum får man gå ner på nästa nivå rutor och testa dem. Om en ruta är helt inkluderad renderar man den helt och hållet utan att traversera mer. För den lägsta nivån av rutor får man rendera även dem som skär kamerans frustum. Quad-trädet är effektivt men behöver ytterligare information om vilka rutor som är skymda när kameran står i en viss ruta (dvs, skymda fast innanför kamerans frustum) för att bli riktiga bra. Oct-träd är en utökning där man delar även i höjdled, det vill säga att världen delas upp i kuber istället för rutor, 2x2x2 = 8 kuber som startfall och därefter i mindre kuber. Om geometrin sträcker ut sig åt alla håll är detta en mer effektiv lösning. Men för utomhus-scener räcker förmodligen quad-trädet. För alla objekt som inte tillhör den statiska geometrin kan man också vilja välja vilka som ska visas. Ett enkelt sätt är att ge objektet en bounding-box eller en bounding-sphere och ta reda på om denna befinner sig inom kamerans frustum. Om man måste hantera många objekt kan man associera dem med vilkan ruta/kub de befinner sig i för tillfället och bara rita dem om rutan/kuben ska ritas. Är alla rutor/kuber lika stora (vilket de bör vara!) så är det lätt att ta reda på vilken ruta/kub ett objekt befinner sig i med enkel division av objektets position. Utöver dessa tekniker får man ta till en del listiga knep för att ta bort ytterligare ytor. Om man inte har genererad information om vilka ytor som är dolda med hänsyn till kamerans position så kan man lägga in denna information manuellt, kanske inte för alla områden med för några väl utvalda. En tidigt använd teknik för att dölja geometri som ligger långt bort från kameran är att använda en dimma som döljer allting efter ett visst avstånd. Med oct-träd eller quad-träd kan man då enkelt kolla avståndet till varje ruta och avgöra om den ska ritas eller inte. Jag har här kort diskuterat några olika metoder för att dela upp geometri och på ett effektivt sätt kunna döma ut polygoner redan innan de transformerats. I takt med utvecklingen av hårdvara har applikationerna också ökade i komplexitet på grafiken, så dessa algoritmer är i högsta grad fortfarande aktuella.

6 Uppgift 3 Jag ska här föra en diskussion kring datorgrafikens betydelse för datorspel i alla dess former, eftersom jag känner att det är datorspel jag kan mest om, av de relevanta kulturella fenomen som jag kan tänka mig. För ett datorspel idag så betyder grafiken oändligt mycket. Det är grafiken som är det första vi ser och det som vi i första hand använder för att jämföra olika spel. Grafiken måste upprätthålla en viss nivå för att överhuvudtaget kunna ha en chans att kunna komma ut på marknaden (med vissa undantag som bekräftar regeln). Den här nivån av vad man förväntar sig av ett modernt datorspel blir givetvis högre ju mer tiden går och den stenhårda konkurrensen inom datorspelsindustrin trissar upp kraven ännu mer. Om ett spel tar två år att utveckla så måste man alltså redan från början kunna sikta på vilken hårdvara som konsumenterna kommer att använda när spelet är färdigt och budgetera grafiken därefter. Historiskt sett så har grafiken givetvis inte alltid varit tyngdpunkten i datorspel, för de datorer som enbart kunde visa text så fanns ju även datorspel. Men så fort grafik i sin mest primitiva form blev tillgänglig så började datorspelen att bli den flitigaste användaren av detta. I takt med att datorerna blivit snabbare har också grafiken blivit mer avancerad, två händelser som jag minns väl var när datorerna plötsligt kunde använda SVGA och när 3D-acceleratorerna kom ut på marknaden. Någonstans emellan dessa två punkter kom Windows 95 till hemmen och det grafiska gränssnittet för de (minst) kommande 15 åren blev definierat. Det första datorspelet som jag provade med SVGA var SimCity 2000, som såg mycket imponerande ut även om jag då inte riktigt kunde sätta fingret på vad som var nytt. Men inte bara grafikkorten har bidragit, när ID Softwares spel Quake kom ut kunde man visa att för full 3D-rendering i realtid behövdes ungefär en processor i 100 Mhz och 8 Mb RAM. Senare, när jag lärt mig programmera och börjat experimentera med DirectX märkte jag av när Microsoft valde att lägga ner 2D-komponenten DirectDraw och istället enbart fokusera på 3D. Grafikkorten hade blivit så bra på 3D att 2D gick snabbare att emulera än att ge något speciellt stöd för. Tyvärr kunde grafiken också bli för mycket, när CD-skivor började bli vanliga försökte vissa att göra spel som mest bestod av film där det gällde att klicka sig rätt under filmens gång. Det visade sig inte vara någon bra idé. I spelet Duke Nukem Forever envisades man med att hålla sig till den senaste grafiken vilken innebar att grafikmotorn blev utbytt flera gånger med stora förseningar som resultat. Efter nästan 9 år av utveckling är spelet fortfarande inte klart. Datorgrafiken idag anser jag att man fortfarande bearbetar på samma sätt. Det är omgivningen som sätter gränserna på vad vi uppfattar och hur vi uppfattar det, på så vis kommer vi nog aldrig att bli mätta på bättre och häftigare grafik. De spel som kom till Super Nintendo var oändligt mycket vackrare än de som fanns till föregångaren NES, men idag skulle vi inte tycka att det var något märkvärdigt. Idag har den stora strömmen datorspel en strävan efter att vara så realistiska som det bara går, grafiskt sett. Tidigare har en del spel försökt att vara realistiska i sin spellogik, men grafikhårdvaran har först nu blivit så bra att vi kan börja tala om en grafisk realism. Tyvärr är det fortfarande långt att gå, Oblivion behöver den allra senaste grafikhårdvaran för att fungera tillfredställande med alla effekter påslagna, men klarar ändå inte av att rendera stora landskap på ett effektivt sätt. Men ingenting tyder på att det kommer att göras avkall från denna linje, vi kommer förmodligen att få se fler försök under de närmsta åren. Jag skulle vilja efterlysa spel där datorgrafiken inte måste vara perfekt utan kan få vara bara datorgrafik. Det finns ingenting som säger att ett spel som inte kräver den senaste hårdvaran inte är lika bra som de andra. Fortfarande idag kan man spela äldre spel och uppskatta dem, även om grafiken inte håller sig med dagens mått. Nintendo har exempelvis fortfarande hållit kvar vid sin egna stil. Istället för att gå mot en högre realism har man låtit de tvådimensionella figurerna vuxit till sig i 3D och låtit dem använda 3D-grafiken för att hitta

7 nya sätt för spelaren att styra och spela. Super Mario 64 satte verkligen upp standarden för hur platformsspel i 3D ska se ut och fungera och än idag är det svårslaget. Ett datorspel idag förväntas kunna visa skuggor, en trovärdig ljussättning, ytor som är bumpmappade, trovärdigt vatten och annat av samma komplexitet. Mycket av detta kräver ett grafikkort med stöd för shader-program och mycket processorkraft vilket gör att enbart en dator med någorlunda ny hårdvara kan spela det. Men om vi ser på detta, och det ökande kravet på realism, så inser man att ray-tracing i realtid är vad vi försöker simulera. Det är alltså inte alls helt otroligt att nästa stora händelse inom datorgrafiken blir hårdvara för att göra riktig ray-tracing i realtid, förmodligen med datorspel som första tillämpare. För grafiker finns idag redan redskapen för att skapa närmast fotorealistiska bilder genom 3D-modellering, att översätta dem till 3D-spel idag innebär en stor förlust eftersom rasteriseringsmodellen inte alls fungerar som ray-tracingmodellen. Senare tids programmerbara grafikkort ger visserligen möjlighet att behålla en del av dessa specialeffekter, men ray-tracing skulle inte bara göra det lättare utan också lösa många andra problem, såsom skuggor, skymda ytor, genomskinlighet och anti-aliasing. Redan idag finns några implementationer av ray-tracing i realtid, till och med en prototyp på ett grafikchip som renderar ray-tracing i hårdvaran. Så jag undrar om inte framtiden bär hitåt. En annan utmaning för realistisk datorgrafik är avsaknaden av djupseende. Så länge vi tittar på en platt bild på skärmen så vet vi att bilden inte är realistisk. Men trots att man länge har kunnat använda olika sätt för att separera ut bilder för de olika ögonen så har stereografiska vyer aldrig varit populära. Kanske är det för att vi inte vill bli lurade, att det häftiga med djupseende i en dator går över efter ett par dagar. Men jag anser att det ändå är värt att utforska inom den närmsta tiden, och det av följande anledningar. Först och främst så krävs adekvat hårdvara. För att kunna tro på det man ser krävs att ögonen blir inneslutna och har en bred synvinkel. Dessutom måste bilden vara tydlig och inte flimra. Givetvis måste bilderna för ögonen vara stereoseparerade. Dessa krav har fram tills nu ganska nyligen varit alldeles för hårda på de huvudmonterade skärmarna. Antingen har de varit på tok för dyra eller inte alls uppfyllt kraven. Därefter måste prestandarn kunna bibehållas. För att stereoseparering ska fungera ordentligt måste varje ruta ritas två gånger, vilket ger en halverad bildhastighet. Således måste grafikhårdvaran vara snabb nog. Sen anser jag att huvudtracking med gyro är nödvändigt. För att lura ögonen måste världen omkring en förändras som man förväntar sig. Att spåra riktningarna i 3 graders frihet har varit både dyrt och krångligt, dessutom har inget datorspel haft ett ordentligt stöd för det. I bästa fall är det integrerat i den bärbara skärmen. Jag skulle inte satsa miljoner på VR men personligen skulle jag gärna forska mer om det. Vidare så är jag nyfiken på vad som väntar datorspelsvärden i form av ljusomfång. Med skärmar som kan visa ett bredare spektra av ljus så kan realismen givetvis ökas, oavsett om rasterisering eller ray-tracing ligger i botten. Jag har sett annonser för Plasma-TV med kontrast på 10000:1, det skulle vara intressant att se datortillämpningar på detta och datorspel som kan hantera det fullt ut. Jag har här redogjort för datorgrafikens betydelse för datorspel, både då, nu och snart. Mina sista ord om datorgrafik i datorspel är att grafiken inte kan bli mer realistisk än vad grafikerna kan lyckas göra den. Det har vi åtminstone en väldefinierad gräns.

Rastrering och displayalgoritmer. Gustav Taxén

Rastrering och displayalgoritmer. Gustav Taxén Rastrering och displayalgoritmer Gustav Taxén gustavt@csc.kth.se 2D1640 Grafik och Interaktionsprogrammering VT 2007 Klippning Man vill undvika att rastrera de primitiver som hamnar utanför fönstret. Man

Läs mer

Spelutveckling - Scenegrafer. Scenegrafer Optimeringar Culling

Spelutveckling - Scenegrafer. Scenegrafer Optimeringar Culling Spelutveckling - Scenegrafer Scenegrafer Optimeringar Culling Scenegraf vad och varför? En hierkisk representation av en 3d-värld Directed acyclic Graph (DAG) Består av noder med med barn/föräldrar Gör

Läs mer

Procedurell renderingsmotor i Javascript och HTML5

Procedurell renderingsmotor i Javascript och HTML5 Procedurell renderingsmotor i Javascript och HTML5 TNM084 Procedurella Metoder för bilder Gustav Strömberg - gusst250@student.liu.se http://gustavstromberg.se/sandbox/html5/shademe/texture_stop_final.html

Läs mer

Spelutveckling 3d-grafik och modellering. Grunder för 3d-grafik Blender Animering

Spelutveckling 3d-grafik och modellering. Grunder för 3d-grafik Blender Animering Spelutveckling 3d-grafik och modellering Grunder för 3d-grafik Blender Animering Grunderna för 3d-grafik Positionering, transformationer Projektion, kameran Objekt i en 3d-värld Ljusmodeller för 3d-grafik

Läs mer

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling Rune Tennesmed Oskar Norling Individuellt Mjukvaruutvecklingsprojekt Webbprogrammerare H12 Oskar Norling 2012-05-30 Abstrakt Denna rapport handlar om mitt mjukvaruutecklingsprojekt som jag och en klasskompis

Läs mer

Praktikrapport. Sofia Larsson MKVA12, HT12

Praktikrapport. Sofia Larsson MKVA12, HT12 Praktikrapport Facetime Media är en byrå belägen i Lund som hjälper företag att marknadsföra sig via sociala medier. I nuläget är det främst Facebook som är aktuellt men tanken är att företaget i framtiden

Läs mer

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

Ett spel skapat av Albin Wahlstrand

Ett spel skapat av Albin Wahlstrand Viking vs. Demons Ett spel skapat av Albin Wahlstrand 2012-06-03 1 Abstrakt Denna rapport kommer att handla om mina positiva och negativa erfarenheter inom projektet jag jobbat på de senaste 10 veckorna.

Läs mer

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu. Mina listor En Android-applikation Rickard Karlsson 2013-06-09 Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.se Innehållsförteckning 2. Innehållsförteckning 3. Abstrakt 4. Inledning/bakgrund

Läs mer

Din idé Vår verklighet VIRTUELLT

Din idé Vår verklighet VIRTUELLT 3D Din idé Vår verklighet 3D VIRTUELLT BAKGRUND 3D som verktyg har fått ett rejält uppsving de senaste åren. Att använda 3D som presentationsverktyg blir allt mer vanligt. 3D har används flitigt inom filmindustrin

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet (fylls i av ansvarig) Datum för tentamen Sal Tid Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter i tentamen Antal sidor på

Läs mer

Kort introduktion till POV-Ray, del 1

Kort introduktion till POV-Ray, del 1 Kort introduktion till POV-Ray, del 1 Kjell Y Svensson, 2004-02-02,2007-03-13 Denna serie av artiklar ger en grundläggande introduktion och förhoppningsvis en förståelse för hur man skapar realistiska

Läs mer

Tentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel

Tentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel Tentamen TNM061, 3D-grafik och animering för MT2 Tisdag 3/6 2014 kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43 Inga hjälpmedel Tentamen innehåller 8 uppgifter, vilka tillsammans kan ge maximalt 50 poäng.

Läs mer

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP Slutrapport Super Mario klon Tomas Wallin tw222bv WP11 2012-06-03 1 Abstrakt Denna rapport handlar om mitt arbete i krusen Individuellt Mjukvaruprojekt. I denna rapport tänkte jag gå igenom hur projektet

Läs mer

Datorgrafik Ray tracing. Mattias Ekström, Västerås,

Datorgrafik Ray tracing. Mattias Ekström, Västerås, Datorgrafik Ray tracing Mattias Ekström, Västerås, 2010-03-05 1 SAMMANFATTNING Ray tracing är en teknik för att skapa bilder digitalt. Den används komersiellt främst inom film- och spelindustrin. Metoden

Läs mer

Slutrapport för SquareShooter

Slutrapport för SquareShooter Slutrapport för SquareShooter Författare: Björn Overå Datum: 100609 Page 1 Abstrakt: Detta är en slutrapport för ett projekt jag har haft i kursen Individuellt Mjukvaruutvecklingsprojekt. Denna rapport

Läs mer

Slutrapport Get it going contracts

Slutrapport Get it going contracts Slutrapport Get it going contracts Författare: Anthony Dry Datum: 2011-06-02 Program: Utvecklare av digitala tjänster Kurs: Individuellt mjukvaruutvecklingsprojekt 7.5p Linnéuniversitetet (Kalmar) Abstrakt

Läs mer

After Effects Lathund

After Effects Lathund After Effects After Effects Lathund After Effects En komposition är det samma som ett filmklipp i After Effects. En komposition kan vara hela filmen/ animationen eller så använder man sig av flera kompositioner

Läs mer

Mätning av fokallängd hos okänd lins

Mätning av fokallängd hos okänd lins Mätning av fokallängd hos okänd lins Syfte Labbens syfte är i första hand att lära sig hantera mätfel och uppnå god noggrannhet, även med systematiska fel. I andra hand är syftet att hantera linser och

Läs mer

DGI/SUDOA Den historiska utvecklingen. Globala - lokala belysningsmodeller. Lokala belysningsmodeller. Rendering equation

DGI/SUDOA Den historiska utvecklingen. Globala - lokala belysningsmodeller. Lokala belysningsmodeller. Rendering equation DGI/SUDOA - 060329 Rendering equation Belysningsmodeller (lokala och globala) Kort om texturer Den historiska utvecklingen 1. Enkla modeller som utvärderades genom att göra enkla bedömningar 2. Mera sofistikerade

Läs mer

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel

Tentamen TNM061, 3D-grafik och animering för MT2. Onsdag 20/ kl SP71. Inga hjälpmedel Tentamen TNM061, 3D-grafik och animering för MT2 Onsdag 20/8 2014 kl 14-18 SP71 Inga hjälpmedel Tentamen innehåller 7 uppgifter, vilka tillsammans kan ge maximalt 50 poäng. För betyg G (registreras som

Läs mer

Procedurell Terräng med LOD i OpenGL 4

Procedurell Terräng med LOD i OpenGL 4 Procedurell Terräng med LOD i OpenGL 4 TNM084: Proceduella metoder för bilder ITN, Linköpings universitet Lucas Correia, lucco863@student.liu.se Bakgrund Terräng är ett tydligt exempel där procedurella

Läs mer

Slutrapport: Informationsvisualisering av släktträd

Slutrapport: Informationsvisualisering av släktträd Slutrapport: Informationsvisualisering av släktträd Grupp 11 Behzad Charoose, Johan Magnuson, Mikael Onsjö och Sofie Persson 2003-10-10 Göteborg, Chalmers/GU Innehåll 1. INLEDNING...3 2. SYFTE...3 3. METOD...3

Läs mer

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

Läs mer

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard

Avalanche Studios. OpenGL. Vår teknik. Våra spel. Lite inspiration... Stora, öppna spelvärldar. Sandbox-gameplay. Hög audiovisuell standard OpenGL Avalanche Studios Sveriges ledande oberoende spelutvecklare Fokus på egenutvecklade IPn Finns på Söder i Stockholm ~6 anställda Just Cause för PS2, PC, XBox, och XBox 36 släpptes 26 Gustav Taxén

Läs mer

Grafiska pipelinens funktion

Grafiska pipelinens funktion LUNDS TEKNISKA HÖGSKOLA CAMPUS HELSINGBORG Grafiska pipelinens funktion Ludvig von Sydow EDT62, HT17 Datorarkitekturer med Operativsystem Sammanfattning Denna rapport syftar till att beskriva hur en graphics

Läs mer

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se Datorgrafik i spel 1 Sammanfattning Dator grafik kan delas in i fyra olika områden: information, design, simuleringar och

Läs mer

Tepz klon. - Projektrapport. Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt Janina Bergström, WP12 Distans

Tepz klon. - Projektrapport. Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt Janina Bergström, WP12 Distans Tepz klon - Projektrapport Janina Bergström jb222qp WP12 Distans 8/6-2013 Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt 1 Abstrakt Denna rapport handlar om min klon av det existerande spelet

Läs mer

Programmering eller Datalogiskt tänkande

Programmering eller Datalogiskt tänkande Programmering eller Datalogiskt tänkande I förskolan handlar programmering om att få en begynnande förståelse vad det kan innebära. Barnen ges ett kreativt utrymme och har möjlighet att forma sin egen

Läs mer

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte Sammanfattning Vi har i kursen Modelleringsprojekt TNM085 valt att simulera ett geléobjekt i form av en kub. Denna består av masspunkter som är sammankopplade med tre olika typer av fjädrar med olika parametrar.

Läs mer

TBSK 03 Teknik för Advancerade Datorspel

TBSK 03 Teknik för Advancerade Datorspel TBSK 03 Teknik för Advancerade Datorspel Översikt 3D och Stereoskopi Introduktion Bildskärmsteknik Depth Cues Limiteringar Design-riktlinjer Texturkompression Introduktion Algoritmer & Standarder (DXT,

Läs mer

Partneruniversitet: Universitat de Barcelona HT18. Varför valde du att studera utomlands? Jag ville uppleva hur det var att studera utomlands.

Partneruniversitet: Universitat de Barcelona HT18. Varför valde du att studera utomlands? Jag ville uppleva hur det var att studera utomlands. Partneruniversitet: Universitat de Barcelona HT18 Varför valde du att studera utomlands? Jag ville uppleva hur det var att studera utomlands. Vilka kurser läste du och vad tycker du om kvaliteten på undervisningen

Läs mer

Mattekungen åk 6-9 vers. 1.0

Mattekungen åk 6-9 vers. 1.0 Presentation av programvara våren 2008 Bodil Holmström Anna Holmström Bearbetat av Karolina Höglund Mattekungen åk 6-9 vers. 1.0 Allmänt om programmet Mattekungen är ett undervisningsprogram som produceras

Läs mer

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade

Läs mer

Henrik Asp. Allt du behöver veta för att KÖPA DATOR

Henrik Asp. Allt du behöver veta för att KÖPA DATOR Allt du behöver veta för att KÖPA DATOR Henrik Asp DEL 1 KOMPONENTER OCH PROGRAMVARA DEL 3 EFTER KÖPET 1. INTRODUKTION TILL BOKEN... 3 2. DATORNS HISTORIA... 4 A. Pc...5 B. Mac...6 C. HTPC...7 3. DATORNS

Läs mer

Föreläsning 11. Giriga algoritmer

Föreläsning 11. Giriga algoritmer Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Giriga algoritmer (Greedy algorithms)

Läs mer

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk RemoteBud Inlämnas: 2005-02-01 Patrik Johnsson, e01pjo Viktor Karlsson, e01vk Abstract Skulle du också vilja styra dina lampor och rulla ner dina persienner med hjälp av din TV-fjärrkontroll? Remotebud

Läs mer

Bézierkurvor och parametriska objektrepresentationer

Bézierkurvor och parametriska objektrepresentationer Sidan 1 av 11 Inledning Detta är en kort sammanfattning av teorimaterialet som år 2004 ingår i examinationen i kursen TNM077 3D-grafik och animering som ges vid Linköpings tekniska universitet på Campus

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

SMULTRON. Fredrik Li, Ester, Anders, Jessica, Philip. Malmö Högskola Konst Kultur Kommunikation OOP5 - Mobile Applications IDK 05 - April/Maj 2007

SMULTRON. Fredrik Li, Ester, Anders, Jessica, Philip. Malmö Högskola Konst Kultur Kommunikation OOP5 - Mobile Applications IDK 05 - April/Maj 2007 SMULTRON av Fredrik Li, Ester, Anders, Jessica, Philip Malmö Högskola Konst Kultur Kommunikation OOP5 - Mobile Applications IDK 05 - April/Maj 2007 - När man har turen att hitta en plats där man trivs

Läs mer

Kv. Ogräset. Martin Stenmarck, janst942@student.liu.se

Kv. Ogräset. Martin Stenmarck, janst942@student.liu.se Kv. Ogräset Martin Stenmarck, janst942@student.liu.se Fig 1. Kv. Ogräset. Bakgrund Kvarteret Ogräset är en samling av tre bostadsrättshus i Gottfridsberg, Linköping. Dessa tre hus håller på att byggas

Läs mer

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration

Läs mer

Grafiska pipelinen. Edvin Fischer

Grafiska pipelinen. Edvin Fischer Grafiska pipelinen Edvin Fischer Sammanfattning Rapporten behandlar den grafiska pipelinen och dess steg, vilka stegen är och hur de funkar. Inledning Rapporten har till syfte att beskriva hur den grafiska

Läs mer

Procedurella Grottor TNM084. Sammanfattning. Alexander Steen

Procedurella Grottor TNM084. Sammanfattning. Alexander Steen Procedurella Grottor TNM084 Alexander Steen alest849@student.liu.se 13-01-12 Sammanfattning Denna rapport beskriver en metod för att skapa procedurella grottor. Grottorna består utav sammanlänkade rum

Läs mer

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10 Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,

Läs mer

Priskamp. En prisjämförelsesite Björn Larsson 130609

Priskamp. En prisjämförelsesite Björn Larsson 130609 Priskamp En prisjämförelsesite Björn Larsson 130609 Abstrakt Detta är en post-mortem slutrapport om mitt projekt "Priskamp" inom ramen för kursen Individuellt Mjukvaruutvecklingsprojekt VT 2013. Projektets

Läs mer

BG306A Strukturmekanik, bärverksanalys MT129A Finita elementmetoden

BG306A Strukturmekanik, bärverksanalys MT129A Finita elementmetoden BG306A Strukturmekanik, bärverksanalys MT129A Finita elementmetoden Antal svar: 16 (14+28) 1. Flervalsfråga Andel Allmänt Hur tycker du kursen har varit? 1. Dålig 0% 2. Ganska bra 12,5% 3. Bra 50% 4. Mycket

Läs mer

Har du läst kursen på Campus eller distans Campus 8 53% Distans 7 47%

Har du läst kursen på Campus eller distans Campus 8 53% Distans 7 47% 15 svar Sammanfattning Se hela svar Har du läst kursen på Campus eller distans Campus 8 53% Distans 7 47% KURSFRÅGA AV ÖVERGRIPANDE KARAKTÄR Kursinnehållet har varit intressant och stimulerande I låg grad

Läs mer

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap

PROCEDUELL TERRÄNG. Proceduella metoder för bilder (TNM084) Jimmy Liikala Institutionen för teknik och naturvetenskap PROCEDUELL TERRÄNG Proceduella metoder för bilder (TNM084) Jimmy Liikala (jimli570@student.liu.se) Institutionen för teknik och naturvetenskap Sammanfattning Rapporten beskriver hur en proceduell terräng

Läs mer

Fotorealistiska bilder 1 PV360 kap 1 7: Grunder samt material och dekaler i Photoview 360

Fotorealistiska bilder 1 PV360 kap 1 7: Grunder samt material och dekaler i Photoview 360 Fotorealistiska bilder 1 PV360 kap 1 7: Grunder samt material och dekaler i Photoview 360 1 Att skapa en fotorealistisk bild kan sägas bestå av två delar: - Den artstiska delen. Att välja scen, ljussättning,

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

Läs mer

Någonting står i vägen

Någonting står i vägen Det här vänder sig till dig som driver ett företag, eller precis är på gång att starta upp Någonting står i vägen Om allting hade gått precis så som du tänkt dig och så som det utlovades på säljsidorna

Läs mer

Teknik för avancerade datorspel!

Teknik för avancerade datorspel! 1(84) Information Coding / Computer Graphics, ISY, LiTH TSBK 03 Teknik för avancerade datorspel Ingemar Ragnemalm, ISY Fysik Datorgrafik Spelmekanismer AI Animation 1(84) Föreläsning 5 GPU computing GPU

Läs mer

Algoritmer för gallring av dolda ytor Johannes Staffans Institutionen för informationsbehandling Åbo Akademi, FIN-20520 Åbo, Finland e-post:

Algoritmer för gallring av dolda ytor Johannes Staffans Institutionen för informationsbehandling Åbo Akademi, FIN-20520 Åbo, Finland e-post: Algoritmer för gallring av dolda ytor Johannes Staffans Institutionen för informationsbehandling Åbo Akademi, FIN-20520 Åbo, Finland e-post: johannes.staffans@abo.fi Referat Ett datorprogram som renderar

Läs mer

Objektorienterad Programkonstruktion

Objektorienterad Programkonstruktion Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,

Läs mer

Dagbok Mikael Lyck 810717-0071

Dagbok Mikael Lyck 810717-0071 Dagbok Mikael Lyck 810717-0071 2/6 Slutredovisning, redovisningen gick bra vi hade ju redan byggt ihop spelet så vi var inte särskilt oroliga. Allt som allt är jag väldigt nöjd med slutprodukten. 11/5

Läs mer

Klassrumshantering Av: Jonas Hall. Högstadiet. Material: TI-82/83/84

Klassrumshantering Av: Jonas Hall. Högstadiet. Material: TI-82/83/84 Inledning Det som är viktigt att förstå när det gäller grafräknare, och TI s grafräknare i synnerhet, är att de inte bara är räknare, dvs beräkningsmaskiner som underlättar beräkningar, utan att de framför

Läs mer

GRUNDKURS I C-PROGRAMMERING

GRUNDKURS I C-PROGRAMMERING SAMMANSTÄLLNING 1 (9) Inst för informationsteknologi GRUNDKURS I C-PROGRAMMERING del av 1TD442 ALGORITMER OCH DATASTRUKTURER DV1/ 1IT022 PROGRAMKONSTRUKTION II Period 3, 2006 DV/IT Sammanfattning: Vad

Läs mer

Pressrelease Artes Industriambassadör 031115. Mer realistiska skuggor i datorspel och virtual reality-applikationer

Pressrelease Artes Industriambassadör 031115. Mer realistiska skuggor i datorspel och virtual reality-applikationer Anita Andler Pressrelease Artes Industriambassadör 031115 Mer realistiska skuggor i datorspel och virtual reality-applikationer Ulf Assarsson, doktorand vid Chalmers tekniska högskola lade den 10 oktober

Läs mer

Utvärdering att skriva för webben - Snabbrapport

Utvärdering att skriva för webben - Snabbrapport Utvärdering att skriva för webben Snabbrapport. Jag är 3 3 6 6 7 7 kvinna man egen definition. Befattning 3 3 assistent bibliotekarie chef annan 3. Hur nöjd är du medutbildningen som helhet? Inte alls

Läs mer

Problem med stenplattor

Problem med stenplattor Rolf Hedrén, Eva Taflin & Kerstin Hagland Problem med stenplattor Författarna har under flera år bedrivit ett forskningsprojekt med syfte att ta reda på hur lärare och elever tänker om lektioner kring

Läs mer

Eventuella kommentarer: Under kursens gång har 4 studenter hoppat av utbildningen.

Eventuella kommentarer: Under kursens gång har 4 studenter hoppat av utbildningen. Kursrapport Bakgrundsinformation Kursens namn: Bild och lärande: Visuella kulturer och kommunikation Termin: 1 Ladokkod: BL202C Kursansvarig: Bjørn Wangen Antal registrerade studenter: 26 Antal studenter

Läs mer

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort?

I rastergrafikens barndom...gjorde man grafik genom att skriva i ett videominne. Operationer på buffert och pixlar. Idag... Varför grafikkort? Operationer på buffert och pixlar I rastergrafikens barndom......gjorde man grafik genom att skriva i ett videominne. Lapped textures Emil Praun et al., SIGGRAPH 2000. Gustav Taxén CID gustavt@nada.kth.se

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2017-09-21 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Mobil streckkodsavläsare

Mobil streckkodsavläsare Avdelningen för datavetenskap Martin Persson Jan Eriksson Mobil streckkodsavläsare Oppositionsrapport, D-nivå 2005:xx 1 Generell utvärdering av projektet Projektet gick ut på att undersöka hur bra olika

Läs mer

Felsökande av en Lego Mindstorm robot

Felsökande av en Lego Mindstorm robot KTH Felsökande av en Lego Mindstorm robot Med hjälp av NXC Hampus Liljedahl 3/9-12 hliljed@kth.se Introduction to Computer Studies II1310 Sammanfattning Jag har gjort en labb där jag felsökte en färdigskriven

Läs mer

hannalabom.se Alexandra Jonasson Aj222im

hannalabom.se Alexandra Jonasson Aj222im hannalabom.se Alexandra Jonasson Aj222im 2012-05-15 1 ABSTRAKT Denna rapport handlar om hur jag skapade hannalabom.se med wordpress som mitt grundredskap. Jag jobbade mot en kund som ville ha en hemsida.

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

Läs mer

Kursutvärdering - programvarukvalitet vt 2014

Kursutvärdering - programvarukvalitet vt 2014 Kursutvärdering - programvarukvalitet vt 2014 Programvarukvalitet vt2014 (27306VT14) Results of survey Startade: February 24, 2014 Avslutad: March 17, 2014 Svarsfrekvens: 41% ( 14 / 34 ) Elektroniskt utvärderingssystem

Läs mer

729G04 - Diskret matematik. Lektion 4

729G04 - Diskret matematik. Lektion 4 729G04 - Diskret matematik. Lektion 4 1 Lösningsförslag 1.1 Vägar, stigar och annat 1. Vi ges den oriktade grafen G=(V,E), V = {a, b, c, d, f, g, h, i, j}, E = {{a, b}, {b, c}, {a, c}, {f, g}, {c, d},

Läs mer

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och

Läs mer

Grundredigering i Photoshop Elements. Innehåll. Lennart Elg Grundredigering i Elements Version 2, uppdaterad 2012-09-14

Grundredigering i Photoshop Elements. Innehåll. Lennart Elg Grundredigering i Elements Version 2, uppdaterad 2012-09-14 Grundredigering i Photoshop Elements Denna artikel handlar om grundläggande fotoredigering i Elements: Att räta upp sneda horisonter och beskära bilden, och att justera exponering, färg och kontrast, så

Läs mer

Teknisk kartläggning kring plattformsval och arbetet med att skapa en app med Augmented Reality

Teknisk kartläggning kring plattformsval och arbetet med att skapa en app med Augmented Reality Teknisk kartläggning kring plattformsval och arbetet med att skapa en app med Augmented Reality Inledning Frostware, tillsammans med Seize the Frame, KuberaKonsult, Magnus Marklund enskild firma har arbetat

Läs mer

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P Slutrapport Författare: Zlatko Ladan Program: Utvecklare av Digitala Tjänster 180P Kurs: Individuellt Mjukvaruprojekt Z l a t k o L a d a n Sida 1 Abstrakt: Denna rapport handlar om mitt projekt som jag

Läs mer

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE Av Marie Hansson När man är nybörjare i agility, eller ser sporten utifrån, är det lätt att tro att just den runda tunneln är det allra lättaste hindret! Och det

Läs mer

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016) Goda råd till de som ska utföra ett liknande projekt (från KMM 2016) Snöa inte er på lösningar som kanske fungerar, eller som ni bara vill få fungera. Var realistiska och våga byt lösning om den det verkar

Läs mer

Utvärdering. Vatten och miljöteknik, Heltid 400 YH-poäng. Kursutvärdering Rörnätsteknik (RÖTE) Totalt antal deltagare: Alla kommentarer

Utvärdering. Vatten och miljöteknik, Heltid 400 YH-poäng. Kursutvärdering Rörnätsteknik (RÖTE) Totalt antal deltagare: Alla kommentarer Utvärdering Vatten och miljöteknik, Heltid 400 YH-poäng Kursutvärdering Rörnätsteknik (RÖTE) Totalt antal deltagare: 21 24 Alla kommentarer Förslag på förändringar / Förbättringar Skulle vara bra med fler

Läs mer

WEBB365.SE. Hur skriver man sökmotoroptimerade texter

WEBB365.SE. Hur skriver man sökmotoroptimerade texter Hur skriver man sökmotoroptimerade texter Introduktion Det finns mycket man kan göra för att lyckas på nätet och att skriva sökmotoroptimerade texter är definitivt en av de viktigare. I korta ordalag kan

Läs mer

DD2458-224344 - 2014-12-19

DD2458-224344 - 2014-12-19 KTH / KURSWEBB / PROBLEMLÖSNING OCH PROGRAMMERING UNDER PRESS DD2458-224344 - 2014-12-19 Antal respondenter: 26 Antal svar: 18 Svarsfrekvens: 69,23 % RESPONDENTERNAS PROFIL (Jag är: Man) Det var typ en

Läs mer

Välkomna till DIT012 IPGO

Välkomna till DIT012 IPGO Välkomna till DIT012 IPGO 1 Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare Joachim von Hacht, hajo@chalmers.se, 772 1003 Handledare (se även kurssida) Alexander Sjösten, sjosten@chalmers.se

Läs mer

När jag och Hanna, som är fyra och ett halvt år, samtalade om vilken

När jag och Hanna, som är fyra och ett halvt år, samtalade om vilken Annette Brown Med kartor från det lilla rummet till den stora världen Här beskrivs ett temaarbete med syftet att barnen på ett lustfyllt och lekfullt sätt skulle få möjlighet att utveckla sin rumsuppfattning

Läs mer

LANDING ZONE II (v1.0, uppgift 2 av 4) för 3D Animering B 1112

LANDING ZONE II (v1.0, uppgift 2 av 4) för 3D Animering B 1112 LANDING ZONE II (v1.0, uppgift 2 av 4) för 3D Animering B 1112 'Landing Zone' (school assignment) is 2011 Arvid Forsberg /// Images are of their respective owners. Innehållsförteckning Sid 2 Sid 3 Sid

Läs mer

Funktioner. Räta linjen

Funktioner. Räta linjen Sidor i boken 14-143, 145-147 Funktioner. Räta linjen Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter

Läs mer

Tentamen TNM061 3D-grafik och animering för MT2 och DAV1

Tentamen TNM061 3D-grafik och animering för MT2 och DAV1 Tentamen TNM061 3D-grafik och animering för MT2 och DAV1 Måndag 29/5 2017 kl 8-12 Inga hjälpmedel Tentamen innehåller 6 uppgifter, vilka tillsammans kan ge maximalt 53 poäng. För betyg G (registreras som

Läs mer

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch Digitalt lärande och programmering i klassrummet Introduktionsworkshop - Bygg ett akvarium i Scratch Introduktion Scratch är en programmeringsomgivning utvecklad av forskare på Massachusetts Institute

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

Elevernas uppfattningar om alltmer digitaliserad undervisning

Elevernas uppfattningar om alltmer digitaliserad undervisning Resultat Elevernas uppfattningar om alltmer digitaliserad undervisning Fråga 1 Mycket inspirerande (6) till mycket tråkigt (1) att arbeta med etologisidan Uppfattas som mycket inspirerande eller inspirerande

Läs mer

Shaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering

Shaders. Renderingssystem. Renderingssystem. Renderingssystem. Hårdvara för 3D-rendering. Hårdvara för 3D-rendering Shaders Renderingssystem Applikation Geometri Rastrering Martin Fitger d00-mfi@d.kth.se VT 2008, DH2323 / DH2640 / NA8740 Renderingssystem Renderingssystem Applikation Per-vertex operationer Geometri Rastrering

Läs mer

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi Tekniska beräkningar stefan@it.uu.se Vad är tekn beräkningar? Finns några olika namn för ungefär samma sak Numerisk analys (NA) Klassisk NA ligger nära matematiken: sats bevis, sats bevis, mer teori Tekniska

Läs mer

Partneruniversitet: Universitat de Barcelona. Varför valde du att studera utomlands?

Partneruniversitet: Universitat de Barcelona. Varför valde du att studera utomlands? Partneruniversitet: Universitat de Barcelona Varför valde du att studera utomlands? Jag tycker utbyte är en bra möjlighet att prova bo i en annan stad, plugga på ett annat språk och få ett välbehövt avbrott

Läs mer

Grafik raytracing. Mattias Axblom.

Grafik raytracing. Mattias Axblom. Grafik raytracing Mattias Axblom mam11003@student.mdh.se 1 SAMMANFATTNING Raytracing, strålföljning eller strålspårning är en metod för att rendera realistiska bilder, film och i framtiden spel. Grundidén

Läs mer

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, Snake Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, 2015-05-18 Oskar Petersen, I-12 Handledare: Bertil Lindvall Abstract Denna rapport beskriver ett projekt där ett klassiskt

Läs mer

Reggio Emilia, en stad med ca invånare i norra Italien. Den är känd för sin pedagogiska filosofi som växte fram efter andra världskriget.

Reggio Emilia, en stad med ca invånare i norra Italien. Den är känd för sin pedagogiska filosofi som växte fram efter andra världskriget. Reggio Emilia Reggio Emilia, en stad med ca 150 000 invånare i norra Italien. Den är känd för sin pedagogiska filosofi som växte fram efter andra världskriget. Kärnan i verksamheten är ca 35 förskolor

Läs mer

Just nu pågår flera satsningar för att förbättra svenska elevers måluppfyllelse

Just nu pågår flera satsningar för att förbättra svenska elevers måluppfyllelse Andersson, Losand & Bergman Ärlebäck Att uppleva räta linjer och grafer erfarenheter från ett forskningsprojekt Författarna beskriver en undervisningsform där diskussioner och undersökande arbetssätt utgör

Läs mer

Genetisk programmering i Othello

Genetisk programmering i Othello LINKÖPINGS UNIVERSITET Första versionen Fördjupningsuppgift i kursen 729G11 2009-10-09 Genetisk programmering i Othello Kerstin Johansson kerjo104@student.liu.se Innehållsförteckning 1. Inledning... 1

Läs mer

Uppsala Universitet Instutionen för pedagogik, didaktik och utbildningsstudier Matematik 2, Ht 2014 Tilde Henriksson, Hannah Kling, Linn Kristell

Uppsala Universitet Instutionen för pedagogik, didaktik och utbildningsstudier Matematik 2, Ht 2014 Tilde Henriksson, Hannah Kling, Linn Kristell Del 1: Pedagogisk planering a) Vi har gjort två lektionsplaneringar med fokus på tvådimensionella geometriska figurer för årskurs 1-3. Utifrån det centrala innehållet i Lgr11 för årskurs 1-3 ska eleverna

Läs mer

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer Tentamen i... TDDC30/725G63 Objektorienterad programmering i Java, datastrukturer och algoritmer Datum 2011-12-19 Tid 14-18 Provkod DAT1 Institution Institutionen för Datavetenskap (IDA) Jour Johan Janzén

Läs mer

HAND TRACKING MED DJUPKAMERA

HAND TRACKING MED DJUPKAMERA HAND TRACKING MED DJUPKAMERA ETT PROJEKT I TNM090 - SOFTWARE ENGINEERING Rasmus KARLSSON Per JOHANSSON Erik HAMMARLUND raska293@student.liu.se perjo020@student.liu.se eriha891@student.liu.se 2014-01-14

Läs mer

8-6 Andragradsekvationer. Namn:..

8-6 Andragradsekvationer. Namn:.. 8-6 Andragradsekvationer. Namn:.. Inledning Nu har du arbetat en hel del med ekvationer där du löst ut ett siffervärde på en okänd storhet, ofta kallad x. I det här kapitlet skall du lära dig lösa ekvationer,

Läs mer