Technische Informatica Computer Graphics Presentatie titel Technische Informatica www.hogeschool-rotterdam.nl/cmi Rotterdam, 00 januari 2007
Les 4 Les 4 gaat over de hoofdstukken: 6.1 Meetkundige 3D transformaties 6.2 3D transformaties van coordinaten 6.3 Samengestelde 3D transformaties 6.4 Instantie 3D transformaties 7.1 Indelingen van Projectie 7.2 Perspectief projectie 7.3 Parallelle projectie
Inleiding Manipulatie en constructie van 3-dimensionale grafische beelden vereist het gebruik van 3 dimensionale meetkundige en coordinaat transformaties Gevormd door basis transformaties: Translatie Rotatie Verschaling Directe manipulatie met meetkundige transformaties Stationair via coordinaat transformaties
Meetkundige transformaties Een object Obj in het vlak kan worden beschouwd als een verzameling punten Obj= {P(x,y,z)} Als het verplaatst wordt , wordt het een nieuw object Obj’ , waarin alle punten P’(x’,y’,z’) verkregen kunnen worden uit P(x,y,z) door middel van meetkundige transformaties
Translatie Bij een translatie wordt een object verplaatst over een gegeven afstand van de orginele positie De verplaatsing is gegeven door de vector v=aI +bJ+cK Het nieuwe punt P’(x’,y’,z’) kan gevonden worden door de transformatie Tv vanuit P(x,y,z ) P’= Tv (P) (zie fig 6-1)
Translatie Om transformaties mogelijk te maken zijn homogene coordinaten nodig:
Verschalen t.o.v. oorsprong Bij verschaling veranderen de afmetingen van het object De schaalfactor s bepaald of de verschaling een vergroting is, s>1 of een verkleining s<1 De volgende transformatie:
Verschalen t.o.v. oorsprong In matrix vorm Met homogene coordinaten:
Rotatie om de oorsprong Rotatie in 3 dimensies is veel complexer dan bij 2 dimensies Bij 2 dimensies heb je een rotatie met rotatiehoek θ en een rotatiecentrum P Bij 3 dimensies heb je een rotatiehoek en een rotatieas De canonieke rotaties zijn gedefinieerd als één van de positieve x,y,z-assen is gekozen als rotatieas Dan wordt de constructie van de transformatie gelijk aan die in 2 dimensies (zie fig 6-2)
Rotatie om de oorsprong Rotatie om de z-as Hierin is θ de rotatiehoek En K de rotatie as (z-as)
Rotatie om de oorsprong Rotatie om de x-as Hierin is θ de rotatiehoek En J de rotatie as (y-as) Deze wordt verkregen door cyclische permutatie vanuit rotatie om z-as: Verwissel x met y (overal waar x staat vul je y in) y met z (overal waar y staat vul je z in) z met x (overal waar z staat vul je x in)
Rotatie om de oorsprong Rotatie om de y-as Hierin is θ de rotatiehoek En I de rotatie as (x-as) Deze wordt verkregen door cyclische permutatie vanuit rotatie om z-as: Verwissel x met z (overal waar x staat vul je z in) y met x (overal waar y staat vul je x in) z met y (overal waar z staat vul je y in)
Rotatie om de oorsprong De richting van de positieve rotatiehoek is overeenkomstig de rechterhand-regel met betrekking tot de rotatieas (zie appendix 2)
Rotatie om de oorsprong Rotatie om de z-as In matrix vorm Met homogene coordinaten:
Rotatie om de oorsprong Rotatie om de y-as In matrix vorm Met homogene coordinaten:
Rotatie om de oorsprong Rotatie om de x-as In matrix vorm Met homogene coordinaten:
Rotatie om de as L Deze kan bepaald worden uit de canonieke rotaties Gegeven: De rotatieas L heeft de richtingsvector V en een lokatie punt P op L (zie fig 6-5) Gevraagd de transformatie voor een rotatie van θ om L
Rotatie om de as L Er dienen de volgende stappen te worden uitgevoerd: Een translatie van P naar de oorsprong (T-P) Laat de richting van V samenvallen met die van K (Av) (A=alignment =uitlijning) Roteer θ om de as K (Rθ,K) Maak de richting van K weer gelijk aan V (Av-1) Een translatie terug van de oorsprong naar P (T-P-1)
Rotatie om de as L De transformatie wordt dan: Rθ,L= T-P-1.Av-1.Rθ,K.Av.T-P De transformatie Av is beschreven in oefening 6.2 ( zie fig 6-4a en 6-4b en 64-c) Gegeven is de vector V=aI+ bJ +cK De volgende transformaties moeten worden uitgevoerd: Roteer om de X-as over een hoek θ1 zodat V roteert in het bovenste xz vlak (vector V1) (fig 6-4b) Roteer V1 om de Y-as met een hoek –θ 2 zodat V1 roteert naar de positieve z-as (vector V2) (fig 6-4c)
Rotatie om de as L Fig 6-4a
Rotatie om de as L Fig 6-4b
Rotatie om de as L Fig 6-4c
Coordinaten transformatie We kunnen ook het object stil houden en het coordinatensysteem veranderen We plaatsen een coordinatensysteem bij de observator We bewegen de observator en het coordinaatsysteem We berekenen de coordinaten van het object t.o.v. het nieuwe coordinatensysteem ( zie fig 6-3) De verplaatsing beschreven wordt door vector V=aI+bJ+cK Een P(x,y,z) uit het orginele systeem gaat naar P’(x’,y’,z’)
Coordinaten transformatie Dan is:
Coordinaten transformatie De afleiding is identiek bij 2 dimensies Gelijke afleidingen zijn er voor rotatie en verschaling De relatie tussen coordinaat en meetkundige transformaties Coordinaten Meetkundig Translatie: v T-v Rotatie: θ R-θ Verschalen: sx,sy,sz S 1/sx,1/sy,1/sz De inverse operaties:
Samengestelde transformaties Meer complexe transformaties worden gebouwd vanuit de basis transformaties met compositie van functies ( zie appendix 1) Voor matrix functies is compositie gelijk aan matrix vermenigvuldiging De standaard 3*3 matrix kan omgezet worden in een 4*4 matrix ( homogeen)
Instantie transformaties Als een object gecreerd is met eigen coordinatensysteem kunnen we een copie of een instantie plaatsen in een grotere scene Die scene is beschreven in een onafhankleijk coordinatensysteem We kunnen dan een coordinaten transformatie uitvoeren. Dit noemen we een instant transformatie
Wiskunde van projecties Er zijn fundamentele verschillen tussen de echte 3D-wereld en de beschrijving van een 2D plaatje ( projectie) Projectie is gedefinieerd als een afbeelding van punt P(x,y,z) op zijn beeld P’(x’,y’,z’) in het projectievlak (view plane) (zie fig 7-1)
Wiskunde van projecties De afbeelding wordt bepaald door een projectielijn genaamd projector die door P gaat en het projectievlak snijdt in P’ Het resultaat is afhankelijk van de ruimtelijke relatie tussen de projectors (zie de klassificatie van projectie) De 2 basismethoden perspectief en parallel zijn ontworpen om het basis probleem van presentatie op te lossen Weergeven zoals het object zich voordoet en het behouden van echte grootte en vorm
Classificatie van projectie Men kan verschillende projecties maken afhankelijk van het beeld dat gewenst wordt In fig 7-2 is een classificatie gegeven van families van perspectieve en parallelle projecties Sommige hebben namen: cavalier, cabinet, isometrisch, enz Andere projecties kwalificeren het hoofdtype van een projectie ( verdwijnpunt voor 1 as)
Classificatie van projectie
Perspectief projectie Basis principe De techniek van perspectieve projecties zijn generalisaties van het principe dat door kunstenaars is gebruikt om 3D weer te geven Het oog van de kunstenaar wordt geplaatst in het centrum van projectie en het doek ( het vlak van het doek) wordt het view plane Een beeldpunt wordt gevormd door een projector die vanuit het object punt (P1) gaat naar het centrum van projectie (C) (zie fig 7-3)
Perspectief projectie
Perspectief projectie Perspectief tekeningen worden gekarakteriseerd door 2 elementen: Verkorting: Dit is de illusie dat objecten en lengten kleiner zijn als de afstand van het projectie centrum toeneemt ( fig. A geen verkorting, fig. B wel)
Perspectief projectie Verdwijnpunt: De illusie dat parallelle lijnen samenkomen in een punt ver verwijderd Dit punt heet verdwijnpunt Hoofdverdwijnpunten worden gevormd door parallelle lijnen evenwijdig aan de x,y of z-as Het aantal hoofdverdwijnpunten wordt bepaald door het aantal hoofdassen die het view plane snijden
Perspectief projectie
Wiskundige beschrijving van perspectieve projectie Een perspectief transformatie wordt bepaald door een projectiecentrum en een view plane Een view plane wordt bepaald door view referentiepunt R en view plane normaal N Het objectpunt wordt bepaald door wereldcoordinaten in P(x,y,z) Het probleem is de beeldpunt coordinaten P’(x’,y’,z’) te bepalen ( zie fig 7-3)
Wiskundige beschrijving van perspectieve projectie Voorbeeld 1: De standaard perspectief projectie is in fig 7-4 gegeven
Wiskundige beschrijving van perspectieve projectie Het view-plane is het xy vlak Projectiecentrum is C(0,0,-d) op de negatieve z-as Met behulp van driehoek ABC en A’OC wordt : Zie onderstaand figuur voor de verhouding van de y-waarde B(0,0,z) D(0,y,z) D(0,y’,z) O(0,0,0) C(0,0,-d) y’ y d z
Wiskundige beschrijving van perspectieve projectie De perspectief transformatie tussen object en beeldpunt is niet lineair , daarom geen 3*3 matrix. We gebruiken homogene coordinaten De factor 1/(z+d) kan weggelaten worden want de grootte van de vector is niet van belang maar de richting Een algemene transformatie (met n=normaal op vlak en C(a,b,c)= projectiecentrum ) is in opg. 7.5 gegeven
Perspectief afwijkingen Het proces van perspectief introduceert afwijkingen van grootte en vorm Verkorting Hoe verder een object weg hoe kleiner het voor ons verschijnt (zie fig 7-5)
Perspectief afwijkingen Verdwijnpunt: Lijnen van projectie die niet parallel aan het view plane zijn verschijnen aan ons op enig punt op het view plane Een algemene manifestatie van deze afwijking is de illusie dat de spoorstaven een punt aan de horizon bereiken
Parallelle projectie Parallelle projectiemethoden worden gebruikt door tekenaars en engineers om werktekeningen te maken van een object , waarbij de schaal en vorm behouden blijven De complete presentatie van deze details vereist 2 of meer aanzichten (projecties) van het object op verschillende view planes Bij parallelle projectie worden beeldpunten gevonden als het snijpunt van het view plane met de projector die getekend wordt vanuit het objectpunt en heeft een vaste richting (zie fig 7-9)
Parallelle projectie
Parallelle projectie De richting van de projectie is gelijk voor alle projectors Orthografische projectie wordt gekenmerkt door het feit dat de richting van projectie loodrecht op het view plane is Als de richting evenwijdig aan de coordinaatas is, dan krijgen we vooraanzicht, bovenaanzicht en zijaanzicht van technische tekeningen (multiview tekeningen) Axonometrische projectie is orthografische projectie waarbij de richting van projectie niet evenwijdig is aan de coordinaatas
Parallelle projectie Niet orthografische parallelle projectie ( projectierichting loodrecht op view plane ) heet Oblique parallele projectie Multiview tekening
Wiskundige beschrijving van Parallelle projectie Een parallelle projectieve transformatie wordt bepaald door de richting van de projectie vector V en een view plane Het view plane is gespecificeerd door zijn referentiepunt R0 en de normaal op het view plane N Het objectpunt P(x,y,z) in wereldcoordinaten Het probleem is om het beelpuntcoordinaat P(x’,y’,z’) te bepalen (zie fig 7-9) Als de projectievector V dezelfde richting heeft als N spreekt men van orthografisch ( anders oblique ( zie fig 7-10)
Wiskundige beschrijving van Parallelle projectie
Wiskundige beschrijving van Parallelle projectie Subcatogorie van orthografische projectie: Isometrisch: De projectierichting heeft gelijke hoeken met alle 3 de hoofdassen L, B en H op schaal 1/1 assenkruis met hoeken onder 120° eenvoudig
Wiskundige beschrijving van Parallelle projectie
Wiskundige beschrijving van Parallelle projectie Dimetrisch: De projectierichting heeft gelijke hoeken met exact 2 van de hoofdassen H en B op schaal 1/1 L op schaal 1/2 Hoeken onder 7° en 42° niet eenvoudig
Wiskundige beschrijving van Parallelle projectie
Wiskundige beschrijving van Parallelle projectie Trimetrisch: De projectierichting heeft geen gelijke hoeken met de hoofdassen
Wiskundige beschrijving van Parallelle projectie Subcategorieen van oblique projectie (projectierichting niet loodrecht op view plane) Cavalier: De projectierichting is zo gekozen dat er geen verkorting plaats vindt loodrecht op xy-vlak Alle lijnen hebben de ware afmetingen (geen vervorming)
Wiskundige beschrijving van Parallelle projectie Cabinet: De projectierichting is zo gekozen dat verkorting van een half plaats vindt loodrecht op xy-vlak Het voorvlak heeft de ware afmetingen (geen vervorming) Dit is wat de mens ziet ( meest gebruikt)
Wiskundige beschrijving van Parallelle projectie Voorbeeld 3: Bepaal de parallelle projectieve transformatie loodrecht op het xy vlak ( zie fig 7.11) De lijn loodrecht op het xy vlak gaat van P(x,y,z) naar P’(x’,y’,z’) Nu is P’(x’,y’,z’)= P’(x ,y ,0) zodat : Hierin K de vector evenwijdig aan z-as
Wiskundige beschrijving van Parallelle projectie
Wiskundige beschrijving van Parallelle projectie Hieruit volgt: x’ = 1.x + 0.y +0.z + 0.1 y’ = 0.x + 1.y +0.z + 0.1 z’ = 0.x + 0.y +0.z + 0.1 1 = 0.x + 0.y +0.z + 1.1 In matrix-vorm: