CpE & ME 519

Podobni dokumenti
Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

Osnove matematicne analize 2018/19

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

Slide 1

FGG13

ANALITIČNA GEOMETRIJA V RAVNINI

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

resitve.dvi

resitve.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

FGG14

M

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese

NEKAJ VPRAŠANJ IZ MATEMATIKE 2 1. Katero točko evklidskega prostora R n imenujemo notranjo (zunanjo, robno) točko množice M R n? 2. Za poljubno množic

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Brownova kovariancna razdalja

MATEMATIKA 2. LETNIK GIMNAZIJE G2A,G2B Sestavil: Matej Mlakar, prof. Ravnatelj: Ernest Simončič, prof. Šolsko leto 2011/2012 Število ur: 140

Popravki nalog: Numerična analiza - podiplomski študij FGG : popravljena naloga : popravljena naloga 14 domače naloge - 2. skupina

Kotne in krožne funkcije Kotne funkcije v pravokotnem trikotniku β a c γ b α sin = a c cos = b c tan = a b cot = b a Sinus kota je razmerje kotu naspr

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

Predtest iz za 1. kontrolno nalogo- 2K Teme za kontrolno nalogo: Podobni trikotniki. Izreki v pravokotnem trikotniku. Kotne funkcije poljubnega kota.

Matematika II (UN) 2. kolokvij (7. junij 2013) RE ITVE Naloga 1 (25 to k) ƒasovna funkcija f je denirana za t [0, 2] in podana s spodnjim grafom. f t

STAVKI _5_

Univerza v Novi Gorici Fakulteta za aplikativno naravoslovje Fizika (I. stopnja) Mehanika 2014/2015 VAJE Gravitacija - ohranitveni zakoni

Matematika II (UNI) Izpit (23. avgust 2011) RE ITVE Naloga 1 (20 to k) Vektorja a = (0, 1, 1) in b = (1, 0, 1) oklepata trikotnik v prostoru. Izra una

Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 4.10 Izpitni režim: Kolokviji in pisni izpiti so vsi s

Namesto (x,y)R uporabljamo xRy

7. VAJA A. ENAČBA ZBIRALNE LEČE

FGG02

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

'Kombinatoricna optimizacija / Lokalna optimizacija'

RAČUNALNIŠKA ORODJA V MATEMATIKI

Matematika 2 - ustna vprašanja 1) Determinanta, poddeterminanta (1,3)...3 2) Lastnosti determinante (5)...3 3) Cramerjevo pravilo (9)...3 4) Računanje

Slikovne transformacije_2017_18_DKT

Poslovilno predavanje

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

glava.dvi

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode])

LaTeX slides

Numeri na analiza - podiplomski ²tudij FGG doma e naloge - 1. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 10 to k

SiTraNet-navodila

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

3dsMax-Particle-Paint

INDIVIDUALNI PROGRAM PREDMET: MATEMATIKA ŠOL. LETO 2015/2016 UČITELJ: ANDREJ PRAH Učenec: Razred: 7. Leto šolanja: Ugotovitev stanja: Učenec je lani n

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

P181C10111

C:/Users/Matevz/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-januar-februar-15.dvi

Ime in priimek

Univerza v Ljubljani

Microsoft PowerPoint - ID02_ANALIZA REZULTATOV JAMOMERSKIH MERITEV ZA IZGRADNJO JAŠKA NOP II - predstavitev skok čez kožo.pptx

Teorija kodiranja in kriptografija 2013/ AES

MERJENJE GORIŠČNE RAZDALJE LEČE

Uvod v diferencialne enačbe, kompleksno in Fourierovo analizo Bojan Magajna Fakulteta za matematiko in fiziko, Univerza v Ljubljani

Matematika 2

Microsoft Word - avd_vaje_ars1_1.doc

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO Petra Žigert Pleteršek MATEMATIKA III Maribor, september 2017

P182C10111

Rešene naloge iz Linearne Algebre

PowerPoint Presentation

ZveznostFunkcij11.dvi

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Jani Bizjak Iskanje predmetov v prostoru z mobilno pl

Mrežni modeli polimernih verig Boštjan Jenčič 22. maj 2013 Eden preprostejših opisov polimerne verige je mrežni model, kjer lahko posamezni segmenti p

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Domače vaje iz LINEARNE ALGEBRE Marjeta Kramar Fijavž Fakulteta za gradbeništvo in geodezijo Univerze v Ljubljani 2007/08 Kazalo 1 Vektorji 2 2 Analit

Klasična teorija polja L. D. Landau in E. M. Lifšic Inštitut za fizikalne naloge, Akademija za znanost ZSSR, Moskva Prevod: Rok Žitko, IJS 29. decembe

resitve.dvi

Microsoft PowerPoint - Java_spremenljivke

DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z in z Kompleksno stevilo je definirano kot : z = a + b, a p

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Peter Škofič Maribor, 2014

PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x x 8 s koordinatnima osema. R: 2 0, 8, 4,0,,0

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

Slide 1

STROJNIŠKI VESTNIK LETNIK 22 LJUBLJANA, JULIJ AVGUST 1976 ŠTEVILKA 7 8 UDK Prispevek k reševanju drugega robnega problema pri steni z luknj

Microsoft PowerPoint - Java-rekurzija.ppt

Funkcije in grafi

OSNOVE LOGIKE 1. Kaj je izjava? Kaj je negacija izjave? Kaj je konjunkcija in kaj disjunkcija izjav? Povejte, kako je s pravilnostjo negacije, konjunk

Diapozitiv 1

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo

VIDEOANALIZA GIBANJ Za kratke projektne naloge lahko dijaki z domačimi digitalnimi fotoaparati posnamejo nekaj sekundne videofilme poljubnih gibanj. U

VAJE

Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah

Zgledi:

Uradni list RS - 12(71)/2005, Mednarodne pogodbe

Vektorji - naloge za test Naloga 1 Ali so točke A(1, 2, 3), B(0, 3, 7), C(3, 5, 11) b) A(0, 3, 5), B(1, 2, 2), C(3, 0, 4) kolinearne? Naloga 2 Ali toč

Microsoft Word - CNC obdelava kazalo vsebine.doc

Krmiljenje elektromotorj ev

Adaptive Sound Technology Dodatek

SESTAVA VSEBINE MATEMATIKE V 6

NAVODILA AVTORJEM PRISPEVKOV

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Slide 1

Transkripcija:

2D Transformacije

Zakaj potrebujemo transformacije? Animacija Več instanc istega predmeta, variacije istega objekta na sceni Tvorba kompliciranih predmetov iz bolj preprostih Transformacije gledanja

Kaj je transformacija v rač. grafiki? Geometrične transformacije s pomočjo primerne formule ali algoritma spremenijo koordinate predmetov. Uporabljamo jih za izražanje sprememb lokacij, usmeritev, velikosti in oblike predmetov.

Z drugimi besedami: 2D Transformacije Transformacija je funkcija, ki vzame točko ali vektor in preslika to točko ali vektor v neko drugo točko ali vektor: y P Q x Q = T (P) Qx Px Qy = T Py Q je slika P Zaradi preslikave T

Osnovne transformacije Translacija: premik objekta z ene na drugo lokacijo, npr.: premik skozi sobo ali okolico. Rotacija: sprememba orientacije objekta na določeni lokaciji, npr.: vrtenje okrog lastne osi. Povečava (skaliranje): sprememba velikosti objekta, kot se pojavi na zaslonu, npr.: predmet se poveča ali zmanjša. Zrcaljenje Striženje (shear) Identiteta Clipping : vedeti, kje nehati risati predmet, ker je njegov del izven zaslona.

Translacija Translacijo opravimo na vsaki točki Osnovna transformacija Translacija: x' = x + Dx y' = y + Dy kjer je Dx relativna razdalja v x dimenziji, Izračun: Dy relativna razdalja v y dimenziji. [x' y'] = [x y] + [Dx Dy] P' = P + T

Rotacija [x' y'] = [x y] * [ cos θ sin θ] [-sin θ cos θ]

Rotacija Rotacija: x' = xcos θ - ysin θ y' = xsin θ + ycos θ kjer je θ kot rotacije. Izračun: [x' y'] = [x y] * [ cos θ sin θ] [-sin θ cos θ] P' = P * R Pozitivni koti so v nasprotni smeri urinega kazalca od x proti y; za negatvne uporabimo identiteti: in cos(- θ) = cos θ, sin(- θ) = -sin θ

Rotacija Okrog fiksne točke Pri rotaciji: velika razlika med: in "rotacijo okrog središčne točke objekta" "rotacijo okrog izhodišča kartezičnega sveta" Primer: imamo kroglo z vrvjo pritrjeno na palico ali želimo, da se krogla vrti okrog svoje osi? ali pa želimo, da se krogla z vrvico vrti okrog palice? Za rotacijo objekta okrog središčne točke: najprej translacija objekta v izhodišče, nato rotacija, nato translacija nazaj.

Povečava (scalling) [x' y'] = [x y] * [ Sx ] [ Sy ] Skaliranje: x' = x * Sx y' = y * Sy kjer je Sx skalirni faktor za x dimenzijo, Sy skalirni faktor za y dimenzijo. Izračun: S je definirana kot [ Sx ] [ Sy ] [x' y'] = [x y] * [ Sx ] [ Sy ] P' = P * S

2D Transformacije: povzetek Translacija: P' = P+T Skaliranje: P' = P*S Rotacija: P' = P*R Problem: Imamo heterogene operacije (seštevanje in množenje) Želimo homogene operacije (vse samo množenje), tako da lahko transformacije združujemo Primer: Skaliranje objekta med premikanjem (translacijo) in vrtenjem (rotacija). Želimo eno samo kompleksno operacijo, ne tri individualne.

Homogene operacije Koordinatni sistem lahko izboljšamo tako, da dodamo še eno dimenzijo. Tako lahko razne operacije izvajamo samo z množenjem matrik. Torej: da dobimo homogene operacije, uporabimo [D+ x D+] matrike (D je dimenzija): za 2D 3x3 matrike za 3D 4x4 matrike

2D skaliranje: matrika 2D skaliranje: enako kot prej [x' y' ] = [x y ] * [Sx ] [ Sy ] [ ] P' = P * S(Sx,Sy), S je zgornja matrika Zaporedne operacije lahko množimo. [x" y" ] = [x y ] * [SxSx2 ] [ SySy2 ] [ ]

2D rotacija: matrika 2D rotacija: enako kot prej [x' y' ] = [x y ] * [ cosb sinb ] [-sinb cosb ] [ ] P' = P * R(B), R je zgornja matrika Zaporedne rotacije lahko seštevamo. P -> P'(B) -> P"(A): [x" y" ] = [x y ] * [ cosb+cosa sinb+sina ] [-sinb-sina cosb+cosa ] [ ]

2D translacija: matrika 2D translacija: [x' y' ] = [x y ] * [ ] [ ] [Dx Dy ] P' = P * T(Dx, Dy), T je zgornja matrika. Zaporedne operacije lahko seštevamo. P -> P -> P": [ ] [x" y" ] = [x y ] * [ ] [Dx+Dx2 Dy+Dy2 ]

Osnovne 2D afine transformacije y x T T Translacija S y Sx Povečava ( ) ( ) ( ) ( ) cos sin sin cos θ θ θ θ Rotacija

Inverzne transformacije afinih transf. y x T T Translacija S y Sx Pomanjšava ( ) ( ) ( ) ( ) cos sin sin cos θ θ θ θ Rotacija

Sestavljanje afinih transformacij Pogosto uporabljamo zaporedje elementarnih transformacij in tako sestavimo kompleksno transformacijo. Procesu zaporedne uporabe več transformacij za oblikovanje splošne transformacije pravimo sestavljanje ali veriženje transformacij. Rezultat sestavljanja dveh afinih transformacij je afina transformacija.

Sestavljanje afinih transformacij Kako bi izvedli tako povečavo Premik B tako, da bo poravnan z izhodiščem tx =, ty = Povečava sx =, sy = Premik nazaj na prejšnje mesto tx =, ty =

Sestavljanje (veriženje) afinih transformacij Primer: Translacija za(3, -4) Nato rotacija za 3 stopinj Nato povečava za (2, -) Nato translacija za (.5) In končno rotacija za 3 stopinj W = T2 ( T ( P) ) ( P) = ( M M )( P) W = M 2 Če uporabljamo homogene koordinate, sestavimo afine transformacije s preprostim množenjem matrik

Primer : rotacija okoli poljubne točke. Premik točke P v izhodišče preko vektorja v = (-Vx, -Vy) 2. Rotacija okrog izhodišča za kot theta 3. Premik P nazaj za vektor v ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) = cos sin sin cos cos sin sin cos y x y x y x d d V V V V θ θ θ θ θ θ θ θ

Naj matrika M predstavlja transformacijo T in matrika M 2 naj predstavlja transformacijo T2: = Py Px Qy Qx M = 2 Qy Qx Wy Wx M Potem je = Py Px Wy Wx M, pri čemer je M 2 M M = Sestavljanje afinih transformacij

Ker množenje matrik ni kumulativno, je vrstni red transformacij pomemben 2 2 Py Px Py Px M M M M Sestavljanje afinih transformacij

Afine Transformacije Najbolj pogoste transformacije v računalniški grafiki Omogočajo enostavno premikanje, vrtenje in povečavo likov Zaporedje afinih transformacij lahko sestavimo v eno splošno afino transformacijo Afine transformacije nudijo kompaktno matrično predstavitev

Afine transformacije so linearne Ravne črte ostanejo ravne Vzporedne črte ostanejo vzporedne Relativna razmerja se ohranijo Transformirana površina = det M originalne površine

Še preostale afine transformacije

Zrcaljenje (reflection) Zrcaljenje tvori zrcalno sliko predmetov Običajno zrcalimo preko osi zrcaljenja Do tega pridemo s spremembo predznaka bodisi x bodisi y koordinat predmeta

x P Q y y x P Q Zrcaljenje preko osi x Zrcaljenje preko osi y = Py Px Qy Qx = Py Px Qy Qx Zrcaljenje preko koordinatne osi

x P Q y = Py Px Qy Qx Zrcaljenje preko izhodišča

Primer zrcaljenja preko poševne črte. Rotacija za kot -β 2. Zrcaljenje preko osi x 3. Rotacija nazaj za kot β β Rotate back Reflect about Rotate through through β x axis β Vrstni red je pomemben Rotate back Reflect about Rotate through through β x axis β

Striženje (shear)

Striženje (shear) Striženje spremeni podobo predmeta v odvisnosti od razdalje. x P Q y P 2 Q 2 + = Py Py h Px Qy Qx Striženje v smeri x + = 2 2 2 2 2 Py Py h Px Qy Qx

= Py Px g h Qy Qx Splošna oblika matrike: Pri tem je h faktor striženja v smeri x, g je faktor striženja v smeri y Striženje (shear)

Identiteta Poseben primer transformacij: nobene spremembe originalnega predmeta. = Py Px Qy Qx = Py Px Qy Qx Tej transformacijski matriki pravimo matrika identitete.

Programski primer // Calculate the transformation matrix M // Apply M to each point to transform P to Q // Draw the Q points void mydisplay(void) { Point p[], q[]; double M[3][3], M[3][3], tempx, tempy, tempr; // data p[].x = -.; p[].y = 3.; p[].r = ; p[].x = -; p[].y = -2; p[].r = ;

//transformation matrix M[][] = cos(*3.459/8.); M[][] = -sin(*3.459/8.); M[][2] = ; M[][] = sin(*3.459/8.); M[][] = cos(*3.459/8.); M[][2] = ; M[2][] = ; M[2][] = ; M[2][2] = ; //transformation matrix M[][] = ; M[][] = ; M[][2] = 2; M[][] = ; M[][] = ; M[][2] = ; M[2][] = ; M[2][] = ; M[2][2] = ;

//draw transformed shape Q = (M)(M)P } for( i=;i<;i++) { } tempx = M[][]*p[i].x + M[][]*p[i].y + M[][2]*p[i].r; tempy = M[][]*p[i].x + M[][]*p[i].y + M[][2]*p[i].r; tempr = M[2][]*p[i].x + M[2][]*p[i].y + M[2][2]*p[i].r; q[i].x = M[][]*tempx + M[][]*tempy + M[][2]*tempr; q[i].y = M[][]*tempx + M[][]*tempy + M[][2]*tempr; q[i].r = M[2][]*tempx + M[2][]*tempy + M[2][2]*tempr; glbegin(gl_polygon); for(i=;i<;i++) glvertex2d (q[i].x, q[i].y); glend(); glflush(); Draw the transformed points, Q