Kort introduktion till POV-Ray, del 1

Relevanta dokument
Kort introduktion till POV-Ray, del 3

Kort introduktion till POV-Ray, del 5

Kort introduktion till POV-Ray, del 6

blå blomma öga sko kylskåp blomma bil kuvert ljus blus flagga boll bälte kök hus jacka Vit / Vitt Svart / Svart Röd / Rött Grön / Grönt

Optik. Läran om ljuset

Vad skall vi gå igenom under denna period?

Färglära. Ljus är en blandning av färger som tillsammans upplevs som vitt. Färg är reflektion av ljus. I ett mörkt rum inga färger.

Kort introduktion till POV-Ray, del 7

Vågfysik. Geometrisk optik. Knight Kap 23. Ljus. Newton (~1660): ljus är partiklar ( corpuscles ) ljus (skugga) vs. vattenvågor (diffraktion)

OPTIK läran om ljuset

* Bygg en solcellsdriven färgsnurra

Geometrisk optik. Laboration

Robotarm och algebra

Färglära. Grundläggande kunskaper om färg och färgblandning

FÄRG. Färg. SPD Exempel FÄRG. Stavar och Tappar. Ögats receptorer. Sasan Gooran (HT 2003) En blåaktig färg

Geometrimattan Uppdrag 2. Geometrimattan Uppdrag 1. Geometrimattan Uppdrag 4. Geometrimattan Uppdrag Aima din Sphero. 1. Aima din Sphero.

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Färgtyper. Färg. Skriva ut. Använda färg. Pappershantering. Underhåll. Felsökning. Administration. Index

INTRESSEVÄCKANDE UNDERVISNING I MATEMATIK. Izet Omanovic, förstelärare i matematik Söderkullaskolan i Malmö

DIGITAL FÄRGRASTRERING

Programmering. Den första datorn hette ENIAC.

DIGITAL FÄRGRASTRERING FÄRG. SPD Exempel. Sasan Gooran (HT 2003) En blåaktig färg

FÄRGLÄRA Portfolieuppgift i bild

Tynker gratisapp på AppStore

Koordinatsystem och Navigation

Scratch Junior. När appen startas.

Ljuskällor. För att vi ska kunna se något måste det finnas en ljuskälla

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

Programmera i teknik - kreativa projekt med Arduino

FÄRG DIGITAL FÄRGRASTRERING FÄRG. Ögats receptorer. SPD Exempel. Stavar och Tappar. Sasan Gooran (HT 2003) En blåaktig färg

Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik Rune Körnefors rune.kornefors@lnu.se

Föreläsning 3: Radiometri och fotometri

Lösningarna inlämnas renskrivna vid laborationens början till handledaren

Parabeln och vad man kan ha den till

Specifikation av kandidatexjobb

Geometrisk optik. Laboration FAFF25/FAFA60 Fotonik 2017

Här hittar du ett exempel på ritprogrammet:

Hur gör man. Kika försiktigt in genom hålen i luckorna. Vilken färg är det på insidan av lådan? Så fungerar det

Grafiska pipelinen. Edvin Fischer

Instuderingsfrågor extra allt

Parabeln och vad man kan ha den till

Förmåga att bygga, skapa och konstruera med hjälp av olika tekniker, material och redskap - Naturvetenskap och teknik, Äldre

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

bilder för användning

DUGGA Tentaupplägg

Om ellipsen och hyperbelns optiska egenskaper

Roboten. Sida 1 av 11

Fokus. Mirjam HY, Hovåsskolan F- 9, Hovås

Extramaterial till Matematik Y

Digitalisera analoga bilder

LJUSET Handledning inklusive praktiska lärarhandledningar

mattetankar Reflektion kring de olika svaren

EV3 Roboten. Sida 1 av 13

Övning 9 Tenta

Fotografera mera! Carita Holmberg

Namn: Hundradelar. 4 tiondelar 0, 4 17 tiondelar 1, tiondelar 298 hundradelar. Hundradelar. 98 hundradelar 875 hundradelar

Aktivitetsbank. Matematikundervisning med digitala verktyg II, åk 1-3. Maria Johansson, Ulrica Dahlberg

Version 1 Mosaikplattor

Bilaga 8. PM om regelverket för hindermarkering av vindkraftverk

IT-körkort för språklärare. Modul 9: Rätta skrivuppgifter

Laboration i datateknik

Laboration i Geometrisk Optik

Utvecklar sin förmåga att urskilja teknik i vardagen och utforska hur enkel teknik fungerar - Naturvetenskap och teknik, Förskola

Tentamen Relativitetsteori , 22/8 2015

GRAFISK MANUAL 1.0 FÖR SYSTEMTEXTS PRODUKTVARUMÄRKEN JANUARI 2011

Bildredigering i EPiServer & Gimp

GRAFISK PROFILMANUAL GRAFISK PROFILMANUAL

För att hitta filmen: klicka dig sedan vidare på training, videos, Algodoo- science education for a new generation(5:46)

EN TJUV UTANFÖR DÖRREN Lärarmaterial

DIGITAL FÄRGRASTRERING

Vektorgeometri för gymnasister

Förkortning och förlängning av rationella uttryck (s. 29 Origo 3b)

Programmera från. bonushack. Måns Jonasson. Illustrationer: Jennifer Nystedt

1 Den Speciella Relativitetsteorin

Ungdomsledarträffar våren Västergötlands OF. Rydboholm 31/3, Tibro 7/4, Främmestad 9/4

VRay för Max Camilla Ravenna / André Ravenna Alto Punto 2012 Alto Punto Askims Stationsväg Askim

Kan utforskande av ljus och färg vara en del av språkarbetet på förskolan?

Matematik CD för TB. x + 2y 6 = 0. Figur 1:

Kamerans sensor. I kameran sitter bildsensorn som består av en rektangulär platta med miljontals små ljuskänsliga halvledare av CCD eller CMOS typ.

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

Prata matte! Syfte. Lärarhandledning. Åk 6-9, Gy. Apelsinexemplet. Multiplikation och oregelbundna verbformer

TAPPAT MOTIVATIONEN. Fotoklubben AROS hösten Lundkvist/Nilsson

Vektorgeometri för gymnasister

Barnfilmskolan presenterar

Kontroll av digitalt körkort

Vi har väl alla stått på en matta på golvet och sedan hastigt försökt förflytta

TDIU Regler

Exempel på användning av arv: Geometriska figurer

y = x x = Bestäm ekvationen för en linje där k = 2 och som går genom punkten ( 1, 3). 2/0/0

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

Programmeringsuppgift Game of Life

En snabbkurs i orientering

Så skapas färgbilder i datorn

Jobba med läsförståelse i skolan ett tipsmaterial

Språkrunda. För dig som vill träna svenska på Moderna Museet Malmö

SÄTT DIG NER, 1. KOLLA PLANERINGEN 2. TITTA I DITT SKRIVHÄFTE.

Lathund - TimeEdit Introduktion

Transkript:

Kort introduktion till POV-Ray, del 1 Kjell Y Svensson, 2004-02-02,2007-03-13 Denna serie av artiklar ger en grundläggande introduktion och förhoppningsvis en förståelse för hur man skapar realistiska datorberäknade scener med hjälp ray-tracing. Raytracingprogram skapar en bild genom att beräkna hur ljus reflekteras från ett objekt i en scen till betraktraren, med hänsyn till eventuell reflektion och multipla ljuskällor. Jag kommer att använda mig av POV-Ray för beskriva principen. POV-Ray är ett program (gratis ) som kan framställa bilder som kan bli mycket verklighetstrogna om man arbetar med scenerna tillräckligt mycket, och förstår de grundläggande mekanismerna. POV-Ray är en förkortning av Persistence of Vision Ray tracing och är äkta freeware som kan laddas ner från http://www.povray.org. Du bör installera programmet innan du fortsätter läsa, så du kan prova och experimentera med scenerna som beskrivs tills du verkligen förstår hur det fungerar. Denna första artikel introducerar grunderna samt ger lite tips om hur man kan modellera för att kunna hantera lite mer komplicerade scener som vi kommer att komma till senare. Scenbeskrivning En scen har tre element som alla måste finnas för att man ska kunna kalla det en scen, minst ett objekt, en ljuskälla samt en kamera som kan se och fotografera scenen. Vår första scen blir ett ensamt rött klot. Figur 1. Minimal scen med ett rött klot Med scen-beskrivningsspråket som POV-Ray använder sig av så beskrivs denna scen av följande text: // Minimal scen med rött klot camera { location <0,0,-5> look_at <0,0,0> }

light_source { <0,10,-10>, color red 1 green 1 blue 1 } sphere { <0,0,0>, 1 pigment { color red 1 green 0 blue 0 } } Scen 1. Minimal scen med rött klot Texten består av fyra delar, först kommer en kommentar som beskriver vad scenen innehåller, sedan en kamera som befinner sig på positionen location <0,0,-5> och tittar på look_at <0,0,0>. Nästa del är en ljuskälla light_source som befinner sig på positionen <0,0,-10> och har färgen red 1, blue 1 och green 1. Slutligen så finns ett klot sphere på positionen <0,0,0> med radien 1 och med pigment color red 1, blue 0 och green 0. Verkar det fullständigt obegripligt? Jag förstår dig, raderna förutsätter rätt mycket kunskap om hemska saker som koordinat-system, programmerings-språk, RGB-färger och geometriska former, men misströsta inte. Det är inte alls så svår som det verkar om man bara tar en sak i taget. Tips 1. Lägg alltid in kameran, ljuset och objekten på samma ställe så vet du var i texten du ska leta. Kommentarer Kommentarer kommer från programmerings-språk och är något som Pov-Ray helt ignorerar när den läser en scenbeskrivning. En kommentar börjar alltid med två // på en rad och gäller till raden tar slut. Exempel på en kommentar: // Detta är en kommentar // Detta är ytterligare en kommentar, behövs det fler kommentarer? Tips 2. Lägg alltid in en beskrivning för den scen du beskriver, och gärna också på alla de ljus och objekt du har i beskrivningen. Det gör det mycket lättare att återanvända eller förändra scenen senare. Du glömmer fortare än du tror, tro mig, har jag glömt något?. Koordinatsystem Koordinat-system är lite besvärligare att både förstå och att förklara. Ett sätt att förklara det är med tre stavar, en som vi kallar X som ligger ner och går mellan höger och vänster, en som står rakt som vi kallar Y, och en som vi kallar Z som ligger så att den går från oss och bort. Hängde du med? Okey, jag gör en bild där x-staven är röd, y-staven grön och z-staven blå. Matematiker kallar dessa stavar för axlar, så det gör jag också från och med nu. (Vi vill väl alla verka intellekta )

Figur 2. Koordinatsystem för Pov-Ray Om vi sedan kallar platsen där den röda, gröna och blå staven korsas för origo och mäter alla avstånd från denna punkt så kan vi ange var ett föremål befinner sig med hjälp av tre siffror. Origo kan skrivas som x=0, y=0, z=0, men då x,y och z alltid kommer i samma ordning så detta till <0,0,0>. Om vi ökar x så blir koordinaten mer till höger, om vi ökar y blir koordinaten mer uppåt och om ökar z blir koordinaten mer in i bilden. Kanske inte så svårt, men ett par bilder gör det kanske lite enklare. Jag använder samma klot som i första exemplet, men färgar det efter de axlar som det klättrar på. Figure 3. Ett klot i origo <0,0,0> Ett annat klot nu med koordinaterna <0,0,20> dvs. 20 enheter bort från oss i z-riktningen.

Figure 4. Klot med koordinaten <0,0,5> Och slutligen ett klot med koordinaterna <0,20,0>, dvs 20 enheter upp i y-riktningen. Figur 5. Klot med koordinaten <0,20,0> Antag nu att vi fotograferar scenen från ytterligare en kamera som finns utanför scenen. Vad kommer vi då att se. Kameran är en blå box och vår lampa ett gult klot, och vårt klot är fortfarande ett rött klot. Jo, detta:

Figur 5-1. Fotograferad scen med kamera på position <10,10,-20> Jag har lagt in axlarna för X,Y,Z så det ska vara enklare att se var objekten är. Tips 3. Skapa alla objekt i origo, dvs. i koordinaterna <0,0,0>. Det gör det mycket lättare att senare återanvända det du gör. RGB-färger RGB-färger låter lite som KGB, men är inte alls något att vara rädd för. RGB står helt enkelt för färgerna Rött, Grönt och Blått. Dessa är grundfärger används vid additativ färgblandning, dvs. då man lägger till färger, precis som om man hade tre ficklampor en röd, en grön och en blå. Om man lyser på en punkt med alla ficklamporna blir den helt vit. Det är så som en färg- TV fungerar. Om du tittar riktigt nära på en färg-tv ser du hur bilden byggs upp av ett mönster av små punkter i färgerna, rött, grönt och blått. Texten i vår första scen beskriver färgen som color och sedan hur mycket rött, grönt och blått vi vill ha. För att färgerna ska se naturliga ut måste vi belysa dem med vitt ljus och det får vi om alla färger finns med. Därför blir definierar vi en lampa med color red 1 green 1 blue 1 vilket ger en vit lampa. Hur stark en färg är bestäms av värdet efter red, green och blue och detta värde kan vara från 0 till 1 och uttrycks därimellan som decimaltal 0.1, 0.2, 0.3 och så vidare. För att man inte ska slita ut fingertopparna kan man uttrycka färger lite mer kortfattat genom att bara skriva rgb och värdet på de tre färgerna inom hakar på samma sätt som vi skrev

koordinater. Vårt röda klot blir då rgb <1,0,0>. Vill vi ha ett helt grönt klot skriver vi rgb <0,1,0> och ett blått blir då <0,0,1>. Naturligtvis har naturen sällan rent röda, gröna, eller blå klot utan där finns även gula klot och ett sådant får man om man blandar rött och grönt genom att skriva rgb <1,1,0>. (Trodde du inte?) Figur 6. Vår första scen med gult klot Tips 4. Om du tycker att det är besvärligt att ange rgb-värde finns det ett antal färdiga färger att använda. Mer om detta senare. Det enda som jag inte berört hitills är ordet pigment, men det betyder just bara färg och anger att man anger vilken färg objektet har. Bakgrund Hitills har vi sett vår första scen med svart bakgrund, medan de övriga bilderna har haft vit bakgrund. Detta beror på att vi i vår scen inte angett vilken bakgrund den ska ha. Detta gör man med uttrycket background {rgb <1,1,1> }. Lägger man till detta till vår första scen-beskrivning blir bilden denna. Figur 7. Vår scen med vit bakgrund. Och med de förkortningar vi har lärt oss hittills så ser källkoden ut så här nu.

// Minimal scen med gul sfär background { rgb <1,1,1> } camera { location <0,0,-5> look_at <0,0,0> } light_source { <0,10,-10>, rgb <1,1,1> } sphere { <0,0,0>, 1 pigment { rgb <1,1,0> } } Scen 2. Minimal scen med gult klot och vit bakgrund I nästa avsnitt, del 2, tar jag upp hur man placerar det röda klotet på en yta, flyttar klotet, och förstorar klotet. Jag berättar också om fler geometriska former, såsom kuber, cylindrar, och hyper-ellipsoider, samt inte minst hur man roterar dessa, för det är ju inte speciellt roligt att rotera ett klot för det märks ju inte.