Presentatie titel Rotterdam, 00 januari 2007 Computer Graphics Technische Informatica www.hogeschool-rotterdam.nl/cmi.

Slides:



Advertisements
Verwante presentaties
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Advertisements

Natuurkunde V6: M.Prickaerts
Krachten en evenwicht voor puntdeeltjes in het platte vlak
Hogere Wiskunde Complexe getallen college week 6
Beeldende aspecten Vorm
Kun je complexe problemen oplossen.
Philadelphia Probleem
Volumeberekening van omwentelingslichamen
Oppervlakten berekenen
Project D2: Kempenland Sander Verkerk Christian Vleugels
Project D2: Kempenland Sander Verkerk Jeffrey van de Glind
Jan Talmon Medische Informatica Universiteit Maastricht
Wat verandert in perspectief ? Wat verandert NIET ?
Differentieer regels De afgeleide van een functie f is volgens de limietdefinitie: Meestal bepaal je de afgeleide niet met deze limietdefinitie, maar.
Differentieer regels De afgeleide van een functie f is volgens de limietdefinitie: Meestal bepaal je de afgeleide niet met deze limietdefinitie, maar.
Assenstelsels en het plotten van Functies in LOGO
Prof.dr.ir. Bart ter Haar Romeny
BiO-M Wiskundig Modelleren BiO-M Wiskundig Modelleren Lineair Programmerings-modellen Hoorcollege 2.
Meten bij marktonderzoek
Hoofdstuk 1 Basisvaardigheden.
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Indeling Inleiding op PRM-planners & Medial Axis Retraction van configuraties op de Medial Axis Verbetering van retraction Verbetering van sampling Expliciete.
Beeldaspect RUIMTE. Beeldaspect RUIMTE Beeldaspect RUIMTE Beeldvlak Het beeldvlak is een plat oppervlak met een afbeelding erop. Een beeldvlak.
Hogere wiskunde Limieten college week 4
WIS21.
havo A Samenvatting Hoofdstuk 3
HULPMIDDELEN IN DE AARDRIJKSKUNDE
Tweedegraadsfuncties
Klik ergens op het witte deel van deze pagina om verder te gaan
H4 Differentiëren.
Praktische Opdracht Wiskunde
MET DANK AAN COLLEGA’S IN DEN LANDE ! vee 2012
Technische Informatica
havo B Samenvatting Hoofdstuk 1
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
Vergelijkingen oplossen
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
OFC28 mediawijsheid les 7 leren door te maken
Welkom Profielvoorlichting 2015
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
Presentatie titel Rotterdam, 00 januari 2007 Computer Graphics Technische Informatica
ribWBK11t Toegepaste wiskunde Lesweek 01
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
Presentatie titel Rotterdam, 00 januari 2007 Computer Graphics Technische Informatica
6 Vaardigheden 6.1 Rekenvaardigheden Rekenen in verhouding
Gecijferdheid les 1.4 Grootst gemene deler Kleinst gemene veelvoud
Samenvatting.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
hoe kun je krachten grafisch ontbinden?
Gecijferdheid 2 (Meten 1 – ME144X) week 4
Recursie: het cirkel algoritme van Bresenham
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Presentatie titel Rotterdam, 00 januari 2007 Computer Graphics Technische Informatica
Aanleggen bestrating Niveau 1 en 2 Wedeo.
Differentiatie Vaksessie WISKUNDE. Het theoretisch kader van differentiatie.
Kansverdelingen Kansverdelingen Inleiding In deze presentatie gaan we kijken naar hoe kansen zijn verdeeld. We gaan in op verschillende.
Isometrie tekenen Dal\RvP 2013 Pixel Art.
Enabling innovation in construction Topic Training Funderingen Irca Schepers Customer Service Engineer 1.
Toegepast rekenen Differentieren. Veranderende vergelijkingen: Lineaire functies: rechte lijn ∆O= k x ∆ A O = omzet A = afzet ∆ = delta k = ∆O/∆ A = richtingscoefficient:
Datastructuren voor grafen Algoritmiek. 2 Grafen Model van o.a.: –Wegennetwerk –Elektrische schakeling –Structuur van een programma –Computernetwerk –…
SCHAAL in toepassingssituaties
Webinar voor ambassadeurs
Worksjop van de MakAIRsjop
Wiskunde A of wiskunde B?.
OPENINGSCASE: De Victoria Country Fire Authority in Australië geeft hulp met nieuwe informatiesystemen.
De grafiek van een lineair verband is ALTIJD een rechte lijn.
SCHAAL in toepassingssituaties
M7 2 Verschuivingen herkennen en tekenen M A R T X I © André Snijers W
Leren programmeren met Scratch
Transcript van de presentatie:

Presentatie titel Rotterdam, 00 januari 2007 Computer Graphics Technische Informatica

Les 7 Les 7 gaat over de hoofdstukken 10.1 Diepte vergelijkingen 10.2 Z buffer algoritme 10.3 Verwijdering van achterzijden 10.4 Het painters algoritme 10.5 Scan-lijn algoritme 10.6 Subdivision algoritme 10.7 Eliminatie van verborgen lijnen 10.8 Renderen van wiskundige oppervlakten

Inleiding Ondoorzichtige objecten verbergen objecten, die achter het object staan De oppervlakten die geblokkeerd zijn of verborgen, moeten worden verwijderd om een realistisisch beeld te maken De herkenning en verwijdering van deze oppervlakten heet hidden-surface ( verborgen oppervlakte) probleem

Inleiding

Diepte vergelijkingen Alle coordinaten (x,y,z) zijn genormaliseerde view coordinaten Ieder algoritme moet bepalen, welke lijnen en oppervlakten zichtbaar zijn vanuit het projectiecentrum Zowel voor parallelle als perspectief projectie Gegeven 2 punten P 1 (x 1,y 1,z 1 ) en P 2 (x 2,y 2,z 2 ) De vraag is welk punt is zichtbaar en welk niet?

Diepte vergelijkingen Antwoord: 1. Liggen P 1 en P 2 op dezelfde projectielijn? 2. Zo nee, dan verbergt zich geen van de 2 punten Zo ja, een vergelijking met de de diepte zegt, welk punt voor de ander staat Bij een orthografische projectie (richting van projectie loodrecht op het view plane) op het xy vlak: P 1 en P 2 op zijn dezelfde projectielijn als x 1 =x 2 en y 1 =y 2 Dan hoeft alleen bekeken te worden of z 1 < z 2. Als

Diepte vergelijkingen Als z 1 < z 2 dan ligt P 2 achter P 1 (zie fig.10-1a) Voor een perspectief projectie (zie fig.10-1b) zijn de berekeningen complexer (opg. 10.1) Vermijden door transformatie van 3- dimensionale objecten zodat de parallelle projectie van het getransformeerde object gelijk is aan de perspectief projectie van het orgineel (fig 10-2)

Diepte vergelijkingen

IJzerdraad Modellen

Voorstelling polygoon netwerk: 1. Een expliciete hoekpuntenlijst V= { P 0,P 1,P 2, …..,P N } De punten P i (x i,y i,z i ) zijn de hoekpunten van het polygoon netwerk opgeslagen in de volgorde die ze tegenkomen door rond het model te gaan Dit is inefficient omdat hoekpunten meerdere keren voorkomen in de lijst (en ook meerdere keren getekend worden) ( zie opg. 9.1)

IJzerdraad Modellen 2. Polygoon lijst Ieder hoekpunt is exact 1 keer opgeslagen in een hoekpuntenlijst V= (P 0,…..,P N ) Iedere polygoon heeft een pointer naar deze hoekpuntenlijst (zie opg 9.2) Gemeenschappelijke lijnen worden wel meerdere keren geschreven bij presentatie

IJzerdraad Modellen 3. Expliciete lijnenlijst We houden een hoekpuntenlijst bij,waarbij een hoekpunt 1 keer voorkomt en een lijnen lijst waarin elke lijn 1 keer is opgeslagen Iedere lijn in de lijnenlijst heeft een pointer naar de 2 hoekpunten in de hoekpuntenlijst van die lijn Een polygoon heeft een lijst met pointers die naar de lijnenlijst verwijzen Extra informatie van polygonen die een gemeenschappelijke lijn hebben kun in de lijnenlijst geplaatst worden (zie opg. 9.9)

IJzerdraad Modellen Expliciete lijnenlijst kan worden gebruikt om het ijzerdraad model in op te slaan. Het ijzerdraad model wordt getekend door alle lijnen te tekenen Iedere lijn wordt maar 1 keer getekend Polyhedron Een polyhedron is een gesloten polygoon net ( een gesloten volume) waarin iedere polygoon planair is De polygonen heten de wanden van de polyhedron

IJzerdraad Modellen Bij het modelleren worden gezien als vaste lichamen Bij draadmodellen is dit niet zo

IJzerdraad Modellen Voor en nadelen ijzerdraadmodellen Ze worden veel gebruikt bij engineering opdrachten Eenvoudig te construeren Evenvoudig af te breken Eenvoudige manipulatie (transformaties) Nadeel is dat het geen realistisch beeld geeft bij gekromde oppervlakten Dan moeten veel polygonen gebruikt worden om het realistische beeld te verkrijgen

Gekromde oppervlakten Hiermee kunenn realistische beelden gemaakt worden Verschillende benaderingen: 1. Oppervlakte segmenten (surface patch) die naast elkaar geplaatst worden 2. Oppervlakten gebruiken die vaste objecten gebruiken: polyhedra,bollen, cilinders, kegels Een model kan deze als bouwblokken gebruiken voor modelleren (solid modelling)

Gekromde oppervlakten 2 manieren voor modelleren: 1. Additieve modelleren: model bouwen door veel eenvoudige objecten samen te stellen 2. Subtractieve modelleren: stukken verwijderen van een bestaand object om een nieuw object te verkrijgen Bijvoorbeeld een cilindrisch gat maken in een bol of kubus Bijvoorbeeld een beeldhouwwerk

Ontwerp van krommen Gegeven n+1 datapunten P 0 (x 0,y 0 ),..,P n (x n,y n ) Gevraagd een kromme door deze punten 1. Exact door de punten heet interpolatie (reconstructie doel ) 2. Benadering van de punten heet approximatie ( estethisch doel ) Krommen bouwen met kleine krommen (curve segments) Ze kunnen gemaakt worden met kleine polygonen

Ontwerp van krommen Als we een kromme f(x) modelleren met curve segmenten gebruiken we kleine segmenten Φ i (x) (basis of blending of vermengings functies): We kiezen de blending functies met oog op berekeningen en afbeeldingen. Daarom polynomen (veeltermen) gebruiken Een polynoom van de graad n is een functie van de vorm: Q(x)= a n x n + a n-1 x n-1 +…+ a 1 x + a 0

Ontwerp van krommen Deze polynoom is bepaald door zijn n+1 coefficienten [a n,…,a 0 ] Een continue stuksgewijze polynoom Q(x) van de graad n is een verzameling van k polynomen q i (x),elk van de graad n en k+1 knopen (nodes) voor t 0,..,t k zodat Q(x) = q i (x) voor t i ≤ x ≤ t i+1 en i = 0,…,k-1 Deze definitie vereist dat de polynomen bijelkaar komen in de knopen Dwz q i-1 (t i )= q i (t i ) met i=1,….,k-1 Deze eis geeft niet aan hoe vloeiend de polynomen q i (x) aan elkaar zitten (zie fig 9-4)

Ontwerp van krommen Polynomen van een hoge graad zijn niet bruikbaar omdat ze oscilleren De meest bruikbare zijn de stukgewijze waarvan de polynomen kubisch (van de graad 3) zijn, immers: 1. Een tekenaar gebruikt een flexibel latje (spline) 2. De 3e graad is de minimale graad om vloeiend te zijn

Basisfuncties van polynomen P 0 (x 0,y 0 ),….,P n (x n,y n ) heeft n+1 datapunten en tevens zijn er t 0,t 1,t 2,.. enz knopen Dan zijn er de volgende keuzen voor basis of vermengingsfuncties: 1. Lagrange polynomen van de graad n Merk op dat L i (x i )=1 en L i (x j ) = 0 voor alle j≠I Π betekent term voor term vermenigvuldigen

Basisfuncties van polynomen 2. Hermitische Kubische Polynomen zie fig 9-5

Basisfuncties van polynomen De formules hiervoor zijn:

Basisfuncties van polynomen 2. B-splines Zie fig 9-6 als t i ≤ x ≤ t i+n+1

Basisfuncties van polynomen Merk op dat B i,n (x) is ongelijk aan 0 in het interval [t i,t i+n+1 ] In het bijzonder : de cubic spline (3e macht) B i,3 is ongelijk aan 0 in het interval [t i,t i+4 ] (welke de knopen t i,t i+1,t i+2,t i+3,t i+4 omvat) In aanvulling voor niet herhalende knopen is de B-spline 0 bij de eindknopen t i en t i+n+1 Volgens opg 9.3 geldt:

Basisfuncties van polynomen 3. Bernstein Polynomen Zie fig 9-7

Basisfuncties van polynomen De Cubic Bernstein polynomen zijn: B 0,3 (x)= 1-3x + 3x 2 – x 3 B 1,3 (x)= 3(x - 2x 2 + x 3 ) B 2,3 (x)= 3(x 2 – x 3 ) B 3,3 (x)= x 3

Problemen van polynomen Gegeven de datapunten P 0 (x 0,y 0 ),….. P n (x n,y n ),we willen door die punten een kromme vinden die door die punten gaat Oplosing Lagrange polynoom interpolatie waarbij L i (x) de Lagrange polynomen zijn en L(x) de n de graads polynoom interpolatie van de datapunten

Problemen van polynomen Oplossing Hermitische Kubische Interpolatie We willen een stuksgewijze polynoom H(x) van de graad 3 vinden die door alle datapunten gaat en die continue differentieerbaar is in die punten We schrijven ook de waardes voor voor de afgeleide y’ van de gegeven datapunten, dwz dat zijn de punten (x 0,y’ 0 ),….,(x n,y’ n ), dan is:

Problemen van polynomen Hierbij zijn H 0 (x) en H 0 (x) de hermitische kubische functies en t 0 =x 0, t 1 =x 1, t 2 =x 2,.., t n =x n zijn de keuzes voor de knopenverzameling Spline interpolatie Als vereist wordt dat de stuksgewijze polynoom zo vloeiend mogelijk moet zijn in de datapunten gebruiken we splines Een spline van de graad m heeft continue afgeleiden tot de orde m-1 in de datapunten

Problemen van polynomen Men kan aantonen dat elke m de graad spline die door n+1 datapunten gaat met B-splines basisfuncties zodanig dat : Om de B-spline functies B i,m (x) te definieeren om het interpolatieprobleem op te lossen moeten de knopen t 0, t 1,…, t m+n+1 gekozen worden volgens de Shoenberg-Whitney conditie t i < x i < t i+m+1 met i = 0,…,n

Problemen van polynomen De volgende keuzes voor de knopen voldoen: ( zie opg 9.4) Stap 1: Kies t 0 =t 1 …..=t m < x 0 t n+1 =t n+2 = …..=t m+n+1 > x n Stap 2: Kies de overgebleven knopen volgens Voor kubische splines (m=3) is een alternatief voor stap 2: t i+4 =x i+2 met i=0,…,n-4

Problemen van polynomen De spline S 2 (x) heet kwadratische spline met : De spline S 3 (x) heet kubische spline met : We vervolgen met kubische splines

Problemen van polynomen Dan zijn er n+3 coefficienten a i die n+3 vergelijkingen vereisen Het interpolatie criterium S 3 (x j ) = y j, j=0,…n voorziet in n+1 vergelijkingen De overige 2 vergelijkingen zijn grenscondities in de eindpunten x 0 en x n

Problemen van polynomen Sommige keuzes voor grenscondities zijn: 1. Natuurlijke spline conditie: (minst gekozen) S 3 ” (x 0 )= 0 S 3 ” (x n )= 0 2. Samengeklemde spline conditie: S 3 ’ (x 0 )= y 0 ’ S 3 ’ (x n )= y n ’ Met y 0 ’ y n ’ voorgeschreven afgeleiden 3. Cyclische spline conditie: (gesloten krommes) S 3 ’ (x 0 )= S 3 ’ (x n ) S 3 ” (x 0 )=S 3 ” (x n ) 4. Anticyclische conditie: (parallelle einden) S 3 ’ (x 0 )=- S 3 ’ (x n ) S 3 ” (x 0 )=-S 3 ” (x n )

Probleem van benadering Het probleem is om een vloeiende 3- dimensionale kromme te maken, welke de datapunten benadert Gegeven de controle punten P 0 (x 0,y 0,z 0 ), P 1 (x 1,y 1,z 1 ), …., P n (x n,y n,z n ) (zie fig 9-8)

Probleem van benadering Bézier-Bernstein benadering Hierbij gebruiken we Bernstein polynomen, we vormen de parametrische krommen

Probleem van benadering P(t) heet de Bézier kromme Eigenschappen van Bézier-Bernstein benadering Er zijn 4 eigenschappen 1. De kromme heeft de zelfde eindpunten als de polyline P 0 =P(0)=[x(0),y(0),z(0)] P n =P(1)=[x(1),y(1),z(1)] 2. De richting van de tangensvector in de eindpunten P 0,P n is dezelfde als die van de vector bepaald door de eerste segmenten en de laatste segmenten van de bijbehorende polyline

Probleem van benadering Daarvoor geldt P’(0) = n.(P 1 -P 0 ) d.w.z.: x’(0)= n.(x 1 -x 0 ), y’(0)= n.(y 1 -y 0 ), z’(0)=n.(z 1 -z 0 ) Tevens geldt: P’(1) = n.(P n -P n-1 ) Hier is n een bepaalde factor (afhankelijk van de hoek) 3. De Bézier kromme ligt geheel binnen de bolle omhulling van de bijbehorende polyline 4. Bezier krommen zijn uitstekend voor interactief ontwerp Stukken Bézier krommen kunnen aan elkaar gelinkt woren en zijn in de verbindingspunten continue differentieerbaar ( zie fig 9-9)

Probleem van benadering Stukken Bézier krommen kunnen aan elkaar gelinkt woren en zijn in de verbindingspunten continue differentieerbaar ( zie fig 9-9)

Probleem van benadering Bézier-B-Spline benadering Voor deze benadering gebruiken we B-splines (zie fig 9-10)

Probleem van benadering De m-de graad B-splines B i,m (t),i=0,…n zijn gedefinieerd voor t in het parameter bereik [0,n-m+1] De knopen verzameling t 0,…,t n+m+1 is gekozen met de verzameling

Probleem van benadering Het gebruik van herhaalde knopen zorgt ervoor dat de eindpunten van de spline samenvallen met de eindpunten van de begeleidende polylijn (zie opg. 9.6) Daar de knopenverdeling over gelijk is kunnen we ook de expliciete vorm gebruiken om B- splines uit te rekenen (zie opg. 9.10)

Probleem van benadering Gesloten krommen Om een gesloten B-spline kromme te construeren die een gesloten begeleidende polygoon heeft, hoeven we alleen de knopen t 0 ….t n+m+1 cyclisch te kiezen,dwz [0,1,….,n.1….] zodat t n+1 = t 0 =0 t m+2 = t 1 t m+1+i = t i In praktijk zijn kwadratische B-splines B i,2 en kubische B-splines B i,3 het eenvoudigst te gebruiken en geeft genoeg flexibiliteit bij ontwerpen

Probleem van benadering Eigenschappen Bézier-B-Spline benadering Er zijn 5 eigenschappen: 1. De Bézier-Bspline benadering heeft dezelfde eigenschappen als de Bézier-Bernstein benadering Het zijn dezelfde polynomen als m=n 2. Als de begeleidende polyline m+1 opeenvolgende hoekpunten (control punten) heeft welke in 1 lijn liggen dan is de resulterende Bézier-B-spline lineair

Probleem van benadering 3. De Bézier-B-spline benadering voorziet in lokale controle voor de vorm van de kromme Als 1 control punt wordt veranderd, worden delen ver weg op de kromme worden niet veranderd (m+1 punten veranderen) 4. Bézier-B-splines produceert een betere benadering dan de Bézier-Bernstein benadering 5. De Bézier-B-spline benadering staat het gebruik toe van control punten P i met een veelvoud van 2 of meer

Probleem van benadering D.w.z. P i = P i+1 =…= P i+k voor k ≥ 1 Dit geeft een benadering die dichter bij het control punt getrokken wordt Als de punten een veelvoud van m+1 hebben gaar de kromme door de control punten