TDT495 Bildeteknikk Grafikk Vår 29 Forelesning 5 Jo Skjermo Jo.skjermo@idi.ntnu.no Department of Computer And Information Science Jo Skjermo, TDT423 Visualisering
2 TDT495 Forrige gang Attributter til grafiske primitiver Farger Linje- og kurveattributter Flateattributter Flling av flater Scanlinjealgoritmen Boundar-fill Flater med irregulære kanter Antialiasing
3 TDT495 - I dag Geometriske transformasjoner, del Basistransformasjoner Skalering Rotasjon Translasjon Kort om grunnelementene Punkt, skalarer og vektorer Problemer å løse Affine rom Koordinatsstemer og rammer Homogene koordinater
4 Geometriske transformasjoner Konstruksjon i lokale koordinatsstemer Transformasjon til verdenskoordinatsstemet l l l http://www.jand.com
5 Geometriske transformasjoner Objekter i eget lokalt (modellerings- koordinatsstem Fltting Rotasjon Skalering Sette sammen objekter av del-objekter Modelleringstransformasjoner -bgg opp objekter av deler (plassert i forhold til et felles origo for det objekter -bruker navnet modelleringstransformasjoner for å skille i bruk (men er også geometriske trans. Transformasjon til verdenskoordinatsstem Geometriske transformasjoner -plasser og fltt objekter (med hvert sitt lokale koordinatsstem rundt om i verden i forhold til hverandre Er koordinattransformasjoner
6 Geometriske transformasjoner Skalering Rotasjon Basistransformasjoner Translasjon Skjærtransformasjoner Refleksjon kjekt å ha:
7 Plan Basistransformasjonene Problem: Konstatere problemer Løse problemene Grunnleggende for transformasjoner i grafikken Basistransformasjonene på ntt Rotasjoner rundt vilkårlig akse Quat
8 Skalering 2 3 Skalering relativt origo. (Referansepunkt: origo
9 Skalering retningen i skalering retningen skalering i retningen skalering i På matriseform:
Rotasjon Rotasjonsvinkel: Rotasjon i planet om origo. (Referansepunkt: origo
Rotasjon Ser på rotasjon av ett punkt: φ ρ ρ (, (, cos( sin( cos( sin( sin( cos( sin( cos( sin( sin( cos( cos( sin( cos( sin( cos( φ ρ φ ρ φ ρ φ ρ φ ρ φ ρ φ ρ φ ρ + + + +
2 Rotasjon På matriseform: cos( sin( sin( cos( Rotasjon i --planet kan sees på som rotasjon om -aksen med konstant. I 3D blir da matriseformen: cos( sin( sin( cos(
3 Rotasjon På samme måte: rotasjon om -aksen: cos( sin( sin( cos( Rotasjon om -aksen: cos( sin( sin( cos(
4 Rotasjon Sklisk ombtting som grunnlag for rotasjonsmatrisene om - og -aksene: -> -> -> -> -> -> -> -> ->
5 Rotasjon Enhver rotasjon kan sees på som sammensatt av en rotasjon om hver av koordinataksene i tur og orden
6 Translasjon (, (,
7 Translasjon + + + På vektorform: + PROBLEM: lar seg ikke skrive på matriseform ved hjelp av en 33-matrise!!
8 Geometriske bestanddeler Geometriske modeller bgges opp av: Linjer Flater Volumer Bggeredskaper : Punkt Vektorer Skalarer
9 Geometriske bestanddeler Punkt: Et punkt P er et sted i rommet Ingen utstrekning Eksisterer uavhengig av referanse og målesstem Referanse og mål koordinatsstem I fsikken: inertialsstem universets sentrum UTM-sstemet sstem for kartframstilling på jorda Koordinatsstemer i grafikk: Modellkoordinater Verdenskoordinater Kamerakoordinater.
2 Vektorer Punkt Vektorer: Har lengde og retning Er IKKE stedfestet Eksisterer uavhengig av referanse- og målesstem De tre røde vektorene er ekvivalente
2 Vektorrom En mengde av vektorer med gldige operasjoner: addisjon skalar multiplikasjon og med følgende egenskaper: u + u (nullvektor a + ( -a (invers vektor u + v v + u (kommutativ ( u + v + w u + ( v + w (assosiativ u u ß ( u + v ß u + ß v (distributiv ( ß + µ u ß u + µ u (distributiv ß ( µ u ( ß µ u (assosiativ u, v og w er vektorer. ß og µ er skalarer
22 Vektorrom Et vektorrom av dimensjon n har en basis bestående av n lineært uavhengige vektorer v, v 2,, v n. Disse vektorene er slik at: v + v 2 2 + v 3 3 + L + v n n bare kan oppflles dersom alle k.
23 Koordinatsstemer e Et kartesisk koordinatsstem er et vektorrom spent ut av en basis bestående av tre ortonormale vektorer. e e Måler koordinater langs aksene For å kunne angi koordinater, har vi i tillegg et origo
24 Skalarer Reelle tall som i vår sammenheng brukes angivelse av mål, skaleringsfaktorer inklusive Punkt Skalering av punkt: MENINGSLØST Fltte punkt Angivelse av koordinater Vektorer Angivelse av lengde Angivelse av retning Skalering
25 Skalarer Lengde Vektorer Retning v 3v Skalering
26 Linjer, flater og volumer I likhet med punkt og vektorer: Eksisterer uavhengig av referanse- og målesstem Linjer og flater Kan beskrives ved analtiske matematiske uttrkk Kan behandles av eksisterende grafikksstemer Volumer Kan beskrives matematisk ved hjelp av en kombinasjon av analtiske matematiske uttrkk og logiske uttrkk Eksisterende grafikksstemer behandler volumer som skall bestående av flater
27 Problemer å løse Uttrkke translasjon på matriseform Behandle alle transformasjoner med samme formalisme Slå sammen transformasjoner i en matrise Finne fram til enhetlig notasjon og operasjoner som skiller mellom punkt og vektorer
28 Affine rom Ved hjelp av homogene koordinater: Skiller mellom de geometriske entitetene: punkt og vektorer Ordner opp med translasjons-problemet
29 Vektorrom og affine rom Vektorrom: Vektorrom av dimensjon n har en basis bestående av n lineært uavhengige vektorer: v, v 2, v 3,, v n Affine rom: For affine rom inngår i tillegg et referanse-punkt slik at basis blir: v, v 2, v 3,, v n, P
3 Affine rom Har alle egenskapene som vektorrom har Tilleggsegenskap for affine rom: v P - Q (punkt-punkt subtraksjon gir en vektor Q v + P (vektor-punkt sum gir et punkt Begrepet koordinatsstem erstattes med begrepet ramme (frame
3 Affine rom Punkt i det affine rommet: P v + 2v2 + K+ nvn + P med representasjonen: [ K ] T p 2 n
32 Affine rom Vektorer i det affine rommet: v v + 2v2 + K+ nvn + P med representasjonen: [ K ] T v 2 n
33 Homogene koordinater Punkt: Vektorer: p v δ δ δ
34 Skalering retningen i skalering retningen i skalering retningen i skalering P S P S,, ( På matriseform med homogene koordinater:
35 Rotasjon Rotasjon av et punkt om -aksen: cos( sin( + sin( cos(
36 Rotasjon Om -aksen på matriseform i homogene koordinater: P R P R ( cos( sin( sin( cos(
37 Rotasjon Rotasjon om -aksen i homogene koordinater: P R P R ( cos( sin( sin( cos( Rotasjon om -aksen i homogene koordinater: P R P R ( cos( sin( sin( cos(
38 Translasjon + + + På matriseform i homogene koordinater: P T P T,, ( Vi har løst translasjonsproblemet!!
39 Egenskaper ved skalering Invers transformasjon: To skaleringer etter hverandre:,, (,, ( S S,, (,, (,, ( 2 2 2 2 2 2 res S S S S
4 Egenskaper ved rotasjon Invers transformasjon: Ri ( Ri ( i, eller R T i Ri To rotasjoner om samme akse etter hverandre: R res Ri i ( 2 Ri ( R ( + 2
4 Egenskaper ved translasjon Invers transformasjon: To translasjoner etter hverandre:,, (,, ( T T,, (,, (,, ( 2 2 2 2 2 2 res T T T T + + +
42 Konkatenering Sammenslåing av transformasjoner Eks.: Punktet p gjennomgår transformasjonene A, B og C i nevnte rekkefølge: p Ap p Bp BAp p Cp CBAp Resultattransformasjon: MCBA TRANSFORMASJONENE KONKATENERES I MOTSATT REKKEFØLGE I FORHOLD TIL REKKEFØLGEN DE UTFØRES I
43 Skalering relativt et vilkårlig punkt Ønsker Har (,,. Translere slik at punktet (,, faller i origo 2. Skalere 3. Translere tilbake
44 Rotasjon om punkt utenfor origo Rotasjonsakse parallell med -aksen gjennom punktet (,, (,,. Translere slik at rotasjonsaksen faller langs -aksen 2. Rotere 3. Translere tilbake
45 Refleksjon Refleksjon om et plan Rf
46 Refleksjon Refleksjon om en akse Rf
47 Refleksjon Refleksjon om et punkt Rf o
48 Refleksjon l Refleksjon om linjen l: m+b Ett eksempel: -Transler linjen slik at den passerer origo -Roter slik at linjen sammenfaller med akse -Reflekter om plan gjennom aksen -Roter og transler tilbake
49 Neste gang Geometriske transformasjoner, del 2 Refleksjon* Skjærtransformasjoner Rotasjon om en vilkårlig akse Eulervinkler Stive og affine transformasjoner Ortogonale matriser