Presentatie titel
Download
1 / 49

Presentatie titel - PowerPoint PPT Presentation


  • 139 Views
  • Uploaded on

Computer Graphics. Presentatie titel. Technische Informatica www.hogeschool-rotterdam.nl/cmi. Rotterdam, 00 januari 2007. Les 5 . Les 5 gaat over de hoofdstukken 9.1 Eenvoudige meetkundige vormen 9.2 Draadmodellen 9.3 Gebogen oppervlakten 9.4 Ontwerp van krommen

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Presentatie titel' - aideen


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Presentatie titel

Computer Graphics

Presentatie titel

Technische Informatica

www.hogeschool-rotterdam.nl/cmi

Rotterdam, 00 januari 2007


Les 5
Les 5

  • Les 5 gaat over de hoofdstukken

  • 9.1 Eenvoudige meetkundige vormen

  • 9.2 Draadmodellen

  • 9.3 Gebogen oppervlakten

  • 9.4 Ontwerp van krommen

  • 9.5 Basis functies met polynomen

  • 9.6 Interpolatie probleem

  • 9.7 Benaderings probleem

  • 9.8 Ontwerp van gebogen oppervlakten

  • 9.9 Transformatie van kromme en oppervlakte

  • 9.10 Kwadratische oppervlakten


Inleiding
Inleiding

  • Een van de belangrijkste concepten in computer graphics is het modelleren van objecten

  • Een model is een numerieke beschrijving van het object in meetkundige eigenschappen (grootte, vorm) en hoe die inwerken op licht (reflectie, doorlaatbaarheid)

  • Dit hoofdstuk gaat over meetkundige voorstelling van objecten

  • Een grafisch systeem gebruikt een verzameling primitieven of meetkundige vormen

  • Eenvoudig efficient te implementeren

  • Flexibel om te manipuleren(samenstellen)


Inleiding1
Inleiding

  • Hierdoorzijnveelobjectentemaken of temodelleren

  • Meetkundigevormenalsprimitievenzijn:

  • Punten

  • Lijnen

  • Polylijnen ( 2 dimensionaleverzamelinglijnen open)

  • Polygonen ( 2 dimensionaleverzamelinglijnengesloten)

  • Polyhedra (3 dimensionaleverzamelingpolygonen)


Eenvoudige meetkundige vorm
Eenvoudige meetkundige vorm

  • Punten en lijnen

  • Een punt is eencoordinaat in 3-dimensionale ruimte

  • Eenlijn is gedefinieerd door zijneindpunten P1(x1,y1,z1) en P2(x2,y2,z2)

  • Polylijnen

  • Eenpolylijn is eenserieverbondenlijnsegmenten

  • De hoekpunten P0 …. Pndefinieren de lijnsegmenten


Eenvoudige meetkundige vorm1
Eenvoudige meetkundige vorm

  • Heteerstehoekuntheetstartpunt

  • Hetlaatstehoekuntheeteindpunt ( zie fig 9-1)


Eenvoudige meetkundige vorm2
Eenvoudige meetkundige vorm

  • Polygonen

  • Eenpolygoon is eengeslotenpolylijn

  • Eenpolygoonwordtgespecificeerd door de hoekpuntenlijst P0 …. Pn ,P0

  • De lijnsegmentenheten de lijnen van de polygoon

  • Eenvlakke (planaire) polygoon is een poly-goon waarinallehoekpunten in hetzelfdevlakliggen (zie fig 9-2)


Ijzerdraad modellen
IJzerdraad Modellen

  • Eenijzerdraad (wire frame) model bestaatuitlijnen, hoekpunten en polygonen

  • De hoekpuntenwordenverbonden met lijnen en polygonenzijneen reeks van hoekpunten of lijnen.

  • De lijnenkunnengebogen of rechtelijnenzijn

  • Bijrechtelijnenheet het ijzerdraad model eenpolygonaal net of polygonaalnetwerk (zie fig 9-3)



Ijzerdraad modellen2
IJzerdraad Modellen

  • Voorstellingpolygoonnetwerk:

  • Eenexplicietehoekpuntenlijst V= { P0 ,P1 ,P2 , ….. ,PN }

  • De punten Pi(xi,yi,zi) zijn de hoekpunten van hetpolygoonnetwerkopgeslagen in de volgorde die zetegenkomen door rondhet model tegaan

  • Dit is inefficient omdathoekpuntenmeerderekerenvoorkomen in de lijst (en ookmeerderekerengetekendworden) ( zieopg. 9.1)


Ijzerdraad modellen3
IJzerdraad Modellen

  • Polygoonlijst

  • Iederhoekpunt is exact 1 keeropgeslagen in eenhoekpuntenlijst V= (P0 ,….. ,PN)

  • Iederepolygoonheefteen pointer naardezehoekpuntenlijst (zieopg 9.2)

  • Gemeenschappelijkelijnenwordenwelmeerderekerengeschrevenbijpresentatie


Ijzerdraad modellen4
IJzerdraad Modellen

  • Explicietelijnenlijst

  • We houdeneenhoekpuntenlijstbij ,waarbijeenhoekpunt 1 keervoorkomt en eenlijnenlijstwaarinelkelijn 1 keer is opgeslagen

  • Iederelijn in de lijnenlijstheefteen pointer naar de 2 hoekpunten in de hoekpuntenlijst van die lijn

  • Eenpolygoonheefteenlijst met pointers die naar de lijnenlijstverwijzen

  • Extra informatie van polygonen die eengemeenschappelijkelijnhebben kun in de lijnenlijstgeplaatstworden (zieopg. 9.9)


Ijzerdraad modellen5
IJzerdraad Modellen

  • Explicietelijnenlijstkanwordengebruiktomhetijzerdraad model in op teslaan.

  • Hetijzerdraad model wordtgetekend door allelijnentetekenen

  • Iederelijnwordtmaar 1 keergetekend

  • Polyhedron

  • Een polyhedron is eengeslotenpolygoon net ( eengesloten volume) waariniederepolygoonplanair is

  • De polygonenheten de wanden van de polyhedron


Ijzerdraad modellen6
IJzerdraad Modellen

  • Bij het modellerenwordengezienalsvastelichamen

  • Bijdraadmodellen is ditnietzo


Ijzerdraad modellen7
IJzerdraad Modellen

  • Voor en nadelenijzerdraadmodellen

  • Zewordenveelgebruiktbij engineering opdrachten

  • Eenvoudigteconstrueren

  • Evenvoudigaftebreken

  • Eenvoudigemanipulatie (transformaties)

  • Nadeel is dat het geenrealistischbeeldgeeftbijgekromdeoppervlakten

  • Dan moetenveelpolygonengebruiktwordenom het realistischebeeldteverkrijgen


Gekromde oppervlakten
Gekromde oppervlakten

  • Hiermeekunennrealistischebeeldengemaaktworden

  • Verschillendebenaderingen:

  • Oppervlaktesegmenten (surface patch) die naastelkaargeplaatstworden

  • Oppervlaktengebruiken die vasteobjectengebruiken: polyhedra,bollen, cilinders, kegels

  • Een model kandezealsbouwblokkengebruikenvoormodelleren (solid modelling)


Gekromde oppervlakten1
Gekromde oppervlakten

  • 2 manierenvoormodelleren:

  • Additievemodelleren: model bouwen door veeleenvoudigeobjectensamentestellen

  • Subtractievemodelleren: stukkenverwijderen van eenbestaand object omeennieuw object teverkrijgen

  • Bijvoorbeeldeencilindrisch gat maken in eenbol of kubus

  • Bijvoorbeeldeenbeeldhouwwerk


Ontwerp van krommen
Ontwerp van krommen

  • Gegeven n+1 datapunten P0(x0,y0),..,Pn(xn,yn)

  • Gevraagdeenkromme door dezepunten

  • Exact door de puntenheetinterpolatie (reconstructiedoel )

  • Benadering van de puntenheetapproximatie ( estethischdoel )

  • Krommenbouwen met kleinekrommen (curve segments)

  • Zekunnengemaaktworden met kleinepolygonen


Ontwerp van krommen1
Ontwerp van krommen

  • Als we eenkromme f(x) modelleren met curve segmentengebruiken we kleinesegmentenΦ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)= anxn + an-1xn-1 +…+ a1x + a0


Ontwerp van krommen2
Ontwerp van krommen

  • Dezepolynoom is bepaald door zijn n+1 coefficienten [an,…,a0]

  • Eencontinue stuksgewijze polynoom Q(x) van de graad n is een verzameling van kpolynomenqi(x) ,elk van de graad n en k+1 knopen (nodes) voor t0,..,tkzodat

    Q(x) = qi(x) voor ti≤ x ≤ ti+1 en i = 0,…,k-1

  • Deze definitie vereist dat de polynomenbijelkaar komen in de knopen

  • Dwz qi-1(ti)= qi(ti) met i=1,….,k-1

  • Deze eis geeft niet aan hoe vloeiend de polynomenqi(x) aan elkaar zitten (zie fig 9-4)


Ontwerp van krommen3
Ontwerp van krommen

  • Polynomen van eenhogegraadzijnnietbruikbaaromdatzeoscilleren

  • De meestbruikbarezijn de stukgewijzewaarvan de polynomenkubisch (van de graad 3) zijn, immers:

  • Eentekenaargebruikteenflexibellatje (spline)

  • De 3e graad is de minimalegraadomvloeiendtezijn


Basisfuncties van polynomen
Basisfuncties van polynomen

  • P0 (x0,y0),….,Pn (xn,yn) heeft n+1 datapunten en tevenszijner t0,t1,t2,.. enzknopen

  • Dan zijner de volgendekeuzenvoor basis of vermengingsfuncties:

  • Lagrange polynomen van de graad n

  • Merk op dat Li(xi)=1 en Li(xj) = 0 voorallej≠I

  • Π betekent term voor term vermenigvuldigen


Basisfuncties van polynomen1
Basisfuncties van polynomen

  • HermitischeKubischePolynomen

    zie fig 9-5


Basisfuncties van polynomen2
Basisfuncties van polynomen

  • De formuleshiervoorzijn:


Basisfuncties van polynomen3
Basisfuncties van polynomen

  • B-splines

    Zie fig 9-6

    alsti ≤ x ≤ ti+n+1


Basisfuncties van polynomen4
Basisfuncties van polynomen

  • Merk op datBi,n(x) is ongelijkaan 0 in het interval [ti,ti+n+1]

  • In het bijzonder : de cubic spline (3e macht) Bi,3 is ongelijkaan 0 in het interval [ti,ti+4] (welke de knopenti,ti+1,ti+2,ti+3,ti+4 omvat)

  • In aanvullingvoornietherhalendeknopen is de B-spline 0 bij de eindknopentien ti+n+1

  • Volgensopg 9.3 geldt:


Basisfuncties van polynomen5
Basisfuncties van polynomen

  • Bernstein Polynomen

  • Zie fig 9-7


Basisfuncties van polynomen6
Basisfuncties van polynomen

  • De Cubic Bernstein polynomenzijn:

  • B0,3(x)= 1-3x + 3x2 – x3

  • B1,3(x)= 3(x - 2x2 + x3)

  • B2,3(x)= 3(x2 – x3)

  • B3,3(x)= x3


Problemen van polynomen
Problemen van polynomen

  • Gegeven de datapunten P0(x0,y0),….. Pn(xn,yn) ,we willen door die punteneenkrommevinden die door die puntengaat

  • Oplosing Lagrange polynoominterpolatie

  • waarbij Li(x) de Lagrange polynomenzijn en L(x) de ndegraadspolynoominterpolatie van de datapunten


Problemen van polynomen1
Problemen van polynomen

  • OplossingHermitischeKubischeInterpolatie

  • We willeneenstuksgewijzepolynoom H(x) van de graad 3 vinden die door alledatapuntengaat en die continue differentieerbaar is in die punten

  • We schrijvenook de waardesvoorvoor de afgeleide y’ van de gegevendatapunten, dwzdatzijn de punten (x0,y’0),….,(xn,y’ n), dan is:


Problemen van polynomen2
Problemen van polynomen

  • Hierbijzijn H0 (x) en H0 (x) de hermitischekubischefuncties en t0=x0, t1=x1, t2=x2, .., tn=xnzijnde keuzesvoor de knopenverzameling

  • Splineinterpolatie

  • Alsvereistwordtdat de stuksgewijzepolynoomzovloeiendmogelijkmoetzijn in de datapuntengebruiken we splines

  • Eenspline van de graadmheeft continue afgeleiden tot de ordem-1 in de datapunten


Problemen van polynomen3
Problemen van polynomen

  • Men kanaantonendatelkemdegraadspline die door n+1datapuntengaat met B-splinesbasisfunctieszodanigdat :

  • Om de B-splinefunctiesBi,m(x) tedefinieerenomhetinterpolatieprobleem op telossenmoeten de knopen t0, t1,…, tm+n+1gekozenwordenvolgens de Shoenberg-Whitney conditie

    ti< xi< ti+m+1 met i = 0,…,n


Problemen van polynomen4
Problemen van polynomen

  • De volgendekeuzesvoor de knopenvoldoen: ( zieopg 9.4)

  • Stap 1: Kies

    t0=t1 …..=tm < x0

    tn+1=tn+2=…..=tm+n+1 > xn

  • Stap 2: Kies de overgeblevenknopenvolgens

  • Voorkubischesplines (m=3) is eenalternatiefvoorstap 2:

    ti+4=xi+2 met i=0,…,n-4


Problemen van polynomen5
Problemen van polynomen

  • De spline S2(x) heetkwadratischespline met :

  • De spline S3(x) heetkubischespline met :

  • We vervolgen met kubischesplines


Problemen van polynomen6
Problemen van polynomen

  • Dan zijnern+3coefficientenai die n+3vergelijkingenvereisen

  • Hetinterpolatiecriterium S3(xj) = yj , j=0,…n voorziet in n+1vergelijkingen

  • De overige 2 vergelijkingenzijngrenscondities in de eindpunten x0 en xn


Problemen van polynomen7
Problemen van polynomen

  • Sommigekeuzesvoorgrensconditieszijn:

  • Natuurlijkesplineconditie: (minstgekozen)

    S3”(x0)= 0 S3”(xn)= 0

  • Samengeklemdesplineconditie:

    S3’(x0)= y0’ S3’(xn)= yn’

    Met y0’yn’ voorgeschrevenafgeleiden

  • Cyclischesplineconditie: (geslotenkrommes)

    S3’(x0)= S3’(xn) S3”(x0)=S3”(xn)

  • Anticyclischeconditie: (parallelleeinden)

    S3’(x0)=- S3’(xn) S3”(x0)=-S3”(xn)


Probleem van benadering
Probleem van benadering

  • Hetprobleem is omeenvloeiende 3-dimensionale krommetemaken, welke de datapuntenbenadert

  • Gegeven de controlepunten P0(x0,y0,z0), P1(x1,y1,z1), …., Pn(xn,yn,zn) (zie fig 9-8)


Probleem van benadering1
Probleem van benadering

  • Bézier-Bernstein benadering

  • Hierbijgebruiken we Bernstein polynomen, we vormen de parametrischekrommen


Probleem van benadering2
Probleem van benadering

  • P(t) heet de Bézierkromme

  • Eigenschappen van Bézier-Bernstein benadering

  • Erzijn 4 eigenschappen

  • De krommeheeft de zelfdeeindpuntenals de polyline P0=P(0)=[x(0),y(0),z(0)] Pn=P(1)=[x(1),y(1),z(1)]

  • De richting van de tangensvector in de eindpunten P0,Pn is dezelfdeals die van de vector bepaald door de eerstesegmenten en de laatstesegmenten van de bijbehorendepolyline


Probleem van benadering3
Probleem van benadering

  • Daarvoorgeldt P’(0) = n.(P1-P0) d.w.z.:

  • x’(0)= n.(x1-x0) , y’(0)= n.(y1-y0) , z’(0)=n.(z1-z0)

  • Tevensgeldt: P’(1) = n.(Pn-Pn-1)

  • Hier is neenbepaalde factor (afhankelijk van de hoek)

  • De Bézierkrommeligtgeheelbinnen de bolleomhulling van de bijbehorendepolyline

  • Bezier krommenzijnuitstekendvoorinteractiefontwerp

  • StukkenBézierkrommenkunnenaanelkaargelinktworen en zijn in de verbindingspunten continue differentieerbaar ( zie fig 9-9)


Probleem van benadering4
Probleem van benadering

  • StukkenBézierkrommenkunnenaanelkaargelinktworen en zijn in de verbindingspunten continue differentieerbaar ( zie fig 9-9)


Probleem van benadering5
Probleem van benadering

  • Bézier-B-Splinebenadering

  • Voordezebenaderinggebruiken we B-splines (zie fig 9-10)


Probleem van benadering6
Probleem van benadering

  • De m-degraad B-splinesBi,m(t),i=0,…n zijngedefinieerdvoort in het parameter bereik [0,n-m+1]

  • De knopenverzameling t0,…,tn+m+1 is gekozen met de verzameling


Probleem van benadering7
Probleem van benadering

  • Het gebruik van herhaaldeknopenzorgtervoordat de eindpunten van de splinesamenvallen met de eindpunten van de begeleidendepolylijn (zieopg. 9.6)

  • Daar de knopenverdeling over gelijk is kunnen we ook de explicietevormgebruikenom B-splinesuitterekenen (zieopg. 9.10)


Probleem van benadering8
Probleem van benadering

  • Geslotenkrommen

  • Om eengesloten B-splinekrommeteconstrueren die eengeslotenbegeleidendepolygoonheeft , hoeven we alleen de knopen t0….tn+m+1cyclischtekiezen ,dwz [0,1,….,n.1….] zodat

  • tn+1 = t0 =0 tm+2 = t1 tm+1+i = ti

  • In praktijkzijnkwadratische B-splines Bi,2 en kubische B-splines Bi,3 heteenvoudigsttegebruiken en geeftgenoegflexibiliteitbijontwerpen


Probleem van benadering9
Probleem van benadering

  • EigenschappenBézier-B-Splinebenadering

  • Erzijn 5 eigenschappen:

  • De Bézier-Bsplinebenaderingheeftdezelfdeeigenschappenals de Bézier-Bernstein benadering

  • Hetzijndezelfdepolynomenalsm=n

  • Als de begeleidendepolyline m+1 opeenvolgendehoekpunten (control punten) heeftwelke in 1 lijnliggendan is de resulterendeBézier-B-splinelineair


Probleem van benadering10
Probleem van benadering

  • De Bézier-B-splinebenaderingvoorziet in lokalecontrolevoor de vorm van de kromme

  • Als 1 control punt wordtveranderd, wordendelenverweg op de krommewordennietveranderd (m+1 puntenveranderen)

  • Bézier-B-splinesproduceerteenbeterebenaderingdan de Bézier-Bernstein benadering

  • De Bézier-B-splinebenaderingstaat het gebruik toe van control punten Pi met eenveelvoud van 2 of meer


Probleem van benadering11
Probleem van benadering

  • D.w.z. Pi = Pi+1 =…=Pi+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