290 likes | 574 Views
Geometriai t ranszformációk. Szirmay-Kalos László. Geometriai transzformációk. ( x ’ ,y ’ ) = T ( x,y ). Általában az e gyenlet elromlik Korlátozás: Pont, szakasz, sokszög alakzat Pont-, szakasz-, sokszögtartó transzformációk Eltol ás, egybevágósági tr., hasonlósági tr.
E N D
Geometriai transzformációk Szirmay-Kalos László
Geometriai transzformációk (x’,y’) = T(x,y) • Általában az egyenlet elromlik • Korlátozás: • Pont, szakasz, sokszög alakzat • Pont-, szakasz-, sokszögtartó transzformációk • Eltolás, egybevágósági tr., hasonlósági tr. • Affin transzformációk = • párhuzamos egyeneseket párhuzamos egyenesekbe • Descartes koordinátákban lineáris művelet • Homogén lineáris transzformációk (x,y)
Elemi affin transzformációk • Eltolás: r’ = r + p • Skálázás: x’= Sxx; y’= Syy; Sx 0 0 Sy [x’,y’] = [x,y] r’ r Fix pont: origó
Forgatás [x’,y’] x = r cosa y = r sina x’ = r cos(a+f) = r cosa cosf - r sina sinf y’ = r sin(a+f) = r cosa sinf + r sina cosf x’ = r cos(a+f) = xcosf - ysinf y’ = r sin(a+f) = xsinf + ycosf [x,y] f r a cosf sinf -sinfcosf Fix pont: origó [x’,y’] = [x, y]
Elemi transzformációk • Nyírás: x’= x; y’= y + a x; • Tükrözés: 1a 0 1 r’ = r 10 0-1 r’ = r
Más algebrai alap? • Idáig (2D-ben) • Pont = számpár • Eltolás = számpár (vektor) • Elforgatás, skálázás, nyírás, stb. = 22-s mátrix • Más lehetőség? • Pont = komplex szám (z) • Eltolás = komplex szám (összeadás): z’ = z + v • Forgatás, skálázás (forgatva nyújtás) = komplex szám (szorzás): z’ = z * f , ahol f = r eiφ
Összetett transzformáció • Affin transzformáció: r’ = rA + p • A: lineáris transzformáció • forgatás, skálázás, tükrözés, nyírás, stb. • p: eltolás • Amíg lineáris transzformáció: konkatenáció • r’ =(...(r A1)A2)... An) =r(A1A2... An)
Homogén koordinátás transzformációk • Eltolás nem fér bele a 2x2-es mátrixba • Dolgozzunk 3x3-as mátrixokkal A a11 a12 0 a21 a22 0 p1 p2 1 [r’, 1]=[r, 1] = [r A + p, 1] p [r’,1]=(...([r,1]T1)T2)... Tn) =[r,1] (T1T2... Tn)
Centrális projekció Eltűnő egyenes Ideális pontok Vetítési középpont képsík tárgysík
Euklideszi geometria • Axiómák: • 2 pont meghatároz egy egyenest • 1 ponton keresztül pontosan 1 egyenes megy át, amely nem metsz egy, a pontra nem illeszkedő másik egyenest (párhuzamosság) • 2 különböző egyenes legfeljebb 1 pontban metszi egymást • centrális projekcióra lyukas (nincsenek ideális pontok) • algebrai alap: Descartes koordináta rendszer
Projektív geometria • Foltozgatjuk az euklideszi geometriát • Projektív sík = Euklideszi sík pontjai + ideális pontok • Minden egyeneshez vegyünk hozzá egy ideális pontot úgy, hogy két egyenes akkor és csak akkor kapja u.a. pontot, ha párhuzamos • Az egyenesek halmazát egészítsük ki az ideális pontokat tartalmazó egyenessel • Axiómák • 2 pont meghatároz egy egyenest • 2 különböző egyenes pontosan 1 pontban metszi egymást • algebrai alap: homogén koordináták
Homogén koordináták Yh Összsúly: h = Xh+Yh + w Pont homogén koordinátái: [Xh ,Yh ,h] w Xh Homogén [0,0,0] nem pont
Homogén-Descartes kapcsolat affin pontokra Xh [1,0]+Yh [0,1]+w[0,0] r(Xh ,Yh ,h) = h Yh r(Xh ,Yh ,h) = ( , ) Xh h Yh h [0,1] w Xh Xh h Yh h [0,0] y = x = [1,0]
Következmények • Minden affin ponthoz van: [Xh ,Yh ,h] • (x, y) [x, y,1] • Ha h 0, akkor [Xh ,Yh ,h] affin pont Xh h Yh h ( , )
h=0 (x,y,0) (x,y,1/3) (x,y,1) (2x,2y,1) = (x,y,1/2) y x
Párhuzamos egyenesek metszéspontja Descartes koordinátákkal a1 x + b1 y +c1 = 0 a2 x + b2 y +c2 = 0 x,y ax + by + c1 = 0 ax + by + c2 = 0 c1 - c2 = 0 nincs megoldás
Párhuzamos egyenesek metszéspontja homogén koordinátákkal Descartes: ax + by +c = 0 aXh/h+ b Yh/h+c = 0, h0 Homogén: aXh + b Yh+c h = 0 h0 aXh + bYh + c1 h = 0 aXh + bYh + c2 h = 0 (c1 - c2)h = 0 h = 0, Xh = b, Yh = -a [b,-a,0]
Pont:(Xh ,Yh , h) Egyenes: aXh + bYh +ch = 0 • Dualitás: • Az ideális pontok egy egyenesen vannak: h = 0 0Xh + 0Yh +1h = 0 a b c [Xh ,Yh ,h]· = 0
Projektív egyenes paraméteres egyenlete Y1 Egyenes = két pont kombinációja Szakasz = két pont konvex kombinációja X1 w1 [X(t),Y(t),h(t)]=[X1 ,Y1 ,h1]·t + [X2,Y2,h2]·(1-t)
Homogén lineáris transzformációk • Euklideszi sík affin transzformációi: [x’, y’]=[x, y] A + p • Homogén koordináták lineáris függvényei: [Xh’,Yh’,h’] = [Xh,Yh,h]T + p • Homogén lineáris transzformációk bővebbek: a11 a12 0 a21 a22 0 p1 p2 1 T =
Homogén lineáris transzformációk tulajdonságai • Pontot-pontba, egyenest-egyenesbe (pontba), konvex kombinációkat, konvex kombinációkba visznek át Példa: egyenest egyenesbe: [X(t),Y(t),h(t)]=[X1 ,Y1 ,h1]·t + [X2,Y2,h2]·(1-t) P(t) = P1·t + P2·(1-t) // · T P*(t) = P(t)·T= (P1·T)·t + (P2·T)·(1-t)
Példa: Euklideszi geometriában nem lineáris transzformáció 10 p 01 q 0 0 0 x, y x’, y’ [x, y, 1] [x, y, px+qy] x px+qy y px+qy x/y=x’/y’ és px+qy=1
Veszélyek: átfordulási probléma Ideális pont =Projektív egyenes (topológia) Szakasz ?????
A projektív tér, 3D pontok homogén koordinátái Zh Összsúly: h = Xh+Yh + Zh + w Pont homogén koordinátái: [Xh ,Yh ,Zh,h] w Yh Xh Homogén
A projektív tér egyenesei és síkjai [X(t),Y(t),Z(t),h(t)]=[X1,Y1,Z1,h1]·t+[X2,Y2,Z2,h2]·(1-t) • Egyenes: • Sík: Euklideszi, Descartes koord: nxx + nyy + nzz + d = 0 Euklideszi, homogén koord: nxXh/h+ ny Yh/h+ nzZh/h +d = 0 Projektív: nxXh + ny Yh+ nz Zh +d h = 0 nx ny nz d [Xh ,Yh ,Zh,h]· = 0
Invertálható homogén lineáris transzformációk síkot síkba visznek át T P P* = P·T T-1 (P*·T-1)·NT= 0 P*·(T-1·NT)= 0 P*·(N·(T-1)T)T= 0 P*·N*T= 0 P·NT= 0 N*=N·(T-1)T Inverz-transzponált
Projektív geometria a számítógépes grafikában Projektív tér Világ: Euklideszi tér • [x,y,z] (x, y,z,1) (Xh ,Yh ,Zh ,h) (T1T2... Tn) Projektív tér Kép: Euklideszi tér [ , , ] Xh h Yh h Zh h