Biograafiad Omadused Analüüs

Teisendused tasapinnas ja ruumis. Afiinsed teisendused

Kujutise moodustamine ja sellega erinevad toimingud nõuavad kasutajalt teatud tasemel matemaatilist kirjaoskust. Geomeetrilised mõisted, valemid ja faktid, mis on seotud korter ja kolmemõõtmelised juhtumid, mängida arvutigraafika probleeme eriline roll. Analüütilise geomeetria põhimõtted koos arvutitehnoloogia üha laienevate võimalustega on ammendamatu allikas märkimisväärseid edusamme arvutigraafika arendamisel ja selle tõhusal kasutamisel CAD-is.

Raster- ja vektorpildid

Pilte on kahte tüüpi: raster- ja vektorkujutised.
Rasterkujutis koosneb paljudest punktidest – pikslitest (inglise keelest pixel – PIcture Element), igal pikslil on spetsiifiline värv. Mida tihedamad on pikslid, seda väiksem on nende suurus ja rohkem värvid, seda kõrgem on pildikvaliteet. Näiteid rasterpiltidest: ofset (ajalehe)trükk, pilt arvutiekraanil, skaneeritud joonis. Graafiliste väljundseadmete hea resolutsiooniga väga kõrge kvaliteediga rasterpilte, kuid kahjuks on nendega töötamine äärmiselt ebamugav ja skaleerimisel läheb kvaliteet kaotsi.
Lihtsamal juhul koosneb vektorkujutis mitte punktidest, vaid paljudest sirgetest segmentidest, antud koordinaatidega nende otsad. Sellist pilti saab kergesti skaleerida ilma kvaliteeti kaotamata ja seda on lihtne töödelda. Peaaegu kõigis CAD-is kasutatavates graafikapakettides esitatakse teave vektorkujul.

Afiinsed teisendused tasapinnal

Oletame, et tasapinnal on kasutusele võetud sirgjooneline koordinaatsüsteem. Seejärel seostatakse iga punkt M järjestatud arvupaariga (x, y) selle koordinaadid (joonis 1). Tutvustades tasapinnal teist sirgjoonelist koordinaatsüsteemi, määrame samale punktile M veel ühe numbripaari - (x*, y*).

Üleminekut tasapinna ühelt sirgjooneliselt koordinaatsüsteemilt teisele kirjeldatakse järgmiste seostega:

(*)

kus on ebavõrdsusega seotud suvalised arvud:

Edaspidi käsitleme reeglina valemeid (*), mille järgi tasandi punkte antud koordinaatsüsteemis teisendatakse.

Afiinsetes teisendustes mängivad erilist rolli mitmed olulised erijuhtumid, millel on hästi jälgitavad geomeetrilised omadused.

A. Pöörlemist ümber alguspunkti nurga j võrra (joonis 2a) kirjeldatakse valemitega

B. Pinge (kompressioon) mööda koordinaatteljed(Joonis 2b) saab seadistada järgmiselt:

B. Peegeldus x-telje suhtes (joonis 2c) määratakse valemite abil

D. Ülekandmine (joonis 2d) toimub suhtarvude abil

Nagu analüütilise geomeetria käigus on tõestatud, saab vormi (*) iga teisendust alati esitada vormi A, B, C ja D kõige lihtsamate teisenduste järjestikuse täitmisena (superpositsioonina).
Nende tõhusaks kasutamiseks tuntud valemid Arvutigraafika ülesannetes on nende maatriksmärgistus mugavam. Juhtumite A, B ja C maatriksid on kergesti konstrueeritavad ja neil on vastavalt järgmine vorm:

Ülesannete lahendamiseks on väga soovitav katta kõik neli kõige lihtsamat teisendust (kaasa arvatud ülekanne) maatriksmeetodiga ja seega ka üldist afiinset teisendust. Seda saab saavutada, kirjeldades tasapinna suvalist punkti mitte kahe koordinaadiga, nagu eespool tehti, vaid järjestatud arvude kolmikuga.

Homogeensed punkti koordinaadid

Lase M- tasapinna suvaline punkt koordinaatidega x Ja y, mis on arvutatud antud sirgjoonelise koordinaatsüsteemi suhtes. Selle punkti homogeensed koordinaadid on arvude kolmikarvud, mis on samaaegselt nulliga ebavõrdsed x1, x2, x3, seotud antud numbritega x Ja y järgmised suhted:


Arvutigraafika ülesannete lahendamisel sisestatakse homogeensed koordinaadid tavaliselt järgmiselt: suvalise punktini M(x, y) lennukile määratakse punkt M*(x, y, 1) ruumis (joon. 3).

Kasutades homogeensete koordinaatide kolmikuid ja kolmandat järku maatrikseid, saame kirjeldada tasapinnal mis tahes afiinset teisendust. Võrreldes võrrandit (*) ja järgmist maatriksit:

,

on hästi näha, et pärast viimase seose paremal küljel olevate avaldiste korrutamist saadakse nii valemid (*) kui ka identsus 1=1. Seega on võrreldavad kirjed samaväärsed.

Afiinsed teisendused ruumis

Ruumiliste konstruktsioonide teostamiseks, sarnaselt kahemõõtmelise ülesandega, kolme punkti koordinaadid (x, y, z) asendatakse nelja numbriga (x, y, z, 1). See võimaldab kasutada maatrikstähistust keerukamates kolmemõõtmelistes ülesannetes.

Iga afiinset teisendust kolmemõõtmelises ruumis saab kujutada pöörete, venituste, peegelduste ja translatsioonide superpositsioonina. Matemaatiliselt taandatakse kõik teisendused neljandat järku maatriksite korrutamiseks. Näiteks pöördemaatriks ümber x-telje nurga j järgi on järgmine:

.

Projektsiooni tüübid

Kolmemõõtmeliste objektide kujutis pilditasandil on seotud teisega geomeetriline operatsioon- projektsioon sirgjoonte hunniku abil.

Arvutigraafikas on mitmeid kasutusviise erinevat tüüpi projektsioon. Kõige sagedamini kasutatakse paralleel- ja keskprojektsiooni.

Objekti projektsioonide saamiseks pilditasapinnale on vaja etteantud projektsioonikiirelt tõmmata sirgjoon läbi iga selle punkti ja seejärel leida selle sirge ja pilditasandi lõikepunkti koordinaadid. Keskprojektsiooni korral tulevad kõik sirged ühest punktist – kiire keskpunktist. Kell paralleelprojektsioon arvatakse, et kiire keskpunkt asub lõpmatuses (joon. 4). Matemaatiliselt taandub projektsioonitehte ka vastavate maatriksite korrutamiseks.

Võtame tasapinnal (või ruumis) mõne vektori (joonis 142). Afiinse teisenduse käigus teisendatakse punktid vastavalt punktideks, millel on uue kaadri suhtes samad koordinaadid, mis punktidel olid vana kaadri suhtes. Kuna vektori koordinaadid saadakse selle alguspunkti koordinaatide lahutamisel selle lõpu koordinaatidest, on vektori koordinaadid uue võrdlusaluse suhtes samad, mis vektori koordinaadid vana võrdlusaluse suhtes. Niisiis:

Afiinse teisenduse korral seostatakse vektor vektoriga, millel on uue kaadri suhtes samad koordinaadid, mis vektoril olid vana kaadri suhtes.

Siit järeldub kohe, et afiinse teisenduse all võrdsed vektorid vaste on võrdne, seega:

2° Tasapinna (ruumi) afiinne teisendus genereerib tasandi kõigi vabade vektorite (vastavalt ruumi) variatsiooni V üks-ühele vastendamise (teisendus).

Sellel ümberkujundamisel on järgmine omadus lineaarsus: kui antud teisenduse korral vastavad vektorid u, v vektoritele u, v, siis vektor vastab vektorile ja vektor Lie vektorile (seda saab kohe tõestada, minnes koordinaadid). Lineaarsuse omadusest järeldub:

Kui antud afiinse teisenduse korral vastavad vektorid vektoritele , siis mis tahes lineaarne kombinatsioon

vektorid vastavad lineaarsele kombinatsioonile

vektorid (samade koefitsientidega).

Kuna afiinse teisenduse käigus vastab nullvektor ilmselgelt nullile, järeldub tõestatust:

4° Afiinse transformatsiooni all lineaarne sõltuvus vektorid säilivad, mis tähendab mis tahes kahte kollineaarne vektor teisendada kollineaarseks, mis tahes kolm samatasandilist vektorit teisendavad koplanaarseks).

5° Pöördteisendus afiinseks teisenduseks on afiinne teisendus.

Tegelikult, kui tasandi antud afiinne teisendus A on antud üleminekuga kaadrist kaadrisse, siis on kaadrist kaadrisse üleminekuga antud afiinne teisendus, nagu on lihtne näha, teisendusega A pöördteisendus.

Sama kehtib ka ruumi kohta.

Oleme näinud, et afiinse teisenduse korral säilib vektorite lineaarne sõltuvus. Salvestatud ja lineaarne iseseisvus vektorid:

6° Afiinse teisenduse A korral, iga lineaarne Mitte sõltuv süsteem nende vektorid, . läks lineaarselt sõltumatuks - vastasel juhul afiinse teisendusega A-ga pöördvõrdeline lineaarselt sõltuv süsteem ja, . muutuks lineaarselt sõltumatuks, mis, nagu me teame, on võimatu.

Kuna kaader on lineaarselt sõltumatute vektorite süsteem (kaks tasapinnal, kolm ruumis), mis on rakendatud antud punktile O, siis afiinse teisenduse korral muutub iga kaader kaadriks. Lisaks on olemas ettepanek

7° Afiinse kaardistamise korral (mis on antud üleminekuga kaadrist I kaadrisse ) läheb iga kaader II kaadrisse [ ja iga punkt M (iga vektor u) läheb punkti M (vektorisse ) samade koordinaatidega kaadri suhtes kui punkt M ja vektor ning neil oli võrdlusaluse II suhtes.

Tõestus tasapinna ja ruumi puhul on sama. Piirdugem lennuki juhtumiga. Olgu II kaader (joonis 143) ja kaader kõigepealt vektoreid puudutav väide. Kui vektoril on võrdlusraami suhtes koordinaadid, siis . Kuid siis on vektori kujutis omaduse 3° järgi vektor

millel on võrdlusaluse suhtes koordinaadid. Olgu punktil M koordinaadid võrdluspunkti suhtes.

Siis , nii et vastavalt eelmisele on võrdluspunkti suhtes sektoril OM ja seega ka punktil M koordinaadid . Väide on tõestatud.

Tõestatud väide on märkimisväärne: sellest järeldub, et olles defineerinud afiinse teisenduse üleminekuga mõnest kaadrist kaadrisse , saame selle defineerida, võttes algseks suvalise kaadri ja näidates kaadri, kuhu see peaks minema.

Äsja tehtud märkuse rakendusena tõestame, et kahe afiinse teisenduse korrutis on afiinne teisendus.

Tõepoolest, olgu afiinne teisendus antud üleminekuga kaadrist I kaadrisse II. Äsja tõestatu järgi saame defineerida afiinse teisenduse, liikudes II kaadrilt mõnele III kaadrile. Siis on afiinne teisendus, mille annab üleminekul kaadrist I kaadrisse III, ilmselgelt teisenduse ja teisenduse korrutis.

Märkus 1. 1° - 7° afiinsete teisenduste äsja tõestatud omadused kehtivad ilmselgelt ka ühe tasapinna afiinse vastendamise korral teisele (üks eksemplar kolmemõõtmeline ruum teisele).

Tasapinna või ruumi identne teisendus on ilmselgelt afiinne teisendus. Tuletame meelde, et afiinse teisendus on afiinne. Lõpuks, nagu me just tõestasime, on kahe afiinse teisenduse korrutis afiinne teisendus. Siit – lähtudes § 6 lõikes 6 lisas toodud tingimusest – järgneb kohe järgmine põhiprintsiip:

Teoreem 1. Kõikide tasapinnaliste (ruumi)teisenduste rühmas moodustavad afiinsed teisendused alamrühma.

Afiinsete teisenduste hulgas paistavad liikumised silma selle poolest, et neid saab täpsustada üleminekuga ühest ristkülikukujuline süsteem koordinaadid teisele, samuti ristkülikukujulised ja sama mõõtkavaga. Pöördteisendus liikumiseks on liikumine ja kahe liikumise korrutis on liikumine. Sest identiteedi transformatsioon On olemas erijuhtum liikumine, siis (täielikus analoogias teoreemiga 1) on meil ka

Teoreem 1. Kõigi afiinsete teisenduste rühmas moodustavad liikumised alamrühma.

Jätkame afiinsete teisenduste ja vastenduste kõige lihtsamate omaduste loetlemist.

Kolm punkti on kollineaarsed siis ja ainult siis, kui vektorid on kollineaarsed. Ja kuna afiinse teisenduse käigus säilib vektorite kollineaarsus, siis säilib ka punktide kollineaarsus. Sellest järeldub:

Afiinse (tasapinna või ruumi) vastendamise korral muutub sirgjoon sirgeks.

Anname nüüd selle fakti teise tõestuse.

Olgu antud afiinne kaardistus. See seisneb selles, et iga koordinaatidega punkt M (koordinaadisüsteemis) läheb punkti M, millel on teises süsteemis samad koordinaadid. Sellest järeldub:

9° Antud afiinse kaardistuse korral (määratletud üleminekuga kaadrist kaadrisse) läheb kõigi punktide hulk, mille koordinaadid (koordinaadisüsteemis) vastavad mõnele võrrandile, nende punktide hulka, mille koordinaadid süsteemis vastavad samale. võrrand.

Eelkõige sirge võrrandiga

(süsteemis) läheb sirgele, millel on sama võrrand, kuid ainult koordinaatsüsteemis.

Samamoodi ruumi afiinse teisendusega (määratletud üleminekuga kaadrist kaadrisse), tasapinnal on süsteemis võrrand

läheb tasapinnale, millel on sama võrrand (2), kuid ainult koordinaatsüsteemis .

Sirge, mis on ruumis määratletud selle "üldvõrrandiga"

või selle üks või teine ​​eriversioon, näiteks kanooniline võrrand

antud afiinse teisenduse korral teiseneb see sirgjooneks, millel on samad võrrandid, kuid ainult koordinaatsüsteemis . Nii et see on tõestatud

Teoreem 2. Tasapinna, vastavalt ruumi afiinse teisendusega lähevad sirged sirgeks, tasapinnad tasapindadeks.

Samal ajal säilib paralleelsus.

Tegelikult, kui kaks sirget (või kaks tasapinda või sirge ja tasapind) on paralleelsed, siis nende võrrandid kaadri suhtes vastavad teadaolevatele paralleelsustingimustele; kuid nende joonte (tasapindade) kujutistel on kaadri suhtes samad võrrandid ja need vastavad seetõttu samadele paralleelsuse tingimustele.

Märkus 2. Paralleelsuse säilimist afiinse teisenduse korral saab tuletada ka selle põhjal, et afiinne teisendus on üks-ühele.

Tõepoolest, mis tahes üks-ühele kaardistamise korral (näiteks tühik iseendaga) on kahe (ükskõik millise) hulga ristumiskoha kujutis nende hulkade kujutiste ristumiskoht.

See tähendab, et kahest lõikuvast komplektist saavad mis tahes üks-ühele kaardistamise korral ristuvad hulgad.

Sellest järeldub, et tasandi afiinse teisenduse korral on kaks paralleelset sirget ja ruumi afiinse kaardistamise korral kaks paralleelsed tasapinnad muutuma paralleelseks; säilib ka paralleelsuse omadus sirge ja tasandi vahel.

Olgu ruumis antud kaks paralleelset sirget; nad asuvad samal tasapinnal ega ristu. Ruumi afiinse teisendamise korral muutuvad need kaks sirget kaheks sirgeks, mis asuvad samuti samal tasapinnal ja ei ristu, see tähendab kaheks paralleelseks sirgeks.

Teoreem 3. Kui tasandi (ruumi) afiinne teisendus teisendab sirge d sirgeks , läheb sirge d lõik sirge lõiguks ja sirge d punkt M, mis jagab lõigu sellega seoses K, läheb punkti

M on sirgjoon d, mis jagab lõigu samas vahekorras (joonis 144).

Tõestus. Kuna positiivse A korral saame punktid, mis asuvad lõigu sees (vastavalt ja negatiivse jaoks - väljaspool seda lõiku), siis esimene tuleneb teoreemi 3 teisest väitest. Tõestame teoreemi 3 teist väidet, piirdudes juhtumiga tasapind (koordinaatide süsteemis) on meil

Kuna punkt M jagab segmendi suhtes , Siis

ruumis lisandub neile võrdsustele võrdsus. Selle afiinse teisendusega muutuvad punktid punktideks, millel on punktid samad koordinaadid, kuid ainult koordinaatsüsteemis. Neid koordinaate ühendavad endiselt seosed (3), millest järeldub, et segment MM jaguneb suhtega . See tõestab teoreemi 3.

Olgu ruumi afiinse teisenduse A korral tasapind tasapinnaga kaardistatud. Võtame tasapinnal mingi võrdluspunkti, st mittekolliaarsete vektorite paari, mis on rakendatud mingisse punkti o (joonis 145). A teisendamisel läheb tasandi punkt tasandit ümbritsevaks punktiks, mittekollineaarsed vektorid mittekollineaarseteks, st tasapinna võrdluspunkt läheb üle tasandi võrdluspunktiks.

Iga tasapinnal asuv vektor teisendatakse tasapinnal asuvaks vektoriks, millel on samad koordinaadid võrdluspunkti suhtes, mis vektoril oli võrdluspunkti suhtes. Sellest järeldub, et iga tasapinna punkt M läheb tasandi punkti M, millel on võrdluspunkti suhtes samad koordinaadid, mis punktil M tasapinnas võrdluspunkti suhtes. Teisisõnu, teoreem 4. Olgu ruumi afiinse teisenduse korral tasapind i tasapinnaks . Seejärel teisendus A kaardistab suvalise võrdlustasandi teatud võrdlustasandiga ja määrab igale tasandi punktile M tasandi punkti M, millel on võrdluspunkti suhtes samad koordinaadid, mis punktil M võrdluspunkti suhtes. punkt. Teisisõnu: teisendus A genereerib tasandi afiinse vastendamise tasapinnaga.

Teisendused tasapinnas ja ruumis

Arvutigraafikas kõik, mis on seotud lame korpus Tavapärane on tähistada 2D (2-dimentional) kahedimensioonilist ja kõike, mis puudutab ruumilist – 3D.

Afiinsed teisendused tasapinnal

Affinis – seotud (ladina keeles). Sest figuurid säilivad afiinsete teisenduste all.

Oletame, et on olemas sirgjooneline koordinaatsüsteem (OXY). Seejärel saab iga punkti M seostada koordinaatide paariga (x,y). Võttes kasutusele teise koordinaadisüsteemi O * X * Y *, saate samale punktile M määrata teise koordinaatide paari (x *,y *). Üleminek ühest süsteemist teise:

x * =ax+by+c tingimusega |a b|¹0

y * =dx+ey+f |d e|

Neid valemeid saab käsitleda kahel viisil, kas punkt säilitatakse ja koordinaatsüsteemi muudetakse või koordinaatsüsteem säilitatakse ja punkt muudetakse. Edaspidi käsitletakse neid valemeid täpselt kui punktide teisendust antud koordinaatsüsteemis. Lisaks on kõik vaatlusalused süsteemid ristkülikukujulised (valemid võimaldavad teil töötada mitteristkülikukujulistega).


Tuleb märkida, et punkti M koordinaate saab esitada algpunktist vektorina koordinaatidega Mx, My.

Siis saab teisenduse kirjutada vektorkujul (see kehtib ainult ristkülikukujulise koordinaatsüsteemi puhul).

M*=((M-O*)X*, (M-O*)Y*)

Kus on teise süsteemi alguspunkti O*-koordinaadid esimese koordinaatides. X*,Y* - teise koordinaatsüsteemi vektorid (vektorivektorid) esimese koordinaatides.

a=(Xx*), b=(Xy*),c=-O*X*

d=(Yx*), e=(Yy*),f=-O*Y*

Selle teisenduse saab ka sisse kirjutada maatriksvorm

, või , kus vektoreid vaadeldakse maatriksite kujul kujul 1´2.

Maatriksi C=AB element Cij on maatriksi A i-nda rea ​​elementide korrutised maatriksi B j-nda veeru elementidega.

Pöördteisendus - lineaarvõrrandisüsteemi lahendamine või pöördmaatriksi kasutamine , kuid juhul, kui süsteemi esindavad orts, võib see olla lihtsam. Sel juhul pöördmaatriks võrdne ülevõetavaga.

Afiinne teisendus – geomeetriline teisendus tasapinna või ruumi ĸᴏᴛᴏᴩᴏᴇ saab saada, kombineerides pöörlemist, translatsiooni, peegeldused ja skaleerimine koordinaattelgede suundades.

Pööramine (R - pöörlemine). Algpunkti ümber nurga a.

x * =x*cosa-y*sina

y * =x*sina+y*cosa

Pinge, kokkusurumine piki koordinaattelgesid (D – dilatatsioon).

Peegeldus (M – peegel). Abstsisstelje suhtes.

Ülekanne (T – tõlge).

Ülekannet ei saa esitada maatriksi abil vektori korrutistena, kuid seda saab esitada vektorite summana.

Analüütilise geomeetria käigus on tõestatud, et mis tahes teisendust saab esitada nende lihtsamate teisenduste järjestikuse täitmisena (superpositsioonina).

Mõnikord on selleks mugav esitada kõik teisendused ühel maatriksvormil, kasutatakse homogeenseid koordinaate.

Homogeensed koordinaadid

Punkti M jaoks koos x,y koordinaadid tasapinnal on homogeensed koordinaadid arvude kolmik x1, x2, x3, mis on samaaegselt nulliga ebavõrdsed ja ühendatud seostega x1/x3=x, x2/x3=y. Tasapinnal paiknev punkt koordinaatidega x,y on seotud punktiga xh,y,h,h homogeenses ruumis, tavaliselt h=1 (x,y,1).

Punktide üldise teisenduse homogeensetes koordinaatides saab kirjutada järgmiselt:

Ja põhilised teisendusmaatriksid näevad välja järgmised:

Teisenduste kombinatsioon.

Oletame, et peate pöörama punkti nurga võrra ümber mingi punkti A.

Esmalt liigutage punkt A lähtepunkti (-Ax,-Ay). Järgmine pööre. Järgmisena liigutage tagasi punkti A. (Ax,Ay). Võimalik on saada üks teisendus

Afiinsed teisendused ruumis

3D-ruumis kujutatakse punkti (vektorit) kolme koordinaadiga (x,y,z) või nelja homogeense koordinaadiga (x,y,z,1).

Kasutusele tuleks võtta vektori vasak- ja paremkolmiku mõisted. Kolm vektor a,b,c moodustavad paremakäelise kolmiku, kui pärast vektorite alguste kombineerimist ilmub vaatlejale vastupäeva vektori c lõpust vaadates lühim pööre punktist a punktini b. Reegel parem käsi– vektor a langeb kokku küünarnukiga, vektor b siseneb peopessa, vektor c ühtib pöial. Koordinaadisüsteemi nimetatakse tavaliselt parempoolseks, kui selle suunavektorid moodustavad parempoolse kolmiku.

Vektorkorrutis c=a´b, c on mõlema vektoriga risti olev vektor, moodustades nendega parempoolse kolmiku.

Cx=Ay*Bz-Az*By, Cy=Az*Bx-Ax*Bz, C z=Ax*By-Ay*Bx

Teisendused jäävad samaks: pöörlemine (ainult nüüd ümber kolme telje), venitamine, peegeldus (kolme tasandi suhtes), ülekanne.

Vastupäeva pööramine, kui vaadata vasakpoolse koordinaatsüsteemi lähtepunktist (parema koordinaatsüsteemi puhul vastupidi).

, ,

,

, ,

Näiteks peate konstrueerima pöördemaatriksi sirge ümber, mille suunavektor L läbib punkti A.

1. Viige A lähtepunkti

2. Sirge joondamine X-teljega.

Kõigepealt pöörake ümber X-telje

nurga a järgi, cosa=Lz/d, sina=Lx/d, kus d=

Kui d=0, siis sirge langeb juba kokku X-teljega.

Seejärel pöörake ümber Y-telje nurga b võrra.

Pööratud vektor on (Lx,Ly,Lz,1)=(Lx,0,d,1).

cosb=Lx, sinb=d

3. Pöörake ümber X-telje võrra soovitud nurk

4. Naaske L-teljele,

5. Ümberistumine punkti A

Üldmaatriks saab olema

Teisendamine ortidega määratud koordinaatsüsteemi

Kui süsteem on antud vastastikku risti asetsevate ühikvektorite kolmikuga X*,Y*,Z*.

, pöördkonversioon– transponeeritud maatriks [R] T

Disain

Disain on oluline eelkõige kolmemõõtmeliste objektide lameekraanil kuvamiseks, kuid on ka muid rakendusi, näiteks varjud.

Kõige sagedamini kasutatakse kahte tüüpi kujundust: paralleelne ja keskne (perspektiivne).

Objekti tasapinnale projitseerimisel tuleb etteantud projitseerivast kiirest joonestada sirgjoon läbi objekti iga punkti ja leida selle sirge ristumiskoht tasapinnaga.

Paralleelprojektsiooni korral koosneb kiir keskprojektsiooniga paralleelsetest joontest, see läbib teatud punkti.

Paralleelsed projektsioonid võib jagada kahte tüüpi, kui tala jooned on projektsioonitasandiga risti - projektsioone nimetatakse aksonomeetrilisteks ja kui mitte, siis kaldus (me ei arvesta selliseid projektsioone).

Objekti aksonomeetrilise paralleelprojektsiooni saamiseks ekraanile tuleb aga kombineerida kiire suund ühe teljega (tavaliselt Z). X- ja Y-telg langevad kokku teljed X,Y ekraanil ja Z-telg suunatakse sügavale ekraanile.

Punkti perspektiivse projektsiooni saamiseks on äärmiselt oluline asetada kiire kadumispunkt koordinaatide alguspunkti, viia suund ekraanile (risti kadumispunktist projektsioonitasandiga) Z-teljega, seejärel Xp=X*d/Z, Yp=Y*d/Z, kus d on kaugus alguspunktist projektsioonitasandini.

Selle teisenduse saab kirjutada maatriksina. ,

Ainuke asi on see, et sellisel teisendusel kaob sügavus (z), kuid seda saab arvutada vektori viimase koordinaadi järgi.

Lisaks nendele disainimuutustele on äärmiselt oluline teha veel paar, et pilt ekraanil õigesti välja näeks. Esiteks tuleb see venitada akna suurusele, teiseks tuleb see peegeldada ümber X-telje (kuna Y-telg on tavaliselt suunatud allapoole), kolmandaks tuleb see nihutada akna keskele. aken.

Üldine teisendusmaatriks on järgmine.

Cx,Cy – ekraani keskpunkti koordinaadid.

suhe – Y-suuruse ja X-suuruse suhe, erinevate ekraani eraldusvõimete puhul erinev. Eraldusvõime – punktide arv pinnaühiku kohta, tollides antud juhul seade – kogu monitori ekraan. Monitori ekraani horisontaalse ja vertikaalse suuruse suhe on 4/3, seega eraldusvõime puhul, mille horisontaalsete ja vertikaalsete pikslite arv on selle arvu kordne, on suhe = 1 (näiteks 640/480). Muidu suhe=(4*suurus)/(3*suurus) (320x200 =0,83).

S – mastaabitegur, paralleelprojektsiooniks valitakse käsitsi, jaoks perspektiivprojektsioon S on võrdne ühega, kuid d (kaugus projekteerimistasandist) arvutatakse FOV (vaatevälja) põhjal. FOV maksimaalne nurk, mille moodustavad sirged jooned kiires, vaatenurk.

FOV on tavaliselt vahemikus 50° kuni 100°, inimsilma FOV on 90°.

Maailma, mudeli ja ekraani koordinaatsüsteemid

Maailm on peamine koordinaatsüsteem, milles on määratud kõik stseeniobjektid.

Mudel – koordinaatsüsteem, milles määratakse objektide sisemine struktuur.

Ekraan – vaatleja koordinaatsüsteem, mida nimetatakse ka kaamera koordinaatsüsteemiks.

Mudel paigutatakse mudelisüsteemi tavaliselt nii, et süsteemi kese langeb kokku kas mudeli geomeetrilise või massikeskmega, X-telg langeb kokku edasisuunaga, Y-telg paremale ning Z-telg ülespoole.

Mudel määratakse maailma koordinaatsüsteemis mudeli M keskpunkti koordinaatidega (vektor) ja orientatsiooniga (kas kolm orti või kolm kaldenurka (X), kalle (Y), kurss (Z), maatriks on moodustatud pöörlemiste jadana). Mudeli koordinaatidest teisendamiseks peate esmalt pöörama vastavalt orientatsioonimaatriksile ja seejärel tõlkima .

Kursus Roll Pitch

Kaamera asendit ja orientatsiooni saab määrata täpselt samamoodi nagu mudeli asendit. Kuid sageli piisab ainult kaamera vaate suunast. Tavaliselt (sisse päris elu) kaameral pole rulli, ᴛ.ᴇ. X-telg (paremal) on alati horisontaalne ja YZ-tasand on seetõttu alati vertikaalne.

Kui aga eeldada, et kaamera Z-telg (vaatesuund) ei ole vertikaalne, siis leiame X-telje=Norm(Z´Up), kus Up(0,0,1) on vertikaalne vektor ( X on risti vertikaalne vektorÜles, mis tähendab horisontaalset). Lõpuks Y=X´Z telg (üles). Veenduge, et süsteem jääb alles.

Punktide teisendamiseks maailmasüsteemist ekraanipunktideks on ülioluline esmalt rakendada tõlget ja seejärel pöörata ümber ülekantud kaamera orientatsioonimaatriksi T abil.

Punkti mudeli koordinaatidest ekraanikoordinaatideks teisendamiseks on aga äärmiselt oluline sooritada järgmine teisendus T . Pärast selliseid teisendusi suunatakse Z-telg piki vaatesuunda ja disaini saab teha.

Loeng 6-7-8

Teisendused tasapinnal ja ruumis - mõiste ja tüübid. Kategooria "Transformatsioonid lennukis ja kosmoses" klassifikatsioon ja tunnused 2017, 2018.

Kolmemõõtmeliste objektidega töötades tuleb sageli nende suhtes teostada erinevaid teisendusi: liigutada, pöörata, kokku suruda, venitada, kalduda jne. Kuid enamikul juhtudel nõutakse teatud omaduste säilitamist pärast nende teisenduste rakendamist.

Definitsioon. Tasapinnalist teisendust nimetatakse afiinne(inglise keelest . afiinsus - sugulus), Kui

  • see on üks-ühele;
  • mis tahes sirgjoone kujutis on sirgjoon.

Transformatsiooni nimetatakse üks-ühele, Kui

  • erinevad punktid lähevad erinevatele;
  • mingi punkt läheb igasse punkti.

Afiinse teisenduse omadused kolmemõõtmelises ruumis:

  • kaardistab n-mõõtmelise objekti n-mõõtmelisega: punkt punkti, joon joon, pind pinnaga;
  • säilitab sirgete ja tasandite paralleelsuse;
  • säilitab paralleelsete objektide proportsioonid – lõikude pikkused paralleelsel sirgel ja alad paralleeltasanditel.

Mis tahes afiinse teisenduse annab 3x3 maatriks nullist erineva determinandiga ja translatsioonivektoriga:

Vaatame seda matemaatilisest vaatenurgast. R on lineaarne operaatormaatriks üle kolmemõõtmeliste vektorite ruumi. Paralleelülekande teostamiseks on vaja vektorit T: kui korrutada (000) mis tahes 3x3 maatriksiga, saame jällegi (000) - koordinaatsüsteemi alguspunkt teisenduse R suhtes on fikseeritud punkt. Nõue, et determinant oleks nullist erinev, on määratud definitsiooniga. Põhimõtteliselt, kui maatriksi R determinant on võrdne nulliga, muutub kogu ruum tasapinnaks, sirgeks või punktiks. Seega seda ei austata üks-ühele.

Praktikas on mugav määrata afiinne teisendus ühe maatriksiga. Sel juhul kasutatakse eelmises artiklis toodud homogeenseid koordinaate. Afiinse teisenduse annab järgmine 4x4 maatriks:

Pange tähele, et viimase rea kolm esimest väärtust on 0. See on vajalik tingimus et teisendus on afiinne. Üldiselt defineerib suvaline 4x4 maatriks projektiivse teisenduse. Selliseid teisendusi, nagu nimigi ütleb, kasutatakse kolmemõõtmelise stseeni projitseerimiseks. Seda arutatakse üksikasjalikumalt järgmises artiklis.

Vaatleme afiinsete teisenduste erijuhtumeid.

Märkus Siin ja edaspidi kasutatakse koordinaatide süsteemi, mis on esitatud järgmiselt:

  • koordinaatsüsteemi õigus;
  • z-telg on suunatud vaatleja poole, risti ekraani tasapinnaga;
  • y-telg on ekraani tasapinnal ja suunatud ülespoole;
  • X-telg on ekraani tasapinnal ja suunatud paremale.

Me käsitleme seda üksikasjalikumalt geomeetrilise torujuhtme kaalumisel.

Selle teisenduse maatriks näeb välja selline:

Sel juhul maatriks R = E, identiteedimaatriks.

Allpool käsitletud teisendused mõjutavad ainult maatriksit R, seega kajastatakse ainult seda.

Pööramine (pööramine)



Kui tasapinnal tehti pöördeid ümber kindla punkti, siis kolmemõõtmelises ruumis tehti pöördeid ümber kindla vektori. Enne ümberpööramismaatriksi konstrueerimist suvaline vektor, vaatleme koordinaattelgede ümber pöörlemise erijuhtumeid.

Märkus Pöörake ümber suvalise vektori ei ole võrdne pöörlemine ümber suvalise suunatud joone.



Pange tähele, et ümber y-telje pööramisel punktide ordinaadid (y-koordinaadid) ei muutu. Samuti väärib märkimist, et punkti x- ja z-koordinaadid teisendatakse y-koordinaadist sõltumatult. See tähendab, et mis tahes punkt p (x, y, z) läheb punkti p'(x'(x, z), y, z'(x, y)). Nüüd jääb üle mõista, kuidas x- ja z-koordinaadid teisendatakse: Oxz-tasandil on see päripäeva pöörlemine ümber koordinaatide alguspunkti (kuna x z y on vasakpoolne kolm), st. negatiivses suunas. Sellise teisenduse maatriks on teada (vt Tasapinna pööramine):



Teisendusmaatriks R y (φ y ):

Pöörake ümber x- ja z-telje



Sarnast arutluskäiku kasutades võib saada pöördemaatriksid R x (φ x) ja R z (φ z) vastavalt ümber x- ja z-telje.

Siin on lõplikud tulemused:

On lihtne näha, et maatriksite R x , R y , R z determinandid on võrdsed 1-ga. Samuti on rotatsioonimaatriksitel R rot ortogonaalsuse omadus: R T R = RR T = E . Sellest omakorda järeldub kasulik vara, et rotatsioonimaatriksi inversiooni saab asendada transpositsiooniga: R -1 (φ) = R T (φ).

Skaleerimine (kahanemine/venitamine, ümberpööramine)



Kokkusurumis-/laienduskoefitsiendid määratakse analoogselt kahemõõtmelise ruumiga maatriksi R diagonaalliikmetega:

Tulemus:



Koefitsientide kombinatsioon s x = -1, s y = 1, s z = 1 määrab peegelduse Oyz tasapinnalt (x = 0). Kui s x = s y = s z = -1, saame tsentraalse sümmeetria alguspunkti suhtes.

R-maatriksi tõlgendamine

Vaatleme, milline on maatriks R lineaaralgebra seisukohalt. Selgub, et maatriks R sisaldab alust uus süsteem koordinaadid

Tõepoolest, maatriks

(R 11 R 12 R 13 )

(R 21 R 22 R 33)

(R 31 R 32 R 33 )

tõlgib Descartes'i baasvektorid:

(100) → (R 11 R 21 R 31 )

(010) → (R 12 R 22 R 32 )

(001) → (R 13 R 23 R 33 )



Nüüd on kaldpinna muutmine lihtne. Näiteks:

Märkus Kui järgime üldtunnustatud terminoloogiat, nimetatakse ülaltoodud teisendust nihkeks. Tõstuklahv (lõikamine) on mis tahes teisendus, mille maatriksi R põhidiagonaal on ühik. Kui maatriksi R determinant on võrdne nulliga, siis ei ole teisendus afiinne.

Keerulised afiinsed teisendused

Keerulisi afiinseid teisendusi saab saada lihtsate (elementaar)teisenduste kombinatsioonina. Sel juhul saab lihtsaid afiinseid teisendusi valida erineval viisil. Näiteks võib pöörlemist pidada skaleerimise ja lõikamise kombinatsiooniks. Kuid mugavuse huvides kaalutakse ka pöörlemist elementaarne teisendus. Pööramine suvalise vektori ümber on kujutatud koordinaattelgede ümber pöörlemiste kombinatsioonina. Seda arutatakse üksikasjalikult järgmises artiklis.

5. GEOMEETRILISED TEISED

Kujutise kuvamine ekraanil ja sellega seotud erinevad toimingud, sealhulgas visuaalne analüüs, nõuavad kasutajalt teatud geomeetrilist kirjaoskust. Arvutigraafika probleemides mängivad erilist rolli geomeetrilised mõisted, valemid ja faktid, mis on seotud peamiselt lamedate ja kolmemõõtmeliste juhtumitega. Geomeetrilised kaalutlused, lähenemisviisid ja ideed koos arvutitehnoloogia üha laienevate võimalustega on ammendamatu allikas olulisteks edusammudeks arvutigraafika arendamiseks ning selle tõhusaks kasutamiseks teadus- ja muudes uuringutes. Mõnikord annavad isegi kõige lihtsamad geomeetrilised tehnikad märkimisväärse edenemise suure graafilise probleemi lahendamise üksikutes etappides.

5.1. Teisendused tasapinnas ja ruumis

Selliste probleemide lahendamiseks nagu objektide ja nende osade liikumine kasutatakse kaamera juhtnuppe afiinsed teisendused(AP), kaaluge nende peamisi omadusi:

1) punktid, mis asuvad samal sirgel, asuvad pärast teisendust samal sirgel;

2) ristuvad sirged jäävad lõikuvaks ja paralleelsed sirged jäävad paralleelseks;

3) ruumi AP-ga jäävad lõikuvad tasandid ristuvateks, paralleeltasandid paralleelsed ja ristuvad tasandid ristuvad;

4) AP-ga säilib kahe ruudu pindalade suhe tasapinnal ja kahe kuubi ruumalade suhe ruumis.

Afiinsed teisendused tasapinnal

Oletame, et tasapinnal on määratud sirgjooneline koordinaatsüsteem. Siis vastab igale punktile M oma koordinaatide järjestatud arvupaar (x, y) (joonis 5.1). Võttes kasutusele teise sirgjoonelise koordinaatsüsteemi tasapinnal, seostame sama punkti M teise arvupaariga - (x *, y *).

Üleminekut tasapinna ühelt sirgjooneliselt koordinaatsüsteemilt teisele kirjeldatakse järgmiste seostega:

x* = α x+ β y+ λ ,

y* = γ x+ δ y+ µ ,

kus α, β, λ, γ, µ, δ on ebavõrdsusega seotud suvalised arvud

α β ≠ 0.

γ δ

Valemeid (1) saab käsitleda kahel viisil: kas säilitatakse punkt ja muudetakse koordinaatide süsteemi (joon. 5.2) (sellisel juhul jääb suvaline punkt M samaks, muutuvad ainult selle koordinaadid) või punkt on muudetakse ja koordinaatide süsteem säilib (joon. 5.3) (sel juhul määravad valemid (1) kaardistamise, mis viib suvalise punkti M (x, y) punkti M * (x *, y *), koordinaadid millest on määratletud samas koordinaatsüsteemis).

Riis. 5.1. Originaal

Riis. 5.2. Ümberkujundamine

Riis. 5.3. Ümberkujundamine

koordinaatsüsteem

punkt

IN Järgnevalt käsitleme valemeid (1) reeglina, mille järgi tasandi punkte antud sirgjooneliste koordinaatide süsteemis teisendatakse.

IN Tasapinna afiinsetes teisendustes mängivad erilist rolli mitmed olulised erijuhtumid, millel on hästi jälgitavad geomeetrilised omadused. Uurides geomeetriline tähendus arvkordajad valemites (1) nendel juhtudel on mugav eeldada, et antud süsteem koordinaadid on ristkülikukujuline ristkülikukujuline.

1. Pöörake ümber alguspunkti nurga võrraϕ kirjeldatakse valemitega

x * = x cosϕ − y sinϕ ,

y * = x sinϕ + y cosϕ .

2. Pinget (surumist) piki koordinaattelge saab määrata järgmiselt:

x * = α x ,y * = δ y ,α > 0, δ > 0.

Pinge piki abstsisstellge on ette nähtud tingimusel, et α > 1 ja kokkusurumine – 0 juures<α < 1.

3. Peegeldus (x-telje suhtes) määratakse kasutades

x *= x ,y *= − y .

4. Paralleelse ülekande tagavad suhted

x* = x+ λ, y* = y+ µ .

Nende nelja erijuhtumi valiku määravad kaks asjaolu.

1. Igal ülaltoodud teisendusel on lihtne ja selge geomeetriline tähendus (ülaltoodud valemites sisalduvad konstantsed arvud on samuti geomeetrilise tähendusega).

2. Nagu analüütilise geomeetria käigus on tõestatud, saab vormi (1) iga teisendust alati esitada kui

kõige lihtsamate teisenduste järjekindel täitmine. Nende tuntud valemite tõhusaks kasutamiseks

Arvutigraafikas on maatriksmärkimine mugavam. Juhtudele A, B ja C vastavaid maatrikse on lihtne koostada ja neil on järgmine vorm:

cosϕ

sinϕ

− sinϕ

cosϕ

−1

Allpool vaadeldud probleemide lahendamiseks on aga väga soovitav kasutada maatriks-lähenemist kõigi nelja lihtsaima teisenduse (kaasa arvatud ülekanne) ja seega ka üldise afiinse teisenduse katmiseks. Seda saab saavutada näiteks nii: minge tasapinna suvalise punkti kirjeldusse, mis ei ole järjestatud numbripaari järgi, nagu eespool tehti, vaid järjestatud numbrite kolme järgi.

Homogeensed punkti koordinaadid

Olgu M suvaline punkt tasapinnal, mille koordinaadid yy on arvutatud antud sirgjoonelise koordinaatsüsteemi suhtes. Selle punkti homogeensed koordinaadid on samaaegselt nullist erineva arvu x 1 , x 2 , x 3 kolmik, mis on seotud antud arvudega x ja y järgmiste seostega:

x1/x3=x, x2/x3=y.

Arvutigraafika ülesannete lahendamisel tuuakse homogeensed koordinaadid tavaliselt sisse järgmiselt: tasandi suvaline punkt M (x, y) on seotud ruumipunktiga M * (x, y, 1) (joon. 5.4).

Pange tähele, et suvalise punkti joonel, mis ühendab lähtepunkti, punkti O (0, 0, 0) punktiga M * (x,y, 1), saab määrata arvude kolmikuga kujul (hx,hy,h ).

Riis. 5.4. Homogeensed koordinaadid

Eeldame, et h ≠ 0. Vektor koordinaatidega hx,hy,h on punkte 0(0, 0, 0) ja M *(x,y, 1) ühendava sirge suunavektor. See sirge lõikab tasandit z = 1 punktis (x,y, 1), mis määrab üheselt koordinaattasandi punkti (x,y).

Seega luuakse (üks-ühele) vastavus koordinaatidega (x,y) suvalise punkti ja kujuga (hx,hy,h) arvude kolmikute hulga vahel, kui h ≠ 0, mis võimaldab meil arvesta selle punkti uuteks koordinaatideks arve hx,hy,h.

Projektiivses geomeetrias aktsepteeritakse homogeensete koordinaatide jaoks järgmist tähistust: x : y : 1 või x 1 : x 2 : x 3 (arvud x 1 , x 2 , x 3 ei muutunud üheaegselt nulliks).

Homogeensete koordinaatide kasutamine osutub mugavaks ka kõige lihtsamate ülesannete lahendamisel, näiteks skaleerimisel:

1) homogeensete koordinaatidega punkti (0,5; 0,1; 2,5) h=1 ei saa esitada täisarvuliste koordinaatidega, vaid nt valides h= 10 saame (5; 1; 25);

2) et teisendustulemused ei viiks koordinaatidega punkti aritmeetilise ülevooluni

(80000;40000;1000) võib võtta näiteks h= 0,001. aastal uuesti

Tulemuseks saame (80;40;1).

Toodud näited näitavad homogeensete koordinaatide kasutamise kasulikkust arvutuste tegemisel. Homogeensete koordinaatide arvutigraafikas kasutuselevõtu peamine eesmärk on aga nende vaieldamatu mugavus geomeetrilistes teisendustes rakendamisel.

Kasutades homogeensete koordinaatide kolmikuid ja kolmandat järku maatrikseid, saab kirjeldada tasapinna mis tahes afiinset teisendust.

Tegelikult, eeldades, et h = 1, võrdleme kahte kirjet: sümboliga * tähistatud ja järgmise maatriksiga:

(x *y * 1) = (x y 1)

On hästi näha, et pärast viimase seose paremal pool olevate avaldiste korrutamist saame nii valemid (1) kui ka õige arvulise võrdsuse 1 ≡ 1. Seega võib võrreldavaid kirjeid pidada ekvivalentseteks.

Suvalise afiinse teisendusmaatriksi elemendid ei oma selget geomeetrilist tähendust. Seetõttu on selle või teise kaardistuse rakendamiseks, st vastava maatriksi elementide leidmiseks etteantud geomeetrilise kirjelduse järgi vaja spetsiaalseid tehnikaid. Tavaliselt jaguneb selle maatriksi koostamine vastavalt vaadeldava probleemi keerukusele mitmeks etapiks.

Igas etapis leitakse maatriks, mis vastab ühele või teisele ülaltoodud juhtumile A, B, C või D, millel on täpselt määratletud geomeetrilised omadused.

Kirjutame üles vastavad kolmandat järku maatriksid.

A. Pöörlemismaatriks

B. Venitusmaatriks

cosϕ

sinϕ

(kompressioon) (dilatatsioon)

cosϕ

= − sinϕ

D. Ülekandemaatriks (tõlge)

B. Peegeldusmaatriks (re-

− 1 0 .

Vaatleme näiteid tasapinna afiinsetest teisendustest.

Näide 1. Koostage pöörlemismaatriks

ümber punkti A(a, b) nurga ϕ all (joon. 5.5).

A (-a,

keskjoondus

keerates

koordinaadid

2. samm. Pöörake nurgaϕ võrra.

A(a,

Riis. 5.5. Pöörake

pöörlemiskeskme naasmine eelmisesse asendisse; vastava teisenduse maatriks.

cosϕ

sinϕ

= − sinϕ

cosϕ

−A

−a

−b

Korrutame maatriksid samas järjekorras, nagu need on kirjutatud: . Selle tulemusena leiame, et soovitud teisendus (maatriksmärgistuses) näeb välja järgmine:

sinϕ

sinϕ

(x *y * 1) = (x y 1) ×

− sinϕ

cosϕ

− a cosϕ + b sinϕ + a

− a sinϕ − b cosϕ + b

Saadud maatriksi elemente (eriti viimases reas) ei ole nii lihtne meelde jätta. Samal ajal on kõik kolm korrutatud maatriksit hõlpsasti konstrueeritavad vastava kaardistuse geomeetrilisest kirjeldusest.

Näide 2. Koostage venitusmaatriks, mille venituskoefitsiendid α piki abstsisstellge ja β piki ordinaattelge ning mille keskpunkt on punktis A(a, b).

1. samm. Viige üle vektorile A (-a, -b), et joondada venituskeskus koordinaatide alguspunktiga.

2. samm. Piki koordinaattelgede venitamine koefitsientidega α ja β vastavalt.

3. samm. Ülekanne vektorile A (a,b), et viia pingekese tagasi oma eelmisse asendisse; vastava teisenduse maatriks.