Photon Mapping. Thomas G. Kristensen og Jonas Larsen 1. juni 2006

Størrelse: px
Starte visningen fra side:

Download "Photon Mapping. Thomas G. Kristensen og Jonas Larsen 1. juni 2006"

Transkript

1 Photon Mapping Thomas G Kristensen og Jonas Larsen 1 juni

2 1 TEORI 1 Teori Ved at bruge fysikkens love for hvordan lys opfører sig i forhold til forskellige materialer og overflader, kan man opstille modeller der gør det muligt at lave nogle meget virkelighedstro simuleringer Disse metoder kaldes ofte for Global Illumination algoritmer En af de mest brugte er Ray Tracing som beregner stien som en lysstråle bevæger sig igennem scenen med Undervejs beregnes farven af lyset, brydning i transparente materialer, refleksioner osv Klassisk ray tracing er en meget langsomlig affære der kræver beregninger af mange hundrede stier for hver pixel 1 Hvis man desuden ønsker en høj opløsning, tager det meget let timer eller dage at rendere et billede Hovedårsagen til at man bliver nødt til at bruge så mange samples er at brydning af lys bliver grumset ved færre samples Photon Mapping, som vi har kigget på i dette projekt, er en algoritme der bygger ovenpå ray tracings metoder, men nedsætte renderingstiden markant Vores projekt af lavet på grundlag af Realistic Image Synthesis Using Photon Mapping af Henrik Wann Jensen Den første del af denne rapport vil kort præsentere teorien fra bogen, mens anden del vil beskrive vores implementation af teorien, samt resultater FiXme: Illustration af en sti igennem en scene FiXme: Henvis til Realistic RayTracing 11 HWJs model Henrik Wann Jensen tager udgangspunkt i en forholdsvis simpel model for, hvilken farver der sendes fra et punkt mod en beskuer i et givet punkt I denne model har man, at givet et punkt på en overflade og en retning mod beskuren er den imødekommende bestråling er den direkte udstråling fra overfladen som lyskilde, og er i sig selv ikke så interessant er den reflekterede udstråling, og den vil vi kort beskrive I Henriks model gælder det, at den reflekterede udstråling fra kan beskrives som et integral over al den indkommende bestråling i en omegn af punktet Denne term skal dog skaleres med vinklen mellem den indkommende vektor og overfladens normal, og endelig skal den skaleres med overfladens BRDF (bidirectional reflectance distribution function) der kan afhænge af punktet, den udgående vektor samt den indkomne vektor I alt har han at! #" ( * % + %, ' %, ( * % + ( % + * Det er her modellen bliver interessant Ideen er, at splitte $ og op i flere termer, og herefter evaluerer dem individuelt Nogle af disse termer egner sig netop til approksimation ved hjælp af path tracing, der er den klassiske teknik i ray tracing, mens andre egner sig bedst til at blive evalueret ved hjælp af photon mapping, som vi har undersøgt i denne opgave Kort fortalt, kan splittes op i &% &% )% hvor )% er den direkte belysning fra lyskilderne, )% er brændpunkter, dvs lys fra lyskilderne der er reflekteret på eller transporteret igennem noget spekulært &% er indirekt illumination, dvs lys fra lyskilder der er blevet reflekteret diffust mindst én gang inden det rammer overfladen kan splittes op i en diffus del og en spekulær del Disse to opdelinger giver anledning til fire led i integralet: &%, den direkte illumination & )% )%, spekulær og diffus reflektion )%, brændpunkter )%, multipel diffus reflektion 1 Kaldes samples 2

3 12 Fotoner 1 TEORI Hvert af disse led kan så renderes på forskellig vis For eksempel vil man oftest evaluerer den spekulærer og diffuse reflektion ved hjælp af klassisk path tracing, da det ville kræve et overordentligt stort antal fotoner at evaluerer det vha photon mapping Det er da også derfor vi bruger path tracing til at evaluerer denne term i vores program Brændpunkter og multipel diffus reflektion er tilgengæld punkter hvor man altid vil bruge photon maps, da path tracing ville være alt for dyrt Det har vi da også valgt at gøre i vores model Den sidste term, den direkte illumination, er mere et gråzoneområde Vi eksperimenterede en del med at bruge pathtracing, men det var meget svært at balancere op i mod de andre termer, når det kom til at manipulerer lysstyrken og lyskildernes størrelse Vi endte derfor med at bruge et photon map til at udregne det direkte lys påvirkning på overflader 12 Fotoner Vi vil ikke komme ind på hvordan man foretager klassisk ray tracing, men blot nævne at det tager uhyggelig lang tid, for selv simple scener, når man bruger path tracing Vi vil i stedet kigge lidt på, hvad fotoner er for nogle størrelser, og på hvordan man bruger dem til at estimere farve i et punkt 121 Ideen bag fotoner I klassisk ray tracing følger man en sti fra beskuren, igennem scenen, og frem til en lyskilde En mere intuitiv måde ville være, at sende en masse lys ud fra lyskilden, og så kigge på de forskellige områder, for at se hvor meget lys der ligger forskellige steder i scenen Dette lys man sender ud, kan man passende pakke i fotoner, der er små energipakker I photon mapping kigger man i en omegn af de punkter man gerne vil rendere efter fotoner Man kan summere energien fra disse fotoner, og dividere dem med arealet af det område de er fundet inden for, for at opnå et estimat for $ Man kan læse mere om dette i [HWJ] Det første man gør er, at sende en masse fotoner ud i scenen Alt efter hvilke fotoner det er, reflekteres de af overfladerne, og efterlader en foton på diffuse overflader Man bruger Russian Roulette til at bestemme om man skal reflektere eller absorbere 122 De to opslagsmetoder Når man så har fået spredt sine fotoner i scenen, er det på tide at kigge efter dem igen, når man tegner sit billede I [HWJ] beskrives to opslagsmetoder Den første går ud på, at man altid leder efter de nærmeste fotoner i en omegn af sit søgepunkt Dette skulle give det bedste estimat af, hvor meget lys der er i området Denne fremgangsmåde kan dog være langsom, og en alternativ fremgangsmåde er, at tage alle de fotoner der ligger inden for en given radius af punktet Dette kan gøres meget hurtigt med et KDtræ, som vi da også har implementeret i vores opgave Ulempen ved denne fremgangsmåde er, at man tit har brug for at justerer radius, når man varierer antallet af fotoner i scenen Her kan man med den første fremgangsmåde beholde det samme antal, og frit variere antallet af fotoner i scenen Vi har forsøgt begge fremgangsmåder, og det viste sig at det er langt hurtigere bare at tage alt inden for en vis radius, i hvert fald med vores datastruktur Vi har sammenlignet de billeder vi fik ud af de to fremgangmåder, og når man når ca fotoner, er det meget svært at se forskel på resultatet af renderingerne En anden måde at kontrollerer de to fremgangsmåder op mod hinanden på kunne være, at kigge på hvor mange fotoner man får ind med sin radius, op imod hvor mange man gerne vil have ind Hvis standardafvigelsen er lav, ville man kunne konkludere, at der ikke er den store forskel imellem de to fremgangsmåder FiXme Note: Hvis vi lige mangler noget at lave: 3

4 12 Fotoner 1 TEORI 123 Forskellige maps Som tidligere nævnt kan det indgående lys deles op i tre dele Disse tre dele giver ligeledes anledning til tre forskellige slags fotoner i photon maps Man kan vælge at have alle sine fotoner i det samme map, eller man kan vælge at gemme dem i to eller flere forskellige maps Grunden til at man kan være interesseret i dette er, at man typisk ikke er interesseret i at have mange fotoner til at renderer det direkte lys på overfladerne På samme måde har man ikke brug for ufatteligt mange fotoner til at simulerer det indirekte lys der rammer overflader og giver dem en baggrundsbelysning Man har dog brug for flere end til det direkte lys Og endelig har man brug for en stor mængde fotoner for at lave fornuftige brændpunktsrenderinger, da disse ofte er meget små, og med meget skarpe kanter Vi har i vores program eksperimenteret frem og tilbage med maps, men det er et af de punkter hvor vi ville ønske vi havde haft længere tid til at arbejde med programmet Vi har dog en idé, der går ud på, at man har ét map til alle fotoner, som man søger ned efter alle fotoner i en vis radius i Man kigger herefter på hvor mange fotoner man får tilbage, og hvis dette antal overskrider en given grænse, er vi sandsynligvis i nærheden af et brændpunkt I det tilfælde sænkes radius, og man forsøger igen, for at se om man ikke kan finde et bedre estimat, med en skarpere kant Dette har vi desværre ikke implementeret, grundet tidsnød, men vi ville meget gerne have eksperimenteret med det 4

5 2 IMPLEMENTATION 2 Implementation Vi har valgt at implementere photon mapping i Java Vi ved at den eksekverbare kode er langsommere, men da vi ønsker at bruge så meget tid som mulig på at foretage eksperimenter, og så lidt tid sm muligt på at debugge, har vi valgt at holde os til dette sprog 21 KDtræer Ved vores fremgangsmåde bruges der en forholdsvis stor del af tiden på, givet et punkt, at finde de fotoner der ligger i nærheden Vi vil derfor i det følgende præsentere en datastruktur, der tillader hurtige opslag, efter punkter i rummet Desuden skal den kunne håndtere millioner af fotoner 211 Et basalt KDtræ Inden vi fortsætter diskussionen, minder vi på, at vi er interesserede i at finde alle fotoner der ligger inden for en radius fra et punkt i rummet En simpel lagringsstruktur man kunne vælge til denne type opslag kunne være en liste, hvori man gemmer alle fotonerne For at finde de fotoner der ligger inden for af er det nu nok at løbe listen igennem, og for hver foton gemme det hvis det ligger inden for Dette tager 0 tid for hvert punkt, hvor er antallet af fotoner Hvis vi i scenen lagrer fotoner og foretaget ét opslag for hver pixel i et 800 x 600 pixels billede bliver det hurtigt til en hel del! Figur 1: Et simpelt KDtræ over et plan Vi har derfor brug for en accelererende datastruktur til at lagre vores fotoner Strukturen skal give os mulighed for at finde punkter der ligger inden for en given radius af et andet punkt Vi har derfor valgt at lave et KDtræ, som der også bliver lagt op til i [HWJ] Et KDtræ er en træstruktur hvori man kan lagre punkter I vores lagrer vi fotoner, dvs et punkt med en tilhørende overflade og en farve der repræsenterer energien Alle bladene svarer således til en foton Alle indre knuder svarer til et splitplan i rummet For hver indre knude gælder det, at alle fotoner i det venstre undertræ svarer til fotonerne på den ene side af planet, og alle fotonerne i det højre undertræ svarer til fotonerne på den anden side For at finde de ønskede fotoner starter vi fra roden af træet med et punkt og en radius For hver indre knude (inklusiv roden) vurderer vi hvilken side vi skal gå til for at finde de fotoner vi leder efter Hvis der kan være fotoner på begge sider af splitplanet går vi ned i begge undertræer, og konkatinerer listerne For hvert blad kontrollerer vi om fotonet lagret i bladet ligger højst fra Hvis det er tilfældet returneres det, hvis ikke returneres intet Denne algoritme er sammenfattet i nedenstående pseudokode FiXme Note: Korrekt reference 5

6 B 2 H F F F F 21 KDtræer 2 IMPLEMENTATION Algorithm 21: FINDPHOTONS( 879":; input 879":; $< output < Fotonerne med afstand højest fra, i undertræet 879": if er indre knude if BCED 879";: 4 GF 7 A 7 BIHJ return CK 879":L else return >M else 8OP:IQ if 8OP: 879": =)?RA =&N 8: DSTB Q 879";: 4 = : A FINDPHOTONS if D 8OP: HJ Q 879": 4 FINDPHOTONS else Q?YX A 879";: 4 FINDPHOTONS if 8OU: HJ Q 879": 4 = : FINDPHOTONS return )?>X A A Figur 2: Pseudokode til at finde fotoner inden for en radius fra et punkt Træet opbygges ved hele tiden at definerer splitplanet på den længste led af kasse udspændt af de fotoner der er Splitplanet defineres som det miderste punkt på den længste &= side af kasse Det giver en forventet højde F på 0 7 XW Z Vi kunne garanterer denne højde ved at bruge medianen i stedet, men gennemsnittet har vist sig at virke fint Man skal dog være opmærksom på, at brændpunkter samler mange fotoner i små områder, hvilket godt kan give lokalt høje træer For at foretage en søgning bruger vi derfor højst 0 tid på at finde den første knude hvor [ de søgte fotoner kan ligge på begge sider af splitplanet Herefter bruger vi højst 0 tid på at finde de fotoner der ligger inden for en radius på fra, hvor [ er antallet af fotoner der ligger i det undertræ der ligger under førnævnte punkt I alt giver det en [ maksimal forventet søgetid på 0 FG\ 212 Ukorrekte fotoner Fremgangsmåden beskrevet ovenfor er ganske korrekt, men da vi begyndte at bruge vores træ, bemærkede vi, at der hvor vægge mødtes, blev der meget lyst Grunden til dette er, at man når man finder de fotoner der ligger inden for en radius kommer til at hente fotoner både fra den væg punktet ligger på, men også den væg der støder op dertil Det giver et alt for højt bidrag Vi har derfor skrevet om på søgningen i træet Således skal der for et foton nu også gælde, at det er lagret på den overflade ligger på Resultatet var, at billederne blev langt mere naturto, men fornuftige hjørner 6

7 21 KDtræer 2 IMPLEMENTATION Et andet problem er, at man kun er interesseret i at kigge på fotoner på den ene side af overfladen Man er selvfølgelig ikke interesseret i at tage fotoner med, der ligger på den anden side af en overflade Dette problem har vi ignoreret, og i vores program antager man, at man altid kun ser den overflade hvor normalen står ud fra 213 Lokal lagring Med frasorteringen af de ukorrekte fotoner som beskrevet ovenfor, har vi åbnet muligheden for en simpel optimering Givet et punkt på en overflade 7 er det kun nødvendigt at gennemsøge et træ kun indeholdende fotoner på 7 Man kan derfor lave et træ for hver overflade, i stedet for at have et fælles søgetræ 2^ Dette har vi derfor implementeret, og det skar faktisk ] fra på vores tidsmålinger, uden at ændre på kvaliteten af billederne Vi lagrer derfor et træ for hver overflade, som vi kan gennemsøge for at finde fotoner Givet en overflade kan et sådant træ hentes frem i konstant tid, og da hvert træ nødvendigvis må være blevet lavere, er det kun naturligt at man får en hastighedsforøgelse 214 Et optimeret træ Efter at have foretaget en analyse af vores program kom vi frem til hvad vi allerede forventede Langt det meste af tiden blev brugt på at gennemsøge vores KDtræer efter fotoner Vi fandt derfor på endnu en optimering Hidtil havde vi samlet en liste af fotoner frem som vi kunne returnerer til kalderen Disse værdier bliver dog blot summeret I stedet for at samle listerne sammen kan man derfor blot summerer energierne sammen mens man søger I stedet for at bruge en liste af variabel længde kan man da bruge konstant plads på tre farveværdier Denne fremgangsmåde skar vores renderingstider ned med ca _ 2^, så det kunne sagtens betale sig Denne optimering gav os blod på tanden til endnu en forbedring Der findes tilfælde hvor det ikke kan betale sig at gennemsøge hele undertræer Hvis man for hver indre knude gemmer en bounding box for undertræet, har man mulighed for at vurderer om alle fotoner i undertræet skal tælles med, blot ved at kigge på den maksimale afstand der kan forekomme i førnævnte undertræ Vi lagrer derfor summen af al energien af undertræerne i hver indre knude Alle undertræer der er helt inden for søgeradius kan aflæses i konstant tid Det der nu koster, er at få 2;^ gennemsøgt randen af den cirkel der udspændes af og, men vi vandt alligevel ` på denne forbedring! Figur 3: De markerede områder bliver ikke gennemsøgt, men deres sum hentes i roden af det undertræ, de ligger i 7

8 3 EKSPERIMENTER 3 Eksperimenter 31 Forskellige parametrer Efter at have fået programmeret et virkende system kommer man til noget der er næsten lige så svært, nemlig tweaking af parametrer Man kan varierer over lyskildernes styrke, sandsynligheden for at en overflade reflekterer en foton, antal fotoner man gemmer i fotonmappet, den søgeradius man skal bruge på overfladen for at finde fotoner, antal samples pr pixel osv Vi har i dette eksperiment lavet en scene med én lyskilde, fire samples pr pixels og ab;^ chance for at reflektere fotoner Vi har herefter varieret antallet af fotoner der lagres i scenen, samt den søgeradius inden for hvilken der søges efter fotoner Antallet af fotoner varierer mellem 1c262d4 2262, b6262d og Vores radius varierer mellem 10, 25 og 50 Resultatet kan ses på de vedlagte billeder figur 1 til 9 For bedre at illustrere hvordan de to førnævnte parameterer spiller ind i renderingen, har vi lavet to animationer Disse kan findes på FiXme Note: Vedhæft dem! FiXme Note: Indsæt url, lav lige siden I den første har vi spredt fotoner i scenen, og vi lader radius løbe fra 1 til 50 Hvis man afspiller videoen, vil man se at kvaliteten forbedres, men at man mister en del af skyggen bag kuglen Samtidig vil man opdage, at hjørnerne hvor væggene mødes bliver mørkere Dette skyldes, at vi ikke længere får fat i lige så høj en mængde fotoner som midt på vægen, da der ikke sidder fotoner under gulvet I den anden animation holder vi os fast på en radius på 25 Vi lader i stedet antallet af fotoner fordobles for hvert skridt Således går vi fra 5000 fotoner til 10000, 20000, op til Her vil man bemærke, at man på de første renderinger direkte kan se hvor fotonerne er lagret Herefter bliver fordelingen finere og finere, indtil man ikke kan se noget tydeligt tegn på, at billedet er renderet med fotoner 32 Symetrisk scene Vi følte på et tidspunkt at vores lyskilde opførte sig mærkeligt Vi besluttede os derfor for at kalibrerer den Vi har derfor lavet en helt hvid scene, med en lyskilde i midten, og med kameraret centreret i scenen På de første billeder viste det sig, at der blev spredt flest fotoner til venstre side af billedet Dette fik vi rettet, og man ser nu at scenen er fuldstændig symetrisk 33 Rendering af skygge Det var vigtigt for os, at verificerer at skyggerne blev pæne og bløde som vi forventede Vi opstillede derfor en scene med en bold i midten, der kunne kaste en ensartet skygge mod kameraet Denne scene er den samme som vi har brugt i første eksperiment, Forskellige parametrer, og man kan studere billederne derfra, for at verificerere, at vi har en pæn skygge 34 Indirekte lys Når man laver photon mapping vil man forvente, at fotoner der først rammer en væg, og sidenhen et andet objekt, vil være med til at farve dette objekt Foreksempel vil man forvente, at en hvid bold på et rødt tæppe vil have en rød glød på undersiden For at verificere dette har vi opsat et eksperiment I vores scene er loftet og gulvet, samt for og bagvægen hvide Venstre væg er grøn, og højre væg er rød I rummet placerer vi to svævende, hvide kugler 8

9 35 Mange brændpunkter 3 EKSPERIMENTER Man vil da forvente at kuglerne vil tage farve af begge vægge på den ene hhv den anden side Det kan da også verificeres hvis man studerer billedet markeret indirekte Man kan ydermer bemærke at gulvene ligeledes er blevet farvet 35 Mange brændpunkter Hvis vores model er implementeret korrekt, bør der i et rum med stærkt lys og en glaskugle være optil flere brændpunkter Der vil være et brændpunkt skabt af det direkte lys samles igennem glaskuglen og absorberes på den anden side, og der vil være brændpunkter for alle væggenes reflektioner igennem galskuglen For at afprøve om dette er tilfældet, har vi opstillet en scene i et lukket rum med forskellige farver på væggene, en glaskugle ca midt i rummet og et lys i loftet Bagvæggen har vi gjort gul, og venstre sidevæg har vi gjort blå Resten af væggene er holdt i en hvid farve Hvis man studerer det vedlagte foto Brændpunkter vil man da også se, at der er tre tydelige brændpunkter FiXme Note: Marker billedet FiXme Note: Inkluder og marker 36 Brændpunkter i en cylinder Et af de fænomener der kan være vanskelige at rendere, er de brændpunkter der opstår på indersiden af en reflekterende cylinder Problemet er, at man er interesseret i at kigge efter forholdsvis mange fotoner i en meget lille radius, for at kunne rendere de meget skarpe kanter der er inden i en sådan cylinder Det letteste ville være, at have et decideret map til at have disse caustic photons i Ideen er, kun at lagre de fotoner der har ramt en spejloverflade, og intet andet Problemet med denne fremgangsmåde er, at energien der befinder sig i disse fotoner skal trækkes fra den energi der ellers lagres i scenen Det kan let blive et svært regnestykke at få til at gå op Vi har dog foretaget eksperimenter, for at få brændpunkterne til at fremstå mere klart Vores fremgangsmåde er som følger Når vi sender fotoner ud i scenen, registrerer vi, om de kommer fra en spekulær overflade Hvis dette er tilfældet, lagrer vi dem ikke, men tæller i stedet en tæller op Når de ønskede fotoner er spredt, kigger vi på hvor mange vi ikke lagrede, idet de var brædnpunktsfotoner Vi tager den energi de mangler at afsætte i scenen, og fordeler den på tusind gange så mange fotoner Disse fotoner spredes så i scenen, men lagres kun hvis de repræsenterer brændpunkter Hvis de ikke bliver brændpunkter, sendes et andet foton i stedet, til alle er spredt Det vil sige, at vi nu har to slags fotoner i scenen, der bliver lagret i hver deres map Når vi skal generere billedet, slår vi nu op i det ene map, for at finde al lys der ikke repræsentere brændpunkter Herefter slår vi op i det map der indeholder lyset fra brændpunkter Ved det sidste opslag bruger vi en langt mindre radius, da vi er interesserede i langt finere detaljer For at teste vores fremgangsmåde, har vi lavet en scene der indeholder en reflekterende cylinder Denne har vi renderet både med og uden vores teknik Som det kan ses, er der en stor forskel i resultatet Billedet renderet med vores ekstra photon map har en langt mere markant optegning af brændpunktet, man ellers kun ville have kunnet opnå, ved at smide en langt større mængde fotoner i scenen Vores eksempel har en lille fejl Når man kigger på gulvet efter fotoner til at estimerer lyset i området, kommer man også til at kigge på den anden side af tøndebåndet Dette ødelægger dog ikke effekten i vores billede, da lyset er placeret bag ved kameraet 9

10 4 FREMTIDIGT ARBEJDE 4 Fremtidigt arbejde I et projekt som det vi har lavet, falder man over mange ting der kunne være interessante at implementere, men som man desværre ikke har tid til Vi har derfor samlet en liste over ting vi gerne ville have nået at lave og eksperimentere med Mere komplicerede figurer Vi har ikke brugt tid på at implementerer mange forskellige figurer, selvom vi godt kunne have brugt nogle flere, til at teste nogle af vores effekter For eksempel ville det have været rart med en bølgende overflade, vi så kunne bruge til at teste om vores fotoner brød overfladen og dannede mønstre som man ser det under vand Havde vi fået implementeret meshes kunne vi ligeledes forsøge os med brydningen i forskellige former for glas Implementationen af meshes ville dog have krævet, at vi havde brugt en accelererende datastruktur til at lave intersection tests i vores scene Det var meget svært at afbalancerer sampling af direkte lys på overflader med vores photon map Derfor valgte vi at lave næsten al belysning ved hjælp af photon maps, og kun det spekulære med path tracing Her kunne det have været interessant at have haft begge dele, så vi kunne få billeder af samme eller bedre kvalitet, med færre fotoner Langt det meste af vores arbejde foregår med at lave opslag i vores photon map Derfor kunne det være interessant at optimerer netop denne datastruktur Man kunne eventuelt overveje at implementerer den i et hurtigere sprog, eller forsøge at gøre den så kompakt som mulig En anden forbedring ville være altid at dele på medianen, da dette ville give os et træ &= der altid var afbalanceret, og ikke bare have en forventet højde på 0 7 XW Z Vi kunne også lagre fotonerne i de indre knuder, og på den måde spare halvdelen af vores pladsforbrug, ved at lagre de færre blade En anden måde at spare plads til træerne på er, at lagre vores træer i double arrays i stedet for at bruge plads på at lagre objekt information for hver knude De materialer vi benytter os af er forholdvis simple Man kunne have fået langt flere spændende effekter, ved at bruge dielectric overflade, i stedet for vores perfekte kugler Også texturen på vores overflade er en smule kedelig Havde vi implementeret Perlin Noise kunne vi have fået mere naturtro billeder med realistiske effekter Dette har vi dog prioriteret forholdsvis lavt, da vi gerne vil have billeder der var lette at analysere Vores glaskugler har alle det samme brydningsindeks 1 ], hvor det kunne være mere interessant at varierer dette, så man foreksempel kunne have et glas med vand i scenen Dette har vi dog heller ikke haft tid til, selvom det udden tvivl ville have givet nogle fantastiske effekter når det kommer til brændpunkter I vores scene antager vi, at alle objekter kun har en yderside, og at man aldrig er interesseret i at kigge på den anden side af objekter Dette kunne vi også have brugt tid på at implementere, men da det ikke har betydning for vores eksperimenter, valgte vi at lade det ligge Der er mange ting fra bogen Realistic RayTracing af Peter Shirley vi ikke har implementeret For eksempel har vi ikke gjort så meget ud af kameraet som vi kunne Vi har heller ikke implementeret flere spændende overflader, eller brugt filtering, som ellers ville forbedre vores billeder 10

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

Rediger lyskilde. Lyskilde type og styrke

Rediger lyskilde. Lyskilde type og styrke DK 23.11.2012 God Rendering Indhold 1. Lyskilde type og styrke 2. Materiale indstilling 3. Baggrunds billede 4. Kamera vinkel / afstand 5. Renderings resultat NB. Photon Render (KDMax V5 og InteriCad T5)

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

DM507 Algoritmer og datastrukturer

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

Læs mere

Algoritmisk geometri

Algoritmisk geometri Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden

Læs mere

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer: Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden

Læs mere

Sortering af information er en fundamental og central opgave.

Sortering af information er en fundamental og central opgave. Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,

Læs mere

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Prioritetskøer og hobe. Philip Bille

Prioritetskøer og hobe. Philip Bille Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af

Læs mere

Indledning. Hvad er formålet med at lave en god rendering?

Indledning. Hvad er formålet med at lave en god rendering? DK 12.10.2012 Indledning Hvad er formålet med at lave en god rendering? Indledning Er der nogen retningslinjer eller tips som vi kan følge, for at forbedre renderings kvaliteten? Indledning Retningslinjer

Læs mere

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

Læs mere

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

Læs mere

Kvartetafstand Chris Christiansen

Kvartetafstand Chris Christiansen Kvartetafstand Chris Christiansen 1 af 58 Oversigt Kvartetafstanden. Skitsering af algoritmer. Implementering og tool. Eksperimenter. Visualisering. 2 af 58 Afstand mellem træer 3 af 58 Træer Rodet Urodet

Læs mere

Synlighed. Trin for trin - til læreren

Synlighed. Trin for trin - til læreren Trin for trin - til læreren Klassetrin: 4.-5. klasse Tid: 2 lektioner pr. test Fag: Matematik, Natur/Teknologi og Trafik Forberedelse: Du skal have adgang til smartboard/projektor samt have PÅ MED PANG-kassen

Læs mere

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i

Læs mere

DM507 Algoritmer og datastrukturer

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

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

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

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Størrelsen på printede billeder

Størrelsen på printede billeder Størrelsen på printede billeder Udskriftsstørrelse i forhold til antal pixels og dpi 72 dpi 100 dpi 200 dpi 300 dpi 600 dpi 9 13 cm 255 369 354 512 709 1024 1063 1535 2126 3071 10 15 cm 284 425 394 591

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening

Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening M iljøpr ojekt nr. 449 1999 Statistisk 3-D ber egning af sandsynligheden for at finde en jordforurening Lektor, cand.scient., lic.tech. Helle Holst IMM, Institut for Matematisk Modellering DTU, Danmarks

Læs mere

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. 22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327

Læs mere

REFLEKTION eller GLANS standarder

REFLEKTION eller GLANS standarder Flensbjerg 8 Fax: + 3943 7768 DK-49 Holeby, Lolland Phone : + 3943 7767 export@dansksolenergi.dk VAT id.: DK288323 REFLEKTION eller GLANS standarder Der findes ikke en let måde, at matematisk beregne eller

Læs mere

Forsøg til Lys. Fysik 10.a. Glamsdalens Idrætsefterskole

Forsøg til Lys. Fysik 10.a. Glamsdalens Idrætsefterskole Fysik 10.a Glamsdalens Idrætsefterskole Henrik Gabs 22-11-2013 1 1. Sammensætning af farver... 3 2. Beregning af Rødt laserlys's bølgelængde... 4 3. Beregning af Grønt laserlys's bølgelængde... 5 4. Måling

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

Projektopgave Observationer af stjerneskælv

Projektopgave Observationer af stjerneskælv Projektopgave Observationer af stjerneskælv Af: Mathias Brønd Christensen (20073504), Kristian Jerslev (20072494), Kristian Mads Egeris Nielsen (20072868) Indhold Formål...3 Teori...3 Hvorfor opstår der

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

Raytracing. doktor@dyregod.dk Ulf Holm Nielsen tnjr@ruc.dk Thomas Riisbjerg mads@danquah.dk Mads Danquah hartlev@ruc.dk Morten Hartlev Poulsen

Raytracing. doktor@dyregod.dk Ulf Holm Nielsen tnjr@ruc.dk Thomas Riisbjerg mads@danquah.dk Mads Danquah hartlev@ruc.dk Morten Hartlev Poulsen Raytracing doktor@dyregod.dk Ulf Holm Nielsen tnjr@ruc.dk Thomas Riisbjerg mads@danquah.dk Mads Danquah hartlev@ruc.dk Morten Hartlev Poulsen Vejleder: keld@ruc.dk Keld Helsgaun 30. maj 2002 Roskilde Universitetscenter

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.

Læs mere

Lav dine egne hjemmesider/websider

Lav dine egne hjemmesider/websider Sider, der skal publiceres på World Wide Web, laves i et særligt format, html, som fortæller browseren, hvordan den skal vise tekst og billeder. Html (Hypertext markup language) er meget fleksibelt og

Læs mere

Michael Jokil 11-05-2012

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

Læs mere

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige

Læs mere

Symmetrisk Traveling Salesman Problemet

Symmetrisk Traveling Salesman Problemet Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,

Læs mere

Fang Prikkerne. Introduktion. Scratch

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

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

Matematikprojekt Belysning

Matematikprojekt Belysning Matematikprojekt Belysning 2z HTX Vibenhus Vejledning til eleven Du skal nu i gang med matematikprojektet Belysning. Dokumentationen Din dokumentation skal indeholde forklaringer mm, således at din tankegang

Læs mere

Sammenhængskomponenter i grafer

Sammenhængskomponenter i grafer Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv

Læs mere

Normalfordelingen og Stikprøvefordelinger

Normalfordelingen og Stikprøvefordelinger Normalfordelingen og Stikprøvefordelinger Normalfordelingen Standard Normal Fordelingen Sandsynligheder for Normalfordelingen Transformation af Normalfordelte Stok.Var. Stikprøver og Stikprøvefordelinger

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n Eksamen. kvarter 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) Ja Nej n er O(n )? n er O(n )? n er O(n + 0 n)? n + n er O(n )? n log n er Ω(n )? Opgave (%) Opskriv følgende funktioner

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012 Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Martin Geisler. Uge 49, 2001

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

Læs mere

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor

Læs mere

Mikro-kursus i statistik 1. del. 24-11-2002 Mikrokursus i biostatistik 1

Mikro-kursus i statistik 1. del. 24-11-2002 Mikrokursus i biostatistik 1 Mikro-kursus i statistik 1. del 24-11-2002 Mikrokursus i biostatistik 1 Hvad er statistik? Det systematiske studium af tilfældighedernes spil!dyrkes af biostatistikere Anvendes som redskab til vurdering

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.

Læs mere

Mattip om. Statistik 2. Tilhørende kopier: Statistik 3, 4 og 5. Du skal lære om: Faglig læsning. Chance og risiko. Sandsynlighed

Mattip om. Statistik 2. Tilhørende kopier: Statistik 3, 4 og 5. Du skal lære om: Faglig læsning. Chance og risiko. Sandsynlighed Mattip om Statistik Du skal lære om: Faglig læsning Kan ikke Kan næsten Kan Chance og risiko Sandsynlighed Observationer, hyppighed og frekvens Gennemsnit Tilhørende kopier: Statistik, og mattip.dk Statistik

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

Læs mere

Brydningsindeks af vand

Brydningsindeks af vand Brydningsindeks af vand Øvelsesvejledning til brug i Nanoteket Udarbejdet i Nanoteket, Institut for Fysik, DTU Rettelser sendes til Ole.Trinhammer@fysik.dtu.dk 15. marts 2012 Indhold 1 Indledning 2 2 Formål

Læs mere

Afstande, skæringer og vinkler i rummet

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

Læs mere

dpersp Uge 40 - Øvelser Internetalgoritmer

dpersp Uge 40 - Øvelser Internetalgoritmer Øvelse 1 dpersp Uge 40 - Øvelser Internetalgoritmer (Øvelserne 4 og 6 er afleveringsopgaver) a) Hver gruppe får en terning af instruktoren. Udfør 100 skridt af nedenstående RandomWalk på grafen, som også

Læs mere

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal?

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Det er ret let at svare på: arealet af en trekant, husker vi fra vor kære folkeskole, findes ved at gange

Læs mere

18 Multivejstræer og B-træer.

18 Multivejstræer og B-træer. 18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.

Læs mere

Omsorgscentret Fælledgården

Omsorgscentret Fælledgården På 1. sal på Fælledgården, trænger der til en kærlig hånd. Der er ikke blevet gjort meget de sidste 30 år, for der er ikke penge til de gamle. Både personale og beboere virker meget glade for at være der.

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET INSTITUT FOR DTOI, RUS UNIVERSITET Science and Technology ESEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00

Læs mere

Den måde, maleren bygger sit billede op på, kaldes billedets komposition.

Den måde, maleren bygger sit billede op på, kaldes billedets komposition. Komposition - om at bygge et billede op Hvis du har prøvet at bygge et korthus, ved du, hvor vigtigt det er, at hvert kort bliver anbragt helt præcist i forhold til de andre. Ellers braser det hele sammen.

Læs mere

Unity Guide 1 CONTENTS

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

Læs mere

Julehjerter med motiver

Julehjerter med motiver Julehjerter med motiver Torben Mogensen 18. december 2012 Resumé Jeg har i mange år moret mig med at lave julehjerter med motiver, og er blevet spurgt om, hvordan man gør. Så det vil jeg forsøge at forklare

Læs mere

Kapitel 3: Lys og skygge 1

Kapitel 3: Lys og skygge 1 Kapitel 3: Lys og skygge 1 3 Lys og skygge Egetlys, defineret/specifik lyskilde, reflekteret lys/ambient light, reflekslys I den "virkelige verden" er vi omgivet af lys af flere arter: Der er lyskilderne,

Læs mere

Afstande, skæringer og vinkler i rummet

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

Læs mere

Mørk energi Anja C. Andersen, Dark Cosmology Centre, Niels Bohr Institutet, Københavns Universitet

Mørk energi Anja C. Andersen, Dark Cosmology Centre, Niels Bohr Institutet, Københavns Universitet Mørk energi Anja C. Andersen, Dark Cosmology Centre, Niels Bohr Institutet, Københavns Universitet En af de mest opsigtsvækkende opdagelser inden for astronomien er, at Universet udvider sig. Det var den

Læs mere

En harmonisk bølge tilbagekastes i modfase fra en fast afslutning.

En harmonisk bølge tilbagekastes i modfase fra en fast afslutning. Page 1 of 5 Kapitel 3: Resonans Øvelse: En spiralfjeder holdes udspændt. Sendes en bugt på fjeder hen langs spiral-fjederen (blå linie på figur 3.1), så vil den når den rammer hånden som holder fjederen,

Læs mere

GRAFIK & BILLEDBEHANDLING

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

Læs mere

Studieretningsprojekter i machine learning

Studieretningsprojekter i machine learning i machine learning 1 Introduktion Machine learning (ml) er et område indenfor kunstig intelligens, der beskæftiger sig med at konstruere programmer, der kan kan lære fra data. Tanken er at give en computer

Læs mere

Simulering af stokastiske fænomener med Excel

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

Læs mere

BM121 Resume af tirsdags forlæsningen, Uge 47

BM121 Resume af tirsdags forlæsningen, Uge 47 BM121 Resume af tirsdags forlæsningen, Uge 47 Morten Källberg (kallberg@imada.sdu.dk) 22/11-2005 1 Probabilistiske modeller Vi vil i det følgende betragte to forskellige måder at evaluerer en given model

Læs mere

Billedbehandling i praksis

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

Læs mere

Henrik Pedersen 3. HTX Jonas Johansen 16/01/2015. Visuel Identitet Ditlev Hellesøe

Henrik Pedersen 3. HTX Jonas Johansen 16/01/2015. Visuel Identitet Ditlev Hellesøe Visuel Identitet Ditlev Hellesøe 1 Indholdsfortegnelse Problemanalyse... 3 K Strategi... 3 Idéudvikling... 4 Medieproduktion... 5 Test... 6 Offentliggørelse... 6 Konklusion... 6 2 Problemanalyse Ditlev

Læs mere

Arbejdet på kuglens massemidtpunkt, langs x-aksen, er lig med den resulterende kraft gange strækningen:

Arbejdet på kuglens massemidtpunkt, langs x-aksen, er lig med den resulterende kraft gange strækningen: Forsøgsopstilling: En kugle ligger mellem to skinner, og ruller ned af den. Vi måler ved hjælp af sensorer kuglens hastighed og tid ved forskellige afstand på rampen. Vi måler kuglens radius (R), radius

Læs mere

Projekt - Visual Basic for Applications N på stribe

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

Læs mere

π er irrationel Frank Nasser 10. december 2011

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

Læs mere

Variable. 1 a a + 2 3 a 5 2a 3a + 6 a + 5 3a a 2 a 2 a 2 5 7 15 5 21 5 25 0 2 0 6 9 0 9 4 0 1 3 3 3 9 3 1 0 0 2 0 5 6 5 0 0 2,5 1,5 4 7,5 4 0

Variable. 1 a a + 2 3 a 5 2a 3a + 6 a + 5 3a a 2 a 2 a 2 5 7 15 5 21 5 25 0 2 0 6 9 0 9 4 0 1 3 3 3 9 3 1 0 0 2 0 5 6 5 0 0 2,5 1,5 4 7,5 4 0 Variable 1 a a + 2 3 a 5 2a 3a + 6 a + 5 3a a 2 a 2 a 2 5 7 15 5 21 5 25 0 2 0 6 9 0 9 4 0 1 3 3 3 9 3 1 0 0 2 0 5 6 5 0 0 2,5 1,5 4 7,5 4 0 2 a x = 5 b x = 1 c x = 1 d y = 1 e z = 0 f Ingen løsning. 3

Læs mere

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

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

Læs mere

kom i gang med apophysis 2.0.2 listemageren

kom i gang med apophysis 2.0.2 listemageren kom i gang med apophysis 2.0.2 listemageren LISTEMAGEREN 2006 0. indledende: apophysis er et open source program der kan benyttes til at generere såkaldte flamme-fraktaler på disse sider findes yderligere

Læs mere

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er

Læs mere

Opsætning af filer til tryk

Opsætning af filer til tryk Opsætning af filer til tryk Indholdsfortegnelse Indholdsfiler 2 Marginer 2 Antal sider 2 Sidetal 3 Publikationens indhold 3 Skæringskant 3 Omslagsgrafik (cover) 4 Før du går i gang 4 Opsætning 4 Indbindingstype

Læs mere

Materiale 1. Materiale 2. FIberIntro

Materiale 1. Materiale 2. FIberIntro 1 Materiale 1 Materiale 1 FIberIntro Fiberintro Hvad er et fibersignal? I bund og grund konverterer vi et elektrisk signal til et lyssignal for at transmittere det over lange afstande. Der er flere parametre,

Læs mere

Indhold Problemstilling... 2 Solceller... 2 Lysets brydning... 3 Forsøg... 3 Påvirker vandet solcellernes ydelse?... 3 Gør det en forskel, hvor meget

Indhold Problemstilling... 2 Solceller... 2 Lysets brydning... 3 Forsøg... 3 Påvirker vandet solcellernes ydelse?... 3 Gør det en forskel, hvor meget SOLCELLER I VAND Indhold Problemstilling... 2 Solceller... 2 Lysets brydning... 3 Forsøg... 3 Påvirker vandet solcellernes ydelse?... 3 Gør det en forskel, hvor meget vand, der er mellem lyset og solcellen?...

Læs mere

Selv om websites er yderst forskellige i deres fremtræden, så kan de stort set alle sammen passes ind i den skabelon som er illustreret herunder:

Selv om websites er yderst forskellige i deres fremtræden, så kan de stort set alle sammen passes ind i den skabelon som er illustreret herunder: Design en praktisk guide. Et design udtrykker dit websites grafiske udseende, lige fra hvilke skrifttyper der anvendes op til hvor navigationen er placeret og hvilke interaktive elementer der skal benyttes.

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet DTU. Kursus 02511. Forside + 25 sider. 30. Maj 2011. 1 Danmarks Tekniske Universitet Skriftlig prøve, den 30. maj 2011 Kursus navn: Indledende Medicinsk Billedanalyse Kursusnr: 02511 Varighed: 4 timer

Læs mere

Regnetest B: Praktisk regning. Træn og Test. Niveau: 9. klasse. Med brug af lommeregner

Regnetest B: Praktisk regning. Træn og Test. Niveau: 9. klasse. Med brug af lommeregner Regnetest B: Praktisk regning Træn og Test Niveau: 9. klasse Med brug af lommeregner 1 INFA-Matematik: Informatik i matematikundervisningen Et delprojekt under INFA: Informatik i skolens fag Et forskningsprogram

Læs mere

Sortering i lineær tid

Sortering i lineær tid Sortering i lineær tid Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel. Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel.

Læs mere

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

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

Læs mere

FARVEPRINT. Dansk Orienterings-Forbund. Værd at vide... FARVEPRINT, OFFSETTRYK - og banepåtryk SILKEBORG NORDSKOV. WOC 2006 model event relay

FARVEPRINT. Dansk Orienterings-Forbund. Værd at vide... FARVEPRINT, OFFSETTRYK - og banepåtryk SILKEBORG NORDSKOV. WOC 2006 model event relay Værd at vide... FARVEPRINT FARVEPRINT, OFFSETTRYK - og banepåtryk SILKEBORG NORDSKOV Scale 1:10.000 Contour interval 5 metres WOC 2006 model event relay WOC mapping team: Coordinator: Flemming Nørgaard

Læs mere

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Planfejning 1 Skæring 2 Geometrisk skæring Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Løsningsmetoder: Rå kraft Planfejning (eng. plane sweep)

Læs mere