1 / 49

Presentatie titel

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

aideen
Download Presentation

Presentatie titel

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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)

  4. Inleiding • Hierdoorzijnveelobjectentemaken of temodelleren • Meetkundigevormenalsprimitievenzijn: • Punten • Lijnen • Polylijnen ( 2 dimensionaleverzamelinglijnen open) • Polygonen ( 2 dimensionaleverzamelinglijnengesloten) • Polyhedra (3 dimensionaleverzamelingpolygonen)

  5. 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

  6. Eenvoudige meetkundige vorm • Heteerstehoekuntheetstartpunt • Hetlaatstehoekuntheeteindpunt ( zie fig 9-1)

  7. 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)

  8. 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)

  9. IJzerdraad Modellen

  10. 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)

  11. IJzerdraad Modellen • Polygoonlijst • Iederhoekpunt is exact 1 keeropgeslagen in eenhoekpuntenlijst V= (P0 ,….. ,PN) • Iederepolygoonheefteen pointer naardezehoekpuntenlijst (zieopg 9.2) • Gemeenschappelijkelijnenwordenwelmeerderekerengeschrevenbijpresentatie

  12. 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)

  13. 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

  14. IJzerdraad Modellen • Bij het modellerenwordengezienalsvastelichamen • Bijdraadmodellen is ditnietzo

  15. IJzerdraad Modellen • Voor en nadelenijzerdraadmodellen • Zewordenveelgebruiktbij engineering opdrachten • Eenvoudigteconstrueren • Evenvoudigaftebreken • Eenvoudigemanipulatie (transformaties) • Nadeel is dat het geenrealistischbeeldgeeftbijgekromdeoppervlakten • Dan moetenveelpolygonengebruiktwordenom het realistischebeeldteverkrijgen

  16. Gekromde oppervlakten • Hiermeekunennrealistischebeeldengemaaktworden • Verschillendebenaderingen: • Oppervlaktesegmenten (surface patch) die naastelkaargeplaatstworden • Oppervlaktengebruiken die vasteobjectengebruiken: polyhedra,bollen, cilinders, kegels • Een model kandezealsbouwblokkengebruikenvoormodelleren (solid modelling)

  17. 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

  18. 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

  19. 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

  20. 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)

  21. 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

  22. 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

  23. Basisfuncties van polynomen • HermitischeKubischePolynomen zie fig 9-5

  24. Basisfuncties van polynomen • De formuleshiervoorzijn:

  25. Basisfuncties van polynomen • B-splines Zie fig 9-6 alsti ≤ x ≤ ti+n+1

  26. 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:

  27. Basisfuncties van polynomen • Bernstein Polynomen • Zie fig 9-7

  28. 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

  29. 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

  30. 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:

  31. 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

  32. 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

  33. 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

  34. Problemen van polynomen • De spline S2(x) heetkwadratischespline met : • De spline S3(x) heetkubischespline met : • We vervolgen met kubischesplines

  35. 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

  36. 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)

  37. 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)

  38. Probleem van benadering • Bézier-Bernstein benadering • Hierbijgebruiken we Bernstein polynomen, we vormen de parametrischekrommen

  39. 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

  40. 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)

  41. Probleem van benadering • StukkenBézierkrommenkunnenaanelkaargelinktworen en zijn in de verbindingspunten continue differentieerbaar ( zie fig 9-9)

  42. Probleem van benadering • Bézier-B-Splinebenadering • Voordezebenaderinggebruiken we B-splines (zie fig 9-10)

  43. 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

  44. 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)

  45. 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

  46. 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

  47. 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

  48. 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

More Related