slide1
Download
Skip this Video
Download Presentation
Presentatie titel

Loading in 2 Seconds...

play fullscreen
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
slide2

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
ad