Inhoud. Inleiding computer graphics. Introductie 11. Leerkern 14. Terugkoppeling 57. Uitwerking van de opgaven 57

Maat: px
Weergave met pagina beginnen:

Download "Inhoud. Inleiding computer graphics. Introductie 11. Leerkern 14. Terugkoppeling 57. Uitwerking van de opgaven 57"

Transcriptie

1 Inhoud Inleiding computer graphics Introductie 11 Leerkern 14 1 Invoer en opslag van 3D objecten 14 2 Ray tracing Basisprincipe van ray tracing Secundaire stralen Intersectieberekeningen 23 3 De 3D polygon rendering pipeline Modeling transformaties De 3D viewing transformatie Projectie Clipping De window to viewport transformatie Scanconversie Hidden surface removal Een eenvoudig lichtreflectiemodel Flat shading en smooth shading 45 4 Texture mapping Wat is texture mapping? Bilineaire texture mapping Perspectivische texture mapping 50 5 Samenvatting 53 6 Literatuur 55 Terugkoppeling 57 Uitwerking van de opgaven 57 10

2 Inleiding computer graphics Inleiding computer graphics I N T R O D U C T I E In deze inleiding nemen we als toepassingsgebied van de lineaire algebra een kijkje in het vakgebied van de computer graphics, in het bijzonder de 3D computer graphics. Computer graphics is het deelgebied van de informatica dat zich bezighoudt met het maken van afbeeldingen op een computerbeeldscherm of een uitvoerapparaat zoals een printer. In de loop der jaren is computer graphics een steeds grotere rol gaan spelen in het gebruik van computers door de ontwikkeling van computer hardware (invoer- en uitvoerapparaten, geheugens, processors, grafische kaarten enzovoort). In het begin van het computertijdperk bestonden er alleen uitvoerapparaten waarop tekst kon worden afgebeeld. Daarna kwamen er penplotters en vector displays waarop lijnafbeeldingen konden worden getoond. Nog weer later kwamen er printers en beeldschermen die in staat waren om rasterafbeeldingen weer te geven, zoals inkjetprinters, kleurenlaserprinters, beeldbuizen (CRT s), plasmapanels en liquid cristal displays (LCD). Hierbij zijn de afbeeldingen opgebouwd uit afzonderlijke beeldpunten, ook wel pixels genoemd, die ieder een willekeurige kleur kunnen krijgen. Rasterbeeldschermen maken het mogelijk om, zoals ook bij tv en video, ingekleurde vlakken met grijstinten en kleuren weer te geven in plaats van alleen lijnafbeeldingen. Beeldschermen maken gebruik van een zogenaamd refresh proces. Dit houdt in dat de afbeeldingen op het beeldscherm een groot aantal keer per seconde worden ververst door alle beeldpunten opnieuw de juiste kleur te geven. Hierdoor wordt het mogelijk om naast statische beelden ook animaties op de beeldschermen te tonen. Dankzij deze ontwikkelingen vervult computer graphics een belangrijke rol bij het werken met computers op een gebruiksvriendelijke manier. Operating systems van computers en applicatieprogramma s kregen hierdoor een grafisch georiënteerd gebruikersinterface, waarmee opdrachten worden gegeven door het gebruik van iconen en menu s. Dit kwam in plaats van de gebruikersinterface waarmee de gebruiker door het intikken van tekst opdrachten geeft aan de computer en waarmee eveneens antwoorden ontvangen worden in de vorm van tekst. Het gebruik van grafieken en diagrammen om gegevens te presenteren werd ook een normale zaak. Het werd daarnaast geleidelijk mogelijk om met een redelijke rekentijd driedimensionale objecten realistisch op beeldschermen af te beelden. Tegenwoordig wordt 3D computer graphics onder andere gebruikt voor het weergeven van 3D objecten in Computer Aided Design (CAD) pakketten, in modeling en animatiepakketten zoals Maya en 3D Studio Max, in virtual reality applicaties en in 3D computer games. OUN 11

3 Capita selecta wiskunde Voorbeelden van het gebruik van 3D computer graphics zien we dagelijks op tv en complete 3D animatiespeelfilms, zoals Toy Story en Finding Nemo, zijn ook geen unicum meer. Op het internet zien we het gebruik van 3D computer graphics onder andere terug in de opkomst van de virtuele wereld Second Life. Figuur 0.1 en 0.2 tonen beelden van een virtual reality applicatie van de campus van de Technische Universiteit Delft. In figuur 0.1 is de situatie te zien in 2007 en in figuur 0.2 de toekomstige situatie in Figuur 0.3 toont de tram die in 2008 zal gaan rijden. Deze laatste afbeelding heeft een hogere kwaliteit onder andere te zien aan de bomen en de schaduweffecten doordat hier geen gebruik is gemaakt van (real time) virtual reality. Bij figuur 0.3 kan in plaats van enkele tientallen milliseconden veel langer gerekend worden. FIGUUR 0.1 Virtual reality demo van de huidige Mekelweg (TU Delft Virtueel) FIGUUR 0.2 Virtual reality demo van het toekomstige Mekelpark (TU Delft Virtueel) 12 OUN

4 Inleiding computer graphics FIGUUR 0.3 Tram in het toekomstige Mekelpark (TU Delft Virtueel) In het voorgaande hebben we opgemerkt dat veel van de huidige computerapplicaties gebruik maken van 2D en/of 3D computer graphics. In deze inleiding houden we ons voornamelijk bezig met 3D computer graphics. We geven geen overzicht van toepassingen van 3D graphics, maar gaan in plaats daarvan een antwoord zoeken op de vraag hoe afbeeldingen van 3D modellen kunnen worden berekend en op een beeldscherm worden weergegeven. De eerste stap bestaat uit het invoeren en in het geheugen opslaan van een model van de 3D objecten. Hiermee leggen we de scène vast die we willen presenteren. In paragraaf 1 laten we zien hoe een 3D model opgeslagen kan worden, zodat de data geschikt is om als uitgangspunt te dienen voor het berekenen van afbeeldingen. Na opslag van het model definiëren we een oogpunt (positie van de waarnemer) en plaatsen we lichtbronnen in de scène. Uit deze informatie wordt uiteindelijk een afbeelding berekend. Hierbij kunnen meerdere wegen bewandeld worden waarvan we er twee beschouwen. De eerste manier om een afbeelding van een 3D scène te berekenen is de methode van ray tracing. Het principe van ray tracing is eenvoudig, maar het algoritme vergt veel rekenkracht van de computer. Daarom is veel aandacht besteed aan methoden om ray tracing te versnellen. Het principe van ray tracing komt in paragraaf 2 aan de orde. Hierbij worden de versnellingstechnieken overigens buiten beschouwing gelaten. De tweede methode om een afbeelding van een 3D scène uit te rekenen bestaat uit de zogenaamde 3D polygon rendering pipeline of viewing pipeline. In paragraaf 3 komen de stappen uit de viewing pipeline aan de orde. De volledige viewing pipeline wordt in tegenwoordige computersystemen door de grafische kaart uitgevoerd. Doordat de 3D viewing pipeline enerzijds minder rekenintensief is dan ray tracing en anderzijds in hardware is geïmplementeerd, kunnen afbeeldingen met deze methode veel sneller worden gemaakt dan met ray tracing. De methode van ray tracing levert wel afbeeldingen van hogere kwaliteit dan met 3D viewing pipeline, doordat in ray tracing allerlei optische effecten meegenomen kunnen worden in de berekeningen, zoals in paragraaf 2 zal blijken. Ten slotte wordt in paragraaf 4 uiteengezet hoe we het realisme van objecten kunnen vergroten door hun oppervlak niet in één kleur weer te geven, maar te voorzien van een textuur. OUN 13

5 Capita selecta wiskunde LEERDOELEN Na bestudering van de deze inleiding wordt van u verwacht dat u inzicht heeft in de methoden voor het berekenen van afbeeldingen in computer graphics de relatie tussen computer graphics en lineaire algebra begrijpt. Studeeraanwijzingen Wellicht kunt u in deze inleiding nog niet alle wiskundige redeneringen en formules volgen. Dat is ook nog niet per se noodzakelijk. Probeert u de hoofdlijnen van het betoog te volgen. In het vervolg van de cursus wordt dieper op de wiskunde ingegaan. Daarna kunt u deze inleiding wel volledig volgen. L E E R K E R N 1 Invoer en opslag van 3D objecten In deze inleiding zullen wij, zoals gebruikelijk is in de computer graphics, de componenten van een vector in de driedimensionale ruimte representeren met de letters x, y en z. Dit in tegenstelling tot wat we gewend zijn in de lineaire algebra, waar de componenten van een vector in de n-dimensionale ruimte vaak worden weergegeven als x 1, x 2,..., x n. We zullen bovendien zien dat in de 3D computer graphics vaak gebruik wordt gemaakt van een vierdimensionale ruimte. De componenten van een vector worden dan aangeduid met de letters, x, y, z en h. Bij een punt P met coördinaten x, y, z, hoort een plaatsvector p, die we noteren met een kolomvector: x p = y z In de vierdimensionale ruimte wordt dit: x y p = z h In lopende tekst noteren we dat ook wel met p = (x, y, z) T en p = (x, y, z, h) T. Hiërarchisch modelleren Scène In pakketten waarmee driedimensionale objecten kunnen worden ingevoerd in de computer, zogenaamde modelingprogramma s, heeft de gebruiker vrijwel altijd de mogelijkheid om 3D objecten als een hiërarchisch model in te voeren. Het complete 3D model, dat kan bestaan uit een enkel object of meerdere objecten, zullen we de scène noemen. De gebruiker heeft bij hiërarchisch modelleren de beschikking over basisvormen (primitieven) die in de scène geplaatst kunnen worden. Meestal kan de gebruiker deze 14 OUN

6 Inleiding computer graphics objecten op de juiste positie zetten, roteren en de juiste afmetingen geven op een grafisch interactieve manier, ofwel door rechtstreeks de 3D objecten te manipuleren. Tot de primitieve objecten kunnen een bol, kubus, piramide, cilinder, kegel en eventueel ook een torus behoren. Met deze bouwstenen kan de gebruiker componenten maken door exemplaren van de primitieve objecten correct ten opzichte van elkaar te positioneren. Iedere component wordt in een eigen 3D modeling coördinatenstelsel gedefinieerd. Exemplaren van de componenten kunnen vervolgens in een nieuw modeling coördinatenstelsel worden gecombineerd tot ingewikkelder componenten. Zo kan het interieur van een klaslokaal worden gemodelleerd door eerst een tafel te modelleren door een kubus inhomogeen te schalen en als tafelblad te gebruiken en vervolgens vier getransleerde cilinders als tafelpoten te gebruiken. Uit deze vijf primitieven (een kubus en vier cilinders) hebben we het object tafel gemaakt. Een aantal exemplaren van het object tafel kunnen we vervolgens plaatsen in het coördinatenstelsel waarin we het complete klaslokaal definiëren. Andere objecten, zoals de muren, kunnen op soortgelijke manier worden toegevoegd in het coördinatenstelsel van het klaslokaal. Als ons complete model moet bestaan uit het volledige interieur van een schoolgebouw met meerdere identieke klaslokalen, dan plaatsen we meerdere exemplaren van het object klaslokaal in het coördinatenstelsel voor het gehele schoolgebouw. Op deze manier bouwen we de gehele scène als een hiërarchie van objecten. Het coördinatenstelsel waarin de gehele scène is gedefinieerd noemen we het wereldcoördinatenstelsel. Objecten die niet kunnen worden ingevoerd door primitieve objecten zoals blokken, bollen en cilinders te combineren, kunnen worden gedefinieerd met surface-modelingtechnieken. Bij surface modeling heeft de gebruiker de mogelijkheid om objectoppervlakken aan te passen door controlepunten in de ruimte te verplaatsen, wat tot gevolg heeft dat het objectoppervlak in de richting van deze punten wordt mee verplaatst. De oppervlakken die op die manier worden ingevoerd, worden intern gerepresenteerd met splineoppervlakken, een wiskundige beschrijvingsmethode voor complex gekromde oppervlakken. Zo kan de carrosserie van een auto worden gemodelleerd of de vorm van een vliegtuigvleugel. De manier waarop de 3D objecten vervolgens in het geheugen van de computer worden opgeslagen, is afhankelijk van de methode die gebruikt wordt om afbeeldingen van de objecten uit te rekenen. Wij nemen twee methoden onder de loep om 3D modellen te visualiseren, namelijk ray tracing en de 3D polygon rendering pipeline. Bij ray tracing is het handig om gekromde objectoppervlakken van primitieve objecten te beschrijven met een impliciete representatie of met een parametrische representatie. Bij de polygon rendering pipeline worden alle gekromde oppervlakken benaderd met een netwerk van platte vlakjes. We bekijken eerst hoe een object opgeslagen kan worden als we er met ray tracing een afbeelding van maken. Ray-tracingafbeeldingen uit de begintijd van de 3D computer graphics bevatten vaak een groot aantal bollen. De reden hiervoor is dat een bol het eenvoudigste object is om te ray tracen. Waarom dat zo is wordt duidelijk in paragraaf 2. OUN 15

7 Capita selecta wiskunde Impliciete representatie als P(x, y, z) een punt is met de coördinaten x, y, z, dan ligt P op het oppervlak van een bol met middelpunt M = (x M, y M, z M ) en straal r, als voldaan is aan de volgende impliciete representatie: ( x x ) + ( y y ) + ( z z ) = r M M M Parametrische representatie Een parametrische representatie voor diezelfde bol is x = x M + r cosφ cosθ y = y M + r cosφ sinθ z = z M + r sinφ waarbij parameter φ waarden aanneemt uit het interval ( π/2, π/2) en θ uit het interval ( π, π) (zie figuur 1.1). Px (, y, z) M( xm, ym, zm) φ θ FIGUUR 1.1 φ en θ voor parametrische representatie van een bol OPGAVE 1.1 Beschrijf de mantel van een cilinder met grondvlak in het xz-vlak, hoogte 5, straal van het grondvlak 2, en als middelpunt van het grondvlak het punt (1, 0, 3) met een parametrische representatie. Gekromde oppervlakken van andere objecten zoals een kegel of een torus kunnen op soortgelijke manier met een impliciete of parametrische representatie worden opgeslagen. De opslag van objecten op deze manier kost weinig geheugenruimte, maar is voor slechts een beperkt aantal vormen mogelijk. Het probleem van het beperkte vormdomein kan worden opgelost door gebruik te maken van splines om (delen van) ingewikkeld gekromde oppervlakken te representeren. Representatie van oppervlakken met splines valt buiten het kader van deze inleiding. Polygoon De representatie van objecten op de bovenbeschreven manier is niet geschikt voor het maken van afbeeldingen met de 3D viewing pipeline. Daarvoor is een benaderende representatie van de oppervlakken van de objecten met polygonen (veelhoeken) geschikter. Een polygoon kan worden opgeslagen als een geordende lijst van n 3 hoekpunten P 1, P 2,..., P n die in hetzelfde vlak liggen. De zijden van de polygoon zijn dan P 1 P 2, P 2 P 3,..., P n 1 P n en P n P 1 (zie figuur 1.2). 16 OUN

8 Inleiding computer graphics P 1 P 6 P 5 N P 1 p p 1 2 P 2 P 3 P 4 P 2 p p 3 2 P 3 FIGUUR 1.2 Polygoon P 1 P 2... P n met naar buiten gerichte normaalvector N = ( p3 p2) ( p1 p2) Vlakvergelijking ax + by + cz + d = 0 Normaalvector (a, b, c) T In de polygon rendering pipeline wordt op veel plaatsen gebruik gemaakt van een vlakvergelijking van het vlak waar de polygoon in ligt en van een naar buiten gerichte normaalvector op de polygoon. Daarom worden de coëfficiënten a, b, c en d van de vlakvergelijking ax + by + cz + d = 0 meestal ook opgeslagen. Om uit de lijst met hoekpunten een naar buiten gerichte normaalvector te kunnen bepalen, worden de hoekpunten altijd van buiten het object af beschouwd en tegen de wijzers van de klok in gedefinieerd (zie figuur 1.2). Laat p1, p2,... p n de plaatsvectoren zijn van de hoekpunten P 1, P 2,..., P n. De naar buiten gerichte normaalvector is dan gelijk aan: N = ( p3 p2) ( p1 p2) Hierin is het uitwendig product gedefinieerd door: xy 2 3 xy 3 2 x y = x3y1 x1y3 xy 1 2 xy 2 1 Er geldt voor de coëfficiënten a, b en c van de vlakvergelijking dat a b = N c We hebben hiermee drie van de vier coëfficiënten van de vlakvergelijking gevonden. Door in de vlakvergelijking behalve de gevonden waarden voor a, b en c tevens voor (x, y, z) een van de hoekpunten van het vlak in te vullen, bijvoorbeeld punt P 1, kunnen we vervolgens coëfficiënt d berekenen. OPGAVE 1.2 Gegeven zijn de punten A = (2, 3, 1), B = (2, 0, 1) en C = (0, 1, 3). Bepaal een normaalvector van het vlak ABC. Stel een vlakvergelijking op van het vlak waar driehoek ABC in ligt. OUN 17

9 Capita selecta wiskunde In figuur 1.3 is een voorbeeld gegeven van een 3D object, de lijst van coördinaten van hoekpunten en de geordende lijsten van hoekpunten per polygoon (van buiten af gezien tegen de wijzers van de klok in). P 5 hoekpunten P = (101) -,, 1 P = (10 -,,-1) 2 P = (1, 0, - 1) 3 P = (1, 0, 1) 4 P = ( 030),, 5 P 2 P 3 polygons V = PPPP V = PPP V = PPP V = PPP V = PPP P 1 P 4 FIGUUR 1.3 Geometrische informatie van een 3D object OPGAVE 1.3 Waarom wordt de polygoon V 1 in figuur 1.3 weergegeven met P 1 P 2 P 3 P 4 en niet met P 1 P 4 P 3 P 2? Naast de geometrische informatie van de objectoppervlakken in de scène (coördinaten van hoekpunten, lijsten van hoekpunten per polygoon en eventueel de coëfficiënten van vlakvergelijkingen) worden ook materiaaleigenschappen opgeslagen: kleur van het oppervlak gladheid van het oppervlak eventuele textuur (zie paragraaf 4) die op het oppervlak moet worden getoond. 2 Ray tracing Ray tracing is een methode om afbeeldingen van 3D scènes van hoge kwaliteit te maken. Bij ray tracing worden gekromde objectoppervlakken meestal niet benaderd met polygonen. In plaats daarvan vormt een beschrijving van de objecten met impliciete vergelijkingen of een parameterrepresentatie meestal het uitgangspunt. 2.1 BASISPRINCIPE VAN RAY TRACING Window Eerst wordt een oogpunt in de scène geplaatst met een of meerdere lichtbronnen. Ook wordt een projectievlak gedefinieerd en in het projectievlak een rechthoekig gebied dat we het window noemen. 18 OUN

10 Inleiding computer graphics Het window wordt verdeeld in beeldpunten, de pixels van een denkbeeldig beeldscherm dat op de plaats van het window komt te staan. Door ieder van de pixels van dit denkbeeldige beeldscherm volgen we een straal de scène in (zie figuur 2.1). FIGUUR 2.1 Principe van ray tracing De straal is een rechte lijn door het oogpunt E = (x E, y E, z E ) en een pixel P = (x p, y p, z p ). De straal kunnen we beschrijven met de vectorvoorstelling: x xe xp xe y = ye + λ yp ye z z E zp z E Voor alle objectoppervlakken van de scène berekenen we vervolgens of de straal het objectoppervlak doorsnijdt en zo ja, wat de parameterwaarde voor het snijpunt is. Deze berekeningen leiden ertoe dat we alle parameterwaarden, zeg λ 1, λ 2,..., λ n, van intersectiepunten van de straal met de oppervlakken van objecten in de scène vinden. De intersectiepunten sorteren we vervolgens op afstand vanaf de waarnemer, door de parameterwaarden te sorteren. Als λ i de kleinste parameterwaarde is, dan is het objectoppervlak waarbij deze parameterwaarde hoort, het zichtbare oppervlak in de pixel waar de straal bij hoort. Het zichtbare punt op het objectoppervlak is het punt: xe xp xe y + λ y y E i P E z E zp z E OUN 19

11 Capita selecta wiskunde Voor het zichtbare object zijn materiaaleigenschappen gegeven. Uit deze materiaaleigenschappen, de positie van het zichtbare punt in de scène, de naar buiten gerichte normaalvector op het objectoppervlak in dit punt, en de richtingen vanuit het zichtbare punt naar de lichtbronnen toe wordt met een lichtreflectiemodel (zie paragraaf 3.8) een kleur voor de pixel berekend. Als de straal door een pixel geen enkel objectoppervlak doorsnijdt, dan wordt aan de betreffende pixel de achtergrondkleur toegekend. De rekentijd van het ray-tracingalgoritme wordt bepaald door het aantal beeldpunten (pixels) van de afbeelding, het aantal objectoppervlakken in de scène en de complexiteit van deze oppervlakken. Voor iedere pixel moet namelijk voor ieder objectoppervlak een eventuele intersectie worden vastgesteld en de parameterwaarde voor het intersectiepunt worden berekend. Voor een scène met bijvoorbeeld 1000 oppervlakken waarvan een afbeelding moet worden berekend met een resolutie van 1000 bij 1000 beeldpunten, moet een miljard intersectieberekeningen worden uitgevoerd tussen een straal en een objectoppervlak. Dat is zeker voor complexe objectoppervlakken, zelfs met de rekenkracht van huidige computers een tijdrovende klus en daarom zal in een ray tracer het aantal intersectieberekeningen zoveel mogelijk worden gereduceerd. Bijvoorbeeld door het plaatsen van (groepen van) objecten in bounding volumes met eenvoudige vorm (zoals een bol). Als het bounding volume van een groep objecten niet wordt doorsneden door een straal, dan hoeven voor de individuele objecten uit de groep geen intersectieberekeningen met de straal te worden uitgevoerd, omdat de objectoppervlakken dan niet doorsneden worden. 2.2 SECUNDAIRE STRALEN Het ray tracing algoritme is eenvoudig uit te breiden tot een methode waarmee afbeeldingen kunnen worden berekend waarin rekening is gehouden met de volgende optische effecten: slagschaduw transparantie en breking weerspiegeling van de omgeving in gladde objectoppervlakken. Vanuit het oogpunt volgden we in paragraaf 2.1 een straal door een pixel van het beeldscherm en berekenden we het snijpunt met het dichtst bij het oog gelegen objectoppervlak. In figuur 2.2, 2.3 en 2.4 is dit een oppervlak van object 2. Secundaire stralen Primaire stralen Schaduwstraal De optische effecten worden berekend door vanuit het zichtbare punt van object 2 stralen verder door de ruimte te volgen. De stralen die we verder volgen noemen we secundaire stralen, terwijl we de stralen door de pixels primaire stralen noemen. Om slagschaduw te berekenen volgen we een straal vanuit het zichtbare punt op object 2 richting de lichtbron. We noemen deze straal een schaduwstraal. In figuur 2.2 snijdt deze straal een oppervlak van object 3. Dit betekent dat het punt op object 2 in de slagschaduw ligt van object 3 op object 2 met betrekking tot de betreffende lichtbron. Bij de bepaling van de kleur van de pixel tellen we daarom geen bijdrage van deze lichtbron mee. 20 OUN

12 Inleiding computer graphics FIGUUR 2.2 Secundaire stralen voor bepaling van slagschaduw Gebroken straal Om transparantie en brekingseffecten te bepalen volgen we, wanneer object 2 in figuur 2.3 van een transparant materiaal zoals glas is, een straal het transparante materiaal in. De richting is te bepalen uit de brekingsindices van lucht en het materiaal van object 2, met de brekingswet van Snellius. We noemen deze straal een gebroken straal. FIGUUR 2.3 Secundaire stralen voor bepaling van breking Van deze secundaire straal bepalen we wederom de snijpunten met alle objectoppervlakken. Het eerste objectoppervlak dat doorsneden wordt, is het oppervlak waar het licht object 2 verlaat. Vanaf dit punt volgen we een secundaire straal verder door de ruimte in een richting, bepaald met de wet van Snellius. Voor deze straal bepalen we vervolgens de snijpunten met objectoppervlakken. Dit proces kan een aantal keer worden herhaald. Hierbij moeten we in de praktijk een grens stellen aan het aantal keer dat vanaf een snijpunt secundaire stralen verder door de ruimte worden gevolgd. Voor iedere secundaire straal berekenen we een bijdrage met het lichtreflectiemodel aan de kleur van de pixel waar de primaire straal bij hoort, en mengen deze bijdrage met de kleur die we hebben bepaald voor de primaire straal. Op deze manier kunnen we objecten in de afbeelding zichtbaar maken die achter transparante materialen liggen. OUN 21

13 Capita selecta wiskunde Gespiegelde straal Om weerspiegelingen van de omgeving in gladde objectoppervlakken zichtbaar te maken volgen we, wanneer het oppervlak van object 2 in figuur 2.4 van een glimmend materiaal is, een secundaire straal verder door de ruimte. De secundaire straal wordt teruggekaatst via hoek van inval is hoek van terugkaatsing. We noemen deze straal een gespiegelde straal. Voor deze secundaire straal berekenen we wederom de snijpunten met alle objectoppervlakken in de scène. Voor de situatie in figuur 2.4 vinden we dat object 1 doorsneden wordt door de secundaire straal. Aan de kleur voor de pixel dat bij de primaire straal hoort, voegen we nu een bijdrage toe van object 1 door het lichtreflectiemodel (zie paragraaf 3.8) toe te passen. Vanuit het punt op object 1 volgen we eventueel weer een schaduwstraal, een gebroken straal (als object 1 van een transparant materiaal is) en een gereflecteerde straal verder door de ruimte. FIGUUR 2.4 Secundaire stralen voor bepaling van weerspiegelingen De berekeningen die moeten worden uitgevoerd voor een secundaire straal zijn dezelfde als die voor een primaire straal. Ook voor een secundaire straal worden de intersectiepunten met objecten in de scène berekend. Bij gebroken stralen en gespiegelde stralen worden de intersectiepunten weer gesorteerd op diepte langs de straal. Secundaire stralen kunnen leiden tot nieuwe secundaire stralen die vanaf het dichtstbijzijnde snijpunt verder door de ruimte gevolgd moeten worden. Dit proces van herhaald volgen van secundaire stralen gaat in theorie door tot in het oneindige. Denk aan het geval dat we een afbeelding willen maken van een ruimte waarin alle wanden perfecte spiegels zijn. In de praktijk stoppen we met het verder volgen van secundaire stralen als een bepaalde diepte is bereikt, ofwel als we een aantal niveaus diep secundaire stralen hebben gevolgd. De bijdrage van secundaire stralen aan de kleur van een pixel wordt naarmate de stralen meer niveaus diep zijn gevolgd, steeds kleiner. Het toevoegen van een aantal niveaus van secundaire stralen heeft gevolgen voor de rekentijd. In plaats van één miljoen stralen bij een afbeelding van 1000 bij 1000 pixels, hebben we te maken met vele miljoenen stralen, want bij een primaire straal horen (maximaal) drie secundaire stralen, waarvan er twee (de gebroken straal en de gespiegelde straal) weer kunnen leiden tot (maximaal) drie secundaire stralen die verder gevolgd moeten worden. 22 OUN

14 Inleiding computer graphics 2.3 INTERSECTIEBEREKENINGEN Een cruciaal onderdeel van het ray tracing proces is het uitvoeren van intersectieberekeningen tussen een straal en een objectoppervlak. De complexiteit van de intersectieberekening is sterk afhankelijk van de representatie van het objectoppervlak. Het eenvoudigste object in een ray tracer is een bol. De bol beschrijven we met een impliciete representatie of een parametrische representatie (zie paragraaf 1). Van een bol met middelpunt M en straal r is het zeer eenvoudig te bepalen of de bol wel of niet doorsneden wordt door de straal (lijn in 3D). De bol wordt doorsneden als geldt dat de afstand van het middelpunt van de bol tot de lijn kleiner dan of gelijk is aan de straal van de bol. Is dit het geval, dan kunnen de snijpunten met een eenvoudige berekening worden bepaald. Als we uitgaan van een impliciete representatie van de bol, dus met de vergelijking: (x x M ) 2 + (y y M ) 2 + (z z M ) 2 = r 2 en van de vectorvoorstelling x xe xp xe y = e + λ( p e) = ye + λyp ye z z E zp z E voor de straal, dan vinden we door substitutie van x, y en z in de vergelijking van de bol de volgende vierkantsvergelijking waaruit λ moet worden bepaald: 2 ( ) 2 0 e + λ p e m r = Hierin is m de plaatsvector voor het middelpunt van de bol. OPGAVE 2.1 De waarnemer bevindt zich in de oorsprong van een 3D coördinatenstelsel. Het projectievlak is het vlak z = 10. Een straal gaat voorts door het punt (1, 1, 10). In de scène bevindt zich een bol met straal 5 en het middelpunt in het punt (0, 3, 20). Bereken de intersectiepunten van de bol met de straal. Benaderen van een boloppervlak met platte vlakken is bij ray tracing ongewenst. Niet alleen hebben we dan een benadering van het boloppervlak in plaats van een exacte representatie, de berekeningen die moeten worden uitgevoerd om de bol te ray tracen zijn ook nog eens veel ingewikkelder. We moeten bij een benadering met polygonen namelijk voor iedere polygoon (en dat zijn er veel voor een redelijke benadering van een bol) het snijpunt van een lijn met het vlak waar de polygoon in ligt berekenen, of vaststellen dat de lijn en het vlak evenwijdig zijn. Vervolgens moeten we met behulp van de zijden van de polygoon nog bepalen of het gevonden snijpunt binnen of buiten de polygoon ligt. Voor een enkele polygoon leidt dit al tot meer rekenwerk dan bij de snijpuntberekening van een lijn met een bol. Voor alle polygonen tezamen waarmee het boloppervlak is benaderd, is de rekentijd derhalve een veelvoud van de rekentijd voor de intersectieberekening van een lijn met een bol. OUN 23

15 Capita selecta wiskunde Voor objecten zoals een kubus of een piramide ontkomen we echter niet aan intersectieberekeningen van een straal met een polygoon. Daarom besteden we aan deze intersectieberekening toch enige aandacht. We gaan wederom uit van de vectorvoorstelling van de straal en bepalen voor de polygoon een vlakvergelijking van het vlak waar de polygoon in ligt. Door de x-, y- en z-component van de vectorvoorstelling van de straal in te vullen in de vlakvergelijking, krijgen we een vergelijking in λ waaruit we de parameterwaarde voor het snijpunt kunnen bepalen. Invullen van de gevonden parameterwaarde in de vectorvoorstelling van de lijn levert het snijpunt op. Nu moeten we nog bepalen of het snijpunt met het vlak ook binnen de polygoon ligt. De berekening die daarvoor moet worden uitgevoerd noemen we een punt-in-polygoontest. Deze test kan op verschillende manieren worden uitgevoerd. We laten een methode zien die toepasbaar is voor convexe polygonen. Een punt P ligt in een convex polygoon P 1 P 2... P n als de som van de hoeken tussen de lijnstukken PP 1 en PP 2, PP 2 en PP 3, PP 3 en PP 4,..., PP n en PP 1 gelijk is aan 360. Figuur 2.5 laat dit zien voor een convexe vierhoek. In de situatie links is de som van de hoeken 360 omdat de hoekpunten rondom P liggen. In de situatie rechts liggen de hoekpunten niet rondom P en is de som van de hoeken niet gelijk aan 360. P 4 P 4 α 4 α 1 α 3 P P 1 P α 4 α α 1 α 3 2 P 1 α 2 P 3 P 3 P 2 P 2 FIGUUR 2.5 Punt-in-polygoontest: P in P 1 P 2 P 3 P 4 α 1 + α 2 + α 3 + α 4 = 360 De hoek ϕ tussen twee vectoren x en y kan berekend worden met: ( x, y) cosϕ = x y In de teller van deze breuk staat het inproduct van de vectoren x en y, in de noemer het product van de lengte van de vectoren. Als bijvoorbeeld x = (1, 3) T en y = (2, 1) T, dan volgt: cosϕ = = = Hieruit volgt weer dat ϕ = OUN

16 Inleiding computer graphics OPGAVE 2.2 Gegeven is driehoek P 1 P 2 P 3 met P 1 = ( 3, 0), P 2 = (2, 2) en P 3 = (5, 3). Ligt punt P = (3, 2) in deze driehoek? En punt Q = (1, 2)? Het berekenen van de intersectiepunten voor een cilinder is ingewikkelder dan voor een bol. We gaan uit van een impliciete representatie van de cilinder. Behalve de cilindermantel moeten we ook het bovenvlak en het ondervlak van de cilinder representeren (met een vlakvergelijking). Bij de bepaling van de intersectiepunten van de lijn met de cilindermantel moet, indien er intersectiepunten zijn met de onbegrensde cilinder, ook bepaald worden of de intersectiepunten tussen het bovenvlak en het ondervlak liggen. Bij de bepaling van een intersectiepunt met het bovenvlak moet tevens worden vastgesteld of dit intersectiepunt binnen het cirkelvormige gebied ligt dat de bovenkant van de cilinder vormt. Voor het ondervlak moet eenzelfde bepaling plaatsvinden. Voor complexe gekromde oppervlakken, zoals dat van een theepot, een wastafel, een vliegtuigvleugel of een scheepshuid, worden doorgaans representatiemethoden met splineoppervlakken gebruikt. Voor dit soort oppervlakken zijn de intersectieberekeningen veel ingewikkelder dan voor bijvoorbeeld bollen, cilinders of blokken. Er wordt dan vaak gebruik gemaakt van numerieke methoden om de intersectiepunten te benaderen of de complexe gekromde oppervlakken worden benaderd met bijvoorbeeld een netwerk van driehoeken waarvoor vervolgens intersectieberekeningen worden uitgevoerd. 3 De 3D polygon viewing pipeline Een snel alternatief voor ray tracing is om een verzameling van polygonen als basis te gebruiken en deze af te beelden door middel van de 3D polygon viewing pipeline. We gaan ervan uit dat de oppervlakken van alle objecten uit de scène, zoals in paragraaf 1 besproken, zijn benaderd met platte vlakken (polygonen). Per object of polygoon zijn tevens materiaaleigenschappen opgeslagen, die de kleur en gladheid van het oppervlak bepalen en tevens vaststellen of dit oppervlak is voorzien van een textuur, en zo ja welke. In deze paragraaf zien we hoe vanuit deze interne representatie afbeeldingen kunnen worden berekend van de scène. 3.1 MODELING TRANSFORMATIES Modeling coördinatenstelsels Modeling transformaties Wereldcoördinatenstelsel Ieder object is gedefinieerd in zijn eigen modeling coördinatenstelsel. Exemplaren van deze objecten (primitieven of componenten die uit deze primitieven zijn opgebouwd) worden door middel van transformaties correct gepositioneerd in coördinatenstelsels van grotere componenten, en uiteindelijk in het coördinatenstelsel waarin de gehele scène is gedefinieerd. De transformaties die objecten van het ene modeling coördinatenstelsel in het andere brengen of in het coördinatenstelsel waarin de complete scène is gedefinieerd noemen we modeling transformaties. Het coördinatenstelsel waarin uiteindelijk de gehele scène is gerepresenteerd noemen we het wereldcoördinatenstelsel. De transformaties die op de onderdelen worden uitgevoerd, moeten altijd worden uitgevoerd op punten. Het transformeren van een polygoon gebeurt namelijk door alle hoekpunten van de polygoon te transformeren. OUN 25

17 Capita selecta wiskunde Dit betekent dat we de transformaties kunnen beschrijven door te definiëren hoe een punt (x, y, z) wordt afgebeeld op zijn beeld (x', y', z') onder de betreffende transformatie. Translaties rotaties en schalingen Elementaire transformaties De soorten modeling transformaties die wij in eerste instantie beschouwen zijn translaties, rotaties en schalingen. Deze elementaire transformaties, zijn translatie over een vector, rotatie om de x-as, y-as of z-as, en schaling met schalingsfactoren in x-, y- en z-richting. Met deze elementaire transformaties kunnen we ingewikkelder transformaties realiseren door een aantal elementaire transformaties achter elkaar uit te voeren. De elementaire transformaties kunnen we definiëren met behulp van vergelijkingen. translatie over een vector t x ty : t z x' x t x y' = y+ty z' z t z rotatie over een hoek α om de x-as tegen de wijzers van de klok in: x' x y' = 0 cosα sinαy z' 0 sinα cosα z rotatie over een hoek α om de y-as tegen de wijzers van de klok in: x' cosα 0 sinα x y' = y z' sinα 0 cosαz rotatie over een hoek α om de z-as tegen de wijzers van de klok in: x' cosα sinα 0 x y' = sinα cosα 0y z' 0 0 1z schaling ten opzichte van de oorsprong met schalingsfactoren s x, s y en s z : x' s 0 0 x x y' = 0 sy 0 y z' 0 0 s z z 26 OUN

18 Inleiding computer graphics Positieve rotatierichting Bij de rotaties is de positieve rotatierichting, gezien vanaf de positieve as richting oorsprong, altijd tegen de wijzers van de klok in. De rotaties en schaling worden geschreven als een matrixvectorvermenigvuldiging, terwijl de translatie wordt geschreven als een vectoroptelling. Het feit dat de translatie als een vectoroptelling wordt geschreven heeft tot gevolg dat we samengestelde transformaties (combinaties van translaties, rotaties en schalingen) niet met een 3 bij 3 matrix kunnen representeren. Combinaties van rotaties en schalingen kunnen zoals het onderstaande voorbeeld laat zien, wel worden gerepresenteerd met een matrix. VOORBEELD De matrix voor een schaling met schalingsfactoren 1, 2 en 1 gevolgd door een rotatie om de x-as over 90, kan als volgt met een matrix worden gerepresenteerd. De matrix voor de schaling kunnen we schrijven als: S 1,2, = en die voor de rotatie als R x,90 = De matrix M voor de gevraagde combinatie van elementaire transformaties is dan: M = Rx,90 S1,2,1 = = Merk op dat de matrix van de transformatie die het eerst moet worden uitgevoerd achteraan staat. Homogene coördinaten Om translaties te kunnen combineren met rotaties en schalingen, en het resultaat dan te representeren met een matrix, maken we in het vervolg gebruik van homogene coördinaten. De homogene coördinaat biedt ons de mogelijkheid om ook de translatie te representeren met een matrix en daarmee combinaties van translaties, rotaties en schalingen. Later zullen we zien dat ook bij de projectiestap de homogene coördinaten nodig zijn. Onze 3D punten breiden we uit met een vierde coördinaat, de homogene coördinaat, waarvoor we de letter h zullen gebruiken. Een punt (x, y, z, h) in homogene coördinaten correspondeert met x y z,, h h h OUN 27

19 Capita selecta wiskunde in ons 3D coördinatenstelsel. In feite correspondeert ieder punt (λx, λy, λz, λ) in homogene coördinaten met hetzelfde punt (x, y, z) in ons 3D coördinatenstelsel. In homogene coördinaten is (λx, λy, λz, λ) een lijn door de oorsprong en het punt (x, y, z, 1). Een lijn door de oorsprong in homogene coördinaten correspondeert daarom met een punt in het 3D coördinatenstelsel. Als we een punt (x, y, z) moeten transformeren, dan gaan we als volgt te werk. We vervangen het 3D punt door een punt in homogene coördinaten dat op de lijn van punten (λx, λy, λz, λ) ligt. We mogen in principe λ willekeurig kiezen, mits we λ niet gelijk aan 0 nemen. We kiezen λ = 1. Ons punt in homogene coördinaten wordt dan (x, y, z, 1). De 4D plaatsvector van dit punt vermenigvuldigen we met de matrix M die de elementaire of samengestelde transformatie voorstelt. Het beeld heeft weer homogene coördinaat 1: x' x y' y = M z' z 1 1 Het beeld van (x, y, z) onder de transformatie M is (x', y', z'). De vraag is: Hoe ziet de matrix M voor de elementaire transformaties eruit? M is geen 3 bij 3 matrix, want dan kunnen we M niet met een 4D vector vermenigvuldigen. Het antwoord op de vraag is dat we de rotatieen schalingsmatrices moeten uitbreiden met een extra rij en een kolom tot een 4 bij 4 matrix, waarbij in de extra rij en kolom nullen staan met uitzondering van het element op de hoofddiagonaal dat gelijk aan 1 moet zijn: rotatie om x-as: rotatie om y-as: rotatie om z-as: R x as R y as R z as cosα sinα 0 = 0 sinα cosα cosα 0 sinα = sinα 0 cosα cosα sinα 0 0 sinα cosα 0 0 = OUN

20 Inleiding computer graphics schaling: S,, s s s x y z sx s 0 0 y = 0 0 sz Nu rest nog de translatie die in 3D een vectoroptelling was. In homogene coördinaten plaatsen we de translatievector in de laatste kolom van de 4 bij 4 matrix: translatie: T,, t t t x y z tx t y = t z Een punt (x, y, z) kunnen we dus transleren door de volgende vermenigvuldiging uit te voeren: x' tx x y' t y y = z' t z z Uitwerking van de vermenigvuldiging toont aan dat dit overeenkomt met de translatieformules: x' = x + t x y' = y + t y z' = z + t z Spiegeling in een vlak Samengestelde transformaties Uit de elementaire transformaties (translatie, rotatie om x-, y- of z-as en schaling) kunnen we iedere transformatie verkrijgen die we op een object willen uitvoeren om het object op de juiste plaats, in de juiste oriëntatie en op de juiste afmetingen te krijgen. Eén soort transformatie zal hier nog apart enige aandacht krijgen, namelijk de spiegeling in een vlak. Een spiegeling in het xy-vlak kan worden verkregen door de z-coördinaat van punten van het te transformeren object met 1 te vermenigvuldigen. Een spiegeling in het xy-vlak is derhalve niets anders dan een schaling met schalingsfactor 1 in de z-richting. Evenzo kunnen we spiegelen in het xzvlak door een schaling met factor 1 in de y-richting en spiegelen in het yzvlak door een schaling met factor 1 in de x-richting. Andere transformaties die we op objecten willen uitvoeren kunnen we altijd opbouwen uit een aantal elementaire transformaties. We noemen ze samengestelde transformaties. Het volgende voorbeeld illustreert dit. OUN 29

21 Capita selecta wiskunde VOORBEELD Voor de eenvoud kijken we naar een 2D situatie. We gebruiken voor 2D transformaties 3D homogene coördinaten, zoals we voor 3D transformaties 4D homogene coördinaten hebben gebruikt. We willen een spiegeling in de lijn l: 3x 4y + 2 = 0 representeren met een 3 bij 3 matrix. Hoe kunnen we deze matrix opbouwen door de transformatiematrices van een aantal elementaire 2D transformaties met elkaar te vermenigvuldigen? In figuur 3.1 zien we de lijn l en een driehoek ABC die in die lijn gespiegeld wordt met als beeld A'B C. α FIGUUR 3.1 Spiegeling in de lijn l: y = 3 4 x De lijn kan ook geschreven worden als y = 3 4 x en heeft daarom een richtingscoëfficiënt tanα = 3 4. Door gebruik van de stelling van Pythagoras kunnen we bepalen dat sinα = 3 5 en cosα = 4 5. We bouwen de transformatie nu op uit de volgende elementaire transformaties: T 1 0, 2 Deze translatie past het assenstelsel aan zodanig dat de lijn door de oorsprong gaat van het nieuwe stelsel. R α Deze rotatie past het assenstelsel aan zodanig dat de x-as van het nieuwe stelsel samenvalt met de lijn l. S 1, 1 De spiegeling wordt nu uitgevoerd in de x-as van het nieuwe assenstelsel. R α Deze rotatie past het assenstelsel aan zodanig dat de x-as weer zijn oude oriëntatie krijgt. T 1 0, 2 30 OUN

22 Inleiding computer graphics Deze translatie past het assenstelsel aan zodanig dat de x-as weer zijn oude positie krijgt. Er geldt nu voor de spiegeling in de lijn l: Sp = T R S R T l 0, α 1, 1 α 0, Alle vijf de transformaties waaruit de spiegeling is opgebouwd zijn eenvoudig te representeren met een 3 bij 3 matrix. Dit geldt ook voor de rotaties aangezien sinα en cosα bekend zijn. Na enig rekenwerk volgt: Sp l = OPGAVE 3.1 Ga na dat de hierboven gegeven matrix inderdaad de matrix is van de spiegeling in de lijn l. OPGAVE 3.2 Bereken een matrix voor de 2D rotatie om het punt (2, 3) over 90. OPGAVE 3.3 Gegeven is dat driehoek ABC met A = (2, 2), B = (5, 2) en C = (4, 4) door een transformatie met matrix M wordt afgebeeld op driehoek A'B'C' met A' = (3, 6), B' = (6, 6) en C' = (5, 10). Hierbij wordt X op X' afgebeeld voor X = A, B, C. Bepaal de matrix M. Aanwijzing: zet de drie punten A, B en C (aangevuld met homogene coördinaat 1) in de drie kolommen van een matrix X = (A, B, C). Doe hetzelfde met de drie punten A, B en C, ofwel X' = (A, B, C). De matrix M is nu de oplossing van X' = MX. We hebben nu gezien hoe we objecten die gedefinieerd zijn in hun eigen modeling coördinatenstelsel, kunnen transformeren naar het wereldcoördinatenstelsel. 3.2 DE 3D VIEWING TRANSFORMATIE 3D viewing transformatie Na de modeling transformaties is de gehele scène gerepresenteerd in het wereldcoördinatenstelsel met basis x, y, z. We voeren nu een transformatie uit op de gehele scène, de 3D viewing transformatie, die de scène overvoert naar een coördinatenstelsel, waarin de waarnemer kijkt langs de z-as, vanaf de oorsprong in de richting van de negatieve z-as (zie figuur 3.2). Door het uitvoeren van deze transformatie kunnen latere stappen uit de pipeline, waaronder de projectie (zie paragraaf 3.3) en de hidden surface removal (zie paragraaf 3.5), eenvoudiger worden uitgevoerd. OUN 31

23 Capita selecta wiskunde Viewing parameters: COP, VRP, vuv Projectievlak De eenheidsvectoren in de x-, y- en z-richting van het viewing coördinatenstelsel zullen we in het vervolg u, v en w noemen. Om de transformatiematrix te bepalen moeten we weten op welke positie (in wereldcoördinaten) de waarnemer zich bevindt, in welke richting de waarnemer kijkt, en welke richting in de 2D afbeelding naar boven toe gericht is. Deze informatie wordt gedefinieerd door de volgende viewing parameters: COP (center of projection; oogpunt), VRP (view reference point; punt waarnaar we kijken) en vuv (view up vector; vector die definieert welke richting de bovenkant wordt in de afbeelding). Het projectievlak wordt het vlak loodrecht op de kijkrichting (van COP naar VRP). We plaatsen het projectievlak zodanig dat VRP in dit vlak ligt. FIGUUR 3.2 Wereldcoördinaten en viewing coördinaten Viewing coördinatenstelsel Een basis u, v, w van ons nieuwe viewing coördinatenstelsel, waarin de waarnemer langs de z-as kijkt, definiëren we als volgt (uitgedrukt in wereldcoördinaten): w is de vector met lengte 1 gericht van VRP naar COP u is de vector met lengte 1, loodrecht op w en vuv, gedefinieerd door u = vuv w v is de vector met lengte 1, loodrecht op w en u, gedefinieerd door v = w u. De 3D viewing transformatie kunnen we nu opbouwen uit een translatie T COP, die de oorsprong van het viewing coördinatenstelsel naar de oorsprong van het wereldcoördinatenstelsel brengt en een samengestelde rotatie R, die de assen van het viewing coördinatenstelsel laat samenvallen met de assen van het wereldcoördinatenstelsel. De rotatiematrix volgt direct uit de basis u, v, w, namelijk: ux uy uz 0 vx vy vz 0 R = wx wy wz OUN

24 Inleiding computer graphics Immers, de rotatie met matrix R beeldt u af op de eenheidsvector (1, 0, 0) T in de x-richting in wereldcoördinaten, v op (0, 1, 0) T en w op (0, 0, 1) T. OPGAVE 3.4 Controleer dat u, v en w inderdaad worden afgebeeld op (1, 0, 0) T, (0, 1, 0) T en (0, 0, 1) T. Matrix voor de 3D viewing transformatie Perspectiefprojectie Parallelprojectie De matrix voor de 3D viewing transformatie is nu gelijk aan R T COP. 3.3 PROJECTIE Vervolgens moet de scène geprojecteerd worden op het projectievlak, dat loodrecht geplaatst is op de kijkrichting (van COP naar VRP). We nemen aan dat we een perspectiefprojectie willen uitvoeren. We hadden immers het oogpunt COP op eindige afstand geplaatst van de scène en een parallelprojectie kan worden beschouwd als een bijzonder geval van een perspectiefprojectie, namelijk met een oogpunt op oneindige afstand van de scène, zodat alle projectoren evenwijdig lopen. Als het oogpunt op eindige afstand staat van de scène dan komen alle projectoren, waarlangs punten in de scène geprojecteerd worden op het projectievlak, samen in het oogpunt (zie figuur 3.3). FIGUUR 3.3 Perspectiefprojectie Ook de perspectiefprojectie representeren we met een matrix. Het projectievlak heeft in viewing coördinaten de vergelijking w = d, waarbij d de afstand is van COP naar VRP en dus ook de afstand van het oogpunt naar het projectievlak. De projector door een te projecteren punt P = (u P, v P, w P ) en COP heeft de vectorvoorstelling: u u P v = λ vp w w P OUN 33

25 Capita selecta wiskunde Immers, COP is de oorsprong van het viewing coördinatenstelsel en de lijn gaat dus door de oorsprong van het viewing coördinatenstelsel. Het snijpunt van deze projector met het projectievlak vinden we door de w = d in te vullen in derde vergelijking w = λw P van de vectorvoorstelling. We vinden d λ = w P Na invullen van deze waarde van λ in de eerste en de tweede vergelijking van de vectorvoorstelling vinden we de u- en v-coördinaat van het snijpunt van de projector met het projectievlak: dup dv u=, v = w w P en natuurlijk is dwp w = = d w P P P We willen de perspectieftransformatie representeren met een 4 bij 4 matrix in homogene coördinaten. Daarom herschrijven we de vergelijkingen met w homogene coördinaat h = P als u' = up v' = vp w' = w w h = d P P Dit is in vector matrixnotatie te schrijven als u' up v' v P = w' w P h d 0 1 d De homogene coördinaat h is nu niet 1. Daarom moeten we om het 3D punt te vinden waarop (u P, v P, w P ) wordt afgebeeld, delen door de homogene coördinaat, ofwel: (u, v, w) = u' v' w',, h h h 34 OUN

26 Inleiding computer graphics Matrix voor de perspectiefprojectie We hebben een matrix voor de perspectiefprojectie gevonden. Deze is gelijk aan: M = d 0 wp d Deze matrix kan worden gebruikt voor alle punten uit de scène die moeten worden geprojecteerd. Het resultaat van de vermenigvuldiging van de matrix voor perspectiefprojectie met (u p, v p, w p, 1) T, moet nog gedeeld worden door h =, om de coördinaten van het punt in het projectievlak te vinden. Deze deling moet afzonderlijk worden uitgevoerd voor ieder te projecteren punt, immers w p, en daarmee h, heeft voor ieder te projecteren punt een andere waarde. 3.4 CLIPPING Window We hebben in paragraaf 3.2 de viewing parameters COP, VRP en vuv gedefinieerd. Deze parameters bepalen de viewing transformatie volledig. Er is echter nog niet vastgelegd hoe groot het gedeelte van het projectievlak is dat uiteindelijk moet worden afgebeeld op het beeldscherm. Dit gedeelte van het projectievlak noemen we het window (zie figuur 3.4). We leggen het window vast door het definiëren van de linkergrens, rechtergrens, ondergrens en bovengrens van dit window: windowgrenzen x wmin, x wmax, y wmin en y wmax y wmax y wmin x wmin x wmax FIGUUR 3.4 Window in het projectievlak Ook definiëren we een vlak dat dicht voor de waarnemer staat en evenwijdig is aan het projectievlak en een vlak dat ver van de waarnemer afstaat en eveneens evenwijdig is aan het projectievlak: Near plane Far plane View volume near plane z = z near far plane z = z far Deze extra viewing parameters bepalen het gedeelte van de 3D ruimte dat op het scherm afgebeeld zal worden. We noemen dit volume het view volume. Het view volume heeft de vorm van een afgeknotte piramide (zie figuur 3.5). OUN 35

27 Capita selecta wiskunde FIGUUR 3.5 Window, near plane, far plane en view volume Clipping De 3D grafische informatie die zich buiten het view volume uitstrekt, hoeft niet te worden geprojecteerd en wordt daarom verwijderd. Dit proces noemen we clipping. Clipping komt erop neer dat polygonen die geheel buiten het view volume liggen, verwijderd worden en polygonen die gedeeltelijk buiten het view volume vallen, vervangen worden door kleinere polygonen die tegen de randen van het view volume zijn afgeknipt. Het lijkt handig om de clipping stap na de perspectiefprojectie uit te voeren tegen het window, dus in 2D. Dit is echter niet het geval omdat we dan het deel van de scène dat zich voor het near plane of achter het far plane bevindt, in de afbeelding zouden terugzien. Ook het deel van de grafische informatie dat zich achter de waarnemer bevindt, zou geprojecteerd worden binnen het window en daarom gedeeltelijk zichtbaar worden. Dat laatste is duidelijk niet de bedoeling. De clipping stap moeten we daarom uitvoeren in 3D. Het lijkt nu noodzakelijk om de clipping voor de perspectiefprojectie uit te voeren. Dat doen we echter niet. In plaats daarvan bewaren we na de perspectiefprojectie de oude z-coördinaat, welke belangrijk is bij het clippen. De z-coördinaat zal bovendien verderop in het afbeeldingsproces nog gebruikt worden om te bepalen welke polygonen zichtbaar moeten zijn in de afbeelding. Dat is het geval als meerdere polygonen op hetzelfde gedeelte van het projectievlak worden afgebeeld en zich daarom vanuit de waarnemer gezien achter elkaar bevinden (zie paragraaf 3.7). De perspectiefprojectie met behoud van de oude z-coördinaat vervormt het view volume (de afgeknotte piramide) tot een rechthoekig blok (zie figuur 3.6). Tegen dit rechthoekige blok clippen we de 3D polygonen. FIGUUR 3.6 View volume voor en na perspectiefprojectie 36 OUN

IN2905-I Computer Graphics 18 juni 2008, uur.

IN2905-I Computer Graphics 18 juni 2008, uur. TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Afdeling Mediamatica IN95-I Computer Graphics 8 juni 8, 4. - 7. uur. Dit is een tentamen met 3 meerkeuzevragen Het aantal

Nadere informatie

Computer Graphics (in2770) 16 augustus 2004, uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 10

Computer Graphics (in2770) 16 augustus 2004, uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 10 TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Afdeling Mediamatica Computer Graphics (in77) 6 augustus 4, 4. - 6. uur. N.B.: Dit tentamen bestaat uit 3 opgaven Totaal

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

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

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

Computer Graphics (in2770) 3 november 2005, uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11

Computer Graphics (in2770) 3 november 2005, uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11 TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Afdeling Mediamatica Computer Graphics (in77) 3 november 5, 9. -. uur N.B.: Dit tentamen bestaat uit 3 opgaven Totaal aantal

Nadere informatie

2IV10 Instructie 3: Transformaties en viewing

2IV10 Instructie 3: Transformaties en viewing 2IV0 Instructie 3: Transformaties en viewing. Gegeven een vierkant met ribbe, waarvan de linkeronderhoek in de oorsprong ligt. α s O C B A a. Geef een transformatiematrix waarmee dit vierkant wordt getransformeerd

Nadere informatie

CTB1002 deel 1 - Lineaire algebra 1

CTB1002 deel 1 - Lineaire algebra 1 CTB100 deel 1 - Lineaire algebra 1 College 5 5 februari 014 1 Opbouw college Vandaag behandelen we hoofdstuk 1.7 en deel van 1.8 Voor de pauze: hoofdstuk 1.7 Na de pauze: hoofdstuk 1.8 Verschillende notaties

Nadere informatie

2IV10 Oefentoets 2010

2IV10 Oefentoets 2010 2IV10 Oefentoets 2010 Deze oefentoets bestaat uit drie opgaven. Bij voldoe resultaat wordt een bonuspunt toegek voor het tentamen. In alle gevallen geldt: LICHT UW ANTWOORD TOE. Gebruik waar nodig schetsen

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

Uitwerkingen voorbeeldtentamen 1 Wiskunde B 2018

Uitwerkingen voorbeeldtentamen 1 Wiskunde B 2018 Uitwerkingen voorbeeldtentamen 1 Wiskunde B 2018 Vraag 1a 4 punten geeft ; geeft dus in punt A geldt ;, dus en Dit geeft Vraag 1b 4 punten ( ) ( ) ( ) Vraag 1c 4 punten ( ). Dit is de normaalvector van

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

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

2IV10 Oefentoets uitwerking

2IV10 Oefentoets uitwerking 2IV10 Oefentoets uitwerking Deze oefentoets bestaat uit drie opgaven, waarvoor twee uur beschikbaar is. Bij voldoende resultaat wordt een bonuspunt toegekend voor het tentamen. De opgaven betreffen een

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

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

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

wiskunde B havo 2015-II

wiskunde B havo 2015-II Veilig vliegen De minimale en de maximale snelheid waarmee een vliegtuig veilig kan vliegen, zijn onder andere afhankelijk van de vlieghoogte. Deze hoogte wordt vaak weergegeven in de Amerikaanse eenheid

Nadere informatie

Lineaire algebra I (wiskundigen)

Lineaire algebra I (wiskundigen) Lineaire algebra I (wiskundigen) Toets, donderdag 22 oktober, 2009 Oplossingen (1) Zij V het vlak in R 3 door de punten P 1 = (1, 2, 1), P 2 = (0, 1, 1) en P 3 = ( 1, 1, 3). (a) Geef een parametrisatie

Nadere informatie

TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica - Afdeling Mediamatica

TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica - Afdeling Mediamatica TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica - Afdeling Mediamatica Computer Graphics (in77) juni 3, 9. -. uur. N.B.: Dit tentamen bestaat uit 3 opgaven Totaal aantal

Nadere informatie

Voorbeeldopgaven Meetkunde voor B

Voorbeeldopgaven Meetkunde voor B Voorbeeldopgaven Meetkunde voor B Hoofdstuk 2: Opgave 2 1 Gegeven zijn de vlakken U : x + y + z = 0 en V : x y + az = 0 waarbij a een parameter is. a) Bereken de cosinus van de hoek tussen de twee vlakken

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

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 3 J.Keijsper

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

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

Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen.

Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen. Examen HAVO 05 tijdvak donderdag 8 juni 3.30-6.30 uur wiskunde B Bij dit examen hoort een uitwerkbijlage. Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen. Dit examen

Nadere informatie

uuur , DF en DB met kentallen. b) Laat zien door twee keer de stelling van Pythagoras in een rechthoekige uuur

uuur , DF en DB met kentallen. b) Laat zien door twee keer de stelling van Pythagoras in een rechthoekige uuur 4 Van D naar 3D Verkennen Van D naar 3D Inleiding Verkennen Bekijk de applet. Met de rechter muisknop kun je het assenstelsel om de oorsprong draaien en de fig van alle kanten bekijken. Beantwoord nu de

Nadere informatie

Examen HAVO. wiskunde B. tijdvak 2 woensdag 18 juni uur. Bij dit examen hoort een uitwerkbijlage.

Examen HAVO. wiskunde B. tijdvak 2 woensdag 18 juni uur. Bij dit examen hoort een uitwerkbijlage. Examen HAVO 2014 tijdvak 2 woensdag 18 juni 13.30-16.30 uur wiskunde B Bij dit examen hoort een uitwerkbijlage. Dit examen bestaat uit 19 vragen. Voor dit examen zijn maximaal 77 punten te behalen. Voor

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

(2) Stel een parametervoorstelling op van de doorsnijdingskromme van sfeer en cilinder in de voorkeurpositie.

(2) Stel een parametervoorstelling op van de doorsnijdingskromme van sfeer en cilinder in de voorkeurpositie. Vraag op 5 punten de sfeer met middelpunt in,, 4 en straal 6; de omwentelingscilinder met straal 6 en als as de rechte door,, met richtingsvector,, Bepaal een affiene transformatie of een coördinatentransformatie,

Nadere informatie

Tentamen 2IV10 Computergrafiek

Tentamen 2IV10 Computergrafiek Tentamen IV Computergrafiek 8 augustus 8, 4:-7: uur Dit tentamen bestaat uit vier vragen met in totaal 5 deelvragen. Elke deelvraag weegt even zwaar. In alle gevallen geldt: LICHT UW ANTWOORD TOE. Gebruik

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

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

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

CTB1002 deel 1 - Lineaire algebra 1

CTB1002 deel 1 - Lineaire algebra 1 CTB1002 deel 1 - Lineaire algebra 1 College 6 27 februari 2014 1 Opbouw college Vandaag behandelen we de rest van hoofdstuk 1.8 en 1.9 Voor de pauze: hoofdstuk 1.8 Na de pauze: hoofdstuk 1.9 2 Transformatie

Nadere informatie

Vierde huiswerkopdracht Lineaire algebra 1

Vierde huiswerkopdracht Lineaire algebra 1 Vierde huiswerkopdracht Lineaire algebra December, 00 Opgave : Voor positieve gehele getallen m, n schrijven we Mat(m n, R) voor de vectorruimte van alle m n matrices, met de gebruikelijke optelling en

Nadere informatie

Raytracing. Codeboekje. Didier Collard Simon Koolstra

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

Nadere informatie

Computer Graphics (in2770) 15 juni 2004, uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11

Computer Graphics (in2770) 15 juni 2004, uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11 TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Afdeling Mediamatica Computer Graphics (in77) 5 juni 4, 4. - 6. uur. N.B.: Dit tentamen bestaat uit 3 opgaven Totaal aantal

Nadere informatie

IJkingstoets Wiskunde-Informatica-Fysica 1 juli 2015 Oplossingen

IJkingstoets Wiskunde-Informatica-Fysica 1 juli 2015 Oplossingen IJkingstoets Wiskunde-Informatica-Fysica 1 juli 15 Oplossingen IJkingstoets wiskunde-informatica-fysica 1 juli 15 - p. 1/1 Oefening 1 Welke studierichting wil je graag volgen? (vraag zonder score, wel

Nadere informatie

Ruimtemeetkunde deel 1

Ruimtemeetkunde deel 1 Ruimtemeetkunde deel 1 1 Punten We weten reeds dat Π 0 het meetkundig model is voor de vectorruimte R 2. We definiëren nu op dezelfde manier E 0 als meetkundig model voor de vectorruimte R 3. De elementen

Nadere informatie

De twee schepen komen niet precies op hetzelfde moment in S aan.

De twee schepen komen niet precies op hetzelfde moment in S aan. Gevaar op zee Schepen die elkaar te dicht naderen worden gewaarschuwd door de kustwacht. Wanneer schepen niet op zo n waarschuwing hebben gereageerd, stelt de Inspectie Verkeer en Waterstaat een onderzoek

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

Ruimtewiskunde. college 3 Lijnen, vlakken en oppervlakken in de ruimte. Vandaag

Ruimtewiskunde. college 3 Lijnen, vlakken en oppervlakken in de ruimte. Vandaag college 3 Lijnen, vlakken en in de collegejaar : 16-17 college : 3 build : 6 juni 2017 slides : 37 Vandaag 1 Lijnen 2 Vlakken 3 4 Toepassing: perspectivische.16-17[3] 1 vandaag Lijnen in het platte vlak

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

Stelling 1.5 Geven isometrieën J 1 en J 2 hetzelfde beeld in drie punten die niet op één lijn liggen, dan zijn ze identiek. Bewijs. De isometrie J 1 2

Stelling 1.5 Geven isometrieën J 1 en J 2 hetzelfde beeld in drie punten die niet op één lijn liggen, dan zijn ze identiek. Bewijs. De isometrie J 1 2 Lesbrief 8 Isometrieën 1 Inleiding Een één-éénduidige afbeelding van het vlak op zichzelf heet een transformatie van het vlak. Als T 1 en T 2 transformaties zijn, wordt de transformatie T 1 gevolgd door

Nadere informatie

Uitleg van de Hough transformatie

Uitleg van de Hough transformatie Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een

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

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

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

IJkingstoets Wiskunde-Informatica-Fysica 29 juni Nummer vragenreeks: 1

IJkingstoets Wiskunde-Informatica-Fysica 29 juni Nummer vragenreeks: 1 IJkingstoets Wiskunde-Informatica-Fysica 29 juni 206 Nummer vragenreeks: IJkingstoets wiskunde-informatica-fysica 29 juni 206 - reeks - p. /0 Oefening Welke studierichting wil je graag volgen? (vraag

Nadere informatie

Cabri werkblad Lineaire transformaties met Cabri

Cabri werkblad Lineaire transformaties met Cabri Cabri werkblad Lineaire transformaties met Cabri Doel Introductie tot lineaire transformaties in het platte vlak op basis van matrices, met gebruikmaking van het programma Cabri Geometry II (of Plus).

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

Uitwerkingen voorbeeldtentamen 2 Wiskunde B 2018

Uitwerkingen voorbeeldtentamen 2 Wiskunde B 2018 Uitwerkingen voorbeeldtentamen 2 Wiskunde B 2018 Vraag 1a 4 punten Voor geldt: ( )( ) ( ) ( ( ) ) ( ) ( ) ( ) Alternatief: ( )( ) Vraag 1b 4 punten Voor geldt: met geeft, en ook. De perforatie van zowel

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

Niet meer dan drie tetraëders in één kubus

Niet meer dan drie tetraëders in één kubus Niet meer dan drie tetraëders in één kubus or Hurkens januari 008 Samenvatting Een opgave door Jan van de raats gesteld luidt als volgt: Hoeveel tetraëders met zijde een kun je stapelen in een eenheidskubus?

Nadere informatie

Opgave 1 Bestudeer de Uitleg, pagina 1. Laat zien dat ook voor punten buiten lijnstuk AB maar wel op lijn AB geldt: x + 3y = 5

Opgave 1 Bestudeer de Uitleg, pagina 1. Laat zien dat ook voor punten buiten lijnstuk AB maar wel op lijn AB geldt: x + 3y = 5 2 Vergelijkingen Verkennen Meetkunde Vergelijkingen Inleiding Verkennen Beantwoord de vragen bij Verkennen. Uitleg Meetkunde Vergelijkingen Uitleg Opgave Bestudeer de Uitleg, pagina. Laat zien dat ook

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 Middelpunten. Verkennen. Uitleg

1 Middelpunten. Verkennen. Uitleg 1 Middelpunten Verkennen Middelpunten Inleiding Verkennen Probeer vanuit drie gegeven punten (niet op één lijn) die op een cirkel moeten liggen het middelpunt van die cirkel te construeren. Je kunt hem

Nadere informatie

Examen Meetkunde, 1ste bach ir wet Academiejaar , tweede examenperiode

Examen Meetkunde, 1ste bach ir wet Academiejaar , tweede examenperiode Examen Meetkunde, 1ste bach ir wet Academiejaar 2006 2007, tweede examenperiode Vraag 1 De doorsnijdingskromme C van de volgende twee oppervlakken: het omwentelingskegeloppervlak K met de Z-as als omwentelingsas

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

Computer Graphics (in2770) 19 januari 2006, 19:00 21:00 uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11

Computer Graphics (in2770) 19 januari 2006, 19:00 21:00 uur. Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11 TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Afdeling Mediamatica Computer Graphics (in277) 9 januari 26, 9: 2: uur N.B.: Dit tentamen bestaat uit 3 opgaven Totaal aantal

Nadere informatie

Uitwerkingen oefeningen hoofdstuk 4

Uitwerkingen oefeningen hoofdstuk 4 Uitwerkingen oefeningen hoofdstuk 4 4.4.1 Basis Lijnen en hoeken 1 Het assenstelsel met genoemde lijnen ziet er als volgt uit: 4 3 2 1 l k -4-3 -2-1 0 1 2 3 4-1 -2-3 n m -4 - Hieruit volgt: a Lijn k en

Nadere informatie

Open het programma Geogebra. Het beginscherm verschijnt. Klik voordat je verder gaat met je muis ergens in het

Open het programma Geogebra. Het beginscherm verschijnt. Klik voordat je verder gaat met je muis ergens in het Practicum I Opgave 1 Tekenen van een driehoek In de opgave gaan we op twee verschillende manieren een driehoek tekenen. We doen dit door gebruik te maken van de werkbalk (macrovenster) en van het invoerveld.

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

Pascal en de negenpuntskegelsnede

Pascal en de negenpuntskegelsnede Pascal en de negenpuntskegelsnede De zijden van driehoek ABC hierboven vatten we op als lijnen en niet als lijnstukken. De middens van de lijnstukken AB, BC en CA zijn D, E en F. De middens van de lijnstukken

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

Handig met getallen 4 (HMG4), onderdeel Meetkunde

Handig met getallen 4 (HMG4), onderdeel Meetkunde Handig met getallen 4 (HMG4), onderdeel Meetkunde Erratum Meetkunde Je vindt hier de correcties voor Handig met getallen 4 (ISBN: 978 94 90681 005). Deze correcties zijn ook bedoeld voor het Rekenwerkboek

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

13 Vlaamse Wiskunde Olympiade : Tweede ronde.

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

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

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

Examen HAVO. wiskunde B. tijdvak 2 woensdag 24 juni 13.30-16.30 uur. Bij dit examen hoort een uitwerkbijlage.

Examen HAVO. wiskunde B. tijdvak 2 woensdag 24 juni 13.30-16.30 uur. Bij dit examen hoort een uitwerkbijlage. Examen HAVO 009 tijdvak woensdag 4 juni 3.30-6.30 uur wiskunde B Bij dit examen hoort een uitwerkbijlage. Dit examen bestaat uit 9 vragen. Voor dit examen zijn maximaal 8 punten te behalen. Voor elk vraagnummer

Nadere informatie

Werkblad Cabri Jr. Rotaties

Werkblad Cabri Jr. Rotaties Werkblad Cabri Jr. Rotaties Doel Het onderzoeken van de eigenschappen van een rotatie in het platte vlak, in het bijzonder de relatie tussen origineel en beeld. Inleiding Een rotatie is één van de vier

Nadere informatie

Eliminatie van parameters en substitutie met computeralgebra

Eliminatie van parameters en substitutie met computeralgebra Eliminatie van parameters en substitutie met computeralgebra Guido Herweyers, KHBO Campus Oostende Dirk Janssens, K.U.Leuven 1. Inleiding Uitgaande van parametervergelijkingen van rechten en vlakken illustreren

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

vandaag is Annie twee jaar jonger dan Ben en Cees samen

vandaag is Annie twee jaar jonger dan Ben en Cees samen Hoofdstuk I Lineaire Algebra Les 1 Stelsels lineaire vergelijkingen Om te beginnen is hier een puzzeltje: vandaag is Annie twee jaar jonger dan Ben en Cees samen over vijf jaar is Annie twee keer zo oud

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

Eerste orde partiële differentiaalvergelijkingen

Eerste orde partiële differentiaalvergelijkingen Eerste orde partiële differentiaalvergelijkingen Vakgroep Differentiaalvergelijkingen 1995, 2001, 2002 1 Eerste orde golf-vergelijking De vergelijking au x + u t = 0, u = u(x, t), a ɛ IR (1.1) beschrijft

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

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

Noordhoff Uitgevers bv

Noordhoff Uitgevers bv Vlak en kegel bladzijde a Als P ( x,, ) de projectie van P op het Ox-vlak is, dan is driehoek OP P een gelijkbenige rechthoekige driehoek met OP P = Dan is OP = x + en is PP = z Met de stelling van Pthagoras

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

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

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

1 Vlaamse Wiskunde Olympiade : eerste ronde

1 Vlaamse Wiskunde Olympiade : eerste ronde 1 Vlaamse Wiskunde Olympiade 2005-2006: eerste ronde 1 11 3 11 = () 11 2 3 () 11 5 6 () 11 1 12 11 1 4 11 1 6 2 ls a en b twee verschillende reële getallen verschillend van 0 zijn en 1 x + 1 b = 1, dan

Nadere informatie

Checklist Wiskunde B HAVO HML

Checklist Wiskunde B HAVO HML Checklist Wiskunde B HAVO 4 2014-2015 HML 1 Hoofdstuk 1 Lineaire vergelijkingen en lineaire ongelijkheden oplossen. Wanneer klapt het teken om? Haakjes en breuken wegwerken. Ontbinden in factoren: x buiten

Nadere informatie

Cabri werkblad Lineaire transformaties met Cabri

Cabri werkblad Lineaire transformaties met Cabri Cabri werkblad Lineaire transformaties met Cabri Doel Introductie tot lineaire transformaties in het platte vlak op basis van matrices, met gebruikmaking van het programma Cabri Geometry II (of Plus).

Nadere informatie

1 Eigenwaarden en eigenvectoren

1 Eigenwaarden en eigenvectoren Eigenwaarden en eigenvectoren Invoeren van de begrippen eigenwaarde en eigenvector DEFINITIE Een complex (of reëel getal λ heet een eigenwaarde van de n n matrix A als er een vector x is met Ax = λx Dan

Nadere informatie

7 Totaalbeeld. Samenvatten. Achtergronden. Testen

7 Totaalbeeld. Samenvatten. Achtergronden. Testen 7 Totaalbeeld Samenvatten Je hebt nu het onderwerp "Vectormeetkunde" doorgewerkt. Er moet een totaalbeeld van deze leerstof ontstaan... Ga na, of je al de bij dit onderwerp horende begrippen kent en weet

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

2. Transformaties en matrices

2. Transformaties en matrices Transformaties en matrices Lineaire afbeelding Onder een lineaire afbeelding van R n naar R m verstaan we een functie A die aan iedere vector uit R n een vector uit R m toevoegt en van het volgende type

Nadere informatie

Ruimtemeetkunde. (

Ruimtemeetkunde. ( Ruimtemeetkunde (http://wwwboredpandacom/3d-lines-notepad-drawings-5-years-old-joao-carvalho/) ) Herhaling a) Grondbegrippen en notaties In de ruimtemeetkunde zijn de bouwstenen punten, rechten en vlakken

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

3 Cirkels, Hoeken en Bogen. Inversies.

3 Cirkels, Hoeken en Bogen. Inversies. 3 Cirkels, Hoeken en Bogen. Inversies. 3.1. Inleiding Het derde college betreft drie onderwerpen (hoeken, bogen en inversies), die in concrete meetkundige situaties vaak optreden. Dit hoofdstuk is bedoeld

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

Efficientie in de ruimte - leerlingmateriaal

Efficientie in de ruimte - leerlingmateriaal Junior College Utrecht Efficientie in de ruimte - leerlingmateriaal Versie 2 September 2012 Een project (ruimte-)meetkunde voor vwo-leerlingen Geschreven voor het Koningin Wilhelmina College Culemborg

Nadere informatie

ProefToelatingstoets Wiskunde B

ProefToelatingstoets Wiskunde B Uitwerking ProefToelatingstoets Wiskunde B Hulpmiddelen :tentamenpapier,kladpapier, een eenvoudige rekenmachine (dus geen grafische of programmeerbare rekenmachine) De te bepalen punten per opgave staan

Nadere informatie

Bewerkingen met krachten

Bewerkingen met krachten 21 Bewerkingen met krachten Opgeloste Vraagstukken 2.1. Bepaal het moment van de kracht van 2N uir Fig. 2-3 rond het punt O. Laat de loodrechte OD neer vanuit O op de rechte waarlangs de kracht van 2N

Nadere informatie

Morenaments Ornamenten met symmetrie. Werkblad vooraf met begeleidende tekst en oplossingen

Morenaments Ornamenten met symmetrie. Werkblad vooraf met begeleidende tekst en oplossingen Morenaments Ornamenten met symmetrie Fien Aelter, Liesje Knaepen en Kristien Vanhuyse, studenten SLO wiskunde KU Leuven Werkblad vooraf met begeleidende tekst en oplossingen Dit werklad is een voorbereiding

Nadere informatie