Afininės transformacijos plokštumoje ir erdvėje. Afininės transformacijos

1 skyrius. Papildymas. Dekarto transformacija stačiakampės koordinatės plokštumoje ir erdvėje. Specialios koordinačių sistemos plokštumoje ir erdvėje.

Koordinačių sistemų konstravimo plokštumoje ir erdvėje taisyklės aptariamos pagrindinėje 1 skyriaus dalyje. Pažymėtas stačiakampių koordinačių sistemų naudojimo patogumas. At praktinis naudojimas analitinės geometrijos priemonėmis, dažnai reikia transformuoti priimtą koordinačių sistemą. Dažniausiai tai lemia patogumo sumetimai: supaprastinami geometriniai vaizdai, aiškėja skaičiavimuose naudojami analitiniai modeliai ir algebrinės išraiškos.

Konstrukcija ir naudojimas specialios sistemos koordinatės: padiktuotos polinės, cilindrinės ir sferinės geometrine prasme sprendžiama problema. Modeliavimas naudojant specialias koordinačių sistemas dažnai palengvina analitinių modelių kūrimą ir panaudojimą sprendžiant praktines problemas.

1 skyriaus priede gauti rezultatai bus naudojami tiesinė algebra, dauguma– V matematinė analizė ir fizikoje.

Dekarto stačiakampių koordinačių transformacija plokštumoje ir erdvėje.

Svarstant koordinačių sistemos konstravimo plokštumoje ir erdvėje problemą, buvo pastebėta, kad koordinačių sistema susidaro susikertant viename taške skaičių ašių: plokštumoje reikalingos dvi ašys, erdvėje trys. Ryšium su vektorių analitinių modelių konstravimu, operacijos įvedimas taškinis produktas vektorius ir sprendžiant geometrinio turinio uždavinius, buvo parodyta, kad tinkamiausia naudoti stačiakampes koordinačių sistemas.

Jei atsižvelgsime į transformacijos problemą specifinė sistema koordinates abstrakčiai, tada į bendras atvejis būtų galima leisti savavališką judėjimą suteikta erdvė koordinuoti ašis su teise savavališkai pervardyti ašis.

Pradėsime nuo pagrindinės koncepcijos atskaitos sistemos , priimtas fizikoje. Stebint kūnų judėjimą, buvo nustatyta, kad judėjimas izoliuotas kūnas negali būti nustatytas pats. Turite turėti dar bent vieną kūną, kurio atžvilgiu būtų stebimas judėjimas, tai yra, jo pokytis giminaitis nuostatas. Norint gauti analitinius modelius, dėsnius ir judėjimą, koordinačių sistema buvo susieta su šiuo antruoju kūnu kaip atskaitos sistema ir taip, kad koordinačių sistema būtų kietas !

Kadangi savavališkas standaus kūno judėjimas iš vieno erdvės taško į kitą gali būti pavaizduotas dviem nepriklausomais judesiais: transliaciniu ir sukamuoju, koordinačių sistemos transformavimo galimybės buvo apribotos dviem judesiais:

1). Lygiagretusis perkėlimas: vadovaujamės tik vienu tašku – tašku.

2). Koordinačių sistemos ašių sukimasis taško atžvilgiu: kaip standus kūnas.

Dekarto stačiakampių koordinačių konvertavimas plokštumoje.

Turėkime plokštumos koordinačių sistemas: , ir . Koordinačių sistema gaunama lygiagrečiai perkeliant sistemą. Koordinačių sistema gaunama pasukus sistemą kampu , o teigiama sukimosi kryptis laikoma ašies sukimu prieš laikrodžio rodyklę.

Nustatykime priimtų koordinačių sistemų bazinius vektorius. Kadangi sistema gauta lygiagrečiai perkeliant sistemą, tai abiem šioms sistemoms priimame bazinius vektorius: , ir vienetinius ir atitinkamai sutampančius su koordinačių ašimis , . Sistemai laikome bazinius vektorius vienetiniai vektoriai, kryptis sutampa su ašimis , .

Tegu pateikta koordinačių sistema ir joje apibrėžtas taškas =. Darysime prielaidą, kad prieš transformaciją turime sutampančių koordinačių sistemas ir . Taikykite koordinačių sistemą lygiagretus perdavimas, apibrėžtas vektoriumi. Būtina apibrėžti taško koordinačių transformaciją. Naudokime vektorinę lygybę: = + , arba:

Iliustruojame lygiagrečią vertimo transformaciją pavyzdžiu, gerai žinomu elementariojoje algebroje.

D pavyzdys1 : Duota parabolės lygtis: = = . Sumažinkite šios parabolės lygtį iki paprasčiausios formos.

Sprendimas:

1). Pasinaudokime technika iškrovimas pilna aikštė : = , kurį galima lengvai pavaizduoti kaip: –3 = .

2). Taikykime koordinačių transformaciją - lygiagretus perdavimas := . Po to parabolės lygtis įgauna tokią formą: . Ši transformacija algebroje apibrėžiama taip: parabolė = gauta iš poslinkio Paprasčiausia parabolėį dešinę 2 vienetais ir aukštyn 3 vienetais.

Atsakymas: paprasčiausia forma parabolės: .

Tegu pateikta koordinačių sistema ir joje apibrėžtas taškas =. Darysime prielaidą, kad prieš transformaciją turime sutampančių koordinačių sistemas ir . Taikykime koordinačių sistemos sukimosi transformaciją taip, kad jos pradinės padėties atžvilgiu, tai yra sistemos atžvilgiu, ji būtų pasukta kampu . Būtina apibrėžti taško = koordinačių transformaciją. Įrašykime vektorių koordinačių sistemose ir : = .

Tuo pačiu metu bet kokiam kampui turime: kas gana paprastai pastebima iš paveikslo. Tada: =. Pastarąjį galima parašyti taip: = . Iš vektorinės lygybės gauname taško koordinačių transformaciją: .Autorių teisių pažeidimas ir

Transformacijos plokštumoje ir erdvėje

Kompiuterinėje grafikoje viskas, kas susiję su plokščiu korpusu, paprastai žymima 2D (dvimatis), dvimatis, o viskas, kas susiję su erdviniu korpusu, yra 3D.

Afininės transformacijos lėktuve

Affinis – giminingas (lot.). Kadangi figūros išsaugomos afininėmis transformacijomis.

Tarkime, kad yra kokia nors tiesi koordinačių sistema (OXY). Tada kiekvienas taškas M gali būti susietas su koordinačių pora (x, y). Įvedę kitą koordinačių sistemą O * X * Y *, tam pačiam taškui M galite priskirti kitą koordinačių porą (x *, y *). Perėjimas iš vienos sistemos į kitą:

x * =ax+by+c, su sąlyga |a b|¹0

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

Šios formulės gali būti nagrinėjamos dviem būdais: arba išsaugomas taškas ir pakeičiama koordinačių sistema, arba išsaugoma koordinačių sistema ir pakeičiamas taškas. Ateityje šios formulės bus laikomos būtent taškų transformacija tam tikroje koordinačių sistemoje. Be to, visos nagrinėjamos sistemos bus stačiakampės (formulės leidžia dirbti su ne stačiakampėmis).


Pažymėtina, kad taško M koordinatės gali būti pavaizduotos kaip vektorius nuo pradžios su koordinatėmis Mx, My.

Tada transformaciją galima parašyti kaip vektorinė forma(tai galioja tik stačiakampė sistema koordinates).

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

Kur yra antrosios sistemos pradžios O* koordinatės pirmosios koordinatėse. X*,Y* - antrosios koordinačių sistemos vektoriai (vektorių vektoriai) pirmosios koordinatėse.

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

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

Ši transformacija taip pat gali būti parašyta matricos forma

, arba , kur vektoriai nagrinėjami 1´2 formos matricų pavidalu.

Matricos C=AB elementas Cij yra matricos A i-osios eilutės elementų sandaugų suma B matricos j-osios stulpelio elementais.

Atvirkštinis konvertavimas– tiesinių lygčių sistemos sprendimas arba naudoti atvirkštinę matricą , bet tuo atveju, kai sistema vaizduojama ortais, gali būti paprasčiau. Šiuo atveju atvirkštinė matrica lygus perkeltam.

Afininė transformacija – geometrinė transformacija plokštumą arba erdvę ĸᴏᴛᴏᴩᴏᴇ galima gauti derinant sukimąsi, vertimą, veidrodiniai atspindžiai ir mastelio keitimas koordinačių ašių kryptimis.

Rotation (R – sukimasis). Aplink pradžią kampu a.

x * =x*cosa-y*sina

y * =x*sina+y*cosa

Įtempimas, suspaudimas išilgai koordinačių ašių (D – išsiplėtimas).

Atspindys (M – veidrodis). Abscisių ašies atžvilgiu.

Perkėlimas (T – vertimas).

Perdavimas negali būti pavaizduotas kaip vektoriaus sandauga matrica, bet jis gali būti pavaizduotas kaip vektorių suma.

Analitinės geometrijos metu įrodyta, kad bet kuri transformacija gali būti pavaizduota kaip nuoseklus šių paprasčiausių transformacijų vykdymas (superpozicija).

Kartais patogu visas transformacijas pavaizduoti viename matricos forma, tam naudojamos vienalytės koordinatės.

Homogeninės koordinatės

Dėl taško M su x,y koordinates plokštumoje vienarūšės koordinatės yra skaičių x1, x2, x3 trigubai, kurie vienu metu yra nelygūs nuliui ir sieja santykiai x1/x3=x, x2/x3=y. Taškas, kurio koordinatės x,y plokštumoje, yra susietas su tašku xh,y,h,h homogeninėje erdvėje, dažniausiai h=1 (x,y,1).

Bendra konversija taškais vienarūšės koordinatės ah galima parašyti formoje.

O pagrindinės transformacijos matricos atrodys taip:

Transformacijų derinys.

Tarkime, kad reikia pasukti tašką kampu aplink kurį nors tašką A.

Pirmiausia perkelkite tašką A į koordinačių pradžią (-Ax,-Ay). Kitas posūkis. Tada perkelkite atgal į tašką A. (Ax, Ay). Galima gauti vieną transformaciją

Afininės transformacijos erdvėje

3D erdvėje taškas (vektorius) vaizduojamas trimis koordinatėmis (x,y,z) arba keturiomis vienarūšėmis koordinatėmis (x,y,z,1).

Reikėtų pristatyti kairiojo ir dešiniojo vektorių trigubo sąvokas. Trys vektorius a,b,c sudaryti dešiniarankį trigubą, jei, sujungus vektorių pradžią, stebėtojui, žvelgiančiam iš vektoriaus c galo, einančiam prieš laikrodžio rodyklę, pasirodo trumpiausias posūkis iš a į b. Taisyklė dešine ranka– vektorius a yra sulygiuotas su alkūne, vektorius b įtrauktas į delną, vektorius c sutampa su nykščiu. Koordinačių sistema paprastai vadinama dešiniaranke, jei jos krypties vektoriai sudaro dešiniąją trigubą.

Vektorinis meno kūrinys c=a´b, c yra abiem vektoriams statmenas vektorius, su jais sudarantis dešinįjį trigubą.

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

Transformacijos išlieka tos pačios: sukimasis (tik dabar apie tris ašis), tempimas, atspindys (trijų plokštumų atžvilgiu), perkėlimas.

Sukimas prieš laikrodžio rodyklę, žiūrint iš kairiosios koordinačių sistemos pradžios (dešinėje, atvirkščiai).

, ,

,

, ,

Pavyzdžiui, reikia sukurti sukimosi matricą apie tiesią liniją, kurios krypties vektorius L eina per tašką A.

1. Perkelkite A į pradinę vietą

2. Tiesios linijos sulygiavimas su X ašimi.

Pirmiausia pasukite aplink X ašį

pagal kampą a, cosa=Lz/d, sina=Lx/d, kur d=

Jei d=0, tai tiesė jau sutampa su X ašimi.

Tada pasukite aplink Y ašį kampu b.

Pasuktas vektorius yra (Lx,Ly,Lz,1)=(Lx,0,d,1).

cosb=Lx, sinb=d

3. Pasukite aplink X ašį norimu kampu

4. Grįžkite į L ašį,

5. Pervežimas į tašką A

Bendroji matrica bus

Konvertavimas į koordinačių sistemą, nurodytą orts

Jei sistema pateikta viena kitai statmenų vienetinių vektorių X*,Y*,Z* trigubu.

, atvirkštinė transformacija – transponuota matrica [R] T

Dizainas

Dizainas yra nepaprastai svarbus, visų pirma, norint parodyti trimačiai objektai plokščiame ekrane, tačiau yra ir kitų programų, pvz., šešėlių.

Yra du dažniausiai naudojami dizaino tipai: lygiagretus ir centrinis (perspektyvus).

Projektuojant objektą į plokštumą, reikia nubrėžti tiesią liniją iš nurodyto projekcinio pluošto per kiekvieną objekto tašką ir rasti šios tiesės sankirtą su plokštuma.

At lygiagretus dizainas spindulys susideda iš lygiagrečių linijų, kurių centrinė eina per tam tikrą tašką.

Lygiagrečias projekcijas galima skirstyti į du tipus, kai spindulio linijos statmenos projekcijų plokštumai – projekcijos vadinamos aksonometrinėmis, o kai ne – įstrižinėmis (tokių projekcijų nenagrinėsime).

Tačiau norint gauti aksonometrinę lygiagrečią objekto projekciją ekrane, reikia sujungti pluošto kryptį su viena iš ašių (dažniausiai Z). X ir Y ašys sutaps su ašys X,Y ekrane, o Z ašis bus nukreipta giliai į ekraną.

Norint gauti perspektyvinę taško projekciją, labai svarbu pluošto išnykimo tašką pastatyti koordinačių pradžioje, nukreipti ekrano kryptį (statmenai nuo nykimo taško projekcijos plokštumai) su Z ašimi, tada Xp=X*d/Z, Yp=Y*d/Z, kur d – atstumas nuo pradžios iki projekcijos plokštumos.

Šią transformaciją galima parašyti kaip matricą. ,

Vienintelis dalykas, kad tokioje transformacijoje prarandamas gylis (z), bet jį galima apskaičiuoti iš paskutinės vektoriaus koordinatės.

Be šių dizaino transformacijų, itin svarbu padaryti dar keletą, kad vaizdas ekrane atrodytų teisingai. Visų pirma, jį reikia ištempti iki lango dydžio, antra, jį reikia atspindėti aplink X ašį (kadangi Y ašis dažniausiai nukreipta žemyn), trečia, ją reikia perkelti į lango centrą. langas.

Bendra transformacijos matrica yra tokia.

Cx,Cy – ekrano centro koordinatės.

santykis – Y dydžio ir X dydžio santykis, skirtingas esant skirtingoms ekrano skyroms. Rezoliucija – taškų skaičius paviršiaus vienete, in šiuo atveju vienetas – visas monitoriaus ekranas. Monitoriaus ekranas turi santykį horizontalus dydisį vertikalią 4/3, todėl skiriamoji geba, kai horizontalių ir vertikalių pikselių skaičius yra šio skaičiaus kartotinis = 1 (pvz., 640/480). Kitu atveju santykis = (4 * dydis) / (3 * dydis) (320 x 200 = 0,83).

S – mastelio koeficientas, už lygiagreti projekcija rankiniu būdu pasirinkta perspektyvinė projekcija S lygus vienetui, bet d (atstumas iki projektinės plokštumos) apskaičiuojamas pagal FOV (matymo lauką). FOV yra didžiausias kampas, kurį sudaro tiesios linijos spinduliu, matymo kampas.

FOV paprastai svyruoja nuo 50° iki 100°, žmogaus akies FOV yra 90°.

Pasaulio, modelio ir ekrano koordinačių sistemos

Pasaulis yra pagrindinė koordinačių sistema, kurioje nurodyti visi scenos objektai.

Modelis – koordinačių sistema, kurioje vidinė struktūra objektų.

Ekranas – stebėtojo koordinačių sistema, dar vadinama kameros koordinačių sistema.

Modelis į modelių sistemą dažniausiai dedamas taip, kad sistemos centras sutaptų arba su geometriniu, arba su modelio masės centru, X ašis sutampa su kryptimi į priekį, Y ašis – į dešinę ir Z ašį į viršų.

Modelis pasaulio koordinačių sistemoje nurodomas modelio centro M (vektoriaus) ir orientacijos koordinatėmis (arba trys ortai, arba trys posūkio kampai (X), žingsnis (Y), kursas (Z), matrica yra sudaryta kaip sukimosi seka). Norėdami transformuoti iš modelio koordinačių, pirmiausia turite pasukti pagal orientacijos matricą ir tada išversti į .

Kursas Roll Pitch

Kameros padėtį ir orientaciją galima nustatyti lygiai taip pat, kaip ir modelio padėtį. Tačiau dažnai pakanka tik kameros vaizdo krypties. Paprastai (į tikras gyvenimas) kamera neturi ritinio, ᴛ.ᴇ. X ašis (dešinėje) visada yra horizontali, todėl YZ plokštuma visada yra vertikali.

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, jei darysime prielaidą, kad fotoaparato Z ašis (žiūrėjimo kryptis) nėra vertikali, tada galime rasti X axis=Norm(Z´Up), kur Up(0,0,1) yra vertikalus vektorius ( X bus statmenas vertikaliam vektoriui Up , o tai reiškia horizontalią). Galiausiai Y=X´Z ašis (aukštyn). Įsitikinkite, kad sistema lieka kairėje.

Norint konvertuoti taškus iš pasaulio sistemos į ekrano taškus, labai svarbu pirmiausia pritaikyti vertimą ir tada pasukti pagal perkeltą kameros orientacijos matricą T.

Tačiau norint konvertuoti tašką iš modelio koordinačių į ekrano koordinates, nepaprastai svarbu atlikti tokią transformaciją T . Po tokių transformacijų Z ašis bus nukreipta išilgai žiūrėjimo krypties ir bus galima atlikti dizainą.

6-7-8 paskaita

Transformacijos plokštumoje ir erdvėje – samprata ir rūšys. Kategorijos „Transformacijos plokštumoje ir erdvėje“ klasifikacija ir ypatumai 2017, 2018 m.

Paimkime kokį nors vektorių plokštumoje (arba erdvėje) (142 pav.). Afininės transformacijos metu taškai atitinkamai paverčiami taškais, kurių koordinatės naujojo kadro atžvilgiu yra tokios pat, kokias taškai turėjo senojo kadro atžvilgiu. Kadangi vektoriaus koordinatės gaunamos atėmus jo koordinates pradžios taškas nuo jo galo koordinačių, tada vektoriaus koordinatės naujojo etalono atžvilgiu yra tokios pačios kaip vektoriaus koordinatės senojo etalono atžvilgiu. Taigi:

Afininės transformacijos metu vektorius susiejamas su vektoriumi, kurio koordinates naujojo kadro atžvilgiu yra tos pačios, kurias vektorius turėjo senojo kadro atžvilgiu.

Iš karto išplaukia, kad esant afininei transformacijai lygūs vektoriai rungtynės lygios, taigi:

2° Afininė plokštumos (erdvės) transformacija sukuria visų laisvųjų plokštumos vektorių (atitinkamai erdvės) V įvairovės atvaizdavimą vienas su vienu (transformacija).

Ši transformacija turi toliau nurodyta nuosavybė tiesiškumas: jei su tam tikra transformacija vektoriai u, v atitinka vektorius u, v, tai vektorius atitiks vektorių, o vektorius – Lie vektorių (tai galima įrodyti iš karto einant į koordinates). Iš tiesiškumo savybės išplaukia:

Jei tam tikros afininės transformacijos vektoriai atitinka vektorius , tada bet koks tiesinis derinys

vektoriai atitinka tiesinę kombinaciją

vektoriai (su tais pačiais koeficientais).

Kadangi afininės transformacijos metu nulinis vektorius akivaizdžiai atitinka nulį, iš to, kas buvo įrodyta, išplaukia:

4° Su afinine transformacija tiesinė priklausomybė vektoriai išsaugomi, o tai reiškia, kad bet kurie du kolineariniai vektoriai virsta kolineariniais, bet kurie trys koplanarinis vektorius tapti lygiagrečiai).

5° Atvirkštinė transformacija į afininę transformaciją yra afininė transformacija.

Tiesą sakant, jei tam tikra plokštumos afininė transformacija A gaunama perėjimu iš kadro į kadrą, tai afininė transformacija, kurią suteikia perėjimas iš kadro į kadrą, yra, kaip nesunku pastebėti, atvirkštinė transformacijai A.

Tas pats pasakytina apie erdvę.

Matėme, kad esant afininei transformacijai, išsaugoma vektorių tiesinė priklausomybė. Išsaugotas ir linijinė nepriklausomybė vektoriai:

6° Esant afininei transformacijai A, kiekviena tiesinė Ne priklausoma sistema jų vektoriai, . perėjo į tiesiškai nepriklausomą – kitaip, su afinine transformacija, atvirkštine A, tiesiškai priklausoma sistema ir, . taptų tiesiškai nepriklausomas, o tai, kaip žinome, neįmanoma.

Kadangi rėmas yra linijinė sistema nepriklausomi vektoriai(du plokštumoje, trys erdvėje) taikomi tam tikram taškui O, tada afininės transformacijos metu kiekvienas kadras tampa kadru. Be to, yra pasiūlymas

7° Naudojant afininį atvaizdavimą (pateiktą perėjimu iš I kadro į kadrą ) kiekvienas II kadras pereina į kadrą [ ir kiekvienas taškas M (kiekvienas vektorius u) eina į tašką M (į vektorių ) su tokiomis pačiomis kadro koordinatėmis kaip taškas M ir vektorius ir turėjo palyginti su II etalonu.

Įrodymas plokštumos ir erdvės atveju yra vienodas. Apsiribokime lėktuvo atveju. Tegul II yra kadras (143 pav.), o kadras pirmiausia yra teiginys apie vektorius. Jei vektorius turi koordinates atskaitos rėmo atžvilgiu, tada . Bet tada vektoriaus vaizdas pagal savybę 3° yra vektorius

turintys koordinates, palyginti su etalonu. Tegul taškas M turi koordinates atskaitos taško atžvilgiu.

Tada , kad, remiantis ankstesniu, atskaitos taško atžvilgiu sektorius OM, taigi ir taškas M, turėtų koordinates . Teiginys pasitvirtino.

Įrodytas teiginys yra reikšmingas: iš jo išplaukia, kad apibrėžę afininę transformaciją pereinant iš kurio nors kadro į kadrą , galime apibrėžti bet kurį kadrą kaip pradinį ir nurodydami kadrą, į kurį jis turi eiti.

Taikydami ką tik pateiktą pastabą, įrodome, kad dviejų afininių transformacijų sandauga yra giminingoji transformacija.

Iš tiesų, tegul afininę transformaciją suteikia perėjimas iš I kadro į II kadrą. Remiantis tuo, kas ką tik buvo įrodyta, afininę transformaciją galime apibrėžti pereinant iš II kadro į kokį nors III kadrą. Tada afininė transformacija, kurią suteikia perėjimas iš I kadro į III kadrą, akivaizdžiai yra transformacijos ir transformacijos produktas.

1 pastaba. Tiesiogiai įrodytos 1° - 7° afininių transformacijų savybės akivaizdžiai galioja ir afininiam vienos plokštumos atvaizdavimui su kita (vienas trimatės erdvės egzempliorius su kita).

Identiška plokštumos arba erdvės transformacija akivaizdžiai yra afininė transformacija. Prisiminkite, kad transformacija, atvirkštinė afininei, yra afininė. Galiausiai, kaip ką tik įrodėme, dviejų afininių transformacijų produktas yra afininė transformacija. Iš čia – remiantis priedo 6 punkto 6 dalyje pateikta sąlyga – iš karto išplaukia toks pagrindinis principas:

1 teorema. Visų plokštumos (erdvės) transformacijų grupėje afininės transformacijos sudaro pogrupį.

Iš afininių transformacijų judesiai išsiskiria tuo, kad juos galima patikslinti pereinant iš vienos stačiakampės koordinačių sistemos į kitą, taip pat stačiakampę ir turinčią tą patį mastelį. Atvirkštinė transformacija į judesį yra judėjimas, o dviejų judesių produktas yra judėjimas. Nes tapatybės transformacija Yra ypatingas atvejis judėjimas, tada (visiškai analogiškai su 1 teorema) taip pat turime

1 teorema. Visų afininių transformacijų grupėje judesiai sudaro pogrupį.

Tęsiame paprasčiausių giminingų transformacijų ir atvaizdavimo savybių sąrašą.

Trys taškai yra kolinearūs tada ir tik tada, kai vektoriai yra kolinearūs. Ir kadangi vektorių kolineariškumas išsaugomas afininės transformacijos metu, išsaugomas ir taškų kolineariškumas. Iš to išplaukia:

Naudojant afininį (plokštumos arba erdvės) atvaizdavimą, tiesi linija tampa tiesia linija.

Dabar pateiksime antrą šio fakto įrodymą.

Tegu pateikiamas afininis žemėlapis. Tai susideda iš to, kad kiekvienas taškas M su koordinatėmis (in koordinačių sistema) eina į tašką M, kurio koordinatės antroje sistemoje yra tokios pačios. Iš to išplaukia:

9° Esant tam tikram afininiam atvaizdavimui (apibrėžtam perėjimu iš kadro į kadrą), visų taškų, kurių koordinatės (koordinačių sistemoje) tenkina kokią nors lygtį, aibė patenka į taškų, kurių koordinatės sistemoje tenkina tą patį, aibę. lygtis.

Visų pirma, tiesi linija su lygtimi

(sistemoje) eis į tiesę, kuri turi tą pačią lygtį, bet tik koordinačių sistemoje.

Lygiai taip pat su afinine erdvės transformacija (apibrėžta perėjimu iš kadro į kadrą), plokštuma, turinti sistemoje lygtį

eina į plokštumą, kuri turi tą pačią (2) lygtį, bet tik koordinačių sistemoje .

Tiesi linija, apibrėžta erdvėje pagal „bendrą lygtį“

arba vieną ar kitą specialią jos versiją, pavyzdžiui, kanoninę lygtį

su tam tikra afinine transformacija ji pavirs į tiesią liniją, kurios lygtys yra tokios pačios, bet tik koordinačių sistemoje . Taigi tai įrodyta

2 teorema. Su afininiu plokštumos, atitinkamai erdvės transformavimu, tiesės pereina į tieses, plokštumos pereina į plokštumas.

Tuo pačiu išlaikomas paralelizmas.

Tiesą sakant, jei dvi tiesės (arba dvi plokštumos, arba tiesė ir plokštuma) yra lygiagrečios, tai jų lygtys rėmo atžvilgiu tenkina žinomas lygiagretumo sąlygas; tačiau šių linijų (plokštumų) atvaizdai rėmo atžvilgiu turi tas pačias lygtis, todėl tenkina tas pačias lygiagretumo sąlygas.

2 pastaba. Lygiagretumo išsaugojimas afininėje transformacijoje taip pat gali būti išvestas naudojant faktą, kad afininė transformacija yra vienas su vienu.

Iš tiesų, atliekant bet kokį atvaizdavimą „vienas su vienu“ (pavyzdžiui, tarpas į save), dviejų (bet kokių) rinkinių sankirtos vaizdas yra šių aibių vaizdų sankirta.

Tai reiškia, kad dvi susikertančios aibės tampa susikertančiomis aibėmis pagal bet kokį atvaizdavimą „vienas su vienu“.

Iš to išplaukia, kad su afininiu plokštumos transformavimu yra dvi lygiagrečios linijos, o su afininiu erdvės žemėlapiu – dvi lygiagrečios plokštumos tapti lygiagrečiai; taip pat išsaugoma lygiagretumo savybė tarp tiesės ir plokštumos.

Tegu erdvėje pateiktos dvi lygiagrečios tiesės; jie guli toje pačioje plokštumoje ir nesikerta. Afiniškai transformuojant erdvę, šios dvi linijos pavirs dviem linijomis, kurios taip pat yra toje pačioje plokštumoje ir nesikerta, tai yra, į dvi lygiagrečias linijas.

3 teorema. Kai afininė plokštumos (erdvės) transformacija tiesę d paverčia tiese , tiesės d atkarpa pereina į tiesės atkarpą ir tiesės d tašką M, dalijantį atkarpą šiuo atžvilgiu K, eina į tašką

M – tiesė d, dalijanti atkarpą tokiu pačiu santykiu (144 pav.).

Įrodymas. Kadangi teigiamam A gauname taškus, esančius atkarpos viduje (atitinkamai, o neigiamo – už šio atkarpos ribų), tai pirmasis išplaukia iš antrojo 3 teoremos teiginio. Įrodome antrąjį 3 teoremos teiginį, apsiribodami tuo atveju, kai plokštuma Tegu (koordinačių sistemoje) turime

Kadangi taškas M padalija segmentą, atsižvelgiant į , Tada

erdvėje šias lygybes papildys lygybė . Atlikus šią afininę transformaciją, taškai pavirs taškais, kurių koordinatės tokios pat kaip ir taškai, bet tik koordinačių sistemoje. Šias koordinates vis dar jungia ryšiai (3), iš kurių išplaukia, kad atkarpa MM dalijasi santykiu . Tai patvirtina 3 teoremą.

Tegul, esant afininei erdvės transformacijai A, plokštuma bus priskirta plokštumai. Paimkime kokį nors atskaitos tašką plokštumoje, t.y., nekoliarinių vektorių porą, taikomą tam tikram taškui o (145 pav.). Transformuojant A, taškas apie plokštumą pateks į tašką apie plokštumą, nekolineariniai vektoriai pereis į nekolinearinius, t.y. atskaitos taškas iš plokštumos pereis į plokštumos atskaitos tašką.

Bet koks vektorius, esantis plokštumoje, bus paverstas vektoriumi, esančiu plokštumoje, kurio koordinatės yra tos pačios atskaitos taško atžvilgiu, kurias vektorius turėjo atskaitos taško atžvilgiu. Iš to išplaukia, kad bet kuris plokštumos taškas M eis į plokštumos tašką M, kurio koordinatės atskaitos taško atžvilgiu turi tas pačias koordinates, kurias taškas M turėjo plokštumoje atskaitos taško atžvilgiu. Kitaip tariant, teorema 4. Tegul, esant afininei erdvės transformacijai, plokštuma i virsta plokštuma . Tada transformacija A susieja savavališką atskaitos plokštumą su tam tikra atskaitos plokštuma ir kiekvienam plokštumos taškui M priskiria plokštumos tašką M, kuris atskaitos taško atžvilgiu turi tas pačias koordinates, kurias taškas M turėjo atskaitos taško atžvilgiu. tašką. Kitaip tariant: transformacija A sukuria afininį plokštumos susiejimą su plokštuma.

Kaip galima spėti, su erdve viskas taip pat, kaip su plokštuma. Visos taisyklės, kurios buvo susijusios su AP vienarūšėmis koordinatėmis plokštumoje, išsaugomos erdvėje, visos problemos, kurios buvo plokštumoje, lieka erdvėje. Galima daryti prielaidą, kad visos šios taisyklės galioja bet kuriam n matmenų erdvė. Ką reikia gerai atsiminti: yra skirtingos sąvokos: spindulio vektorius iš esmės yra taškas CG, o laisvasis vektorius yra tiesiog kryptis, o trečioji sąvoka yra normalioji. Transformacijos jiems apibrėžiamos skirtingai. Kosmose viskas taip pat, o erdvėje aktualiau, nes Trimatėje grafikoje yra daug problemų, su kuriomis nedažnai susiduriama arba nesusiduriama plokštumoje.

Taigi, erdvėje turime tris koordinates x, y, z ir papildomai įvedama W koordinatė, kad gautume homogeniškumo savybę. Taip pat AP darome prielaidą, kad W=1 ir tada (x, y, z) = ( , ).

Transformacijos bendruoju atveju gali būti pavaizduotos kaip vektoriaus – eilutės ir transformacijos matricos – skaliarinė sandauga – 29 skaidrė:

Matricoje yra 12 koeficientų. Blokas (3x3) (kaip ir 2D bloke (2x2)) atsakingas už transformacijas – pasukimą, mastelio keitimą... Apatinė eilutė atsakinga už lygiagretųjį vertimą, dešinysis stulpelis turėtų būti atsakingas už perspektyvines transformacijas, bet mes nenagrinėsime. šios problemos kol kas. Transformacijos matricos turi panašią išvaizdą ir reikšmę – (30 skaidrė)

ir pasisuka – (31 skaidrė)

Jei prisiminsime taško sukimo pavyzdį, tai to negalima padaryti erdvėje taip pat lengvai. Plokštumoje nagrinėjamas sukimas iš esmės buvo atliktas aplink Z ašį, o jei reikia pasukti kokį nors erdvės tašką, tai jo vienareikšmiškai nurodyti negalima paprastas veiksmas. Jį apibūdins trys matricos– aplink Z ašį, X ašį, Y ašį, t.y. jį reikės išskaidyti į keletą atskirų veiksmų – į tris komponentus.

Dar viena pastaba – matricos determinantas lygus 1. Tai reiškia, kad sukimosi metu objektas nepakeis savo dydžio ir nepatirs jokių deformacijų, t.y. elgiasi kaip tvirtas kūnas. Šiam kūnui gali būti suteikta reikiama orientacija erdvėje. Tą patį galima pasakyti apie lygiagretų perdavimą.

Yra ir daugiau universalus metodas atliekant sukimąsi apie savavališką ašį, einančią per pradinę vietą. Tokios transformacijos matrica yra pagrįsta QUATERNIONS ir pateikiama toliau:

Turėtumėte susipažinti su ketvirčiais!

Pastaba apie ketvirčius.

Išvedant paskutinį santykį buvo pavartota kvaternionų sąvoka. Tai hiperkompleksinių skaičių sistema (1843 m. ją pasiūlė Hamiltonas, tuo metu vyriausiasis Anglijos astronomas).

Kvarternionas yra pora (a, ū ). a yra skaliarinis, realusis skaičius. ū - trimatės erdvės vektorius. Kvarternionai sudaro hiperkompleksinių skaičių sistemą (eilus), panašią į kitas skaičių eilutes. Trumpai tariant, tai yra 4 komponentai matematinė abstrakcija su savo savybėmis ir sudėties bei daugybos operacijų atlikimo taisyklėmis. Kvarterionas apskritai gali būti pavaizduotas kaip suma a+bi+cj+dk, kur a,b,c,d – realūs skaičiai, ir i,j,k yra neredukuojami menami vienetai, o jiems nustatyta, kad

i 2 =j 2 =k 2 =ijk = -1;

Pavyzdžiai skaičių serija:

Natūralus: 1,2,3,4,5….

Sveikieji skaičiai: 0,1,-1,2,-2,…

Racionalus: 1;-1;1/2; 0.12,..

Tikrasis: racionalus + iracionalus: π, e, ,….

Kompleksas: -1; ½; π; 3i+z; -еiπ/3;… (įtraukti visus ankstesnius)

Ketvirčiai: 1; -1; 1/2; aš; j; k; πj-1/2k; ...

9. Trimatės transformacijos pavyzdys – kameros matricos kūrimas –(34 skaidrė)

Gana dažnai reikia keisti stebėjimą į sceną. Tie. Yra tam tikra scena ir norite pakeisti stebėjimą į šią sceną, naudodami trimatę transformacijos matricą.

Darome prielaidą, kad virtualus stebėtojas (kamera) yra tam tikrame taške „C“. ortogonalioji sistema koordinatės U,V,N

ir yra kita koordinačių sistema – X,Y,Z (pasaulis). Pasaulio koordinatės nusako tikrąją objektų padėtį erdvėje. Ekrano koordinačių sistema skirta sintezuoti (sukurti) vaizdą ant lizdo. lėktuvas. Ši sistema gali būti dvimatė arba trimatė. Taip pat yra ir kitų koordinačių sistemų, kaip vaizdo įrenginių sistemos, rodančios vaizdą tam tikra forma.

Projekcija- objekto atvaizdavimo grafiniame įrenginyje būdas: ekranas, popierius, audinys ar kita medžiaga plokštumoje ar paviršiuje.

Darysime prielaidą, kad abi koordinačių sistemos yra dešiniarankės, ir ta, kuri yra kameroje, ir pasaulinė. Tai reiškia, kad Z ašis yra atsukta į mus. Visi krypties vektoriai yra normalizuoti ir, žinoma, stačiakampiai. Tai reikalinga norint sumažinti skaičiavimų rinkinį. Kamera C turėtų būti laikoma vienkartine abstrakcija, kuri vieną kartą apibrėžiama programoje. Jį galima sukonfigūruoti iš anksto ir tada pritaikyti visiems objektams.

Ką reiškia konfigūruoti? Koreguoti reiškia ortonormalizuoti visus vektorius ir derinti juos su vektoriais – kryptimis kitoje CS. Ir tada taikykite jį tol, kol to reikalauja situacija.

Ko mes ieškosime? Ieškosime transformacijos, kuri perkelia objektą iš pasaulio koordinačių sistemos į stebėtojo koordinačių sistemą.

Kaip mes tai padarysime?

Pirmiausia perkelkime kamerą į Pasaulio CS koordinačių pradžią ties (- C z), (- C y), (- C x); tada suksime, ir taip, kad -U ašis sutaptų su X ašimi, V – su Y ašimi, o N – su Z ašimi; tie. Transformacijos matricos ieškosime formoje: vertimas-sukimas.

Kadangi kamera yra pozicijoje taške „C“ su koordinatėmis (x,y,z), būtina atlikti jo atvirkštinį perdavimą: perdavimo matrica parodyta 33 skaidrėje.

kur T yra perdavimo matrica

Afininė transformacija yra tokia, kuri išsaugo linijų lygiagretumą, bet nebūtinai kampus ar ilgius.
Kompiuterinėje grafikoje viskas, kas susiję su dvimatis korpusas, paprastai žymimas 2D (dviejų dimensijų) simboliu. Tarkime, plokštumoje įvesta tiesioji koordinačių sistema. Tada kiekvienam taškui M priskiriama sutvarkyta jo koordinačių skaičių pora (x, y) (1 pav.).


Aukščiau pateiktos formulės gali būti nagrinėjamos dviem būdais: arba taškas išsaugomas, o koordinačių sistema pasikeičia, tokiu atveju savavališkas taškas M išlieka toks pat, keičiasi tik jo koordinatės (x, y) (x*, y*), arba taškas pasikeičia ir šiuo atveju išsaugoma koordinačių sistema Šiuo atveju formulės apibrėžia atvaizdavimą, kuris savavališką tašką M(x, y) perkelia į tašką M*(x*, y*), kurio koordinatės yra apibrėžta toje pačioje koordinačių sistemoje. Ateityje mes interpretuosime formules, kaip taisyklė, kad plokštumos taškai transformuojami tam tikroje tiesių koordinačių sistemoje.
Afininėse plokštumos transformacijose ypatingas vaidmuožaisti keletą svarbių specialių atvejų, kurie turi gerai atsekamas geometrines charakteristikas. Tiriant geometrinę reikšmę skaitiniai koeficientaišių atvejų formulėse patogu manyti, kad duota sistema koordinatės yra stačiakampės Dekarto.
Dažniausiai naudojami šie metodai: kompiuterinė grafika: vertimas, mastelio keitimas, sukimas, atspindys. Algebrinės išraiškos o šias transformacijas paaiškinantys skaičiai apibendrinti 1 lentelėje.

Afininės transformacijos plokštumoje

Perkėlimu turime omenyje išvesties primityvų perkėlimą į tą patį vektorių.
Mastelio keitimas yra viso vaizdo arba jo dalies padidinimas arba sumažinimas. Didinant mastelį, vaizdo taškų koordinatės dauginamos iš tam tikro skaičiaus.
Sukimas reiškia išvesties primityvų sukimąsi aplink tam tikrą ašį. (Brėžimo plokštumoje sukimas vyksta aplink tašką.)
Atspindėjimas reiškia veidrodinio vaizdo atvaizdo gavimą, palyginti su viena iš ašių (pavyzdžiui, X).
Šių keturių ypatingų atvejų pasirinkimą lemia dvi aplinkybės:
1. Kiekviena iš aukščiau paminėtų transformacijų turi paprastą ir aiškią geometrinę reikšmę (taip pat turi geometrinę reikšmę pastovūs skaičiaiįtraukta į aukščiau pateiktas formules).
2. Kaip įrodyta analitinės geometrijos metu, bet kokia (*) formos transformacija visada gali būti pavaizduota kaip nuoseklus paprasčiausių A, B, C ir D formos transformacijų (arba jų dalių) vykdymas (superpozicija). transformacijos).
Taigi, tai yra tiesa svarbus turtas afininės plokštumos transformacijos: bet kokį (*) formos atvaizdavimą galima apibūdinti naudojant atvaizdus, ​​nurodytus A, B, C ir D formulėmis.
efektyvus naudojimasšie žinomos formulės kompiuterinės grafikos užduotyse patogiau jas naudoti matricos žymėjimas.
Norint sujungti šias transformacijas, įvedamos vienalytės koordinatės. Vienarūšės taško koordinatės yra bet kurios trigubos, o ne vienu metu lygus nuliui skaičiai x1, x2, x3 susieti su duotus skaičius x ir y šiais santykiais:



Tada taškas M(x, y) užrašomas kaip M(hX, hY, h), kur h 0 yra mastelio koeficientas. Dvimatis Dekarto koordinatės galima rasti kaip

Projekcinėje geometrijoje šios koordinatės įvedamos siekiant pašalinti neapibrėžtumus, atsirandančius nurodant be galo tolimus (netinkamus) elementus. Homogeninės koordinatės gali būti interpretuojamos kaip koeficientu h padidintos plokštumos įterpimas į plokštumą Z= h in trimatė erdvė.
Vienarūšių koordinačių taškai rašomi trijų elementų eilučių vektoriais. Transformacijos matricos turi būti 3x3 dydžio.
Naudojant vienarūšių koordinačių trigubus ir trečiosios eilės matricas, galima aprašyti bet kokią afininę plokštumos transformaciją.
Tiesą sakant, darant prielaidą, kad h = 1, palyginkime du įrašus: pažymėtą simboliu (*) ir kitą matricą:

Dabar galite naudoti transformacijų kompozicijas, naudodami vieną rezultatą, o ne eilę viena po kitos sekančių transformacijų. Galite pvz. sunki užduotis suskirstykite jį į keletą paprastų. Pasukite tašką A apie savavališkas taškas Galima suskirstyti į tris užduotis:
perkėlimas, kuriame B = 0 (kur 0 yra pradžia);
pasukti;
atvirkštinis perkėlimas, kurio metu taškas B grįžta į savo vietą ir kt.
Sudėtis yra labiausiai bendras vaizdas iš operacijų T, D, R, M turi matricą:

Viršutinė dalis 2x2 dydžio – kombinuota sukimosi ir mastelio keitimo matrica, o tx ir ty apibūdina bendrą vertimą.
Pagrindinės transformacijos yra šios:
slinkimas lango perkėlimas atvaizdavimo paviršiuje (jei judėjimas ribojamas tik aukštyn ir žemyn kryptimis, tada tai vadinama vertikaliu slinkimu);

priartinti laipsniškas vaizdo mastelio pokytis;
salto dinaminis apie tam tikrą ašį besisukančių išvesties primityvų, kurių orientacija erdvėje nuolat kinta, vaizdas;
keptuvę laipsniškas vaizdo perkėlimas, siekiant sukurti vizualinį judesio pojūtį.



Ar jums patiko straipsnis? Pasidalinkite su draugais!