Forelesningsnotater sif8039 grafisk databehandling
This presentation is the property of its rightful owner.
Sponsored Links
1 / 53

Forelesningsnotater SIF8039/ Grafisk databehandling PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on
  • Presentation posted in: General

Forelesningsnotater SIF8039/ Grafisk databehandling. Notater til forelesninger over: Kapittel 4: ”Geometric Objects and Transformations” i: Edward Angel: ”Interactive Computer Graphics” Vårsemesteret 2002 Torbjørn Hallgren Institutt for datateknikk og informasjonsvitenskap

Download Presentation

Forelesningsnotater SIF8039/ Grafisk databehandling

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


Forelesningsnotater sif8039 grafisk databehandling

Forelesningsnotater SIF8039/Grafisk databehandling

Notater til forelesninger over:

Kapittel 4: ”Geometric Objects and Transformations”

i:

Edward Angel: ”Interactive Computer Graphics”

Vårsemesteret 2002

Torbjørn Hallgren

Institutt for datateknikk og informasjonsvitenskap

Norges teknisk-naturvitenskapelige universitet


Geometriske transformasjoner

Geometriske transformasjoner

  • Flytting og endring av objekter modellert i egne koordinatsystemer

  • Sette sammen objekter av delobjekter

  • Endring av koordinatsystem

    Også kalt:

    Modelleringstransformasjoner

    Koordinattransformasjoner


Forelesningsnotater sif8039 1312797

Plan

  • Basistransformasjonene

  • Problem:

    • Konstatere problem

    • Løse problemet

    • Basistransformasjonene på nytt

  • Rotasjoner rundt vilkårlig akse

    Stoff for mer enn en dobbelttime


Geometriske transformasjoner1

Geometriske transformasjoner

  • Skalering

  • Rotasjon Basistransformasjoner

  • Translasjon

  • Skjærtransformasjoner

  • Refleksjon


Skalering

Skalering

2 x

3 x

Skalering relativt origo. (Referansepunkt: origo)


Skalering1

Skalering

På matriseform:


Rotasjon

Rotasjon

y

Rotasjonsvinkel:

x

Rotasjon i planet om origo. (Referansepunkt: origo)


Rotasjon1

Rotasjon

Ser på rotasjon av ett punkt:

y

(x’,y’)

(x,y)

x


Rotasjon2

Rotasjon

På matriseform:

Rotasjon i x-y-planet kan sees på som rotasjon om

z-aksen med konstant z. I 3D blir da matriseformen:


Rotasjon3

Rotasjon

På samme måte: rotasjon om x-aksen:

Rotasjon om y-aksen:


Rotasjon4

Rotasjon

Syklisk ombytting som grunnlag for rotasjons-

matrisene om x- og y-aksene:

z -> x

z -> x -> y

y -> z

y -> z -> x

x -> y

x -> y -> z


Rotasjon5

Rotasjon

Enhver rotasjon kan sees på som sammensatt

av en rotasjon om hver av koordinataksene.


Translasjon

Translasjon

y

(x’,y’)

(x,y)

x


Translasjon1

Translasjon

På vektorform:

PROBLEM: lar seg ikke skrive på matriseform ved hjelp

av en 3x3-matrise!!


Affine rom

Affine rom

Ved hjelp av homogene koordinater:

  • Hjelper oss å skille mellom de geometriske entitetene:

    • punkt

      og

    • vektorer

  • Ordner opp med translasjons-problemet


Punkt og vektorer

Punkt og vektorer

-Punkt er steder i rommet

-Vektorer har lengde og retning, men

er IKKE stedfestet


Koordinatsystemer

Koordinatsystemer

z

Et koordinatsystem er et

vektorrom spent ut av en

basis bestående av tre

ortonormale enhetsvektorer.

For å kunne angi koordinater,

har vi i tillegg et origo

y

x


Vektorrom

Vektorrom

  • En mengde av vektorer med gyldige operasjoner:

    • addisjon

    • skalar multiplikasjon

  • og med følgende egenskaper:

    • u + v = v + u(kommutativ)

    • ( u + v ) + w = u + ( v + w )(assosiativ)

    • u + 0 = u(nullvektor)

    • a + ( -a ) = 0

    • ß ( u + v ) = ß u + ß v(distributiv)

    • ( ß + µ ) u = ß u + µ u(distributiv)

    • ß ( µ u ) = ( ß µ ) u(assosiativ)

    • 1 u = u

      u, v og w er vektorer. ß og µ er skalarer


Vektorrom og affine rom

Vektorrom og affine rom

Vektorrom:

  • Vektorrom av dimensjon n har en basis bestående av n lineært uavhengige vektorer:

    v1, v2, v3, … , vn

    Affine rom:

  • For affine rom inngår i tillegg et referanse-punkt slik at basis blir:

    v1, v2, v3, … , vn, P0


Affine rom1

Affine rom

  • Tilleggsegenskap for affine rom:

    v = P - Q(punkt-punkt subtraksjon

    gir en vektor)

    Q = v + P(vektor-punkt sum gir et

    punkt)

  • Begrepet koordinatsystem erstattes med begrepet frame


Affine rom2

Affine rom

  • Vektorer i det affine rommet:

    med ”representasjonen”:


Affine rom3

Affine rom

  • Punkt i det affine rommet:

    med ”representasjonen”:


Homogene koordinater

Punkt:

Vektorer:

Homogene koordinater


Skalering2

Skalering

På matriseform med homogene koordinater:


Rotasjon6

Rotasjon


Rotasjon7

Rotasjon

Om z-aksen på matriseform i homogene

koordinater:


Rotasjon8

Rotasjon

Rotasjon om x-aksen i homogene koordinater:

Rotasjon om y-aksen i homogene koordinater:


Translasjon2

Translasjon

På matriseform i homogene koordinater:

Vi har løst problemet!!


Egenskaper ved skalering

Egenskaper ved skalering

Invers transformasjon:

To skaleringer etter hverandre:


Egenskaper ved rotasjon

Egenskaper ved rotasjon

Invers transformasjon:

To rotasjoner om samme akse etter

hverandre:

Ortogonalitet:


Egenskaper ved translasjon

Egenskaper ved translasjon

Invers transformasjon:

To translasjoner etter hverandre:


Rotasjon om punkt utenfor origo

Rotasjon om punkt utenfor origo

y

Rotasjonsakse parallell med

z-aksen

(x,y,z)

x

1. Translere slik at rotasjonsaksen faller langs

z-aksen

2. Rotere

3. Translere tilbake


Konkatenering

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:

M=CBA

TRANSFORMASJONENE KONKATENERES I MOTSATT

REKKEFØLGE I FORHOLD TIL REKKEFØLGEN DE

UTFØRES I


Rotasjon om vilk rlig akse

Rotasjon om vilkårlig akse

z

P

Rotere vinkelen ß om

aksen gjennom punktene

P og Q

Q

y

x


Rotasjon om vilk rlig akse1

Rotasjon om vilkårlig akse

Plan:

1.Translere slik at Q faller i origo

2.”Svinge” rotasjonsaksen inn i x-z-planet

3. ”Svinge” rotasjonsaksen slik at den faller sammen med z-aksen

4.Rotere vinkelen ß om z-aksen

5.Invers av 3

6.Invers av 2

7. Invers av 1


Rotasjon om vilk rlig akse2

Rotasjon om vilkårlig akse

z

Retningsvinkler:

P

,

og

Q

Q’

y

x

Steg 1 - translasjon av rotasjonsaksen


Rotasjon om vilk rlig akse3

Rotasjon om vilkårlig akse

Nyttig for ”fremtidig bruk” - enhetsvektor i rotasjons-

akseretningen:

Vektor i retningen:

Enhetsvektor:


Rotasjon om vilk rlig akse4

Rotasjon om vilkårlig akse

retningskosinuser


Rotasjon om vilk rlig akse5

Rotasjon om vilkårlig akse

z

d

v

Q’

y

x

Steg 2 - ”svinge” rotasjonsaksen inn i x-z-planet


Rotasjon om vilk rlig akse6

Rotasjon om vilkårlig akse

z

v

x

Steg 3 - svinge rotasjonsaksen slik at den faller sammen

med z-aksen


Rotasjon om vilk rlig akse7

Rotasjon om vilkårlig akse

Transformasjonene for stegen 1 og 2 blir etter dette:


Rotasjon om vilk rlig akse8

Rotasjon om vilkårlig akse

Transformasjonene for stegen 3 og 4 blir etter dette:


Rotasjon om vilk rlig akse9

Rotasjon om vilkårlig akse

Den fullstendige transformasjonen blir:


Basistransformasjonene

Basistransformasjonene

Enhver kombinasjon av basistransformasjonene resulterer

i en transformasjonsmatrise av formen:

Affine transformasjoner

Affine transformasjoner bevarer parallellitet

(alle tre basistransformasjonene)

Stive transformasjoner bevarer i tillegg størrelse og vinkler

(rotasjon og translasjon)


Skifte av koordinatsystem

Skifte av koordinatsystem

z

n

u

v

y

Kjenner koordinatene i xyz-systemet.

Søker koordinatene i uvn-systemet:

Puvn=Muvn<-xyzPxyz

x


Skifte av koordinatsystem1

Skifte av koordinatsystem

  • Ser på uvn-systemet som et objekt skapt i xyz-systemet med akser sammenfallende med xyz-systemets akser

  • Transformasjon til nåværende posisjon med matrisen M

    • Referansen til et punkt i ”uvn-objektet i sin endelige posisjon” referert til xyz-system:

      [ x’ y’ z’ 1 ]T som tilsvarer Pxyz

    • Referansen til det samme punktet i sin opprinnelige posisjon i xyz-systemet:

      [ x y z 1 ]T = [ u v n 1 ]T som tilsvarer Puvn


Skifte av koordinatsystem2

Skifte av koordinatsystem

  • Vi får:

    Pxyz = M Puvn

    Puvn= M-1 Pxyz

    Muvn<-xyz = M-1

  • Konklusjonen er:

    • Matrisen for transformasjon av koordinater i xyz-systemet til koordinater i uvn-systemet kommer fram av den transformasjonen som skal til for at uvn-systemet flyttes slik at dets akser faller sammen med xyz-systemets


Ortogonale matriser

Ortogonale matriser

  • Definisjon av ortogonal matrise:

  • Teorem:

    • En reell kvadratisk matrise er ortogonal hvis og bare hvis kolonnevektorene og radvektorene hver for seg danner ortonormale systemer


Ortogonale matriser1

Ortogonale matriser

  • Rotasjonsmatrisen:


Ortogonale matriser2

Ortogonale matriser

Dette koordinatsystemet kan

være ett som er forankret på en

intelligent måte i vårt objekt

som skal roteres


Ortogonale matriser3

Ortogonale matriser

z

v

P

Rotere vinkelen ß om

aksen gjennom punktene

P og Q

u

Q

n

y

Vesentlig: En av enhetsvektorene legges

langs rotasjonsaksen.

De to andre enhetsvektorene kan velges

fritt slik det er mest hensiktsmessig så lenge

de tre danner et ortonormalt system

x


Ortogonale matriser4

Ortogonale matriser

Rotasjonsaksen vil nå ligge langs en av

koordinataksene (langs x-aksen dersom

enhetsvektoren u ble lagt langs rotasjonsaksen)


Ortogonale matriser5

Ortogonale matriser

Systemet av ortonormale vektorer

er tilbake på sin opprinnelige plass.

Rotasjonen er fullført


  • Login