INF{3 4}320 - Obligatorisk oppgave 3
|
|
|
- Bo Slettebakk
- 8 år siden
- Visninger:
Transkript
1 INF{3 4}320 - Obligatorisk oppgave 3 Innleveringsfrist: 14. oktober 2003 (Revisjon 25. september 2003) I denne oppgaven skal vi utvide koden som ble laget for oblig2. I stedet for å tegne en enkel kube med linjer skal vi tegne en teksturert og sjattert kube, og teksturen skal vi lage selv. 1 Prosedyral teksturering Å teksturere vil si å tilordne en farveverdi for hvert punkt på en flate. Man kan se på dette en funksjon som tar et punkt på flaten som argument og returnerer en farveverdi. Dette punktet på flaten er ofte enten parameterkoordinatene eller posisjonen til punktet i rommet, henholdsvis 2D- og 3D-teksturer. 3D-teksturer kalles ofte volumetriske teksturer fordi parameterområde er et volum. Ofte bruker man et bilde som klistres eller projiseres ned på flaten som tekstur. Teksturfunksjonen finner da hvilken pixel i bildet punktet på flaten tilsvarer og (efter eventuell filtrering) returnerer farveverdien til denne pixelen. I denne oppgaven skal vi se på teksturer som ikke er definert som bilder, men definert med en matematisk funksjon. Vi skal lage et sett med volumetriske teksturer over (x, y, z) [ 1, 1] [ 1, 1] [ 1, 1], det vil si over en kube med sidelengder lik 2 som er sentrert om origo. 1.1 RGB-kuben Vi starter å definere farvene til RGB-kuben som en volumetrisk tekstur. Idéen er å la x-koordinatet være mengden rødt i teksturen, y-koordinatet mengden grønt og så videre. RGB-kuben er definert når R, G, B [0, 1], mens x, y, z [ 1, 1]. Derfor må vi skalere og translatere posisjonen slik at rekkevidden til de to settene med koordinater sammenfaller. Dette gir ( x + 1 (r, g, b) = color_cube(x, y, z) =, 2 ) y + 1 2, z + 1, (1) 2 og en kube med denne teksturen kan sees på figur 1. 1
2 1.2 Støy og turbulens Figur 1: rgb-kuben Vi definerer altså teksturen som matematiske uttrykk av variabelene x, y og z. Det er mye man kan gjøre ved hjelp av vanlige matematiske operatorer, men problemet er at det teksturene blir ofte veldig strukturerte og følgelig er vanskelig å definere organiske og naturlige teksturer. Vi skal derfor introdusere en kvasi-støyog kvasi-turbulens-funksjon som gir oss muligheten til å introdusere uregelmessigheter i teksturen på en kontrollerbar måte Egenskaper I motsetning til en ekte støy-funksjon vil vi ha en funksjon som er båndbegrenset, amplitudebegrenset og repetérbar. Disse egenskapene gir oss den ønskede kontroll over støyen. I tillegg ønsker vi at støyen er minst mulig periodisk, slik at man ikke ser åpenbare strukturer, samt stasjonær og isotropisk, slik at støyens karakter ikke endrer seg med posisjon og retning. Det finnes mange varianter av Perlin-støy som oppfyller kriteriene i varierende grad Oppbygning Selv om vi skal bruke en 3D-versjon av støyen i oppgaven, bruker vi for enkelhets skyld 1D-versjonen for å forklare hvordan støyfunksjonen er bygget opp. 2
3 Støyfunksjonen består av en sum av lag, kalt oktaver. Hver oktav har mesteparten av energien i et veldig smalt frekvensbånd, og det er ved å velge ut hvilke oktaver vi vil bruke i summen vi kan båndbegrense den resulterende støyfunksjonen. Oktavfunksjonen All tilfeldigheten i støyen er bakt ned i en ordnet rekke V av N tilfeldige tall mellom 1 og 1, V = {v 0, v 1,..., v N 1 }. (2) Vi har altså tilordnet en tilfeldig verdi til hvert heltall fra 0 til N 1. For å utvide dette til å gjelde for alle heltall definerer vi ˆv i til å være ˆv i = v i%n, (3) hvor % er modulo-operatoren. Det betyr at rekken av tall gjentar seg selv for hvert N te tall, det vil si ˆv 0 = ˆv N = ˆv 2N =.... Ut ifra denne rekken har vi definert hva oktav-funksjonen er på hvert heltall. Så gjenstår det å definere hva oktav-funksjonen er mellom heltallene. Vi ønsker i alle fall at støyen er en kontinuerlig funksjon, gjerne med flere kontinuerlige deriverte. Ved å benytte en interpolasjonsfunksjon kan vi interpolere verdiene ved hvert heltall og slik definere en funksjon for alle reelle tall. For enkelhets skyld benytter vi her lineær interpolasjon (lerp), lerp(t, a, b) = (1 t)a + tb, (4) selv om den har diskontinuiteter i første deriverte. Et vanlig valg for interpolasjonsfunksjon er et kubisk polynom, så kan gi kontinuitet i både første- og andrederiverte. Vi har altså gitt x som er et reelt tall, og vi skal finne hvilket heltallsintervall dette tallet ligger i. Vi lar i(x) være intervallnummeret definert som det største heltallet som er mindre enn x. Vi er nå klare til å definere oktavfunksjonen, octave(x) = lerp ( x i(x), ˆv i(x), ˆv i(x)+1 ). (5) Støyfunksjonen Støyfunksjonen består av, som nevnt innledningsvis, en sum av oktaver. Vi skalerer hver oktav med 1/f, hvor f er hovedfrekvensen i oktaven, noise(x) = 1/f octave(x f), (6) f=1,2,4,...,g og g er maksimumsfrekvensen. Frekvensen f løper altså fra 1 og dobler verdien sin til den når g. 3
4 Figur 2: Tretekstur Turbulensfunksjonen Vi introduserer også en turbulensfunksjon. Den har samme oppbygning som støyfunksjonen, men istedenfor å summere hver oktav så summerer vi absoluttverdien til oktavene, turbulence(x) = 1/f octave(x f). (7) f=1,2,4,...,g Denne funksjonen blir åpenbart ikke negativ, og ligger i hovedsak i området [0, 2]. Absoluttverdiene introduserer noen diskontinuiteter i den førstederiverte, og det resulterer i at funksjonen ser mer sky-aktig ut. 1.3 Treverk Vi skal bruke radien r fra z-aksen som utgangspunkt for treteksturen. Vi vil at årringene skal være tykkest inni og tynnere jo lengre ut man kommer, derfor kvadrer vi r. Vi lar én årring være intervallet mellom to heltall. For å justere tykkelsen (og implisitt antallet årringer pr. areal) multipliserer vi r 2 med en passelig konstant før vi sjekker hvilket heltallsintervall radien ligger innenfor. Teksturen slik som den er beskrevet hittil ser utrolig strukturert og unaturlig ut. For å gjøre den mer organisk, perturberer vi radien med litt støy. Uttrykket vi får blir da, r 2 (x, y, z) = 15(x 2 + y 2 ) + 1.7noise(x, y, z). (8) 4
5 Figur 3: Marmortekstur Vi bruker i(x) til å finne det største heltallet som er mindre enn x. Vi lar årringene alternere mellom en gulfarve og en brunfarve og får da uttrykket { ( 1 wood(x, y, z) = (, 1, ) ) hvis i(r 2 (x, y, z))%2 = 0 1, 1, 1 hvis i(r 2 (x, y, z))%2 = 1. 2 Resultatet av denne teksturen kan sees på figur 2. (9) 1.4 Marmor Til slutt skal vi lage en marmor-lignende tekstur ved hjelp av turbulensfunksjonen. Vi drar koordinatene i x og y retning litt for skape en retning i materialet. Utifra dette definerer vi marble(x, y, z) = ( Resultatet av denne teksturen kan sees på figur 3. sin(0.45 turbulence(3x/2, 2y, z)), sin(1.00 turbulence(3x/2, 2y, z)), sin(0.55 turbulence(3x/2, 2y, z)) ) (10) 2 Oppgaven Vi skal som sagt lage en teksturert kube. OpenGL støtter ikke prosedyrale teksturer per se (men det kan implementeres i fragmentshadere), så vi må sample 5
6 teksturen og lagre teksturene som bilder i minnet. Vi lager et bilde for hver firkant, altså totalt seks bilder. For å vite hvor sample-punktene skal være, så må vi definere kuben vi skal klistre teksturene på. Først definerer vi de 8 hjørnenepunktene, GLfloat cube_vertices[3*8] = { -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0 }; Så definerer vi firkantene. Disse er definert som indekser inn i arrayet med hjørnepunkter cube_vertices, GLuint cube_indices[] = { 0, 3, 2, 1, 1, 2, 6, 5, 5, 6, 7, 4, 4, 7, 3, 0, 0, 1, 5, 4, 2, 3, 7, 6 }; Hver av firkantene skal må ha en normalvektor som brukes for lyssetting, GLfloat cube_normals[] = { 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 0.0 }; Og vi bruker samme sett med teksturkoordinater for hver av flatene, GLfloat cube_texture_coords[] = { 0.0, 0.0, 0.0, 1.0, 6
7 }; 1.0, 1.0, 1.0, 0.0 For å finne x, y, z-koordinatene til en pixel i en tekstur bruker vi følgende programsnutt float texture_mem[texture_size][texture_size][3]; for(t=0; t<6; t++) { /* for hver tekstur */ for(j=0; j<texture_size; j++) { /* for hver linje */ for(i=0; i<texture_size; i++) { float u, v; float P[3], C[4], B[4]; /* finn tekstur-koordinater */ u = (float)i/((float)texture_size-1.0); v = (float)j/((float)texture_size-1.0); /* bi-lineaere basisfunksjoner */ B[0] = (1.0-u)*(1.0-v); B[1] = (1.0-u)*v; B[2] = u*v; B[3] = u*(1.0-v); for(k=0; k<3; k++) { P[k] = 0.0; /* bi-lineaer interpolasjon av * de fire hjørnene av firkanten */ for(r=0; r<4; r++) { int ix = 3*cube_indices[4*t+r]+k; P[k] += B[r]*cube_vertices[ix]; } /* P inneholder x,y,z-koordinatene */ texture(c,p); /* C inneholder farven */ for(r=0; r<3; r++) texture_mem[j][i][r] = 255.0*C[r]; } } } /* load texture_mem to OpenGL etc. */ 7
8 } Programmet skal kunne lage minst tre teksturer, hvor minst én av teksturene skal bruke støy og eller turbulensfunksjonen. Programmet skal ta ett argument, et heltall, som spesifiserer hvilken tekstur som skal brukes. Hvis programmet kalles uten argumenter skal det skrives ut hvilke verdier argumentet kan ha, og programmet skal avslutte. Teksturen skal visualiseres med en teksturert kube som er lyssatt med minst én lysskilde. Koden fra forrige oblig for å rotere kuben skal også benyttes. I tillegg er det et krav at en perspektivprojeksjon benyttes. 3 Innlevering Oppgaven er individuell og alle skal programmere hvert sitt program, dog er det lov til å samarbeide, men dette skal presiseres i så fall. Programmet skal være programmert i enten C eller C++ og visualiseringen skal gjøres i OpenGL. Utover dette står man fritt til å velge om man vil bruke glut, Qt eller et annet vindusbibliotek. Dokumentasjon av oppgaven gjøres ved at kildekoden kommenteres. Innlevering av oppgaven består i at man sender en epost til gruppelærer med et tar-arkiv som heter brukernavn3.tar.gz hvor brukernavn er brukernavnet ditt. Arkivet skal inneholde fullstendig kildekode, men ikke kompilerte objekt (*.o)-filer (kjør make clean før du lager arkivet). Hvis det er noen spørsmål eller kommentarer angående oppgaven kan disse rettes til gruppelærer enten på gruppeøvningene eller pr. epost. Lykke til! 8
INF Obligatorisk oppgave 2
INF3320 - Obligatorisk oppgave 2 Innleveringsfrist: 23. september (Revisjon 4. september 2003) I denne oppgaven skal vi se på transformasjoner og interaktivitet. Vi skal lage et lite program som implementerer
MAT-INF 1100: Obligatorisk oppgave 1
8. september, 2005 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 23/9-2005, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels
Om plotting. Knut Mørken. 31. oktober 2003
Om plotting Knut Mørken 31. oktober 2003 1 Innledning Dette lille notatet tar for seg primitiv plotting av funksjoner og visualisering av Newtons metode ved hjelp av Java-klassen PlotDisplayer. Merk at
MAT-INF 1100: Obligatorisk oppgave 1
3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000
Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 29 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet med
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT-INF 00 Modellering og beregninger. Eksamensdag: Torsdag 6. desember 202. Tid for eksamen: 9:00 3:00. Oppgavesettet er på 8
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 30. september kl 16.00. Viktig: les slutten av oppgaven for detaljerte leveringskrav. Formål Formålet
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 h2006
Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 h2006 Leveringsfrist Oppgaven må leveres senest fredag 30 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet
MAT-INF 1100: Obligatorisk oppgave 1
13. september, 2018 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 27/9-2018, kl. 14:30 i Devilry Obligatoriske oppgaver («obliger») er en sentral del av MAT-INF1100 og er utmerket trening i å
Forelesning, 23.februar INF2400 Sampling II. Øyvind Ryan. Februar 2006
INF2400 Februar 2006 INF2400 Innhold Delkapitlene 4.4-4.6 fra læreboken, 4.3 er til selvstudium. Repetisjon om sampling og aliasing Diskret-til-kontinuerlig omforming Interpolasjon med pulser Oversamling
TDT4102 Prosedyre og Objektorientert programmering Vår 2014
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: 2014-01-24 Mål for denne øvinga:
Forelesning, 17.februar INF2400 Sampling II. Øyvind Ryan. Februar 2005
INF2400 Februar 2005 INF2400 Innhold Delkapitlene 4.4-4.6 fra læreboken, 4.3 er til selvstudium. Repetisjon om sampling og aliasing Diskret-til-kontinuerlig omforming Interpolasjon med pulser Oversamling
INF1510 Oblig #1. Kjetil Heen, februar 2016
INF1510 Oblig #1 Kjetil Heen, februar 2016 1 2 Etch-a-sketch Det ferdige sluttproduktet skal simulere en klassisk leke, Etch-a-sketch, et tegnebrett, hvor man tegner på en flate ved å skru på 2 hjul, og
INF Innleveringsoppgave 6
INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF330 Metoder i grafisk databehandling og diskret geometri Eksamensdag: 3. desember 010 Tid for eksamen: 14.30 18.30 Oppgavesettet
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
Utførelse av programmer, metoder og synlighet av variabler i JSP
Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen
2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
Obligatorisk oppgave 4: Lege/Resept
Obligatorisk oppgave 4: Lege/Resept INF1010 Frist: mandag 27. mars 2017 kl. 12:00 Versjon 1.0 (111c894 ) Innhold 1 Innledning 1 1.1 Begreper................................ 2 2 Pasienter 2 3 Leger og lister
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF2310 Digital bildebehandling Eksamensdag : Tirsdag 25. mars 2014 Tid for eksamen : 15:00 19:00 Oppgavesettett er på : 6 sider
INF 2310 Digital bildebehandling
INF 230 Digital bildebehandling Forelesning 3 Geometriske operasjoner Fritz Albregtsen 05.02.203 INF230 Temaer i dag Geometriske operasjoner Lineære / affine transformer Resampling og interpolasjon Samregistrering
Innlevering 2b i INF2810, vår 2017
Innlevering 2b i INF2810, vår 2017 Dette er del to av den andre obligatoriske oppgaven i INF2810. Man kan oppnå 10 poeng for oppgavene i 2b, og man må ha minst 12 poeng tilsammen for 2a + 2b for å få godkjent.
Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.
Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 20. februar kl 16.00 via Joly. Viktig: les slutten av oppgaven for detaljerte
Obligatorisk oppgave 1: Regneklynge
Obligatorisk oppgave 1: Regneklynge INF1010 Frist: mandag 6. februar 2017 kl. 12:00 Versjon 1.0 (62f8e31 ) Innhold 1 Innledning 1 2 Regneklyngens bestanddeler 2 3 Datastrukturtegning 3 4 Maksimal teoretisk
Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!
Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett
Kodetime for Nordstrand barneskole
Kodetime for Nordstrand barneskole av Veronika Heimsbakk og Lars Erik Realfsen 1 Hva er Processing? Processing er et programmeringsspråk som er gratis, og tilgjengelig for alle! Man kan programmere i Processing
Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen
Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole
Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
INF100 INNLEVERING 3 HØSTEN 2004
INF100 INNLEVERING 3 HØSTEN 2004 Krav til innlevering For at innleveringen skal godkjennes må følgende leveres: Oversikt Et dokument som inneholder en oversikt over innleveringen. Den skal inneholde en
Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.
Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014
Oppgaver uke 1: Løsningsforslag
Oppgaver uke 1: Løsningsforslag Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. alder = 30 print("din alder er", alder) alder = 15 Din alder er 30 Når print() kalles
Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I
Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert
Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen
Obligatorisk Innlevering 2
Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.
TDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:
INF Ekstrainnlevering
INF000 - Ekstrainnlevering Temaer på innleveringen: Hele pensum fram til nå. Oppgave E.) Tema: Beslutninger (if/else) Filnavn: Rekkefolge.java a) Lag et program som leser inn tre tall fra brukeren. b)
Kanter, kanter, mange mangekanter
Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte
Fig1. Den konvekse innhyllinga av 100 tilfeldige punkter i planet (de samme som nyttes i oppgaven.)
Oblig3 i INF2440 våren 2015-ver3. Den konvekse innhyllinga til en punktmengde - et rekursivt geometrisk problem. Innleveringsfrist fredag 27. mars kl. 23.59 En punktmengde P i planet består av n forskjellige
INF Obligatorisk innlevering 5
INF1000 - Obligatorisk innlevering 5 Frist: 2. Oktober kl 22:00 Temaer denne uka: Klasser og objekter. I denne obligen skal du som nytt tema jobbe med klasser og objekter, i tillegg til å bruke det du
Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006
Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Advarsel Etter forelesningen 6. mars har vi gjennomgått alt stoffet som trengs for å løse oppgaven. Du kan imidlertid godt starte arbeidet allerede
Hvordan angripe en større oppgave? (og hva skal jeg gjøre i oblig 7!?)
Hvordan angripe en større oppgave? (og hva skal jeg gjøre i oblig 7!?) Skaff deg et godt overblikk... Les oppgaveteksten godt! Forstå hva oppgaven skal gjøre. Se på eksempelkjøringen! Hvilke klasser trenger
Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004
Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004 13. september 2004 En viktig del av den første obligatoriske oppgaven er å få erfaring med hvordan Java håndterer tall. Til å begynne med kan dette
Obligatorisk oppgave 1 i INF 4130, høsten 2008
Obligatorisk oppgave 1 i INF 4130, høsten 2008 Leveringsfrist 3. oktober Institutt for informatikk Krav til innleverte oppgaver ved Institutt for informatikk (Ifi) Ved alle pålagte innleveringer av oppgaver
Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1
Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1 Denne oppgaven skal løses to og to vha. systemutviklingsmetoden Parprogrammering. For å få levere må alle registrere seg gjennom
Innlevering i FORK Matematikk forkurs OsloMet Obligatorisk innlevering 3 Innleveringsfrist Onsdag 14.november 2018 kl. 10:30 Antall oppgaver: 13
Innlevering i FORK00 - Matematikk forkurs OsloMet Obligatorisk innlevering Innleveringsfrist Onsdag 4.november 08 kl. 0:0 Antall oppgaver: Bestem vinkelen mellom vektorene u = [, 7] og v = [4, 5]. Hva
TDT4102 Prosedyre og Objektorientert programmering Vår 2015
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:
Obligatorisk oppgave 1 INF1020 h2005
Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte
TEP 4160 AERODYNAMIKK. Program VortexLattice; brukerveiledning
Norges teknisk naturvitenskapelige universitet NTNU Fakultet for Ingeniørvitenskap og teknologi Institutt for Energi- og Prosessteknikk TEP 4160 AERODYNAMIKK Program VortexLattice; brukerveiledning Per-Åge
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008
Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for
Et lite oppdrag i bakgrunnen
Et lite oppdrag i bakgrunnen Under pultene på bakerste rad er det klistret post-it lapper med to tall skrevet på Regn ut summen av to nederste tall, skriv denne summen under de andre tallene, og send lappen
TMA4100 Matematikk 1 Høst 2014
Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag TMA Matematikk Høst Løsningsforslag Øving Review Exercise 6, side 86 Vi lar fx sin x. Taylor-polynomet av grad 6 til f om x
MAT-INF 1100: Obligatorisk oppgave 1
22. september, 2016 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 6/10-2016, kl. 14:30 i Devilry Obligatoriske oppgaver («obliger») er en sentral del av MAT-INF1100 og er utmerket trening i å
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF3 Digital bildebehandling Eksamensdag : Onsdag. juni Tid for eksamen : 4:3 8:3 Oppgavesettet er på : 5 sider Vedlegg : Ingen
INF 1040 Løsningsforslag til kapittel
INF 040 Løsningsforslag til kapittel 8 Oppgave : Huffmankoding med kjente sannsynligheter Gitt en sekvens av symboler som er tilstrekkelig lang, og som inneholder de 6 symbolene A, B, C, D, E, F. Symbolene
Brukerkurs i Gauss feilforplantning
Brukerkurs i Gauss feilforplantning Knut S. Gjerden 9. august 2011 evt. gaussisk feilforplantning eller bruk av Gauss lov for feilforplantning. Samt litt generelt om fysikkting.
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: MAT-INF 1100L Programmering, modellering, og beregninger. Prøveeksamen 1 Eksamensdag: Onsdag 14. November 2014. Tid for eksamen:
Løsningsforslag øving 6
Løsningsforslag øving 6 7 Husk Teorem 79 i notatet: En delmengde U av et vektorrom V er et underrom hvis ) nullvektoren er i U, ) summen av to vektorer i U er i U igjen, og 3) et skalarmultiplum av en
EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,
Programmeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: [email protected] 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
TDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres
( x+ π 2) Bakgrunn: Sinus og cosinus. Bakgrunn: Samplet sinus i 1D. Bakgrunn: Samplet sinus i 2D. Bakgrunn: Sinus i 2D. sin( x)=cos.
Bakgrunn: Samplet sinus i 1D Bakgrunn: Sinus og cosinus En generell samplet sinusfunksjon kan skrives som: y(t) = A sin(2πut/n + φ) t : tid; 0, 1,..., N-1 A : amplitude u : antall hele perioder* N : antall
Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler
Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler
Litt om Javas class-filer og byte-kode
Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet
OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
Oblig3Pi- en matematisk rettet obligatorisk oppgave nr. 3 (av 4) i INF1000 ett av to alternativer for oblig 3.
Oblig3Pi- en matematisk rettet obligatorisk oppgave nr. 3 (av 4) i INF ett av to alternativer for oblig 3. Leveringsfrist Oppgaven må leveres senest fredag. oktober kl 6.. Viktig: les slutten av oppgaven
Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type (kapittel.) Hash-funksjoner (kapittel..)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering
Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om
MEK1100, vår Obligatorisk oppgave 1 av 2. Torsdag 28. februar 2019, klokken 14:30 i Devilry (devilry.ifi.uio.no).
28. februar 2019 Innleveringsfrist MEK1100, vår 2019 Obligatorisk oppgave 1 av 2 Torsdag 28. februar 2019, klokken 14:30 i Devilry (devilry.ifi.uio.no). Instruksjoner Du velger selv om du skriver besvarelsen
IN1010 V18, Obligatorisk oppgave 5
IN1010 V18, Obligatorisk oppgave 5 Innleveringsfrist: Tirsdag 17.04. kl 10:00 Versjon 1.3 (12.04.2018) Sist modifisert av Silje Merethe Dahl. Innledning I denne oppgaven skal du bruke rekursjon til å lage
TDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 2 Frist: 2016-01-29 Mål for denne øvingen:
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
Lineærtransformasjoner
Kapittel 8 Lineærtransformasjoner I forrige kapittel begynte vi å formulere lineær algebra på en generell måte, ved å gi en abstrakt definisjon av vektorrom For å beskrive sammenhenger mellom forskjellige
Obligatorisk oppgave 1
INSTITUTT FOR INFORMATIKK, UNIVERSITETET I OSLO Obligatorisk oppgave 1 INF2310, vår 2017 Dette oppgavesettet er på 9 sider, og består av 2 bildebehandlingsoppgaver. Besvarelsen av denne og neste obligatoriske
IN1010 V19, Obligatorisk oppgave 2
IN1010 V19, Obligatorisk oppgave 2 Innleveringsfrist: Tirsdag 26.02 kl 23.59 Introduksjon I de obligatoriske oppgavene fremover skal du lage et system som holder styr på leger, pasienter, resepter og legemidler.
UNIVERSITETET I OSLO
Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)
Komplekse tall og komplekse funksjoner
KAPITTEL Komplekse tall og komplekse funksjoner. Komplekse tall.. Definisjon av komplekse tall. De komplekse tallene er en utvidelse av de reelle tallene. Dvs at de komplekse tallene er en tallmengde som
Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type Hash-funksjoner hashcode Kollisjonshåndtering
Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon
Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: [email protected] Utdanning: Dataingeniør, 2000 Cand.Scient,
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 3: Maps og Hashing Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 3 1 / 25 Maps
INF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet. Obligatorisk innlevering 1 i emnet MAT111, høsten 2016
UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Obligatorisk innlevering 1 i emnet MAT111, høsten 2016 Innleveringsfrist: Mandag 26. september 2016, kl. 14, i Infosenterskranken i inngangsetasjen
Litt om numerisk integrasjon og derivasjon og løsningsforslag til noen ekstraoppgaver MAT-INF 1100 uke 48 (22/11-26/11)
Litt om numerisk integrasjon og derivasjon og løsningsforslag til noen ekstraoppgaver MAT-INF 1100 uke 48 (22/11-26/11) Knut Mørken 22. november 2004 Vi har tidligere i kurset sett litt på numerisk derivasjon
INF1020 Algoritmer og datastrukturer
Dagens plan Hashing Hashtabeller Hash-funksjoner Kollisjonshåndtering Åpen hashing (kap. 5.3) Lukket hashing (kap. 5.4) Rehashing (kap. 5.5) Sortering ut fra en hashing-ide (side 66-68) Bøttesortering
DAFE ELFE Matematikk 1000 HIOA Obligatorisk innlevering 2 Innleveringsfrist Mandag 2. mars 2015 før forelesningen 10:30 Antall oppgaver: 17
Innlevering DAFE ELFE Matematikk 000 HIOA Obligatorisk innlevering 2 Innleveringsfrist Mandag 2. mars 205 før forelesningen 0:0 Antall oppgaver: 7 Deriver de følgende funksjonene. 2 a) f(x) = cos(2x )
INF100/INF100-F - INNLEVERING 2 HØSTEN 2005
INF100/INF100-F - INNLEVERING 2 HØSTEN 2005 Krav til innlevering For at innleveringen skal godkjennes må følgende leveres: Oversikt Et dokument som inneholder en oversikt over innleveringen. Den skal inneholde
Kapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
