Tentamen 2IV10 Computergrafiek

Vergelijkbare documenten
2IV10 Oefentoets uitwerking

Tentamen 2IV10 Computergrafiek

Tentamen 2IV10 Computergrafiek

2IV10 Oefentoets 2010

wiskunde B havo 2015-II

Examen Lineaire Algebra en Meetkunde Tweede zit (13:30-17:30)

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.

Voorbereidende sessie toelatingsexamen

Hoofdstuk 1 LIJNEN IN. Klas 5N Wiskunde 6 perioden

Hoofdstuk 6 : Vectormeetkunde

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

Examen VWO. wiskunde B (pilot) tijdvak 1 woensdag 18 mei uur

Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen.

IJkingstoets Wiskunde-Informatica-Fysica juli 2018: algemene feedback

wiskunde B pilot havo 2015-II

2IV10 Instructie 4: Geometrie 1

Examen VWO. wiskunde B. tijdvak 1 woensdag 18 mei 13:30-16:30 uur. Bij dit examen hoort een uitwerkbijlage.

Examen VMBO-KB. wiskunde CSE KB. tijdvak 1 donderdag 22 mei uur. Bij dit examen hoort een uitwerkbijlage.

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

IJkingstoets Wiskunde-Informatica-Fysica september 2017: algemene feedback

Actief gedeelte - Maken van oefeningen

Examen VMBO-GL en TL 2008 wiskunde CSE GL en TL tijdvak 1 donderdag 22 mei uur

Examen VWO. wiskunde B. tijdvak 1 woensdag 18 mei 13:30-16:30 uur. Bij dit examen hoort een uitwerkbijlage.

Examen VWO. wiskunde B (pilot) tijdvak 2 woensdag 21 juni uur

Examen VWO. wiskunde B (pilot) tijdvak 2 woensdag 18 juni uur

IJkingstoets burgerlijk ingenieur juli 2015: algemene feedback

IJkingstoets burgerlijk ingenieur juli 2015: algemene feedback

Eindexamen wiskunde vmbo gl/tl I OVERZICHT FORMULES: omtrek cirkel = π diameter. oppervlakte cirkel = π straal 2

Paragraaf 10.1 : Vectoren en lijnen

wiskunde B pilot vwo 2017-II

HOEKEN, AFSTANDEN en CIRKELS IN Klas 5N Wiskunde 6 perioden

De vergelijking van Antoine

Lijnen, vlakken, normaalvector, shading

wiskunde CSE GL en TL

wiskunde B vwo 2016-I

13 Vlaamse Wiskunde Olympiade : Tweede ronde.

IJkingstoets Industrieel ingenieur

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

Examen VWO. Wiskunde B Profi

De parabool en de cirkel raken elkaar in de oorsprong; bepaal ook de coördinaten van de overige snijpunten A 1 en A 2.

Paragraaf 4.1 : Gelijkvormigheid

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

Uitwerking oefeningen Inleiding TT - Computer Graphics

VAK: Mechanica - Sterkteleer HWTK

Ijkingstoets industrieel ingenieur aangeboden door UGent en VUB op 30 juni 2014: algemene feedback

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen

Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen.

IJkingstoets burgerlijk ingenieur juni 2014: algemene feedback

Kyra van Leeuwen (Nederlands Jeugdkampioen golf van 2002 tot en met 2004)

Uitgewerkte oefeningen

TENTAMEN LINEAIRE ALGEBRA 1 donderdag 23 december 2004,

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

Deeltoets II E&M & juni 2016 Velden en elektromagnetisme

Examen VWO. wiskunde B (pilot) tijdvak 1 woensdag 13 mei uur. Bij dit examen hoort een uitwerkbijlage.

1 Vlaamse Wiskunde Olympiade : eerste ronde

IJkingstoets Wiskunde-Informatica-Fysica juli 2019: algemene feedback

Examen VWO. wiskunde B (pilot) tijdvak 2 woensdag 18 juni uur. Achter dit examen is een erratum opgenomen.

dx; (ii) * Bewijs dat voor elke f, continu ondersteld in [0, a]: dx te berekenen.(oef cursus) Gegeven is de bepaalde integraal I n = π

Eindexamen vwo wiskunde B pilot 2013-I

6 Ligging. Verkennen. Uitleg

IJkingstoets Wiskunde-Informatica-Fysica 1 juli 2015 Oplossingen

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 2 Dinsdag 22 juni uur

Per nieuwe hoofdvraag een nieuwe bladzijde gebruiken. De vragen hoeven niet in de juiste volgorde te worden opgelost.

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 1 Dinsdag 31 mei uur

Eindexamen wiskunde B havo II

Mechanica - Sterkteleer - HWTK PROEFTOETS versie C - OPGAVEN en UITWERKINGEN.doc 1/16

2 Inproduct. Verkennen. Uitleg

Vectoranalyse voor TG

Tentamen Lineaire Algebra UITWERKINGEN

Examen VWO. wiskunde B. tijdvak 2 woensdag 21 juni uur. Bij dit examen hoort een uitwerkbijlage.

Naam:... Studentnummer:...

Oefenexamen wiskunde vmbo-tl Onderwerp: meetkunde H2 H6 H8 Antwoorden: achterin dit boekje

IJkingstoets Wiskunde-Informatica-Fysica juli 2017: algemene feedback

x D In de punten A en B grijpt respectivelijk een vertikale constante kracht F 1 en F 2 aan.

4.0 Voorkennis. 1) A B AB met A 0 en B 0 B B. Rekenregels voor wortels: Voorbeeld 1: Voorbeeld 2: Willem-Jan van der Zanden

vwo wiskunde b Baanversnelling de Wageningse Methode

Eindexamen vwo wiskunde B 2013-I

Achter het correctievoorschrift is een aanvulling op het correctievoorschrift opgenomen.

8.1 Rekenen met complexe getallen [1]

Eindexamen wiskunde B1-2 vwo 2005-I

De parabool en de cirkel raken elkaar in de oorsprong; bepaal ook de coördinaten van de overige snijpunten A 1 en A 2.

Voorbereiding toelatingsexamen arts/tandarts. Wiskunde: goniometrie en meetkunde. 15 september dr. Brenda Casteleyn

Examen VWO. wiskunde B. tijdvak 2 woensdag 19 juni uur. Bij dit examen hoort een uitwerkbijlage.

Creëer oppervlakken.

Eindexamen wiskunde B1-2 vwo 2002-I

Voorbeeldopgaven Meetkunde voor B

2IV10 Instructie 3: Transformaties en viewing

Hoofdstuk 10 Meetkundige berekeningen

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

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 2 Woensdag 20 juni uur

Eindexamen wiskunde B1-2 vwo 2005-I

Extra oefenmateriaal H10 Kegelsneden

Ijkingstoets industrieel ingenieur UGent/VUB, september 2015

wiskunde B vwo 2018-I

IJkingstoets Industrieel Ingenieur. Wiskundevragen

Calculus I, 19/10/2015

Formuleverzameling. Logaritmische en exponentie le functie. Trigoniometrische functies. Sinus-en cosinusregel in een driehoek.

Transcriptie:

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 waar nodig schetsen om het antwoord te verhelderen. Lees eerst de vragen in zijn geheel door. Als om een procedure wordt gevraagd, dan wordt een beschrijving in stappen of in pseudo-code verwacht, die zodanig helder is dat omzetten naar echte code triviaal is. Streef naar compactheid en helderheid. Gebruik hulp-procedures indien gewenst. Gebruik van het boek, aantekeningen, kopieën van sheets en ander materiaal is niet toegestaan. Gewenst is om een camera langs een sportveld te modelleren en af te beelden. De camera is gemonteerd op een karretje op rails dat langs het veld kan bewegen (vrijheidsgraad s. Op het karretje staat een verticale pilaa die om zijn lengte-as kan roteren (α. Bovenaan de pilaar bevindt zich een horizontaal scharnier (β, waaraan een arm is bevestigd. Aan het uiteinde van de arm bevindt zich een camera, die loodrecht gemonteerd is op de arm. C β D D B α s A a Geef een recept voor het bepalen van de posities van de aangegeven punten A, B, C en D. Neem aan dat de z-as omhoog is gericht, definieer zelf waar nodig overige coördinatenstelsels. Gegeven is verder dat A-B = a, C-B = b en D-C = c. Als matrices worden gebruikt, dan dient de inhoud van matrices expliciet te worden gegeven, maar matrixvermenigvuldigingen hoeven niet te worden uitgewerkt. We kiezen de x-as langs de rails, en de y-as daar loodrecht op. We krijgen dan eenvoudig A=(s,, en B=(s,, a. Voor het bovenstuk definiëren we een apart assenstelsel, met B als oorsprong en waarbij de z-as langs de lijn B-C loopt. Een transformatiematrix hiervoor is M = Tra( x,( s,, a Rot( z, α Rot( y, β π, ofwel M = s cosα sinα a sinα cosα cos( β π sin( β π sin( β π cos( β π.

De punten C en D volgen dan uit C = M ( b T T en D = M ( c b. b Gewenst is dat het uiteinde van de lens van de camera schematisch wordt weergegeven als een cirkel met straal r om het punt D (zie zijaanzicht. Geef een recept voor het tekenen van deze cirkel, gebruikmakend van een procedure DrawLine(P, Q: PointD. We gebruiken de matrix M om twee punten op de cirkel te verkrijgen: E = M ( c r b T T en F = M ( c b + r. We gebruiken deze punten voor het uittekenen van de cirkel en wel als volgt: Function Pcircle(ang: real: Point; Pcircle := D + cos(ang(e-d + sin(ang(f-d end; N := 4; For i := to N- do DrawLine(Pcircle(i*π/N, Pcircle((i+*π/N; c Gewenst is dat de drie segmenten A-B, B-C en C-D door draadmodellen van (overlappende balken worden getoond. Elke balk heeft een vierkante dwarsdoorsnede met zijde d. Geef een procedure voor het tekenen van deze balken, gebruikmakend van een procedure DrawLine(P, Q: PointD. Gebruik waar nodig hulpprocedures. We maken eerst een procedure voor het tekenen van een balk. Neem aan dat de hartlijn van een punt P naar een punt Q loopt, en dat er bij het en eind steeds twee zijden horizontaal zijn. We krijgen dan: TekenBalk(P, Q: PointD; // Definieer hulpvectoren U, V en W r := d/; // helft doorsnede U:= Q P; // Langs de balk V := r U (,, / U (,, // Horizontale vector met lengte loodrecht op U W:= r U W/ U W // Loodrecht op U en V, lengte r // Definieer startzijde Q[] := P + V + W; Q[] := P + V W; Q[] := P V W; Q[] := P V + W; // Teken balk For i := to do end; end; DrawLine(Q[i], Q[(i + mod 4]; // onderkant DrawLine(Q[i], Q[i] + U; // zijkant DrawLine(Q[i] + U, Q[(i + mod 4] + U; // bovenkant De segmenten kunnen we nu tekenen door deze functie drie keer aan te roepen: TekenBalk(A, B;

TekenBalk(B, C; TekenBalk(C, D; d Gegeven een bepaalde instelling voor de drie vrijheidsgraden s, α en β, bepaal of de camera op een punt op het grondvlak is gericht, en zo ja, bereken dit punt. We hebben in vraag a punt C en D berekend, op basis van de vrijheidsgraden. Als Dz < Cz, dan staat de camera naar beneden gericht. De zichtlijn van de camera heeft de vergelijking Q(t = C + (D Ct. Het raakpunt volgt uit Qz(t =, ofwel, t = Cz / (Dz Cz. Invullen van deze waarde in Q(t geeft het gevraagde punt. Gewenst is om een rotatie-symmetrische koepel af te beelden. Een doorsnede van de koepel door de rotatie-as is een parabool (denk aan y = x. De rotatie-as van de koepel heeft de richting van de z- as. Het hoogste punt van de koepel ligt op het punt (,, h, de diameter op het grondvlak (XOYvlak is d. a Geef een impliciete beschrijving van het oppervlak van de koepel, met andere woorden als een stelsel van of meer vergelijkingen en ongelijkheden in x, y en z. De vorm van de parabool is z = Ar + B, met r = x + y. Er dient te gelden dat z = h als r=, dus B=h. Als z=, dan geldt r = d/, dus Ad / 4 + h =, ofwel, A = 4h / d. Het oneindige koepeloppervlak wordt dus beschreven door: z = 4h (x + y / d + h, om er een eindig oppervlak van te maken is verder vereist dat z. b Geef een expliciete, parametrische beschrijving van de koepel, met een rotatiehoek als een van de parameters. Dit kan door een reeks cirkels evenwijdig met het XOY-vlak te definiëren, waarbij de afstand tot dat vlak afhankelijk is van de straal volgens z = Ar + B, met r = x + y (zie vraag a. Ofwel: P( = (r cos v, r Ar + B, met r d en v π. c Neem aan dat een procedure DrawTriangle(P, Q, R: Pointd beschikbaar is. Geef een procedure om de koepel te tekenen, met instelbare nauwkeurigheid. We gaan uit van de parametrische definitie. We nemen N stappen voor de straal en M stappen voor de omtrek. Met een dubbele loop wandelen we over het oppervlak, we definiëren daar vierzijdige facetten en tekenen die als driehoeken: for i := to N do for j := to M do r := i*d/(n; r := (i+*d/(n; // bereken de straal (kan natuurlijk ook buiten de binnenloop v := j*π/m; v := (j+* π/m; // bereken de hoek P := P( ; P := P( ; P := P( ; P := P( ; DrawTriangle(P, P, P; DrawTriangle(P, P, P;

end; d Gewenst is om een eenvoudig belichtingsmodel te gebruiken: diffuse reflectie van licht afkomstig uit een lichtbron op oneindig, met richtingsvector L en intensiteit I. De reflectiecoëfficiënt van het oppervlak is k. Bereken voor een willekeurig punt op de koepel de resulterende kleur. We gaan eerst op zoek naar de normaal die bij een punt P( hoort. Die vinden we door het uitproduct van twee partiële afgeleiden van P naar r en v te vinden: P = (cos v,sin v,ar, P / v = ( r r cos v,, CP( = P P = ( Ar CP( = ( Ar cos v, Ar N( = CP( / CP(. r, cos v, Ar r cos v + r sin,ofwel In de laatste stap normaliseren we CP( om een eenheidsnormaal te krijgen. Voor het berekenen van de kleur gebruiken we het standaard belichtingsmodel van Lambert: I s ( = max( N( L, ki. We beschouwen twee punten A en B, met twee bijbehorende vectoren V en W. Met behulp van Bézier splines proberen we een gladde curve te construeren, zodanig dat (a de curve door de punten A en B gaat, (b de raaklijn aan de curve in punt A samenvalt met de lijn X(t=A+Vt en in punt B samenvalt met de lijn X(t=B+Wt. a We proberen eerst een e graads Bézier spline met stuurpunten P P en :, P P(t = ( t P + t( tp + t P, met t. Welke voorwaarden gelden dan voor de stuurpunten? Er moet gelden dat P = A, P P = uv, en P = B, P P = vw. I Kan altijd aan deze voorwaarden worden voldaan? II Zo ja, is de curve hiermee vastgelegd? III Maakt het bij I en II uit of het om een D of D curve gaat? I Nee. Alleen als de halflijnen P + Vu en P Wv, u, v elkaar snijden. II Niet van toepassing. III In de D situatie is de kans dat de lijnen elkaar snijden veel groter dan in D. b We proberen vervolgens een e graads Bézier spline met stuurpunten P P, P en : P(t = ( t P + t( t P + t ( tp + t P met t. Welke voorwaarden gelden nu voor de stuurpunten? Er moet gelden dat P = A P P = α V, en P = B, P P = β., W, P c I Kan altijd aan deze voorwaarden worden voldaan? II Zo ja, is de curve hiermee vastgelegd? III Maakt het bij I en II uit of het om een D of D curve gaat? I Ja, we hebben nu genoeg vrijheidsgraden. II Nee, er is nog vrijheid bij het bepalen van de waarden voor α en β. III Nee, maakt niet uit. 4 We beschouwen het afbeelden van een oppervlak gedefinieerd door z = f ( x, y, met X x X en Y y Y. We gaan kijken welk algoritme het meest geschikt is voor het verwijderen van de onzichtbare oppervlakken. a Beschrijf het z-buffer algoritme, en geef twee voordelen en twee nadelen. Zie boek/sheets. b Beschrijf het (principe van het painter s algoritme, en geef twee voordelen en twee nadelen. Zie boek/sheets. 4

c Onder welke gebruiks- en andere omstandigheden kiest u hier voor (i backface removal, (ii het z-buffer algoritme en/of (iii het painter s algoritme? Backface removal kan altijd worden gebruikt; voor interactief grafische applicaties kiezen we, mits de hardware het ondersteunt, het z-buffer algoritme; in alle andere gevallen kiezen we voor het painter s algoritme. Dit laatste is hier eenvoudig te gebruiken, omdat de facetten van het oppervlak eenvoudig op diepte kunnen worden gesorteerd. 5