Raytracing. Codeboekje. Didier Collard Simon Koolstra

Maat: px
Weergave met pagina beginnen:

Download "Raytracing. Codeboekje. Didier Collard Simon Koolstra"

Transcriptie

1 Raytracing Codeboekje Didier Collard Simon Koolstra

2

3 Stedelijk Gymnasium Johan van Oldenbarnevelt Profielwerkstuk Raytracing Door: Didier Collard Simon Koolstra Begeleider: Drs. R.M. Boers December 2009

4 Inhoudsopgave Voorwoord 3 Inleiding 4 1 Basis wiskunde Vectoren Matrices Verzamelingenleer Eenheidsobjecten Orthonormale basissen Alternatieve coördinatensystemen Steradiaal Kleuren in de raytracer Bronnen en code Objecten en rays Objecten Rays En de raytracer? Bronnen en code Rayintersectie Intersectie met impliciete oppervlakken Intersectie met begrensde vlakken En de raytracer? Bronnen en code Camera en perspectief Perspectief Camera En de raytracer? Bronnen en code Sampling Aliasing Sampling Gebruik van de samples En de raytracer? Bronnen en code

5 INHOUDSOPGAVE 2 6 Licht Rendervergelijking Lichtbronnen Shading Renderen En de raytracer? Bronnen en code Transformatie Verschillende transformaties Transformaties in 2D Transformaties in 3D Rayintersectie met getransformeerde objecten En de raytracer? Bronnen en code Geavanceerde Objecten en Intersecties Cilinders Polygon Meshes En de raytracer? Bronnen en code Textuur Het proces Texturen op verschillende objecten Objecten met textuur op andere plekken in de wereld En de raytracer? Bronnen en code Spiegelreflectie Het principe Het model En de raytacer? Bronnen en code Breking Het principe Het model En de raytracer? Bronnen en code Conclusie Samenvatting Wat had nog meer gekund? Onze raytracer Werking Gebruik Bibliografie 88

6 Voorwoord Sinds het begin van ons vijfde schooljaar op het Johan van Oldenbarneveltgymnasium zijn we bezig geweest met het oriënteren op een vervolgopleiding. Al gauw bleek dat wij beiden interesse hebben in zowel wiskunde als informatica. Geen onlogische keuze dus om voor een profielwerkstuk een onderwerp te zoeken dat met deze beide onderwerpen te maken heeft. Al snel hadden we zo n onderwerp gevonden. We werden getipt over een masterclass van de Technische Universiteit Eindhoven over het onderwerp raytracing. Dit onderwerp bleek uitdagend en interessant en naar aanleiding van deze masterclass zijn we de weg vrij gaan maken voor het profielwerkstuk. Raytracing, zoals u waarschijnlijk niet zult weten, is een techniek voor het genereren van 2D beelden op een computer. De computer leest een beschrijving van een 3D wereld en zet dit door middel van uitgestuurde stralen, de zogenaamde rays, om in een, meestal erg realistisch, 2D plaatje. Dit klinkt op dit moment misschien nog allemaal erg abstract en onduidelijk, maar gaandeweg zullen we u uitleggen hoe dit nu precies werkt en hoe men een computer zover kan krijgen om dit uit te voeren. Als u het op dit moment nog niet hebt opgegeven, wensen we u veel plezier met het lezen van ons profielwerkstuk. Met vriendelijke groeten, Didier Collard & Simon Koolstra 3

7 Inleiding Al jaren is men in de moderne computerwetenschappen op zoek naar manieren om plaatjes met de computer zo realistisch mogelijk te maken. De filmindustrie, met al haar films vol special effects en onbestaande wezens, en de game-industrie, bijvoorbeeld, hebben veel baat bij de (redelijk) recent populair geworden methode van het raytracen. Door jarenlang onderzoek en steeds betere raytracing programma s, zien we raytracing opkomen als de belangrijkste methode om plaatjes te renderen. 1 Zoals gezegd is raytracing een manier om erg realistische plaatjes in 2D te maken. Het maken van tweedimensionale plaatjes is belangrijk omdat een scherm alleen afbeeldingen in tweedimensies kan laten zien. Een scherm heeft namelijk alleen een breedte en een hoogte! Raytracing is dan ook ontwikkeld uit de vraag hoe je zo goed en realistich mogelijk een driedimensionale scène naar een tweedimensionale afbeelding kunt omzetten. In ons profielwerkstuk zullen we de basis van het raytracen uitleggen. Het belangrijkste principe van raytracing is dat het gebaseerd is op wat er in de echte wereld gebeurt. Het werkt met een model van de werkelijkheid, maar dan nét iets anders. In het echt zien wij dingen, doordat er licht door deze objecten wordt weerkaatst. Dit licht bereikt ons netvlies en onze hersenen kunnen van deze impulsen een beeld maken: het beeld dat wij zien. Om een erg realistisch plaatje te renderen, zouden we dit kunnen nabootsen. We zouden vanuit elke lichtbron in een scène in alle richtingen lichtstralen kunnen sturen en vervolgens kijken welke lichtstralen ons oog bereiken en hiermee een plaatje renderen. We zouden de stralen volgen, oftewel: we would trace the rays. Dit zou echter een hels karwei zijn. Om namelijk vanuit één lichtbron al in álle richtingen stralen af te sturen zijn oneindig veel stralen nodig. Om dit te benaderen zouden we dus al duizenden, misschien wel miljoenen stralen nodig hebben. En dat is nog maar voor één punt, op één lichtbron. Daarbij bereikt meer dan 99% van deze stralen ons oog helemaal niet! Het zou Figuur 1: Het principe van raytracing [2] dus een gekkenwerk zijn om deze stralen toch allemaal te bekijken en zelfs met meerdere computers zou het tijden duren om een plaatje te renderen. In raytracing wordt het dus anders aangepakt. Bij het raytracen doen we precies het omgekeerde van wat er in de natuur gebeurt. In plaats van dat we gaan kijken waar alle lichtstralen van elke lichtbron terechtkomen, gaan we vanuit het oog kijken welke lichtstralen het oog bereiken. In plaats van het uitsturen van lichtstralen vanaf elke lichtbron, sturen we zogenaamde rays uit vanuit het oog en kijken we wat er met deze rays in de scène gebeurt. We volgen dus de stralen die we vanuit het oog uitsturen: we trace the rays! Deze stralen gaan dus precies in de tegenovergestelde richting van de lichtstralen in het echt. We bekijken vervolgens of een ray vanuit het oog een object raakt. Is dit het geval dan kunnen we op het punt waar de straal het object raakt weer kijken hoeveel licht er op dit punt valt, of er weerkaatsing optreedt en meer van dat soort aspecten. Vervolgens 1 Met renderen bedoelen we het genereren van plaatjes door de computer. 4

8 INHOUDSOPGAVE 5 zullen we van al deze aspecten berekenen hoeveel effect ze hebben op de kleur van een bepaald punt en hiermee kunnen we voor elke pixel uiteindelijk een kleur berekenen. Doordat we zo dicht mogelijk bij de werkelijkheid blijven, zullen we uiteindelijk met al deze kleuren een erg realistisch plaatje kunnen bouwen. In figuur 1 zien we het principe van raytracing. Vanuit het oog sturen we rays uit, we zien er hier één afgebeeld. Deze ray raakt de groene bol. Vanaf het raakpunt met de groene bol worden weer rays uitgeschoten om te kijken of het punt licht ontvangt van lichtbronnen, of via reflectie van andere objecten. Het proces van het afschieten van rays en kijken wat er met deze rays gebeurt, is een proces, dat zich steeds herhaalt. Hierdoor is raytracen een rekenintensief en langdurig proces. Vaak gebeurt dit dus ook nog niet real-time 2, omdat de hedendaagse computers dit nog niet snel genoeg kunnen doen. Ondanks dit alles zijn er tegenwoordig al veel projecten gaande om raytracing toch real-time te kunnen laten voltrekken. Hoe het proces van raytracing precies werkt zullen we gaandeweg steeds verder uitleggen, waarbij we dieper ingaan op onderwerpen als licht, reflectie, breking, het plaatsen en raytracen van objecten en aliasing. Om alvast een voorproefje te krijgen van wat een volgroeid raytracer voor plaatjes zou kunnen creëren, kunt u een blik werpen op figuur 2. Onze raytracer Aansluitend op dit werkstuk hebben we onze eigen raytracer gebouwd, waarin alle theorie die in dit werk beschreven staat, wordt toegepast. Meer informatie over onze raytracer en het gebruik daarvan is terug te vinden in het laatste hoofdstuk op bladzijde 81. Op kunt u de raytracer, de broncode en dit profielwerkstuk downloaden. Opmerking over figuren Tot slot hebben we nog een opmerking over de afbeeldingen die we in dit profielwerkstuk hebben gebruikt. Wij hebben bij elke afbeelding die we niet zelf hebben geproduceerd (dan wel met de raytracer, dan wel op andere wijze) een bronvermelding gegeven. Ieder figuur zonder verwijzing is dus een door onszelf gemaakte afbeelding. Figuur 2: Een plaatje gerenderd door een raytracer. [3] 2 Real-time betekent dat het plaatje pas gerenderd wordt als het nodig is. Real-time zien we vooral bij interactieve zaken, zoals computerspellen en dergelijke.

9 Hoofdstuk 1 Basis wiskunde Voor het begrijpen van het proces van raytracing is een zeker basisniveau op het gebied van wiskunde nodig. Omdat niet alles als bekend mag worden verondersteld, hebben we dit hoofdstuk ingericht om een aantal wiskundige onderwerpen die veel voorkomen uit te leggen en begrijpelijk te maken. Een aantal onderwerpen die we wél als bekend veronderstellen zijn: goniometrische functies (het werken met sinus, cosinus en tangens en al de bijbehorende rompslomp), integratie, differentiatie, basis meetkunde en werken in 3D ruimtes. De onderwerpen die wel aan de orde worden gesteld zijn: vectoren, matrices, eenheidsobjecten, een basis voor verzamelingenleer, orthonormale basissen en assenstelsels, alternatieve coördinatensystemen en de steradiaal. Tenslotte zullen we nog aangeven hoe kleuren gedefinieerd worden in onze raytracer. 1.1 Vectoren Wat zijn vectoren? Vectoren zijn grootheden die een lengte en een richting hebben. De richting van een vector wordt vaak aangegeven door de vector als een pijl te tekenen. De lengte van de pijl geeft hierin de grootte aan. Een vector in een 2D stelsel met (bijvoorbeeld) een x en een y-as wordt gedefinieerd door twee ( waarden: de x-waarde en de y-waarde. Dit wordt dan als x volgt genoteerd:. Een voorbeeld van zo n vector zie je in figuur 1.1. Deze y) vector begint in de oorsprong en heeft de kentallen (x, y). Deze eindigt dus in punt (x, y). Een vector hoeft niet altijd in de oorsprong te beginnen en eindigt dus lang niet altijd op zijn kentallen (x, y). Een vector wordt door ons weergegeven als een letter met een pijltje erboven, bijvoorbeeld: a. De lengte van een vector kunnen we berekenen met de stelling van Pythagoras: a = x 2 + y 2. a betekent: de lengte van vector a. In een 3D stelsel wordt een vector gedefinieerd door drie kentallen: de x-waarde, x de y-waarde en de z-waarde. Deze zien er als volgt uit: y. De lengte van zo n z vector kan worden berekend door de stelling van Pythagoras in 3D toe te passen. Dit gaat als volgt: a = x 2 + y 2 + z 2. Figuur 1.1: Een vector vanaf de oorsprong met richting x, y. 6

10 HOOFDSTUK 1. BASIS WISKUNDE Operaties met vectoren Vectoren kunnen gewoon bij elkaar worden opgeteld en van elkaar worden afgetrokken. Er ontstaan dan nieuwe vectoren. Hieronder staat hoe dat gaat: a + a x b x a x + b x b = a y + b y = a y + b y a z bz a z + b z a a x b x a x b x b = a y b y = a y b y a z bz a z b z Ook ontstaan er vectoren als punten van elkaar worden afgetrokken. Als we bijvoorbeeld het punt p hebben met coördinaten (p x, p y, p z ) en punt c met coördinaten (c x, c y, c z ) en we trekken c van p af, krijgen we de vector met een richting van c naar p: p x c x cp = p c = p y c y p z c z Verder kunnen vectoren niet door elkaar worden gedeeld. Wel kunnen vectoren met elkaar worden vermenigvuldigd. Dit kan op twee manieren: met het inwendig product (het inproduct) en met het uitwendig product (het uitproduct). Het inwendig product geeft één waarde, een getal. We geven het inproduct van twee vectoren als volgt aan: a b en we kunnen dit op twee manieren berekenen: a b = a b cos θ a b = a x b x + a y b y + a z b z Hierin is θ de hoek tussen de twee vectoren. Beide manieren komen op hetzelfde uit en het hangt van de situatie af welke wordt gebruikt. Het uitproduct geeft als uitkomst een vector die loodrecht op het vlak van de twee andere vectoren staat. Het uitproduct van twee vectoren geven we zo aan: a b en berekenen we op de volgende manier: a a y b z a z b y b = a z b x a x b z a x b y a y b x Ook kan een vector worden vermenigvuldigd met of gedeeld worden door een gewoon getal. We krijgen dan: va x v a = va y va z a x a v v = a y v Ook kunnen we een negatieve vector nemen. Hierin is - a dezelfde vector als a maar dan in tegengestelde richting Normaalvectoren Een normaalvector is een vector die loodrecht op iets staat. We kunnen bijvoorbeeld een normaalvector van een vlak, een bol of een lijn nemen. Normaalvectoren zijn uitermate belangrijk bij het raytracen. We zullen een normaalvector op twee manieren bepalen. Twee vectoren die loodrecht op elkaar staan (dus die elkaars normaalvectoren zijn) maken een hoek van 90 met elkaar. Hieruit volgt dat het inproduct van deze twee vectoren nul is, want de cosinus van een hoek van 90 graden is nul. Hieruit volgt de volgende vergelijking voor de normaal van a: n a = 0 a z v

11 HOOFDSTUK 1. BASIS WISKUNDE 8 Als we een normaalvector van een vlak willen hebben, kunnen we het uitproduct van twee vectoren binnen dit vlak gebruiken. Het uitproduct van a en b geeft immers een vector die loodrecht op beide vectoren staat. We krijgen dan dus: n = a b Vaak zal de normaalvector een eenheidsvector moeten zijn (een vector met lengte één, zie 1.4). Om van een vector een eenheidsvector te maken, moeten we de vector delen door zijn eigen lengte. 1.2 Matrices Wat zijn matrices? Matrices zijn verzamelingen van getallen. Een matrix bestaat uit een aantal rijen en een aantal kolommen waarin getallen worden gezet. Een voorbeeld van een matrix kan er zo uitzien: [ 1 3 ] Deze matrix heeft 2 rijen en 3 kolommen. Dit is dus een 2 3-matrix. Een vierkante matrix is een matrix met evenveel rijen als kolommen Operaties met matrices Matrices kunnen bij elkaar worden opgeteld of van elkaar worden afgetrokken als ze allebei dezelfde afmetingen hebben. Dit gaat dan als volgt: ( ) ( ) ( ) a b e f a + e b + f + = c d g h c + g d + h ( ) ( ) ( ) a b e f a e b f = c d g h c g d h Matrix A en matrix B kunnen met elkaar vermenigvuldigd worden, als A evenveel kolommen heeft als B rijen. Dit gaat dan als volgt: a b c x ax + by + cz d e f y = dx + ey + fz g h i z gx + hy + iz = = Let op: de uitkomst is hier een 3 1-matrix en A B is niet hetzelfde B A! En matrices kunnen niet door elkaar gedeeld worden. We kunnen een matrix transponeren door van de rijen van de matrix de kolommen te maken, en van de kolommen de rijen. Dit gaat als volgt: ( ) A = A T = B = B T =

12 HOOFDSTUK 1. BASIS WISKUNDE 9 Van vierkante matrices kan ook een inverse matrix genomen worden. Voor de inverse matrix van een matrix A geldt dat we een eenheidsmatrix krijgen als we de operatie A A 1 uitvoeren, maar dat we ook een eenheidsmatrix krijgen als we de operatie A 1 A uitvoeren. Een voorbeeld staat hieronder. Algemeen geldt dat we van een matrix een inverse matrix kunnen nemen als de determinant (zie de alinea hieronder) niet gelijk is aan nul A = A 1 = A A 1 = = A 1 A = = De laatste belangrijke operatie die met een matrix kan worden uitgevoerd, is het bepalen van de determinant. We kunnen determinanten alleen nemen van vierkante matrices. Het berekenen van een determinant kunnen we het best uitleggen met twee voorbeelden: één van een 2 2-matrix en één van een 3 3-matrix: ( ) a b A = c d Regel van Cramer det(a) = ad bc B = a b c d e f g h i det(b) = aei + bfg + cdh ceg bdi afh De regel van Cramer is een formule voor het oplossen van een stelsel van lineaire vergelijkingen (vergelijkingen waarin de onbekenden alleen maar eerstegraads zijn) waarbij er evenveel vergelijkingen als onbekenden zijn. In deze formule wordt gebruikt gemaakt van matrices. Volgens de regel van Cramer schrijven we eerst alle formules in matrixvorm. Hierbij staan de coëfficienten van de onbekenden in de coëfficientenmatrix, de onbekenden in een matrix (met dus maar één kolom), die met de coëfficientenmatrix vermenigvuldigd wordt en achter het =-teken staan de uitkomsten van de vergelijkingen ook in een matrix (met ook maar één kolom). Hierna kunnen we de onbekenden op de volgende manier berekenen: voor de n-de onbekende vervangen we in de coëfficientenmatrix de n-de kolom door de uitkomstenmatrix. Hierna delen we de determinant van deze nieuwe matrix door de determinant van de originele coëfficientenmatrix en het antwoord op deze operatie is de n-de onbekende. Zo kunnen we alle onbekenden bepalen. Dit klinkt waarschijnlijk nog een beetje vaag, daarom hebben we hier een voorbeeld van de regel van Cramer toegepast op een stelsel met twee vergelijkingen en twee onbekenden: De matrix voor x wordt dan: ( x + 12y = 45 2x + 5y = 23 ( x = y) ) ( ( ) En voor y krijgen we: 23 5 ) ( ) Hiermee krijgen we de volgende 2 23

13 HOOFDSTUK 1. BASIS WISKUNDE 10 oplossingen: x = = y = = 8 Met deze methode kunnen we relatief eenvoudig stelsels oplossen met een n aantal onbekenden en deze methode komt ook voor in het raytracen (zie 3.2.3). 1.3 Verzamelingenleer Met verzamelingenleer willen we in dit werk eigenlijk alleen maar dat de lezer het kan volgen als wij zaken als verzamelingen opschrijven. Daarom zullen we ons hier beperken tot een lijst met verklarende tekens, die, indien nodig, kan worden nagelezen als er verzamelingen worden gebruikt. Al de volgende tabellen komen uit een onuitgegeven hoofdstuk over verzamelingenleer geschreven door onze wiskundeleraar, meneer Boers. [4] {} geven aan dat hierbinnen een verzameling staat : betekent letterlijk waarvoor geldt betekent zit in betekent of betekent en [a, b] geven een interval aan van alle getallen van a tot en met b, waarbij a en b bij het interval horen (a, b) geven een interval aan van alle getallen tussen a en b, waarbij a en b niet bij het interval horen betekent oneindig betekent is rechtevenredig met Belangrijke verzamelingen om te onthouden zijn: de belangrijkste getallenverzamelingen N de natuurlijke getallen N = {0, 1, 2, 3, 4,...} Z de gehele getallen Z = {..., 2, 1, 0, 1, 2, 3,...} R de reële getallen, zoals π, 1 2 7, 2, 431, 5 log (3), et cetera. 1.4 Eenheidsobjecten Eenheidsobjecten zijn bijzondere vormen van objecten. Er zijn een aantal belangrijke eenheidsobjecten die veel worden gebruikt bij het raytracen, namelijk: Het eenheidsvierkant - een vierkant van afmetingen 1 1 De eenheidsvector - een vector met lengte 1 De eenheidscirkel - een cirkel met straal 1 De eenheidsbol - een bol met straal 1 De eenheidsmatrix - een vierkante matrix waarvan de waarden op de diagonaal van linksboven tot rechtsonder allemaal 1 zijn en de rest van de matrix waarde 0 heeft. 1.5 Orthonormale basissen Wat zijn orthonormale basissen? Een orthonormale basis is een stelsel gevormd door drie vectoren, waarvan elk loodrecht op het vlak gevormd door de andere twee staat, en die allemaal eenheidsvectoren zijn. Voor een orthonormale basis, gevormd door

14 HOOFDSTUK 1. BASIS WISKUNDE 11 a, b en c geldt dus: a = b c b = a c c = a b a = b = c = 1 Omdat het drie vectoren zijn, die niet parallel zijn en niet alledrie in hetzelfde vlak liggen, kan elke andere 3D vector uitgedrukt worden in een combinatie van deze drie vectoren. Orthonormale basissen worden vaak gebruikt in raytracing, omdat je met deze systemen op een willekeurige plek in de 3D-wereld een plaatselijk coördinatensysteem op kunnen zetten. Dit wordt bijvoorbeeld gebruikt voor camera s (zie hoofdstuk 4) Het opzetten van een orthonormale basis Het opzetten van een orthonormale basis uit twee vectoren die niet evenwijdig zijn werkt als volgt. Stel we hebben vector a en vector b en we willen een orthonormale basis opstellen met als vectoren w, u en v, dan gaan we als volgt te werk. Eerst maken we w door een eenheidsvector van a te maken. We delen dus a door zijn eigen lengte, zodat we een vector krijgen die dezelfde richting heeft als a maar een lengte heeft van één: w = a a Vervolgens kunnen we met het uitproduct u bepalen als een vector die loodrecht staat op het vlak dat gedefinieerd wordt door b en w. u = b w b w En tenslotte kunnen we de laatste vector voor de orthonormale basis berekenen met het uitproduct van w en u. Omdat w en u eenheidsvectoren zijn, is de uitkomst van het uitproduct automatisch ook een eenheidsvector. We hoeven deze dus niet meer te normaliseren Orthonormale assenstelsels v = w u Een orthonormale basis met een punt O waar de vectoren elkaar ontmoeten is een orthonormaal assenstelsel. Met een orthonormaal assenstelsel kan we een plaatselijk coördinatenstelsel worden opgesteld en dit is waar orthonormale basissen het meest voor worden gebruikt. Het opstellen van een orthonormaal assenstelsel gaat hetzelfde als het opstellen van een orthonormale basis, alleen is hier de oorsprong O bekend. Orthonormale assenstelsels kunnen we gebruiken om gemakkelijk nieuwe vectoren te bepalen vanuit het punt O van dit assenstelsel. In het nieuwe stelsel kunnen we dan makkelijk de richting van deze vector bepalen. Ook kunnen we deze vectoren makkelijk terugrekenen naar het echte (x, y, z)-assenstelsel. Dit zorgt meestal voor minder rekenwerk en daarom wordt deze methode meestal verkozen boven het direct berekenen van de richting van de nieuwe vectoren in het (x, y, z)-stelsel, zonder gebruik te maken van orthonormale assenstelsels. Stel we hebben een nieuwe vector d = we deze richting omrekenen naar het (x, y, z)-stelsel met de volgende formule: d u d v d w bepaald in het orthonormale (u, v, w)-stelsel, dan kunnen d = d u u + d v v + d w w (1.1) Omdat u, v en w in (x, y, z)-coördinaten zijn uitgedrukt, krijgt d de goede (x, y, z)-coördinaten als je de componenten van d vermenigvuldigt met respectievelijk u, v en w en die bij elkaar optelt. 1 het normaliseren van een vector betekent dat je van deze vector een eenheidsvector maakt

15 HOOFDSTUK 1. BASIS WISKUNDE Alternatieve coördinatensystemen Behalve het bekende (x, y, z) coördinatensysteem zijn er nog andere manieren om punten in een 3D-wereld aan te geven. Een tweetal van deze coördinatensystemen gebruiken wij naast het (x, y, z)-systeem ook bij het raytracen en deze zullen we hier behandelen Cylindrische coördinaten Het systeem van cylindrische coördinaten werkt met een afstand r, een hoek φ en de y-coördinaat. Een punt, beschreven met cylindrische coördinaten ziet er dus zo uit: p(r, φ, y). De r is de afstand van het punt tot de y-as, loodrecht gemeten op de y-as. De hoek φ is een hoek in het (x, z)-vlak en wordt gemeten door p te projecteren op het vlak en de hoek te meten die de lijn Op maakt met de positieve z-as. Tenslotte is y het bekende y-coördinaat uit het (x, y, z)-stelsel (zie figuur 1.2). We kunnen de cilindrische coördinaten als volgt omrekenen naar (x, y, z)- coördinaten: Bolcoördinaten x = r sin φ (1.2) y = y (1.3) z = r cos φ (1.4) Figuur 1.2: Cylindrische coördinaten [1] Bij bolcoördinaten wordt een punt gedefinieerd door de afstand r tussen het punt en de oorsprong van het stelsel, en door de twee hoeken θ en φ. φ is hierin dezelfde hoek als bij de cilindrische coördinaten. Het is dus de hoek die het geprojecteerde punt in het (x, z)-vlak maakt met de positieve z-as. θ is de hoek tussen de y-as en Op. Hierin is O de oorsprong van het stelsel en p het punt dat we willen aanduiden. θ wordt gemeten vanaf de y-as en in het vlak, gedefinieerd door de hoek tussen de vector Op en de y-as (zie figuur 1.3). We kunnen de bolcoördinaten als volgt omrekenen naar (x, y, z)-coördinaten: 1.7 Steradiaal x = r sin(φ) cos(θ) y = r sin(φ) sin(θ) (1.5) z = r cos φ De steradiaal is een eenheid voor de grootheid ruimtehoek. Waar een gewone radiaal een eendimensionale hoek is, die meestal gebruikt wordt in een tweedimensionale omgeving, is een steradiaal een tweedimensionale hoek, die gebruikt wordt in een driedimensionale omgeving (zie figuur 1.4 (links)). De radiaal kan worden berekend uit een booglengte (een ééndimensionale variabele) en de straal (ook een ééndimensionale variabele) op de volgende manier: Figuur 1.3: Bolcoördinaten [1] θ = l r De steradiaal vertoont eenzelfde verband met de tweedimensionale variant van de lengte: het oppervlak op een bol. Deze moet dan ook worden gedeeld door de straal van de bol in het kwadraat, omdat de straal een ééndimensionale variabele is, terwijl de steradiaal tweedimensionaal is. De steradiaal is dus als volgt te berekenen: Ω = A r 2 De omtrek van een cirkel met straal 1 is 2π. Zo is ook de radiaal van een volledige eenheidscirkel (hoek van 360 graden) 2π. Het oppervlak van een bol met straal 1 is 4π. Zo is ook de steradiaal van een volledige eenheidsbol 4π.

16 HOOFDSTUK 1. BASIS WISKUNDE 13 Figuur 1.4: Links: De ruimtehoek als rechthoekige vorm op een eenheidsbol. [5] Rechtsmidden: een ééndimensionale hoek in een tweedimensionaal stelsel: de radiaal. [6] Rechts: een tweedimensionale hoek in een driedimensionaal stelsel: de steradiaal. [6] Als we op een eenheidsbol een rechthoekige vorm nemen, kunnen we deze aangeven in steradialen. We kunnen deze echter ook nog op een andere manier aangeven, namelijk met bolcoördinaten. We hebben de hoek θ in het (x, y)-vlak, de hoek φ in het (x, z)-vlak en de straal r = 1. De lengte van de rechthoek zou in dit geval gelijk zijn aan de verandering in hoek θ ( θ) en, mits de rechthoek op de x-as ligt, zou de breedte gelijk zijn aan de verandering in hoek φ ( φ). Nemen we deze oneindig klein, dan krijgen we dθ en dφ. We mogen hier niet van het bijzondere geval uitgaan dat de rechthoek op de x-as ligt, dus zullen we het verband moeten vinden tussen dφ en de hoek onder welke de rechthoek ten opzichte van de x-as staat. Dit verband wordt gevormd door een factor sin θ. De breedte van de rechthoek wordt dus: sin θ dφ (zie figuur 1.4 (rechts)). De oppervlakte van de rechthoek kunnen we dus alsvolgt berekenen: A = lengte breedte = dθ sin θdφ = sin θdθdφ Maar deze oppervlakte is ook te berekenen met de verandering in steradiaal ω. Deze nemen we ook oneindig klein, waardoor we dω krijgen. We bepalen de oppervlakte dan op de volgende manier: A = dωr 2 = dω Hieruit kunnen we het verband tussen de bolcoördinaten θ en φ en de steradiaal ω afleiden: Dit zullen we nodig hebben bij het belichtingsmodel. dω = sin θdθdφ (1.6) 1.8 Kleuren in de raytracer Hoewel dit onderwerp eigenlijk vrijwel niets met wiskunde te maken heeft, hoort het wel bij de basis van de raytracer. Daarom hebben we toch besloten dit in hoofdstuk 1 in te voegen. Een kleur wordt in onze raytracer bepaald als een combinatie van de basiskleuren rood, groen en blauw. Een kleur moet gedefinieerd worden door een getal r, een getal g en een getal b, in die volgorde. rgb geeft de verhouding aan waarin rood, groen en blauw worden gemengd. Zo zorgt rgb = (1, 0, 0) voor rood, want rood wordt met niets gemengd. rgb = (1, 0, 1) zorgt voor een paarstint, want rood en blauw worden in gelijke verhouding gemengd. Voor r, g en b geldt verder nog het volgende: 0 r 1 0 g 1 0 b 1 Het getal één geeft namelijk een volledige hoeveelheid van die kleur aan en er kan nooit meer dan dat van één kleur worden toegevoegd aan het mengsel van kleuren. Op deze manieren zullen alle kleuren in de raytracer worden bepaald.

17 HOOFDSTUK 1. BASIS WISKUNDE Bronnen en code Bronnen Na elk hoofdstuk zullen we een lijst geven van nummers van bronnen die we gebruikt hebben voor het hoofdstuk. De lijst van bronnen is terug te vinden in onze bibliografie op pagina 88. De bronnen die we voor dit hoofdstuk gebruikt hebben zijn: [1], [5], [6], [4], [7], [8], [9], [10] en [11] Code Naast een verwijzing naar de bronnen, zullen we hier een verwijzing naar de broncode van de raytracer toevoegen. In de broncode waarnaar wordt verwezen, staan de onderwerpen die we in het hoofdstuk hebben behandeld geprogrammeerd. De code voor de vectoren en punten is terug te vinden in: point2d.h, point3d.h, vector3d.h 2. In rgbcolor.h staat de code voor de kleuren. Voor het rekenen met matrices hebben we de eigen library gebruikt, die te vinden is op 2 Bij de.h bestanden horen natuurlijk ook de.cpp bestanden

18 Hoofdstuk 2 Objecten en rays De twee belangrijkste elementen van het raytracen zijn de objecten en de rays. De objecten worden geraytracet en zorgen voor de scène die moet worden afgebeeld. De rays gebruiken we om de scène daadwerkelijk te raytracen. In dit hoofdstuk zullen we uitleggen hoe we een aantal objecten zo kunnen beschrijven dat we ze kunnen neerzetten in een wereld. Ook zullen we uitleggen wat rays zijn, en hoe we ze beschrijven. 2.1 Objecten Om te kunnen raytracen, moeten we eerst een 3D-wereld bouwen, waarmee de computer kan werken. Om objecten in deze wereld te kunnen plaatsen en te kunnen kijken of rays ze raken, moeten we deze wiskundig kunnen beschrijven. Er zijn twee makkelijke manieren om objecten en oppervlakken te beschrijven. De ene manier is met impliciete vergelijkingen (die leiden tot impliciete oppervlakken) en de andere manier is met parametrische vergelijkingen (die leiden tot parametrische oppervlakten). Impliciete vergelijkingen zijn het tegenovergestelde van expliciete vergelijkingen. Een voorbeeld van een expliciete vergelijking is y = 5x. Hierbij is de y direct (expliciet) uitgedrukt in x. Een impliciete vergelijking zou de volgende kunnen zijn: y 5x = 0. Hierin is y indirect (impliciet) uitgedrukt in x. Een impliciete vergelijking is dus een vergelijking in de vorm van R(x, y) = 0. Een parametrische vergelijking is een vergelijking waarin twee waarden, bijvoorbeeld de x- waarde en de y-waarde afhankelijk zijn van een parameter, bijvoorbeeld t. De x en y zijn hierbij onafhankelijk van elkaar. Wat belangrijk is om te onthouden van impliciete oppervlakken, is dat ze in een 3D wereld met een x-as, een y-as en een z-as gedefinieerd worden door een vergelijking in de vorm van: f(x, y, z) = 0 (2.1) Hierbij geldt dat f(x, y, z) < 0 het gebied aan de ene kant van de grens aanduidt, en f(x, y, z) > 0 het gebied aan de andere kant van de grens. Ook is het belangrijk om te onthouden dat impliciete oppervlakken open of gesloten kunnen zijn. De open oppervlakken strekken tot in het oneindige, zoals bijvoorbeeld een onbegrensd vlak, terwijl de gesloten oppervlakken een eindig oppervlak hebben, zoals bijvoorbeeld een bol. De makkelijkste objecten om te raytracen zijn objecten die beschreven zijn met een impliciete vergelijking Onbegrensde vlakken Figuur 2.1: Impliciet vlak [1] Een vlak is een oneindig lang, plat oppervlak in een 3D wereld. Voorbeelden van vlakken zijn het (x, y)-vlak, het (x, z)-vlak en het (y, z)-vlak. Een vlak kan op verschillende manieren worden gedefinieerd. Één manier om een vlak te definiëren, is om een punt in het vlak te nemen, en een normaalvector op het vlak. Dit is de manier die voor raytracen het handigst is, en die wij dus zullen gebruiken. Aangezien een vlak plat is, zijn de normaalvectoren op alle punten in het vlak aan elkaar gelijk. Het maakt dus niet uit op welk punt in het vlak de normaalvector wordt genomen. Om het vlak te definiëren zijn dus een normaalvector n en een in 15

19 HOOFDSTUK 2. OBJECTEN EN RAYS 16 het vlak gelegen punt a nodig. Er bestaat maar één vlak dat door punt a gaat met de richting aangegeven door n. Met deze twee waarden is het vlak dus vastgelegd. Om een impliciete vergelijking van een vlak op te stellen gebruiken we ook nog een punt p dat ergens in het vlak ligt. Hiermee kunnen we dan de vector p a bepalen die ook in het vlak ligt. Aangezien we weten dat de normaalvector loodrecht op het vlak staat, staat deze ook loodrecht op elke vector in het vlak. Dus n p a. Dus het inproduct van n en a p is gelijk aan nul. Hiermee kunnen we de vergelijking van het vlak opstellen: (p a) n = 0 (2.2) We kunnen deze vergelijking verder uitschrijven door de kentallen van de vectoren waarmee we werken in te vullen. Neem voor het punt p de coördinaten (x, y, z), voor het punt a de coördinaten (a x, a y, a z ) en voor n n x de kentallen n y en vul dit in. Dit geeft het volgende: n z x a x n x y a y n y = 0 z a z n z Dit is makkelijker te schrijven als: n x (x a x ) + n y (y a y ) + n z (z a z ) = 0 n x x + n y y + n z z a x n x a y n y a z n z = 0 Hierin is A = n x, B = n y, C = n z en D = a x n x a y n y a z n z Begrensde vlakken Ax + By + Cz + D = 0 (2.3) Om een begrensd vlak te definiëren gaan we uit van een oneindig vlak, en controleren we vervolgens of de punten in het oneindige vlak aan bepaalde voorwaarden voldoen. Voldoet een punt aan de voorwaarden, dan valt het dus binnen het begrensde vlak. Cirkels Voor begrensde vlakken in het algemeen bepalen we eerst de vlakvergelijking van het oneindige vlak waar het object in ligt, en nemen we vervolgens alleen de punten die er toe doen. Voor een cirkel zijn dit dus alle punten op een afstand r of minder van het middelpunt c afliggen. Hierin is r natuurlijk de straal van de cirkel. Een cirkel wordt dus uiteindelijk door drie zaken gedefinieerd: het middelpunt c, de straal r, en de normaalvector n. Deze normaalvector en c samen definiëren namelijk samen het onbegrensde vlak waar de cirkel in ligt, en de straal r en c samen bepalen welke punten van het onbegrensde vlak ook binnen de cirkel liggen. Hier hoeven we geen impliciete vergelijking van te maken, om dat deze gegevens al voldoende zijn om een cirkel te kunnen raytracen.(zie 3.2.1). Rechthoeken Voor de definitie van een rechthoek zullen we een punt en twee vectoren gaan gebruiken. Het punt p 0 is het hoekpunt waar de twee vectoren a en b hun oorsprong hebben. Deze twee vectoren vormen twee zijden van de rechthoek en moeten dus loodrecht op elkaar staan. Uit de twee zijden kunnen we met het uitproduct een normaalvector berekenen. Deze volgt dus uit de andere gegevens. Een rechthoek wordt dus al gedefinieerd met één hoekpunt en twee zijden. Hiervoor geldt ook dat we geen impliciete vergelijking nodig hebben, omdat we met een aantal vergelijkingen kunnen bepalen of een punt op het onbegrensde vlak binnen de rechthoek ligt.

20 HOOFDSTUK 2. OBJECTEN EN RAYS 17 We noemen het punt in het onbegrensde vlak voor het gemak weer p. Dan kunnnen we met de volgende ongelijkheden bepalen of het punt p binnen de rechthoek ligt: 0 ( p p 0 ) a a 2 0 ( p p 0 ) b b 2 (2.4) Dit behoeft waarschijnlijk nog enige uitleg. De ongelijkheden zijn erop gebaseerd dat het inproduct van twee vectoren k en m te schrijven is als k m = kx m x + k y m y + k z m z. Doen we dit voor het inproduct van p p 0 en a, waarbij we p p 0 voor het gemak even P zullen noemen, dan krijgen we: Figuur 2.2: Rechthoek met p o, a, b en p [1] P a = P x a x + P y a y + P z a z Dit geldt voor een 3D-stelsel. We weten echter al van het punt p dat het in het vlak ligt (dat wordt namelijk gecontroleerd voordat we gaan kijken of het pun p ook binnen de rechthoek ligt), dus kunnen we uitgaan van een 2D-stelsel, gedefinieerd door de oorsprong p 0 en de vectoren a en b. Dan geldt dus: P a = P a a a + P b a b Hierbij is a b altijd nul omdat a en b de assen van het 2D-stelsel zijn waar we in werken (net zoals de y-coördinaat van de x-as altijd nul is). Dus geldt: P a = P a a a Omdat a b altijd nul is, is de lengte van a te beschrijven als a = a a. Als P a a a dan gelijk is aan a 2, dan is P a = a a en valt de a-coördinaat van punt p dus op de zijde van het vierkant van afmetingen a a met a als één van de zijden. Als P a a a a 2, dan ligt de a coördinaat van p op deze zijde, óf binnen dit vierkant, behalve als P a < 0, want dan ligt het punt er alsnog naast, maar aan de andere kant. Op dezelfde manier is dit geheel voor b te beredeneren. Als een punt p dus aan beide vergelijkingen in vergelijking 2.4 voldoet, dan ligt de a coördinaat dus ergens op de breedte van a en ligt de b coördinaat ergens op de lengte van b. Zodra dit voor een punt het geval is, ligt het punt binnen de rechthoek met de twee zijden a en b. Tot slot hebben we nog de normaal van de rechthoek. De normaal van de rechthoek is te berekenen met het uitproduct van a en b. Deze moet dan echter nog wel genormaliseerd worden. We krijgen dus voor de normaal de formule: n = a b a (2.5) b Driehoeken Een driehoek is te definiëren als drie punten die niet op één lijn liggen. Als we een driehoek hebben met de punten a, b, en c, dan zijn de zijden van de driehoek de vectoren b a, c a en c b. Deze drie punten definiëren ook een onbegrensd vlak. Een driehoek ligt dan ook in een onbegrensd vlak en is altijd plat. De normaal is dus ook overal constant. Aangezien de normaal van de driehoek recht staat op het vlak dat door de twee zijden van de driehoek wordt gedefinieerd, kunnen we de eenheidsnormaal beschrijven als: n = (b a) (c a) (b a) (c a) Om te kijken of een bepaald punt p in de driehoek ligt, kijken we weer eerst of het in het vlak ligt. Zodra dit het geval is, moeten we kijken of het ook binnen de driehoek in dit vlak ligt. Hiervoor gebruiken we barycentrische coördinaten. Als een driehoek de hoekpunten a, b, en c heeft, kunnen we de barycentrische coördinaten van een punt op het vlak gedefinieerd door deze driehoek als volgt weergeven (zie figuur 2.3): (2.6) p(α, β, γ) = αa + βb + γc (2.7)

21 HOOFDSTUK 2. OBJECTEN EN RAYS 18 Om dan binnen te driehoek te zitten, is het logisch dat geen enkel punt verder dan een lengte van één van de zijden, in de richting van die zijde, weg mag zitten van de oorsprong. Dus gelden de volgende voorwaarden: α + β + γ = 1 (2.8) 0 <α < 1 0 <β < 1 (2.9) 0 <γ < 1 Met deze ongelijkheden kunnen we bepalen of een punt op het vlak binnen de driehoek ligt. We hebben echter drie onbekenden, namelijk α, β en γ. Gelukkig kunnen we met vergelijking 2.8 een onbekende wegwerken. We kunnen namelijk α in de andere twee uitdrukkingen: α = 1 β γ. Dit invullen in vergelijking 2.7 geeft: p(α, β, γ) = (1 β γ)a + βb + γc p(α, β, γ) = a + βb βa + γc γa p(α, β, γ) = a + β(b a) + γ(c a) (2.10) De ongelijkheden in 2.9 kunnen we dan ook herschrijven. Hierbij verandert alleen de eerste: Het drietal wordt dus: 0 <α < 1 0 < 1 β γ < 1 1 < β γ < 0 1 > β + γ > 0 0 <β < 1 0 <γ < 1 (2.11) 0 < β + γ < 1 Als β = 0, dan hebben we een oneindige lijn door de hoekpunten a en c van de driehoek gedefinieerd (zie figuur 2.3). Dit is de γ-as. β = 0 invullen in vergelijking 2.10 geeft: p = a + γ(c a) (2.12) Als we hierbij de ongelijkheid uit 2.11 erbij nemen, kunnen we stellen dat we de zijde 0 < γ < 1 en vergelijking Op dezelfde manier kunnen we met γ = 0 en 0 < β < 1 de zijde p = a + β(b a) c a definiëren met b a definiëren. Deze wordt dan: Hiermee is de vergelijking uit 2.10 verklaard: dit is een combinatie van de vergelijkingen die de zijden γ en β aangeven. Zo kunnen we dus een driehoek en de zijden van een driehoek in barycentrische coördinaten aangeven. Ook kunnen we hiermee bepalen of een bepaald punt binnen de driehoek valt, maar omdat dit nauw samenhangt met het snijden van rays met objecten, zullen we dit behandelen in (zie pagina 23) Bollen Een bol is een... bol. Wiskundig gezien is een bol de verzameling van alle punten binnen een straal r van het middelpunt c. Oftewel B = {p : p c r}. Bij het raytracen maken we alleen gebruik van het oppervlak van de bol. Oftewel de punten die precies op een afstand r van c liggen: O = {p : p c = r}. Punt c wordt gedefinieerd door zijn drie coördinaten, dus c = (c x, c y, c z ). Een willekeurig punt p op het oppervlak van de bol heeft de coördinaten (x, y, z). Door de stelling van Pythagoras in 3D te gebruiken, kunnen we de lengte

22 HOOFDSTUK 2. OBJECTEN EN RAYS 19 van vector p c bepalen. Namelijk p c = (x c x ) 2 + (y c y ) 2 + (z c z ) 2. Deze lengte is natuurlijk weer gelijk aan de straal en dit vormt de definitie van een bol. Om het leesbaar te houden, is het handig om het wortelen weg te werken. We kwadrateren dus zowel de straal r als de afstand p c. Dan krijgen we dus (x c x ) 2 + (y c y ) 2 + (z c z ) 2 = r 2 oftewel de impliciete vergelijking: (x c x ) 2 + (y c y ) 2 + (z c z ) 2 r 2 = 0 (2.13) Met deze vergelijking kunnen we een bol definiëren en dit is de definitie van een bol die wij zullen gebruiken. De normaal van een bol is tamelijk eenvoudig te bepalen. Deze is echter wel voor elk willekeurig punt op het oppervlak van de bol anders. Voor een punt op het oppervlak van de bol geldt namelijk dat de normaalvector gelijk is aan de vector van het middelpunt, naar het punt op de oppervlak van de bol. Omdat het voor raytracen handig is om een eenheidsnormaal te hebben, kunnen we deze vector nog delen door de straal, en we hebben een eenheidsnormaal. In formulevorm is dit: 2.2 Rays n = p c r (2.14) Een ray bij raytracing is een oneindig lange rechte lijn, gedefinieerd door het punt o, de oorsprong en de richting in de vorm van een eenheidsvector d, Figuur 2.3: Driehoek met hoekpunten a, b, en c en een barycentrisch coördinatenstelsel. [1] van het engelse direction. De parameter van een ray is t, waarbij t [, + ] en bij t = 0 zitten we in de oorsprong van de ray. Een willekeurig punt op de ray kunnen we dus definiëren als: p = o + t d (2.15) In raytracing hebben we vier verschillende typen rays. We onderscheiden de primaire rays, de secundaire rays, de schaduwrays en de lichtrays. Primaire rays worden vanuit de camera afgeschoten. Secundaire rays zijn de rays die zijn weerkaatst vanaf een object of iets dergelijks. Schaduwrays worden gebruikt om schaduwen aan te brengen en beginnen per definitie vanaf het oppervlak van een object. De lichtrays, tenslotte, beginnen in de lichtbronnen en zijn nodig voor sommige aspecten van verlichting. Hiermee hebben we de basis voor het gebruik van rays gelegd. In hoofdstuk 3 zullen we nog iets dieper ingaan op rays om te kunnen bepalen of ze objecten snijden. 2.3 En de raytracer? Hoewel we met de informatie besproken in dit hoofdstuk nog helemaal niets kunnen raytracen, is het wel essentiële stof voor het bouwen van een raytracer. In dit hoofdstuk hebben we geleerd hoe we een aantal simpele objecten wiskundig kunnen beschrijven en daarmee kunnen we eenvoudige scènes bouwen. We weten nu immers welke waarden we nodig hebben om de objecten, die in dit hoofdstuk zijn beschreven, aan te geven. Zonder scène kunnen we natuurlijk niets raytracen, dus ondanks dat we nu een raytracer kunnen bouwen die niet kan raytracen (een waardeloze raytracer dus), was de informatie uit dit hoofdstuk toch een essentieel onderdeel van elke raytracer. 2.4 Bronnen en code Bronnen Voor dit hoofdstuk hebben we de volgende bronnen gebruikt: [1], [12], [13] en [14].

23 HOOFDSTUK 2. OBJECTEN EN RAYS 20 Code De code voor een ray is terug te vinden ray.h. De code voor de objecten komt pas bij het volgende hoofdstuk.

24 Hoofdstuk 3 Rayintersectie Hét essentiële onderdeel van raytracen is het bepalen of een ray een object raakt. Hoe dit kan worden bepaald, wordt in dit hoofdstuk uitgelegd. De eerste operatie die met een ray wordt uitgevoerd is om voor elk object in de 3D scène te kijken of het object wordt geraakt door de ray. We zoeken vervolgens naar het raakpunt met de kleinste waarde van t 1, waarbij t niet nul mag zijn. Waarom mag t geen nul zijn? Als t nul zou mogen zijn, zou de ray een raakpunt kunnen hebben in zijn oorsprong. Dit geeft problemen bij bijvoorbeeld de een schaduwray, die per definitie zijn oorsprong heeft op een objectoppervlak. Deze zou dan als eerste raakpunt het object raken, waarvandaan het wordt afgeschoten, en dat is niet de bedoeling. Om dit te verkomen nemen we t in het interval t [ɛ, + ), waarbij ɛ een klein, positief getal is, bijvoorbeeld ɛ = Intersectie met impliciete oppervlakken Om te kijken of een ray een impliciet oppervlak snijdt, kunnen we vergelijking 2.1 herschrijven. De x, y en z in de functie f(x, y, z) duiden een punt aan in een 3D wereld. Als we dit punt p noemen, geldt voor de coördinaten van p dat p = (x, y, z). We kunnen dus schrijven: f(p) = 0 (3.1) Als een ray een impliciet oppervlak raakt, moet voor het bewuste punt gelden dat de coördinaten van dit punt zowel aan de vergelijking van de ray, als aan de vergelijking van het vlak voldoen. Daarom kunnen we de vergelijking van de ray (2.15) substitueren in vergelijking 3.1. We krijgen dan: Dit is de basis voor elke intersectie met impliciete oppervlakken Onbegrensde vlakken f(o + t d) = 0 (3.2) Een impliciete vergelijking van een vlak was gegeven in vergelijking 2.2. Als we hierin de rayvergelijking substitueren krijgen we het volgende: (o + t d a) n = 0 Hierin is o een punt, t een parameter, d een vector, a een punt en tenslotte n de normaalvector van het vlak. We kunnen de vergelijking herschrijven tot: (o a) n + t d n = 0 t d n = (o a) n t = (a o) n d n (3.3) 1 t uit de rayvergelijking in

25 HOOFDSTUK 3. RAYINTERSECTIE 22 In vergelijking 3.3 zijn o, a, n en d bekend. De onbekende t is dus al te berekenen. Als t is berekend, kunnen we deze invullen in 2.15 en hieruit het punt p berekenen. Het enige wat we nu nog moeten doen is kijken of t [ɛ, + ). Als dit het geval is, hebben we een raakpunt voor het onbegrensde vlak. Wat nog wel even belangrijk is om op te merken is dat we een situatie krijgen waarin we gaan proberen te delen door nul. Namelijk als d n = 0. Dit is als de ray loodrecht op de normaal van het vlak staat, dus als de ray evenwijdig loopt aan het vlak. In C++, de programmeertaal waarin we de raytracer schrijven, geeft delen door nul echter geen foutmelding, maar de uitkomst infinity, oftewel oneindig. Dit zorgt dus voor een raakpunt op een oneindige afstand, en dit wordt nooit gerenderd. Er treden dus geen problemen op bij het delen door nul in dit geval Bollen Zoals we in hoofdstuk 2 hebben gezien, is de impliciete vergelijking voor een bol de volgende: (x c x ) 2 + (y c y ) 2 + (z c z ) 2 r 2 = 0 (2.13). Deze kan ook worden geschreven als: (p c) (p c) r 2 = 0 (3.4) Want: x c x x c x (p c) (p c) = y c y y c y = (x c x )(x c x ) + (y c y )(y c y ) + (z c z )(z c z ) z c z z c z Als we in vergelijking 3.4 de p weer vervangen door vergelijking 2.15 te substitueren, krijgen we het volgende: Dit uitschrijven geeft: (o + t d c) (o + t d c) r 2 = 0 (3.5) (t d + (o c)) (t d + (o c)) r 2 = 0 ( d d)t 2 + (2(o c) d)t + (o c) (o c) r 2 = 0 (3.6) Dit is een tweedegraadsvergelijking die op te lossen is met de ABC-formule: D = b 2 4ac t = b + D 2a b D 2a Hierin is a de coëfficient van t 2, b de coëfficient van t en c de term zonder t in vergelijking 3.6. Aangezien deze vergelijking behalve t weer alleen maar bekenden bevat, kunnen we t berekenen. Het enige wat dan nog rest is kijken of t [ɛ, + ). Als dit ook waar is, hebben we de raakpunten met een bol. 3.2 Intersectie met begrensde vlakken Om snijpunten met begrensde vlakken te bepalen, kijken we eerst of de ray een snijpunt heeft met het onbegrensde vlak waar het begrensde vlak in ligt. Vervolgens kijken we of het snijpunt binnen de grenzen van het begrensde vlak ligt. We zullen dit hier demonstreren voor de begrensde vlakken genoemd in hoofdstuk Cirkels Als een cirkel gedefinieerd is met de normaalvector n, de straal r en het middelpunt c kunnen we al bepalen of een afgeschoten ray de cirkel raakt. Eerst bepalen we met de manier beschreven in of de ray het vlak raakt waar de cirkel in ligt. Als hij dit vlak raakt, noemen we het punt waar de ray het vlak raakt p. Om te kijken of dit punt ook in de cirkel ligt, nemen we de vector van c naar p en bepalen we daar de lengte van.

2004 Gemeenschappelijke proef Algebra - Analyse - Meetkunde - Driehoeksmeting 14 vragen - 2:30 uur Reeks 1 Notatie: tan x is de tangens van de hoek x, cot x is de cotangens van de hoek x Vraag 1 In een

Nadere informatie

Wiskunde voor relativiteitstheorie

Wiskunde voor relativiteitstheorie Wiskunde voor relativiteitstheorie HOVO Utrecht Les 1: Goniometrie en vectoren Dr. Harm van der Lek vdlek@vdlek.nl Natuurkunde hobbyist Overzicht colleges 1. College 1 1. Goniometrie 2. Vectoren 2. College

Nadere informatie

Wiskunde voor relativiteitstheorie

Wiskunde voor relativiteitstheorie Wiskunde voor relativiteitstheorie Utrecht Les : Goniometrie en vectoren Dr. Harm van der Lek vdlek@vdlek.nl Natuurkunde hobbyist verzicht colleges. College. Goniometrie 2. Vectoren 2. College 2. Matrixen

Nadere informatie

VISUALISATIE VAN KROMMEN EN OPPERVLAKKEN. 1. Inleiding

VISUALISATIE VAN KROMMEN EN OPPERVLAKKEN. 1. Inleiding VISUALISATIE VAN KROMMEN EN OPPERVLAKKEN IGNACE VAN DE WOESTNE. Inleiding In diverse wetenschappelijke disciplines maakt men gebruik van functies om fenomenen of processen te beschrijven. Hiervoor biedt

Nadere informatie

11.0 Voorkennis V

11.0 Voorkennis V 11.0 Voorkennis V 8 6 4 3 6 3 0 5 W 8 1 1 12 2 1 16 4 3 20 5 4 V is een 2 x 4 matrix. W is een 4 x 3 matrix. Deze twee matrices kunnen met elkaar vermenigvuldigd worden. Want het aantal kolommen van matrix

Nadere informatie

Samenvatting wiskunde havo 4 hoofdstuk 5,7,8 en vaardigheden 3 en 4 en havo 5 hoofdstuk 3 en 5 Hoofdstuk 5 afstanden en hoeken Voorkennis Stelling van

Samenvatting wiskunde havo 4 hoofdstuk 5,7,8 en vaardigheden 3 en 4 en havo 5 hoofdstuk 3 en 5 Hoofdstuk 5 afstanden en hoeken Voorkennis Stelling van Samenvatting wiskunde havo 4 hoofdstuk 5,7,8 en vaardigheden 3 en 4 en havo 5 hoofdstuk 3 en 5 Hoofdstuk 5 afstanden en hoeken Stelling van Kan alleen bij rechthoekige driehoeken pythagoras a 2 + b 2 =

Nadere informatie

9.1 Vergelijkingen van lijnen[1]

9.1 Vergelijkingen van lijnen[1] 9.1 Vergelijkingen van lijnen[1] y = -4x + 8 is de vergelijking van een lijn. Hier wordt y uitgedrukt in x. Algemeen: Van de lijn y = ax + b is de richtingscoëfficiënt a en het snijpunt met de y-as (0,

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9.31 email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/2ds06 Technische Universiteit Eindhoven college 4 J.Keijsper

Nadere informatie

Uitgewerkte oefeningen

Uitgewerkte oefeningen Uitgewerkte oefeningen Algebra Oefening 1 Gegeven is de ongelijkheid: 4 x. Welke waarden voor x voldoen aan deze ongelijkheid? A) x B) x [ ] 4 C) x, [ ] D) x, Oplossing We werken de ongelijkheid uit: 4

Nadere informatie

TENTAMEN LINEAIRE ALGEBRA 1 donderdag 23 december 2004,

TENTAMEN LINEAIRE ALGEBRA 1 donderdag 23 december 2004, TENTAMEN LINEAIRE ALGEBRA donderdag december 004, 0.00-.00 Bij elke vraag dient een berekening of motivering worden opgeschreven. Het tentamen bestaat uit twee gedeelten: de eerste drie opgaven betreffen

Nadere informatie

De grafiek van een lineair verband is altijd een rechte lijn.

De grafiek van een lineair verband is altijd een rechte lijn. 2. Verbanden Verbanden Als er tussen twee variabelen x en y een verband bestaat kunnen we dat op meerdere manieren vastleggen: door een vergelijking, door een grafiek of door een tabel. Stel dat het verband

Nadere informatie

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

2010-I. A heeft de coördinaten (4 a, 4a a 2 ). Vraag 1. Toon dit aan. Gelijkstellen: y= 4x x 2 A. y= ax

2010-I. A heeft de coördinaten (4 a, 4a a 2 ). Vraag 1. Toon dit aan. Gelijkstellen: y= 4x x 2 A. y= ax 00-I De parabool met vergelijking y = 4x x en de x-as sluiten een vlakdeel V in. De lijn y = ax (met 0 a < 4) snijdt de parabool in de oorsprong en in punt. Zie de figuur. y= 4x x y= ax heeft de coördinaten

Nadere informatie

x cos α y sin α . (1) x sin α + y cos α We kunnen dit iets anders opschrijven, namelijk als x x y sin α

x cos α y sin α . (1) x sin α + y cos α We kunnen dit iets anders opschrijven, namelijk als x x y sin α Lineaire afbeeldingen Rotatie in dimensie 2 Beschouw het platte vlak dat we identificeren met R 2 Kies een punt P in dit vlak met coördinaten (, y) Stel dat we het vlak roteren met de oorsprong (0, 0)

Nadere informatie

toelatingsexamen-geneeskunde.be Gebaseerd op nota s tijdens het examen, daarom worden niet altijd antwoordmogelijkheden vermeld.

toelatingsexamen-geneeskunde.be Gebaseerd op nota s tijdens het examen, daarom worden niet altijd antwoordmogelijkheden vermeld. Wiskunde juli 2009 Laatste aanpassing: 29 juli 2009. Gebaseerd op nota s tijdens het examen, daarom worden niet altijd antwoordmogelijkheden vermeld. Vraag 1 Wat is de top van deze parabool 2 2. Vraag

Nadere informatie

Vlakke meetkunde. Module 6. 6.1 Geijkte rechte. 6.1.1 Afstand tussen twee punten. 6.1.2 Midden van een lijnstuk

Vlakke meetkunde. Module 6. 6.1 Geijkte rechte. 6.1.1 Afstand tussen twee punten. 6.1.2 Midden van een lijnstuk Module 6 Vlakke meetkunde 6. Geijkte rechte Beschouw een rechte L en kies op deze rechte een punt o als oorsprong en een punt e als eenheidspunt. Indien men aan o en e respectievelijk de getallen 0 en

Nadere informatie

P is nu het punt waarvan de x-coördinaat gelijk is aan die van het punt X en waarvan de y-coördinaat gelijk is aan AB (inclusief het teken).

P is nu het punt waarvan de x-coördinaat gelijk is aan die van het punt X en waarvan de y-coördinaat gelijk is aan AB (inclusief het teken). Inhoud 1. Sinus-functie 1 2. Cosinus-functie 3 3. Tangens-functie 5 4. Eigenschappen 4.1. Verband tussen goniometrische verhoudingen en goniometrische functies 8 4.2. Enkele eigenschappen van de sinus-functie

Nadere informatie

8.0 Voorkennis. Voorbeeld 1: Bereken het snijpunt van 3x + 2y = 6 en -2x + y = 3

8.0 Voorkennis. Voorbeeld 1: Bereken het snijpunt van 3x + 2y = 6 en -2x + y = 3 8.0 Voorkennis Voorbeeld 1: Bereken het snijpunt van 3x + 2y = 6 en -2x + y = 3 2x y 3 3 3x 2 y 6 2 Het vermenigvuldigen van de vergelijkingen zorgt ervoor dat in de volgende stap de x-en tegen elkaar

Nadere informatie

Appendix Inversie bekeken vanuit een complex standpunt

Appendix Inversie bekeken vanuit een complex standpunt Bijlage bij Inversie Appendix Inversie bekeken vanuit een complex standpunt In dee paragraaf gaan we op een andere manier kijken naar inversie. We doen dat met behulp van de complexe getallen. We veronderstellen

Nadere informatie

Meetkunde en lineaire algebra

Meetkunde en lineaire algebra Meetkunde en lineaire algebra Daan Pape Universiteit Gent 7 juni 2012 1 1 Möbius transformaties De mobiustransformatie wordt gegeven door: z az + b cz + d (1) Als we weten dat het drietal (x 1, x 2, x

Nadere informatie

Hoofdstuk 1 LIJNEN IN. Klas 5N Wiskunde 6 perioden

Hoofdstuk 1 LIJNEN IN. Klas 5N Wiskunde 6 perioden Hoofdstuk LIJNEN IN Klas N Wiskunde 6 perioden . DE VECTORVOORSTELLING VAN EEN LIJN VOORBEELD. Gegeven zijn de punten P (, ) en Q (, 8 ). Gevraagd: de vectorvoorstelling van de lijn k door P en Q. Methode:

Nadere informatie

Vectormeetkunde in R 3

Vectormeetkunde in R 3 Vectormeetkunde in R Definitie. Een punt in R wordt gegeven door middel van drie coördinaten : P = (x, y, z). Een lijnstuk tussen twee punten P en Q voorzien van een richting noemen we een pijltje. Notatie

Nadere informatie

Opgave 1 Bekijk de Uitleg, pagina 1. Bekijk wat een vectorvoorstelling van een lijn is.

Opgave 1 Bekijk de Uitleg, pagina 1. Bekijk wat een vectorvoorstelling van een lijn is. 3 Lijnen en hoeken Verkennen Lijnen en hoeken Inleiding Verkennen Bekijk de applet en zie hoe de plaatsvector v ur van elk punt A op de lijn kan ur r ontstaan als som van twee vectoren: p + t r. Beantwoord

Nadere informatie

1 Vlaamse Wiskunde Olympiade : Eerste ronde.

1 Vlaamse Wiskunde Olympiade : Eerste ronde. 1 Vlaamse Wiskunde Olympiade 1998-1999: Eerste ronde De eerste ronde bestaat uit 30 meerkeuzevragen Het quoteringssysteem werkt als volgt: per goed antwoord krijgt de deelnemer 5 punten, een blanco antwoord

Nadere informatie

Opgaven bij de cursus Relativiteitstheorie wiskunde voorkennis Najaar 2018 Docent: Dr. H. (Harm) van der Lek

Opgaven bij de cursus Relativiteitstheorie wiskunde voorkennis Najaar 2018 Docent: Dr. H. (Harm) van der Lek Opgaven bij de cursus Relativiteitstheorie wiskunde voorkennis Najaar 2018 Docent: Dr. H. (Harm) van der Lek Uitwerkingen worden beschikbaar gesteld op de dinsdagavond voorafgaande aan het volgende college

Nadere informatie

Voorbereidende sessie toelatingsexamen

Voorbereidende sessie toelatingsexamen 1/7 Voorbereidende sessie toelatingsexamen Wiskunde 2 - Algebra en meetkunde Dr. Koen De Naeghel 1 KU Leuven Kulak, woensdag 25 april 2018 1 Presentatie en opgeloste oefeningen zijn digitaal beschikbaar

Nadere informatie

Lineaire Algebra voor ST

Lineaire Algebra voor ST Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9. email: J.C.M.Keijsper@tue.nl studiewijzer: http://www.win.tue.nl/wsk/onderwijs/ds6 Technische Universiteit Eindhoven college 9 J.Keijsper (TUE)

Nadere informatie

Appendix: Zwaartepunten

Appendix: Zwaartepunten Appendi: Zwaartepunten Enkele opmerkingen vooraf: Maak altijd eerst een schets van het betreffende gebied (en dat hoeft heus niet zo precies te zijn als de grafieken die ik hier door de computer kan laten

Nadere informatie

16.0 Voorkennis. Voorbeeld 1: Los op in 2x + 3i = 5x + 6i -3x = 3i x = -i

16.0 Voorkennis. Voorbeeld 1: Los op in 2x + 3i = 5x + 6i -3x = 3i x = -i 16.0 Voorkennis Voorbeeld 1: Los op in 2x + 3i = 5x + 6i -3x = 3i x = -i Voorbeeld 2: Los op in 4x 2 + 12x + 15 = 0 4x 2 + 12x + 9 + 6 = 0 (2x + 3) 2 + 6 = 0 (2x + 3) 2 = -6 (2x + 3) 2 = 6i 2 2x + 3 =

Nadere informatie

Voorbereiding toelatingsexamen arts/tandarts. Wiskunde: goniometrie en meetkunde. 22 juli 2015. dr. Brenda Casteleyn

Voorbereiding toelatingsexamen arts/tandarts. Wiskunde: goniometrie en meetkunde. 22 juli 2015. dr. Brenda Casteleyn Voorbereiding toelatingsexamen arts/tandarts Wiskunde: goniometrie en meetkunde 22 juli 2015 dr. Brenda Casteleyn Met dank aan: Atheneum van Veurne (http://www.natuurdigitaal.be/geneeskunde/fysica/wiskunde/wiskunde.htm),

Nadere informatie

klas 3 havo Checklist HAVO klas 3.pdf

klas 3 havo Checklist HAVO klas 3.pdf Checklist 3 HAVO wiskunde klas 3 havo Checklist HAVO klas 3.pdf 1. Hoofdstuk 1 - lineaire problemen Ik weet dat de formule y = a x + b hoort bij de grafiek hiernaast. Ik kan bij een lineaire formule de

Nadere informatie

Lijnen, vlakken, normaalvector, shading

Lijnen, vlakken, normaalvector, shading Lijnen, vlakken, normaalvector, shading Inproduct (dotproduct Parametervoorstelling en vergelijking Uitproduct (crossproduct Normaalvector Flat shading en Gouraud shading Opgaven /7 Februari, 05 Definitie

Nadere informatie

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x. 1.0 Voorkennis Voorbeeld 1: Los op: 6x + 28 = 30 10x. 6x + 28 = 30 10x +10x +10x 16x + 28 = 30-28 -28 16x = 2 :16 :16 x = 2 1 16 8 Stappenplan: 1) Zorg dat alles met x links van het = teken komt te staan;

Nadere informatie

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3. ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.8 ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Inleiding

Nadere informatie

1 Vlaamse Wiskunde Olympiade : Eerste Ronde.

1 Vlaamse Wiskunde Olympiade : Eerste Ronde. Vlaamse Wiskunde Olympiade 995 996 : Eerste Ronde De eerste ronde bestaat uit 30 meerkeuzevragen, opgemaakt door de jury van VWO Het quoteringssysteem werkt als volgt : een deelnemer start met 30 punten

Nadere informatie

De grafiek van een lineair verband is altijd een rechte lijn.

De grafiek van een lineair verband is altijd een rechte lijn. Verbanden Als er tussen twee variabelen x en y een verband bestaat kunnen we dat op meerdere manieren vastleggen: door een vergelijking, door een grafiek of door een tabel. Stel dat het verband tussen

Nadere informatie

Lineaire afbeeldingen

Lineaire afbeeldingen Les 2 Lineaire afbeeldingen Als een robot bij de robocup (het voetbaltoernooi voor robots een doelpunt wil maken moet hij eerst in de goede positie komen, d.w.z. geschikt achter de bal staan. Hiervoor

Nadere informatie

Uitwerkingen Mei 2012. Eindexamen VWO Wiskunde B. Nederlands Mathematisch Instituut Voor Onderwijs en Onderzoek

Uitwerkingen Mei 2012. Eindexamen VWO Wiskunde B. Nederlands Mathematisch Instituut Voor Onderwijs en Onderzoek Uitwerkingen Mei 01 Eindexamen VWO Wiskunde B A B C Nederlands Mathematisch Instituut Voor Onderwijs en Onderzoek Onafhankelijkheid van a Opgave 1. We moeten aantonen dat F a een primitieve is van de

Nadere informatie

10.0 Voorkennis. y = -4x + 8 is de vergelijking van een lijn. Hier wordt y uitgedrukt in x.

10.0 Voorkennis. y = -4x + 8 is de vergelijking van een lijn. Hier wordt y uitgedrukt in x. 10.0 Voorkennis y = -4x + 8 is de vergelijking van een lijn. Hier wordt y uitgedrukt in x. Algemeen: Van de lijn y = ax + b is de richtingscoëfficiënt a en het snijpunt met de y-as (0, b) y = -4x + 8 kan

Nadere informatie

Boldriehoeken op een wereldkaart. 1. Op zoek naar de kortste afstand

Boldriehoeken op een wereldkaart. 1. Op zoek naar de kortste afstand Boldriehoeken op een wereldkaart 1. Op zoek naar de kortste afstand Een boldriehoek op een wereldbol kun je je makkelijk inbeelden. Je kiest drie steden, en op het aardoppervlak en je verbindt ze met drie

Nadere informatie

DE GONIOMETRISCHE CIRKEL

DE GONIOMETRISCHE CIRKEL robleemstelling DE GONIOMETRISCHE CIRKEL Tijdens de lessen wiskunde worden verschillende verbanden aangeleerd tussen de goniometrische grootheden us, inus en gens. Het is niet eenvoudig om deze allemaal

Nadere informatie

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien:

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien: Van de opgaven met een letter en dus zonder nummer staat het antwoord achterin. De vragen met een nummer behoren tot het huiswerk. Spieken achterin helpt je niets in het beter snappen... 1 Stelling van

Nadere informatie

More points, lines, and planes

More points, lines, and planes More points, lines, and planes Make your own pictures! 1. Lengtes en hoeken In het vorige college hebben we het inwendig product (inproduct) gedefinieerd. Aan de hand daarvan hebben we ook de norm (lengte)

Nadere informatie

14.0 Voorkennis. sin sin sin. Sinusregel: In elke ABC geldt de sinusregel:

14.0 Voorkennis. sin sin sin. Sinusregel: In elke ABC geldt de sinusregel: 14.0 Voorkennis Sinusregel: In elke ABC geldt de sinusregel: a b c sin sin sin Voorbeeld 1: Gegeven is ΔABC met c = 1, α = 54 en β = 6 Bereken a in twee decimalen nauwkeurig. a c sin sin a 1 sin54 sin64

Nadere informatie

Kwantummechanica Donderdag, 13 oktober 2016 OPGAVEN SET HOOFDSTUK 4. Bestudeer Appendix A, bladzijden van het dictaat.

Kwantummechanica Donderdag, 13 oktober 2016 OPGAVEN SET HOOFDSTUK 4. Bestudeer Appendix A, bladzijden van het dictaat. 1 Kwantummechanica Donderdag, 1 oktober 016 OPGAVEN SET HOOFDSTUK 4 VECTOREN OVER DE REËLE RUIMTE DUS DE ELEMENTEN ZIJN REËLE GETALLEN Bestudeer Appendix A, bladzijden 110-114 van het dictaat. Opgave 1:

Nadere informatie

1.1 Lineaire vergelijkingen [1]

1.1 Lineaire vergelijkingen [1] 1.1 Lineaire vergelijkingen [1] Voorbeeld: Los de vergelijking 4x + 3 = 2x + 11 op. Om deze vergelijking op te lossen moet nu een x gevonden worden zodat 4x + 3 gelijk wordt aan 2x + 11. = x kg = 1 kg

Nadere informatie

Trillingen en geluid wiskundig

Trillingen en geluid wiskundig Trillingen en geluid wiskundig 1 De sinus van een hoek 2 Radialen 3 Uitwijking van een harmonische trilling 4 Macht en logaritme 5 Geluidsniveau en amplitude 1 De sinus van een hoek Sinus van een hoek

Nadere informatie

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014 Lineaire Algebra TW1205TI, 12 februari 2014 Contactgegevens Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http: //fa.its.tudelft.nl/ goddijn blackboard : http:

Nadere informatie

E = mc². E = mc² E = mc² E = mc². E = mc² E = mc² E = mc²

E = mc². E = mc² E = mc² E = mc². E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² E = mc² De boom en het stokje staan loodrecht op de grond in het park. De boom is 3 en het stokje 1. Hoe lang is de schaduw van het stokje

Nadere informatie

Trillingen en geluid wiskundig. 1 De sinus van een hoek 2 Uitwijking van een trilling berekenen 3 Macht en logaritme 4 Geluidsniveau en amplitude

Trillingen en geluid wiskundig. 1 De sinus van een hoek 2 Uitwijking van een trilling berekenen 3 Macht en logaritme 4 Geluidsniveau en amplitude Trillingen en geluid wiskundig 1 De sinus van een hoek 2 Uitwijking van een trilling berekenen 3 Macht en logaritme 4 Geluidsniveau en amplitude 1 De sinus van een hoek Eenheidscirkel In de figuur hiernaast

Nadere informatie

3.2 Vectoren and matrices

3.2 Vectoren and matrices we c = 6 c 2 = 62966 c 3 = 32447966 c 4 = 72966 c 5 = 2632833 c 6 = 4947966 Sectie 32 VECTOREN AND MATRICES Maar het is a priori helemaal niet zeker dat het stelsel vergelijkingen dat opgelost moet worden,

Nadere informatie

De n-dimensionale ruimte Arjen Stolk

De n-dimensionale ruimte Arjen Stolk De n-dimensionale ruimte Arjen Stolk In het vorige college hebben jullie gezien wat R 2 (het vlak) is. Een vector v R 2 is een paar v = (x,y) van reële getallen. Voor vectoren v = (a,b) en w = (c,d) in

Nadere informatie

Overzicht eigenschappen en formules meetkunde

Overzicht eigenschappen en formules meetkunde Overzicht eigenschappen en formules meetkunde xioma s Rechten en hoeken 3 riehoeken 4 Vierhoeken 5 e cirkel 6 Veelhoeken 7 nalytische meetkunde Op de volgende bladzijden vind je de eigenschappen en formules

Nadere informatie

Examen G0O17D Wiskunde II (6sp) maandag 10 juni 2013, 8:30-12:30 uur

Examen G0O17D Wiskunde II (6sp) maandag 10 juni 2013, 8:30-12:30 uur Examen GO7D Wiskunde II (6sp maandag juni 3, 8:3-:3 uur Bachelor Biochemie & Biotechnologie Bachelor hemie, Bachelor Geologie Schakelprogramma Master Biochemie & Biotechnologie en Schakelprogramma Master

Nadere informatie

Aanvullingen bij Hoofdstuk 8

Aanvullingen bij Hoofdstuk 8 Aanvullingen bij Hoofdstuk 8 8.5 Definities voor matrices De begrippen eigenwaarde eigenvector eigenruimte karakteristieke veelterm en diagonaliseerbaar worden ook gebruikt voor vierkante matrices los

Nadere informatie

11.1 De parabool [1]

11.1 De parabool [1] 11.1 De parabool [1] Algemeen: Het punt F heet het brandpunt van de parabool. De lijn l heet de richtlijn van de parabool. De afstand van F tot l heet de parameter van de parabool. Defintie van een parabool:

Nadere informatie

V Kegelsneden en Kwadratische Vormen in R. IV.0 Inleiding

V Kegelsneden en Kwadratische Vormen in R. IV.0 Inleiding V Kegelsneden en Kwadratische Vormen in R IV.0 Inleiding V. Homogene kwadratische vormen Een vorm als H (, ) = 5 4 + 8 heet een homogene kwadratische vorm naar de twee variabelen en. Een vorm als K (,

Nadere informatie

8.1 Rekenen met complexe getallen [1]

8.1 Rekenen met complexe getallen [1] 8.1 Rekenen met complexe getallen [1] Natuurlijke getallen: Dit zijn alle positieve gehele getallen en nul. 0, 1, 2, 3, 4, 5, 6,... Het symbool voor de natuurlijke getallen is Gehele getallen: Dit zijn

Nadere informatie

F3 Formules: Formule rechte lijn opstellen 1/3

F3 Formules: Formule rechte lijn opstellen 1/3 F3 Formules: Formule rechte lijn opstellen 1/3 Inleiding Bij Module F1 heb je geleerd dat Formule, Verhaal, Tabel, Grafiek en Vergelijking altijd bij elkaar horen. Bij Module F2 heb je geleerd wat een

Nadere informatie

Hoofdstuk 2: Grafieken en formules

Hoofdstuk 2: Grafieken en formules Hoofdstuk 2: Grafieken en formules Wiskunde VMBO 2011/2012 www.lyceo.nl Hoofdstuk 2: Grafieken en formules Wiskunde 1. Basisvaardigheden 2. Grafieken en formules 3. Algebraïsche verbanden 4. Meetkunde

Nadere informatie

Gebruik de applet om de vragen te beantwoorden. Beweeg punt P over de cirkel.

Gebruik de applet om de vragen te beantwoorden. Beweeg punt P over de cirkel. Raaklijnen Verkennen Raaklijnen Inleiding Verkennen Gebruik de applet om de vragen te beantwoorden. Beweeg punt P over de cirkel. Uitleg Raaklijnen Uitleg Opgave 1 Bekijk de Uitleg. a) Wat is de vergelijking

Nadere informatie

Analytische Meetkunde

Analytische Meetkunde Analytische Meetkunde Meetkunde met Geogebra en vergelijkingen van lijnen 2 Inhoudsopgave Achtergrondinformatie... 4 Meetkunde met Geogebra... 6 Stelling van Thales...... 7 3 Achtergrondinformatie Auteurs

Nadere informatie

Deel 3 havo. Docentenhandleiding havo deel 3 CB

Deel 3 havo. Docentenhandleiding havo deel 3 CB Deel 3 havo De hoeveelheid leerstof is gebaseerd op drie lesuren per week. Met drie lesuren is het in ieder geval mogelijk om de basisstof van tien hoofdstukken door te werken, eventueel met de verkorte

Nadere informatie

Hoofdstuk 4: Meetkunde

Hoofdstuk 4: Meetkunde Hoofdstuk 4: Meetkunde Wiskunde VMBO 2011/2012 www.lyceo.nl Hoofdstuk 4: Meetkunde Wiskunde 1. Basisvaardigheden 2. Grafieken en formules 3. Algebraïsche verbanden 4. Meetkunde Getallen Assenstelsel Lineair

Nadere informatie

UITWERKINGEN 1 2 C : 2 =

UITWERKINGEN 1 2 C : 2 = UITWERKINGEN. De punten A, B, C, D in R zijn gegeven door: A : 0, B : Zij V het vlak door de punten A, B, C. C : D : (a) ( pt) Bepaal het oppervlak van de driehoek met hoekpunten A, B, C. Oplossing: De

Nadere informatie

Voorbereidende sessie toelatingsexamen

Voorbereidende sessie toelatingsexamen 1/34 Voorbereidende sessie toelatingsexamen Wiskunde 2 - Veeltermen en analytische meetkunde Dr. Koen De Naeghel 1 KU Leuven Kulak, woensdag 29 april 2015 1 Presentatie en opgeloste oefeningen zijn digitaal

Nadere informatie

3.1 Kwadratische functies[1]

3.1 Kwadratische functies[1] 3.1 Kwadratische functies[1] Voorbeeld 1: y = x 2-6 Invullen van x = 2 geeft y = 2 2-6 = -2 In dit voorbeeld is: 2 het origineel; -2 het beeld (of de functiewaarde) y = x 2-6 de formule. Een functie voegt

Nadere informatie

Integratie voor meerdere variabelen

Integratie voor meerdere variabelen Wiskunde 2 voor kunstmatige intelligentie, 27/28 Les 4 Integratie voor meerdere variabelen In deze les bekijken we het omgekeerde van de afgeleide, de integratie, en gaan na hoe we een integraal voor functies

Nadere informatie

opdrachten bij hoofdstuk 7 Lijnen cirkels als PDF

opdrachten bij hoofdstuk 7 Lijnen cirkels als PDF lijnen en cirkels opdrachten bij hoofdstuk 7 Lijnen cirkels als PDF 0. voorkennis De vergelijking ax+by=c Stelsels lineaire vergelijkingen De algemene vorm van een lineaire vergelijkingen met de variabele

Nadere informatie

Domein A: Inzicht en handelen

Domein A: Inzicht en handelen Tussendoelen wiskunde onderbouw vo vmbo Preambule Domein A is een overkoepeld domein dat altijd in combinatie met de andere domeinen wordt toegepast (of getoetst). In domein A wordt benoemd: Vaktaal: het

Nadere informatie

1 Vlaamse Wiskunde Olympiade : Eerste Ronde.

1 Vlaamse Wiskunde Olympiade : Eerste Ronde. 1 Vlaamse Wiskunde Olympiade 199 1994 : Eerste Ronde De eerste ronde bestaat uit 0 meerkeuzevragen, opgemaakt door de jury van VWO Het quoteringssysteem werkt als volgt : een deelnemer start met 0 punten

Nadere informatie

1 Vlaamse Wiskunde Olympiade : tweede ronde

1 Vlaamse Wiskunde Olympiade : tweede ronde 1 Vlaamse Wiskunde Olympiade 005-006: tweede ronde Volgende benaderingen kunnen nuttig zijn bij het oplossen van sommige vragen 1,1 3 1,731 5,361 π 3,116 1 Als a 1 3 a 1 3 a m = a met a R + \{0, 1}, dan

Nadere informatie

Correcties en verbeteringen Wiskunde voor het Hoger Onderwijs, deel A.

Correcties en verbeteringen Wiskunde voor het Hoger Onderwijs, deel A. Wiskunde voor het hoger onderwijs deel A Errata 00 Noordhoff Uitgevers Correcties en verbeteringen Wiskunde voor het Hoger Onderwijs, deel A. Hoofdstuk. 4 Op blz. in het Theorieboek staat halverwege de

Nadere informatie

De hoek tussen twee lijnen in Cabri Geometry

De hoek tussen twee lijnen in Cabri Geometry De hoek tussen twee lijnen in Cabri Geometry DICK KLINGENS (e-mail: dklingens@pandd.nl) Krimpenerwaard College, Krimpen aan den IJssel (NL) augustus 2008 1. Inleiding In de (vlakke) Euclidische meetkunde

Nadere informatie

Inwendig product, lengte en orthogonaliteit

Inwendig product, lengte en orthogonaliteit Inwendig product, lengte en orthogonaliteit We beginnen met een definitie : u u Definitie. Als u =. en v = u n v v. v n twee vectoren in Rn zijn, dan heet u v := u T v = u v + u v +... + u n v n het inwendig

Nadere informatie

Opgave 1 - Uitwerking

Opgave 1 - Uitwerking Opgave 1 - Uitwerking Om dit probleem op te lossen moeten we een zogenaamd stelsel van vergelijkingen oplossen. We zetten eerst even de tips van de begeleider onder elkaar: 1. De zak snoep weegt precies

Nadere informatie

Verbanden en functies

Verbanden en functies Verbanden en functies 0. voorkennis Stelsels vergelijkingen Je kunt een stelsel van twee lineaire vergelijkingen met twee variabelen oplossen. De oplossing van het stelsel is het snijpunt van twee lijnen.

Nadere informatie

Lineaire Algebra. Bovendriehoeks- en onderdriehoeks vorm: onder (boven) elke leidende term staan enkel nullen

Lineaire Algebra. Bovendriehoeks- en onderdriehoeks vorm: onder (boven) elke leidende term staan enkel nullen Lineaire Algebra Hoofdstuk 1: Stelsels Gelijkwaardige stelsels: stelsels met gelijke oplv Elementaire rijbewerkingen: 1. van plaats wisselen 2. externe vermenigvuldiging 3. interne optelling (2. en 3.:

Nadere informatie

Paragraaf 7.1 : Lijnen en Hoeken

Paragraaf 7.1 : Lijnen en Hoeken Hoofdstuk 7 Lijnen en cirkels (V5 Wis B) Pagina 1 van 11 Paragraaf 7.1 : Lijnen en Hoeken Les 1 Lijnen Definities Je kunt een lijn op verschillende manieren bepalen / opschrijven : (1) RC - manier y =

Nadere informatie

Zomercursus Wiskunde. Rechten en vlakken (versie 14 augustus 2008)

Zomercursus Wiskunde. Rechten en vlakken (versie 14 augustus 2008) Katholieke Universiteit Leuven September 2008 Rechten en vlakken (versie 14 augustus 2008) 2 Rechten en vlakken Inleiding In deze module behandelen we de theorie van rechten en vlakken in de driedimensionale

Nadere informatie

te vermenigvuldigen, waarbij N het aantal geslagen Nederlandse munten en B het aantal geslagen buitenlandse munten zijn. Het resultaat is de vector

te vermenigvuldigen, waarbij N het aantal geslagen Nederlandse munten en B het aantal geslagen buitenlandse munten zijn. Het resultaat is de vector Les 3 Matrix product We hebben gezien hoe we matrices kunnen gebruiken om lineaire afbeeldingen te beschrijven. Om het beeld van een vector onder een afbeelding te bepalen hebben we al een soort product

Nadere informatie

1 Inleiding. Zomercursus Wiskunde. Poolcoördinaten (versie 27 juni 2008) Katholieke Universiteit Leuven Groep Wetenschap & Technologie.

1 Inleiding. Zomercursus Wiskunde. Poolcoördinaten (versie 27 juni 2008) Katholieke Universiteit Leuven Groep Wetenschap & Technologie. Katholieke Universiteit Leuven September 2008 Poolcoördinaten (versie 27 juni 2008) Inleiding Y y p o θ r X fig In fig worden er op twee verschillende manieren coördinaten gegeven aan het punt p Een eerste

Nadere informatie

Tussendoelen wiskunde onderbouw vo vmbo

Tussendoelen wiskunde onderbouw vo vmbo Tussendoelen wiskunde onderbouw vo vmbo Domein A: Inzicht en handelen Subdomein A1: Vaktaal wiskunde 1. vmbo passende vaktaal voor wiskunde herkennen en gebruiken voor het ordenen van het eigen denken

Nadere informatie

De wiskunde van de beeldherkenning

De wiskunde van de beeldherkenning De wiskunde van de beeldherkenning Op zoek naar wat er niet verandert! In het kader van: (Bij) de Faculteit Wiskunde en Informatica van de TU/e op bezoek c Faculteit Wiskunde en Informatica, TU/e Inhoudsopgave

Nadere informatie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie Lineaire Algebra, tentamen Uitwerkingen vrijdag 4 januari 0, 9 uur Gebruik van een formuleblad of rekenmachine is niet toegestaan. De

Nadere informatie

Basiskennis lineaire algebra

Basiskennis lineaire algebra Basiskennis lineaire algebra Lineaire algebra is belangrijk als achtergrond voor lineaire programmering, omdat we het probleem kunnen tekenen in de n-dimensionale ruimte, waarbij n gelijk is aan het aantal

Nadere informatie

Examen Wiskundige Basistechniek 15 oktober 2011

Examen Wiskundige Basistechniek 15 oktober 2011 Examen Wiskundige Basistechniek 15 oktober 2011 vraag 1: Gegeven is het complex getal ω = exp(i π 5 ). vraag 1.1: Als we in het complexe vlak het punt P met cartesiaanse coördinaten (x, y) vereenzelvigen

Nadere informatie

Rakende cirkels. We geven eerst wat basiseigenschappen over rakende cirkels en raaklijnen aan een cirkel.

Rakende cirkels. We geven eerst wat basiseigenschappen over rakende cirkels en raaklijnen aan een cirkel. Rakende cirkels Inleiding We geven eerst wat basiseigenschappen over rakende cirkels en raaklijnen aan een cirkel. De raaklijn staat, in het raakpunt T, loodrecht op de straal. Bij uitwendig rakende cirkels

Nadere informatie

3.1 Negatieve getallen vermenigvuldigen [1]

3.1 Negatieve getallen vermenigvuldigen [1] 3.1 Negatieve getallen vermenigvuldigen [1] Voorbeeld 1: 5 3 = 15 (3 + 3 + 3 + 3 + 3 = 15) Voorbeeld 2: 5-3 = -15 (-3 +-3 +-3 +-3 +-3 = -3-3 -3-3 -3 = -15) Voorbeeld 3: -5 3 = -15 Voorbeeld 4: -5 3 9 2

Nadere informatie

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders. Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.

Nadere informatie

1 Vlaamse Wiskunde Olympiade : Tweede ronde.

1 Vlaamse Wiskunde Olympiade : Tweede ronde. 1 Vlaamse Wiskunde Olympiade 1998-1999: Tweede ronde De tweede ronde bestaat eveneens uit 0 meerkeuzevragen Het quoteringssysteem is hetzelfde als dat voor de eerste ronde, dwz per goed antwoord krijgt

Nadere informatie

Inwendig product, lengte en orthogonaliteit in R n

Inwendig product, lengte en orthogonaliteit in R n Inwendig product, lengte en orthogonaliteit in R n Het inwendig product kan eenvoudig worden gegeneraliseerd tot : u v u v Definitie Als u = u n en v = v n twee vectoren in Rn zijn, dan heet u v := u T

Nadere informatie

1 Analytische meetkunde

1 Analytische meetkunde Domein Meetkunde havo B 1 Analytische meetkunde Inhoud 1.1. Coördinaten in het vlak 1.2. Vergelijkingen van lijnen 1.3. Vergelijkingen van cirkels 1.4. Snijden 1.5. Overzicht In opdracht van: Commissie

Nadere informatie

WISKUNDE 5 PERIODEN. DATUM : 4 juni 2010. Formuleboekje voor de Europese scholen Niet-programmeerbare, niet-grafische rekenmachine

WISKUNDE 5 PERIODEN. DATUM : 4 juni 2010. Formuleboekje voor de Europese scholen Niet-programmeerbare, niet-grafische rekenmachine EUROPEES BACCALAUREAAT 2010 WISKUNDE 5 PERIODEN DATUM : 4 juni 2010 DUUR VAN HET EXAMEN : 4 uur (240 minuten) TOEGESTANE HULPMIDDELEN : Formuleboekje voor de Europese scholen Niet-programmeerbare, niet-grafische

Nadere informatie

Les 1 : Vectoren. Hoofdstuk 6 Vectormeetkunde (H4 Wiskunde D) Pagina 1 van 14. Definities Vector x = ( a ) wil zeggen a naar rechts en b omhoog.

Les 1 : Vectoren. Hoofdstuk 6 Vectormeetkunde (H4 Wiskunde D) Pagina 1 van 14. Definities Vector x = ( a ) wil zeggen a naar rechts en b omhoog. Hoofdstuk 6 Vectormeetkunde (H4 Wiskunde D) Pagina 1 van 14 Les 1 : Vectoren Definities Vector x = ( a ) wil zeggen a naar rechts en b omhoog. b Je kunt vectoren tekenen en berekenen. We doen dat aan de

Nadere informatie

Goniometrische functies

Goniometrische functies Goniometrische functies gonè (Grieks) = hoek metron (Grieks) = maat Goniometrie, afkomstig van de Griekse woorden voor hoek en maat, betekent letterlijk hoekmeetkunde. Daarmee wordt aangegeven dat het

Nadere informatie

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft: Determinanten Invoeren van het begrip determinant Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { a x + b y = c a 2 a 2 x + b 2 y = c 2 a Dit levert op: { a a 2 x

Nadere informatie

Samenvatting VWO wiskunde B H04 Meetkunde

Samenvatting VWO wiskunde B H04 Meetkunde Samenvatting VWO wiskunde B H04 Meetkunde Getal & Ruimte editie 11 Goniometrie in rechthoekige driehoeken Stap 1: Zoek de rechthoekige driehoeken Figuur 1: Ga na dat in dit voorbeeld alleen ADC en DBC

Nadere informatie

Examen HAVO. wiskunde B (pilot) tijdvak 1 woensdag 20 mei 13.30-16.30 uur

Examen HAVO. wiskunde B (pilot) tijdvak 1 woensdag 20 mei 13.30-16.30 uur Eamen HAV 2015 1 tijdvak 1 woensdag 20 mei 13.30-16.30 uur wiskunde B (pilot) Dit eamen bestaat uit 16 vragen. Voor dit eamen zijn maimaal 76 punten te behalen. Voor elk vraagnummer staat hoeveel punten

Nadere informatie

Samenvatting Wiskunde Aantal onderwerpen

Samenvatting Wiskunde Aantal onderwerpen Samenvatting Wiskunde Aantal onderwerpen Samenvatting door een scholier 2378 woorden 4 juni 2005 5,1 222 keer beoordeeld Vak Wiskunde Gelijkvormigheid Bij vergroten of verkleinen van een figuur worden

Nadere informatie