Procedurella Grottor TNM084. Sammanfattning. Alexander Steen

Storlek: px
Starta visningen från sidan:

Download "Procedurella Grottor TNM084. Sammanfattning. Alexander Steen"

Transkript

1 Procedurella Grottor TNM084 Alexander Steen Sammanfattning Denna rapport beskriver en metod för att skapa procedurella grottor. Grottorna består utav sammanlänkade rum som byggs ut från ett startrum med hjälp av en algoritm. Resultatet är två program, ett i 2D och ett i 3D som båda låter användaren gå runt i dessa grottor.

2 Contents Introduktion... 3 Metod och genomförande... 3 Resultat... 4 Diskussion

3 Introduktion Att skapa nivåer till t.ex. datorspel med procedurella metoder är ett bra alternativ när detaljerna på nivåerna inte är lika viktiga som nivån i helhet. En grotta med en gömd skatt i behöver kanske inte ha en planlösning som är planerad in i minsta detalj. En av fördelarna med procedurellt skapade nivåer är möjligheten att snabbt ändra några variabler och kunna få ett väldigt annorlunda utseende. Metod och genomförande Det finns olika metoder för att skapa dessa sammanlänkade rum som använder mer eller mindre avancerade algoritmer som alla ger olika utseende på grottorna. Den implementerade algoritmen är en relativt intuitiv lösning och kan delas upp i 4 steg. Steg 1 Först skapas ett rum med slumpade dimensioner. Detta rum utgör startpunkten för hela grottan. Steg 2 En av väggarna i ett rum samt en position på denna vägg väljs ut. Genom att bestämma hur algoritmen väljer vilket rum som nästa rum ska byggas ut ifrån går det att få olika utseenden på grottan. Exempel på detta kommer att ges senare. Steg 3 Dimensioner för ett nytt rum slumpas och utrymmet bakom väggen kontrolleras för att se om det finns plats att skapa ett nytt rum. Steg 4 Om det finns plats, placera ut det nya rummet och gå sedan till steg 2. Om det inte finns plats, gå direkt till steg 2. Algoritmen implementerades först i 2D i programmeringsspråket Blitz Basic. Blitz Basic är ett BASICbaserat språk specialiserat för spelprogrammering och tillhandahåller lättanvända funktioner för det mesta relaterat till grafik och interaktion. Programmet har en tvådimensionell array med heltal som beskriver hela grottan(figur 1). Detta gör det lätt att göra t.ex. kollisionskontroller mellan väggar och spelaren. Figur 1. Den tvådimensionella arrayen innehållandes grottan 1 - Vägg 2 - Golv 3

4 Själva rummen sparas var för sig i en dubbellänkad lista och består utav en bild som skapas i Steg 4. Varje rum har både en position i arrayen och en skärmposition som används vid utritningen av rummet. Efter algoritmen var implementerad i 2D gjordes en implementation i C++ och OpenGL med Vertex Buffer Objects och GLSL. Strukturen på grottan är samma som i 2D-fallet men varje rum har nu sin position i arrayen, sina dimensioner och position och riktning på ingång och utgång sparade. Alla rum sparas som i 2D-fallet i en dubbellänkad lista. Denna lista stegas sedan igenom och varje rums data används för att skapa vertex- och triangellistorna. En enkel shader med simplex noise används för att ge rummen en stenliknande textur. Resultat Både 2D- och 3D-implementationen kommer, när de körs, att försöka gå igenom de fyra stegen ett fördefinerat antal gånger. Det kan hända att algoritmen bygger in sig i ett hörn vilket innebär att det inte finns plats att placera ut något rum på någon sida då det antingen redan finns rum där eller det är i kanten av arrayen. Detta medför att det inte går att definera hur många rum grottan ska ha exakt utan endast ett största värde på antal rum. Figur 2 visar ett exempel på en liten grotta i 2D. Rummet med den blåa rektangeln i är det sista rummet och det går att se hur algoritmen har byggt in sig då den enda riktningen som inte har rum ivägen är uppåt men i detta fallet så tar arrayen slut där. Den röda cirkeln är spelaren och går att flytta runt i grottan. Figur 2. Exempel på grotta i 2D I grottan från figur 2 valdes alltid det senaste rummet i steg två. Detta ger en linjär grotta där varje rum som mest bara har en ingång och en utgång. Att istället låta algoritmen slumpmässigt välja ut ett rum att bygga ut ifrån ger en grotta med sidogånger och återvändsgränder som går att se i figur 3. 4

5 Figur 3.Grotta med flera möjliga gångvägar Ett alternativ för att få riktigt svårnavigerade grottor är att istället för att bara välja ett slumpmässigt rum att bygga utifrån låta algoritmen försöka bygga ett nytt rum från var och ett av de hittills skapade rummen. Detta kommer att ge en väldigt tät grotta då de flesta rum kommer att ha flera rum intill sig. Ett exempel som använder denna metod går att se i figur 4. Figur 4. Grotta där algoritmen försökt att bygga ett nytt rum för alla redan existerande rum 5

6 Figur 5 är från implementationen i OpenGL och visar insidan av ett rum med ingången och utgången på samma vägg. Figur 5. Grotta i 3D implementerad i OpenGL 2D-implementationen fungerar bara i Windows då Blitz Basic använder sig av DirectX medan 3Dimplementationen ska fungera i både Windows och Linux. Diskussion Implementationen i 3D skapar alltid ett nytt rum från det senast skapade rummet. Detta på grund av strukturen på programmet. Varje rum består utav 20 punkter(8 för hörnen på rummet, 2x4 punkter för ingång och utgång och 2x2 punkter i taket ovanför punkterna för ingång och utgång. Figur 6). Figur 6. Strukturen för rummen i 3D Detta medför att det inte går att lägga till en extra utgång på samma sätt som i 2D-fallet där det går bra att bara rita om bilden för att få en ny utgång. För att kunna göra det i 3D skulle det behövas antingen fler punkter på varje vägg som används vid behov eller en annan lösning på hur rummen skapas(t.ex. voxlar). 6

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Procedurell grottgenerator och eld i GLSL. Marcus Widegren Procedurell grottgenerator och eld i GLSL Marcus Widegren 14 januari 2012 Innehåll 2 Sammanfattning Jag har gjort en enkel procedurell grottgenerator i GLSL och C++. För belysning används en fackla, som

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

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

Procedurell stad. Projekt i kursen TNM022 Procedurella metoder för bilder. Tobias Heldring, tobhe335 2011-02-09

Procedurell stad. Projekt i kursen TNM022 Procedurella metoder för bilder. Tobias Heldring, tobhe335 2011-02-09 Procedurell stad Projekt i kursen TNM022 Procedurella metoder för bilder Tobias Heldring, tobhe335 2011-02-09 Sammanfattning Jag har gjort en enkel stadsgenerator med fokus på stadssiluett. Programmet

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

Procedurell 3D-eld på grafikkortet

Procedurell 3D-eld på grafikkortet Procedurell 3D-eld på grafikkortet TNM084 Procedurella metoder för bilder Anders Hedblom, andhe893@student.liu.se 2012-04-04 1. Bakgrund 1.1. Procedurella metoder Procedurella metoder har ett stort användningsområde

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

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

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Lab 4: Anti Tower Defence Oskar Mothander Alan Mendez Larsson dit06omr dit06mln Lärare: Handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Innehåll 1. Problemspecifikation...

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

Datastrukturer och Algoritmer D0041D

Datastrukturer och Algoritmer D0041D Luleå Tekniska Universitet 19 mars 2014 Laborationsrapport Laboration 3 Datastrukturer och Algoritmer D0041D Primms Algoritm Namn E-mail Magnus Björk magbjr-3@ltu.student.se Handledare Felix Hansson Primms

Läs mer

The Procedural Arctic

The Procedural Arctic The Procedural Arctic Realtidsrendering och generering av en animerad havsyta och himmel, samt en isbergsformation med hjälp av GPU:n och Simplex Noise. Inledning Denna rapport utgör en del i ett projekt

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

Objektorientering i liten skala

Objektorientering i liten skala Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2012-10-24 Objektorientering i liten skala Mål I denna lab skall du skriva ett objektorienterat program. Programmet skall delas

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

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg Kravspecifikation TDP005 Projekt: objektorienterade system Version 4.0 Datum 2008 12 05 Anna Ahlberg Johan Almberg 1 Innehållsförteckning 1. Spelidé...3 1.1 Svårighetsgrad...3 2. Målgrupp...3 3. Spelupplevelse...3

Läs mer

Kapitel 17 Delritning... 3

Kapitel 17 Delritning... 3 DDS-CAD Arkitekt 10 Delritning Kapitel 17 1 Innehåll Sida Kapitel 17 Delritning... 3 Starta delritning... 3 Vägg... 4 Golv... 6 Tak... 7 Automatiska taksymboler...11 Kantegenskaper...12 Delritning...13

Läs mer

Kravspecifikation TDP005 Projekt: Objektorienterat system

Kravspecifikation TDP005 Projekt: Objektorienterat system Kravspecifikation TDP005 Projekt: Objektorienterat system Innehållsförteckning 1. Spelidé 3 2. Målgrupp 3 3. Spelupplevelse 3 4. Spelmekanik 3 5. Regler 3 5.1 Spelplan 3 5.2 Spelaren 3 5.3 Token 3 5.4

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering

Läs mer

Mitt hus och jag steg för steg instruktioner

Mitt hus och jag steg för steg instruktioner Mitt hus och jag steg för steg instruktioner Till den här uppgiften behöver du ett foto på dig själv, ditt hus, en karta och en huvudlös figur. Se till att alla bilder ligger på samma ställe på din dator

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

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

Projektdokumentation för Othello

Projektdokumentation för Othello Projektdokumentation för Gustav Fransson Nyvell gusfr229@student.liu.se Tomas Franzén tomfr819@student.liu.se 1. Inledning Vi har gjort ett -spel som går ut på att man turas om att lägga brickor på en

Läs mer

Information Coding / Computer Graphics, ISY, LiTH. Compute shaders!! Framtiden för GPU computing eller sen efterapning av Direct Compute?

Information Coding / Computer Graphics, ISY, LiTH. Compute shaders!! Framtiden för GPU computing eller sen efterapning av Direct Compute? Compute shaders Framtiden för GPU computing eller sen efterapning av Direct Compute? Compute shaders Tidigare rent Microsoft-koncept, Direct Compute Numera även i OpenGL, ny shadertyp från OpenGL 4.3 Varför

Läs mer

Fyra i rad Javaprojekt inom TDDC32

Fyra i rad Javaprojekt inom TDDC32 Fyra i rad Javaprojekt inom TDDC32 Analys och design-dokument Version 2.0 Datum 2008-05-19 Dokumentnummer 20080303 Sammanfattning Detta är analys och design-dokumentet för programmet Fyra i rad. Fyra i

Läs mer

Byggnationen av Cheopspyramiden - ett visualiseringsprojekt. Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson

Byggnationen av Cheopspyramiden - ett visualiseringsprojekt. Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson Byggnationen av Cheopspyramiden - ett visualiseringsprojekt Mathias Bergqvist, Rikard Gehlin, Henrik Gunnarsson 25 April 2010 0.1 Förord Gruppen vill tacka Adam Grudzinski för att ha fått tillåtelse att

Läs mer

Min pool. Hanna Lind 7:2 Alfa

Min pool. Hanna Lind 7:2 Alfa Min pool Hanna Lind 7:2 Alfa RITNING Jag började med att räkna ut ett antal rimliga mått som jag visste blev heltal när jag delade dom på 30, det gjorde jag då skalan var 1:30. I min ritning visar jag

Läs mer

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2012-08-24, 8:30 12:30. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 9:30 och ca

Läs mer

Slumpmässigt Genererade Nivåer

Slumpmässigt Genererade Nivåer IT 13 003 Examensarbete 15 hp Januari 2013 Joakim Hellman Institutionen för informationsteknologi Department of Information Technology Abstract Randomly Generated Levels Joakim Hellman Teknisk- naturvetenskaplig

Läs mer

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet.

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet. Uppgift 1 Ett programmeringsparadigm är i grund och botten ett sätt att arbeta, ett sätt att möta problem. Det finns flera olika paradigm där varje paradigm har sina egna styrkor och svagheter. Det som

Läs mer

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK. Moment 2: Klonspel Instruktioner för deltagare Idag ska du få lära dig om: Kloner - kopior av samma figur (sprajt) Variabler - ett värde, exempelvis antal poäng Slumptal - slå en tärning för att välja

Läs mer

Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers

Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers Ett projekt i kursen TDA367 Objektorienterat programmeringsprojekt och LSP310 Kommunikation och ingenjörskompetens Maxim Goretskyy

Läs mer

Teknikprogrammet, inriktning informations- och medieteknik

Teknikprogrammet, inriktning informations- och medieteknik Teknikprogrammet, inriktning informations- och medieteknik Varför välja oss? Kursplan Presentation av våra datatekniska kurser Eftersom företag mycket sällan anställer gymnasieelever (de vill att ni ska

Läs mer

TDP005 Projekt: Objektorienterat system

TDP005 Projekt: Objektorienterat system . TDP005 Projekt: Objektorienterat system Kravspecifikation Författare, dylma900@student.liu.se, albve061@student.liu.se Höstterminen 2016 Version 1.1 2016-11-16 1 Revisionshistorik Ver. Revisionsbeskrivning

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

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade

Läs mer

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004 MinMax Algoritmen Implementation och optimering Joakim Östlund 15 juni 2004 1 Samanfattning MinMax är en algoritm som kan användas i turbaserade spel för att skapa en virituell motståndare. Algoritmen

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

Konturbearbetning 1. Innehåll

Konturbearbetning 1. Innehåll Konturbearbetning Innehåll. 3D-Detalj Separerade entiteter... 2 2. 3D-Detalj Öppen kurva... 9 3. 3D-Detalj Sluten kontur... 3 4. 2D-Detalj Sluten Kontur... 2 Konturbearbetning 2. 3D-Detalj Separerade entiteter

Läs mer

Teknik för avancerade datorspel!

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

Läs mer

Fönster och dörr. Kapitel 3 - Fönster och dörr... 3

Fönster och dörr. Kapitel 3 - Fönster och dörr... 3 25.05.2009 Kapitel 3... 1 Kapitel Innehåll... Sida Kapitel 3 -... 3 Fönster...3 Placera med gitter...5 Hur ser fasaden ut?...5 Öppningsbara fönster...7 Relativ positionering...7 Se på 3D-modell...9 Ytterdörrar...9

Läs mer

Människans möte med den mänskliga kroppen. Ett pedagogiskt studiematerial

Människans möte med den mänskliga kroppen. Ett pedagogiskt studiematerial Människans möte med den mänskliga kroppen Ett pedagogiskt studiematerial Inledning I dag så påverkas vi medvetet och omedvetet av yttre ideal. Ofta så glömmer vi bort att ställa frågan till oss själva

Läs mer

Trepoängsproblem. Kängurutävlingen 2011 Junior

Trepoängsproblem. Kängurutävlingen 2011 Junior Trepoängsproblem 1 Övergångsställen är markerade med vita och svarta streck som är 50 cm breda. Markeringen börjar och slutar med ett vitt streck. På Storgatan har ett övergångsställe totalt åtta vita

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

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

Golv, Tapeter, och andra Mönster

Golv, Tapeter, och andra Mönster Golv, Tapeter, och andra Mönster De Arkimediska plattläggningarna Tänk dig att du ska lägga ett golv. Till ditt förfogande har du plattor av varierande utseende, men alla är så kallade reguljära månghörningar,

Läs mer

Bygga hus med LECA-stenar

Bygga hus med LECA-stenar Bygga hus med LECA-stenar När man bygger hus med LECA-stenar finns det en del att tänka på. Till att börja med finns det LECA-stenar i olika dimensioner (t.ex. 59x19x19 och 59x19x39). Dessa dimensioner

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016 Objektorienterad Programkonstruktion Föreläsning 9 30 nov 2016 Collections Ett samlingsnamn på objekt som innehåller en samling av andra objekt Det finns många olika sorters Collections, t.ex listor, träd,

Läs mer

LiTH. WalkCAM 2007/05/15. Testrapport. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs

LiTH. WalkCAM 2007/05/15. Testrapport. Mitun Dey Version 1.0. Status. Granskad. Godkänd. Reglerteknisk projektkurs WalkCAM LIPs Testrapport Mitun Dey Version 1.0 Status Granskad Godkänd 1 PROJEKTIDENTITET Reglerteknisk projektkurs, WalkCAM, 2007/VT Linköpings tekniska högskola, ISY Namn Ansvar Telefon E-post Henrik Johansson Projektledare

Läs mer

Exempel på hur man kan bygga enkla former i Illustrator

Exempel på hur man kan bygga enkla former i Illustrator Exempel på hur man kan bygga enkla former i Illustrator Öppna ett nytt dokument (ctrl-n), storleken spelar ingen större roll eftersom innehållet är vektorbaserat kan det alltid skalas om senare. Välj Pennverktyget

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

Känguru 2013 Student sida 1 / 7 (gymnasiet åk 2 och 3)

Känguru 2013 Student sida 1 / 7 (gymnasiet åk 2 och 3) Känguru 2013 Student sida 1 / 7 NAMN GRUPP Poängsumma: Känguruskutt: Lösgör svarsblanketten. Skriv ditt svarsalternativ under uppgiftsnumret. Felaktigt svar ger minus 1/4 poäng av uppgiftens totala poängantal.

Läs mer

Känguru 2016 Cadet (åk 8 och 9)

Känguru 2016 Cadet (åk 8 och 9) sid 1 / 8 NAMN KLASS Poängsumma: Känguruskutt: Lösgör svarsblanketten. Skriv ditt svarsalternativ under uppgiftsnumret. Felaktigt svar ger minus 1/4 poäng av uppgiftens totala poängantal! Så om du t.ex.

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

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Andragradsekvationer möter elever under sitt första år på gymnasiet.

Andragradsekvationer möter elever under sitt första år på gymnasiet. Christoph Kirfel Komplettera kvadraten och kuben med bilder Elever som för första gången ställs inför att lösa andragradsekvationer kan få hjälp att förstå kvadratkomplettering med hjälp av väl uttänkta

Läs mer

4-4 Parallellogrammer Namn:..

4-4 Parallellogrammer Namn:.. 4-4 Parallellogrammer Namn:.. Inledning Hittills har du arbetat bl.a. med linjer och vinklar. En linje är ju någonting som bara har en dimension, längd. Men när två linjer skär varandra och det bildas

Läs mer

Algoritmer. Två gränssnitt

Algoritmer. Två gränssnitt Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Det här är inte originaltesen. Uppgift 6 var felaktigt formulerad, och har rättats till. Datum och tid för tentamen: 2011-12-16, 8:30 12:30. Ansvarig: Nils Anders Danielsson.

Läs mer

Sommarstugan Övningar för CAD2

Sommarstugan Övningar för CAD2 Sommarstugan Övningar för CAD2 Innehåll: Inledning: Uppgift 1 Golvreglar Uppgift 2 Väggreglar Uppgift 3 Takstolar Uppgift 4 Innergolv Uppgift 5 Hopsättning av delarna Inledning Du har under den senare

Läs mer

EXTRA UPPGIFTER I C++ PROGRAMMERING-A

EXTRA UPPGIFTER I C++ PROGRAMMERING-A EXTRA UPPGIFTER I C++ PROGRAMMERING-A Uppgifterna är ej sorterade efter svårighetsgrad 1. Gör ett program som kan beräkna arean och omkretsen av en cirkel om användaren (du) matar in cirkelns radie. Skapa

Läs mer

Värmedistribution i plåt

Värmedistribution i plåt Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.

Läs mer

Avdelning 1, trepoängsproblem

Avdelning 1, trepoängsproblem vdelning 1, trepoängsproblem 1. Hur många symmetrilinjer har figuren? : 0 : 1 : 2 D: 4 E: oändligt många 2. Robert arbetar på leksaksfabriken. Han ska packa kängurur som ska fraktas till affärerna. Varje

Läs mer

Rita ett rum i en-punktsperspektiv.

Rita ett rum i en-punktsperspektiv. Rita ett rum i en-punktsperspektiv. Du behöver linjal, penna, sudd och ett papper i A3-format. VÅGRÄTT (15 cm) LODRÄTT (10 cm) 90 GRADERS VINKEL Rita en rektangel med måtten 10x15 cm ungefär mitt på pappret

Läs mer

Känguru 2016 Student gymnasieserien

Känguru 2016 Student gymnasieserien sid 1 / 10 NAMN GRUPP Poäng: Känguruskutt: Lösgör svarsblanketten. Skriv ditt svarsalternativ under uppgiftsnumret. Felaktigt svar ger minus 1/4 poäng av uppgiftens totala poängantal! Så om du t.ex. svarar

Läs mer

TDDD92 Artificiell intelligens -- projekt

TDDD92 Artificiell intelligens -- projekt jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Individuella uppgifter UPG2: Individuell skriftlig rapport 2 Vad? Läsa och förstå vetenskaplig litteratur Varför? Framtiden: Inte

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

Programmeringsolympiaden 2014

Programmeringsolympiaden 2014 Programmeringsolympiaden 2014 TÄVLINGSREGLER FÖR SKOLKVALET Tävlingen äger rum på av skolan bestämt datum under sex timmar effektiv tid. Eleven ska i förväg komma överens med läraren om att använda egen

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 1. Vektorberäkningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall vi träna på

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

PROCEDURELLT GENERERADE BANOR MED HÖJDSKILLNADER OCH BRA FRAMKOMLIGHET PROCEDURALLY GENERATED MAPS WITH HEIGHT DIFFERENCE AND GOOD EXPLORATION

PROCEDURELLT GENERERADE BANOR MED HÖJDSKILLNADER OCH BRA FRAMKOMLIGHET PROCEDURALLY GENERATED MAPS WITH HEIGHT DIFFERENCE AND GOOD EXPLORATION Malskapada v Henrik PROCEDURELLT GENERERADE BANOR MED HÖJDSKILLNADER OCH BRA FRAMKOMLIGHET Slumpmässighet med direktiv PROCEDURALLY GENERATED MAPS WITH HEIGHT DIFFERENCE AND GOOD EXPLORATION Randomization

Läs mer

Avdelning 1, trepoängsproblem

Avdelning 1, trepoängsproblem vdelning, trepoängsproblem. Med hjälp av bilden bredvid kan vi se att + 3 + 5 + 7 = 4 4. Vad är + 3 + 5 + 7 + 9 +... + 7 + 9 + 2? : 0 0 : C: 2 2 D: 3 3 E: 4 4 2. Summan av talen i båda raderna är den samma.

Läs mer

Ekvivalensrelationer

Ekvivalensrelationer Abstrakt datatyp för disjunkta mängder Vi skall presentera en abstrakt datatyp för att representera disjunkta mängder Kan bl.a. användas för att lösa ekvivalensproblemet avgör om två godtyckliga element

Läs mer

Delprov D: Geometriska figurer och deras egenskaper

Delprov D: Geometriska figurer och deras egenskaper Delprov D: Geometriska figurer och deras egenskaper Nedan finns instruktioner för genomförandet av Delprov D, vilket handlar om geometriska figurer och deras egenskaper. Eleverna ska arbeta individuellt

Läs mer

4.2.4 Flanktransmission

4.2.4 Flanktransmission 4.2.4 Flanktransmission Vi har låtit en av landets främsta experter på Lätta träbyggnader, teknisk doktor Klas Hagberg Acouwood AB, genomföra mätningar på våra element i ett uppbyggt laboratorium hos oss

Läs mer

Handbok för källarprodukter. Hitta lösningen för din källare

Handbok för källarprodukter. Hitta lösningen för din källare Hitta lösningen för din källare Vers. 03/2015 Innehåll: Allmän information om avfuktning av källare med SolarVenti Avfuktning av källaren 3 SolarVentis källarpaneler 3 En SolarVenti källarsats 3 Varför

Läs mer

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser

Läs mer

Tynker gratisapp på AppStore

Tynker gratisapp på AppStore Tynker gratisapp på AppStore Innehåll Använda appen 2 Koordinatsystemet 6 Rita rektanglar i koordinatsystemet 7 Rita ellipser i koordinatsystemet 9 Rita trianglar i koordinatsystemet 11 Skapa mönster med

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

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A SF624 Algebra och geometri Lösningsförslag till tentamen 202-2-3 DEL A Betrakta punkterna A = (2, 2) och B = (6, 4) och linjen (, 3) + t(2, ) i planet (a) Det finns exakt en punkt P på linjen så att triangeln

Läs mer

Agenda. Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna

Agenda. Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna Agenda Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna Projektupptakt I kursen ingår PRO1, enskild programmeringsuppgift En större programmeringsuppgift som ni löser

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (18 januari 2015 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna, Carl, Johan, Tom och ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer Kursmaterial

Läs mer

Föreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö

Föreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö Kö (ADT) En kö fungerar som en kö. Man fyller på den längst bak och tömmer den längst fram

Läs mer

Slump och statistik med Scratch

Slump och statistik med Scratch Lektionen handlar om att simulera tärningskast och skapa en statistikapplikation genom att arbeta med modifiera algoritmer. Lektionsförfattare: Måns Jonasson En digital lektion från https://digitalalektioner.iis.se

Läs mer

Mintermer. SP-form med tre mintermer. William Sandqvist

Mintermer. SP-form med tre mintermer. William Sandqvist Mintermer OR f 2 3 En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som tillsammans gör att termen antar värdet. SP-form med tre mintermer. f = m

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2015-01-08 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

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

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

Mer om kontinuitet. Kapitel K. K.1 Övre och undre gräns

Mer om kontinuitet. Kapitel K. K.1 Övre och undre gräns Kapitel K Mer om kontinuitet I detta kapitel bevisar vi Sats 3.1, som säger att en kontinuerlig funktion av typen R 2 R på ett kompakt område antar ett största och ett minsta värde. Vi studerar dessutom

Läs mer

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering IE25 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering Mintermer 2 3 OR f En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som

Läs mer

Bearbetning av 2D-Detalj

Bearbetning av 2D-Detalj Bearbetning av 2D-Detalj I princip så fungerar 2D bearbetning på samma sätt som om den utfördes i 3D. Därför kommer bara en bearbetningstyp att visas med exemplet nedan. Detaljen nedan har skapats i ett

Läs mer

KOMMA IGÅNG MED ARCHICAD. Idé och produktion av: Oscar Torstensson

KOMMA IGÅNG MED ARCHICAD. Idé och produktion av: Oscar Torstensson KOMMA IGÅNG MED ARCHICAD Idé och produktion av: Oscar Torstensson Förord Kompendiet är främst avsett till de nybörjare som läser eller är utbildade till arkitekter eller byggnadsingenjörer. Grundtanken

Läs mer

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I Vt 2002 Mål: Lära sig: Filhantering Stränghantering Vektorer Funktioner Programstruktur Tid: Läroboken: 6 timmars handledd laborationstid. Beräknad klar

Läs mer

Slutrapport YUNSIT.se Portfolio/blogg

Slutrapport YUNSIT.se Portfolio/blogg Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare

Läs mer

PROGRAMMERING I MATEMATIK. Ämnets dag 2017 Göteborgs universitet, Matematiska Vetenskaper Åse Fahlander och Laura Fainsilber

PROGRAMMERING I MATEMATIK. Ämnets dag 2017 Göteborgs universitet, Matematiska Vetenskaper Åse Fahlander och Laura Fainsilber PROGRAMMERING I MATEMATIK Ämnets dag 2017 Göteborgs universitet, Matematiska Vetenskaper Åse Fahlander och Laura Fainsilber Syfte: Inspirera till att använda programmering som verktyg för matematikinlärning

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2006-12-08.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Implementera följande funktion: fun(1) = 1 fun(n) = fun(n / 2), för jämna n fun(n) = n / (fun(n - 1) + fun(n + 1)), för udda n Exempel på korrekta resultat:

Läs mer

Föreläsning Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-23 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Djupet först-sökning. Minsta uppspännande träd Träd (utan rot)

Läs mer