Kartezyen dikdörtgen koordinatların düzlemde ve uzayda dönüşümü. Uzaydaki dönüşümler

Üç boyutlu nesnelerle çalışırken, genellikle bunlarla ilgili olarak çeşitli dönüşümler gerçekleştirmek gerekir: taşıma, döndürme, sıkıştırma, uzatma, eğim verme vb. Ancak çoğu durumda bu dönüşümler uygulandıktan sonra belirli özelliklerin korunması gerekir.

Tanım. Düzlem dönüşümü denir afin(İngilizce'den . yakınlık – akrabalık), Eğer

  • bire birdir;
  • herhangi bir düz çizginin görüntüsü düz bir çizgidir.

Dönüşüm denir bire bir, Eğer

  • farklı noktalar farklı noktalara gider;
  • bir nokta her noktaya gider.

Özellikler afin dönüşümüç boyutlu uzayda:

  • n boyutlu bir nesneyi n boyutlu bir nesneyle eşler: noktadan noktaya, çizgiden çizgiye, yüzeyden yüzeye;
  • çizgilerin ve düzlemlerin paralelliğini korur;
  • Paralel nesnelerin oranlarını (paralel doğrulardaki parçaların uzunlukları ve paralel düzlemlerdeki alanlar) korur.

Herhangi bir afin dönüşüm, sıfırdan farklı bir determinant ve bir öteleme vektörüne sahip 3x3'lük bir matris tarafından verilir:

Buna matematiksel açıdan bakalım. R matrisi temsil eder doğrusal operatörüç boyutlu vektörlerin uzayı üzerinde. Paralel aktarımı gerçekleştirmek için T vektörü gereklidir: (000)'ı herhangi bir 3x3 matrisle çarparsak, tekrar (000) elde ederiz - R dönüşümüne göre koordinat sisteminin kökeni sabit bir noktadır. Determinantın sıfırdan farklı olması gerekliliği tanım tarafından belirlenir. Esasen R matrisinin determinantı sıfıra eşitse uzayın tamamı bir düzleme, çizgiye veya noktaya dönüşür. Bu yüzden saygı duyulmuyor bire bir.

Pratikte afin dönüşümün tek bir matrisle belirlenmesi uygundur. Bu durumda önceki makalede tanıtılan homojen koordinatlar kullanılır. Afin dönüşüm aşağıdaki 4x4 matrisle verilecektir:

İlk üç değere dikkat edin son satır 0'a eşittir. Bu gerekli durum dönüşümün affin olacağı. İÇİNDE genel durum 4x4 boyutunda rastgele bir matris şunları tanımlar: projektif dönüşüm. Adından da anlaşılacağı gibi bu tür dönüşümler, üç boyutlu bir sahneyi yansıtmak için kullanılır. Bu konu daha sonraki bir makalede daha ayrıntılı olarak tartışılacaktır.

Afin dönüşümlerin özel durumlarını ele alalım.

Not Burada ve devamında aşağıdaki şekilde tanıtılan koordinat sistemi kullanılacaktır:

  • koordinat sistemi sağa;
  • z ekseni, ekran düzlemine dik olarak gözlemciye doğru yönlendirilir;
  • y ekseni ekran düzlemindedir ve yukarı doğru yönlendirilir;
  • X ekseni ekran düzlemindedir ve sağa yönlendirilir.

Geometrik boru hattını düşünürken bunun üzerinde daha ayrıntılı olarak duracağız.

Bu dönüşümün matrisi şuna benzer:

İÇİNDE bu durumda matris R = E, birim matris.

Aşağıda tartışılan dönüşümler yalnızca R matrisini etkiler, dolayısıyla yalnızca bu rapor edilecektir.

Döndürme (döndürme)



Düzlemde belirli bir nokta etrafında dönüşler yapıldıysa, üç boyutlu uzayda belirli bir vektör etrafında dönüşler yapıldı. Rastgele bir vektör etrafında dönme matrisi oluşturmaya başlamadan önce, etrafında dönmelerin özel durumlarını ele alalım. koordinat eksenleri.

Not Rastgele bir vektör etrafında döndürme eşit değil keyfi yönlendirilmiş bir çizgi etrafında dönüş.



Y ekseni etrafında dönerken noktaların ordinatlarının (y koordinatları) değişmediğini unutmayın. Bir noktanın x ve z koordinatlarının y koordinatından bağımsız olarak dönüştürüldüğünü de belirtmek gerekir. Bu, herhangi bir p (x, y, z) noktasının p'(x'(x, z), y, z'(x, y)) noktasına gideceği anlamına gelir. Şimdi geriye x ve z koordinatlarının nasıl dönüştürüldüğünü anlamak kalıyor: Oxz düzleminde bu, koordinatların orijini etrafında saat yönünde bir dönüş olacaktır (çünkü x z y soldaki üçtür), yani. V olumsuz yön. Böyle bir dönüşümün matrisi bilinmektedir (bkz. Bir düzlemin döndürülmesi):



Dönüşüm matrisi R y (φ y):

X ve z eksenleri etrafında döndürme



Benzer akıl yürütme kullanılarak, x ve z eksenleri etrafında sırasıyla R x (φ x) ve R z (φ z) dönme matrisleri elde edilebilir.

İşte nihai sonuçlar:

R x, R y, R z matrislerinin determinantlarının 1'e eşit olduğunu görmek kolaydır. Ayrıca, R rot döndürme matrisleri diklik özelliğine sahiptir: R T R = RR T = E . Bundan da şu sonuç çıkıyor kullanışlı özellik, dönme matrisinin ters çevrilmesinin yer değiştirme ile değiştirilebileceği: R -1 (φ) = R T (φ).

Ölçekleme (küçültme/uzatma, çevirme)



Sıkıştırma/genişleme katsayıları, iki boyutlu uzaya benzetilerek, R matrisinin köşegen terimleriyle belirlenir:

Sonuç:



s x = -1, s y = 1, s z = 1 katsayılarının birleşimi Oyz düzleminden yansımayı belirleyecektir (x = 0). s x = s y = s z = -1 ile şunu elde ederiz: merkezi simetri kökenine göre.

R matrisinin yorumlanması

Lineer cebir açısından R matrisinin ne olduğunu ele alalım. R matrisinin bir taban içerdiği ortaya çıktı yeni sistem koordinatlar

Gerçekten de matris

(R 11 R 12 R 13 )

(R 21 R 22 R 33)

(R31R32R33)

Kartezyen tabanlı vektörleri çevirir:

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

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

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



Artık eğim dönüşümünü elde etmek çok kolay. Örneğin:

Not Genel kabul görmüş terminolojiye bağlı kalırsak yukarıdaki dönüşüme değişim denir. Vardiya (kırpmak) R matrisinin ana köşegeni birim olan herhangi bir dönüşüm olacaktır. R matrisinin determinantı sıfıra eşitse dönüşüm afin değildir.

Karmaşık afin dönüşümler

Karmaşık afin dönüşümler, basit (temel) dönüşümlerin bir kombinasyonu olarak elde edilebilir. Bu durumda basit afin dönüşümler farklı şekillerde seçilebilir. Örneğin döndürme, ölçeklendirme ve kesmenin bir kombinasyonu olarak düşünülebilir. Ancak kolaylık olması açısından rotasyon da dikkate alınır. temel dönüşüm. Rastgele bir vektör etrafındaki dönüş, koordinat eksenleri etrafındaki dönüşlerin birleşimi olarak temsil edilir. Bu, bir sonraki makalede ayrıntılı olarak tartışılacaktır.

Uçakta ve uzayda dönüşümler

Bilgisayar grafiklerinde, düz durumla ilgili olan her şey genellikle 2B (2 boyutlu), iki boyutlu olarak adlandırılır ve uzaysal durumla ilgili olan her şey 3B'dir.

Düzlemde afin dönüşümler

Affinis – ilgili (Latince). Çünkü rakamlar afin dönüşümler altında korunuyor.

Diyelim ki bir doğrusal koordinat sistemi (OXY) var. Daha sonra her M noktası bir (x,y) koordinat çiftiyle ilişkilendirilebilir. Başka bir O * X * Y * koordinat sistemini tanıtarak, aynı M noktasına başka bir koordinat çifti (x *, y *) atayabilirsiniz. Bir sistemden diğerine geçiş:

x * =ax+by+c, |a b|¹0 koşuluyla

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

Bu formüller iki şekilde ele alınabilir; ya nokta korunup koordinat sistemi değiştirilir, ya da koordinat sistemi korunup nokta değiştirilir. Gelecekte, bu formüller tam olarak belirli bir koordinat sistemindeki noktaların dönüşümü olarak değerlendirilecektir. Ayrıca, söz konusu tüm sistemler dikdörtgen olacaktır (formüller dikdörtgen olmayanlarla çalışmanıza izin verir).


M noktasının koordinatlarının orijinden Mx, My koordinatlarına sahip bir vektör olarak temsil edilebileceğine dikkat edilmelidir.

O halde dönüşüm şu şekilde yazılabilir: vektör formu(bu yalnızca dikdörtgen koordinat sistemi için geçerlidir).

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

İkinci sistemin orijininin O* koordinatları birincinin koordinatları içinde nerededir? X*,Y* - birinci koordinatlardaki ikinci koordinat sisteminin vektörleri (vektör yönleri).

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

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

Bu dönüşüm şu şekilde de yazılabilir: matris formu

, veya burada vektörler 1'2 formundaki matrisler biçiminde kabul edilir.

C=AB matrisinin Cij elemanı, A matrisinin i'inci satırının elemanları ile B matrisinin j'inci sütununun elemanlarının çarpımlarının toplamıdır.

Ters dönüşüm - bir doğrusal denklem sistemini çözme veya ters bir matris kullanma , ancak sistemin orts ile temsil edildiği durum için daha basit olabilir. Bu durumda ters matris aktarılana eşittir.

Afin dönüşümü – geometrik dönüşüm düzlem veya uzay ĸᴏᴛᴏᴩᴏᴇ döndürme, ötelemeyi birleştirerek elde edilebilir, aynasal yansımalar ve koordinat eksenlerinin yönlerinde ölçeklendirme.

Döndürme (R - döndürme). Orijinin etrafında bir açıyla a.

x * =x*cosa-y*sina

y * =x*sina+y*cosa

Koordinat eksenleri boyunca gerilim, sıkıştırma (D – dilatasyon).

Yansıma (M – ayna). Apsis eksenine göre.

Aktarım (T – çeviri).

Transfer, bir vektörün matris tarafından çarpımı olarak temsil edilemez, ancak vektörlerin toplamı olarak temsil edilebilir.

biliyorum analitik geometri herhangi bir dönüşümün, bu en basit dönüşümlerin sıralı bir uygulaması (süperpozisyon) olarak temsil edilebileceği kanıtlanmıştır.

Bazen tüm dönüşümleri tek bir matris biçiminde temsil etmek uygun olabilir; bu amaçla homojen koordinatlar kullanılır.

Homojen koordinatlar

M noktası için x,y koordinatları düzlemde homojen koordinatlar aynı anda sıfıra eşit olmayan x1, x2, x3 sayılarının üçlüsüdür ve ilişkilerle bağlı x1/x3=x, x2/x3=y. Düzlemde x,y koordinatlarına sahip bir nokta, homojen uzayda genellikle h=1 (x,y,1) olan bir xh,y,h,h noktasıyla ilişkilidir.

Genel dönüşüm puanlar homojen koordinatlar ah şeklinde yazılabilir.

Ve temel dönüşüm matrisleri şöyle görünecek:

Dönüşümlerin birleşimi.

Bir noktayı bir A noktası etrafında belirli bir açıyla döndürmeniz gerektiğini varsayalım.

Öncelikle A noktasını orijine (-Ax,-Ay) taşıyın. Sonraki dönüş. Daha sonra A noktasına geri dönün. (Ax,Ay). Tek bir dönüşüm elde etmek mümkündür

Uzayda afin dönüşümler

3 boyutlu uzayda, bir nokta (vektör) üç koordinatla (x,y,z) veya dört homojen koordinatla (x,y,z,1) temsil edilir.

Sol ve sağ üçlü vektör kavramları tanıtılmalıdır. Üç vektör a,b,c Vektörlerin başlangıçlarını birleştirdikten sonra, c vektörünün sonundan bakan ve saat yönünün tersine giden bir gözlemciye a'dan b'ye en kısa dönüş görünüyorsa, sağ üçlü oluşturur. Kural sağ el– a vektörü dirsekle aynı hizadadır, b vektörü avuç içine dahil edilmiştir, c vektörü ile çakışmaktadır baş parmak. Yön vektörleri sağ yönlü bir üçlü oluşturuyorsa, bir koordinat sistemine genellikle sağ yönlü denir.

Vektör çizimleri c=a'b, c her iki vektöre dik olan ve onlarla sağ üçlü oluşturan bir vektördür.

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

Dönüşümler aynı kalıyor: döndürme (şimdi yalnızca üç eksen etrafında), esneme, yansıma (üç düzleme göre), aktarma.

Sol koordinat sistemi için orijinden bakıldığında saat yönünün tersine dönüş (sağ koordinat sistemi için tam tersi).

, ,

,

, ,

Örneğin, L yön vektörünün A noktasından geçtiği düz bir çizgi etrafında bir dönme matrisi oluşturmanız gerekir.

1. A'yı orijine aktarın

2. Düz çizgiyi X ekseniyle hizalamak.

İlk önce X ekseni etrafında döndürün

a açısına göre, cosa=Lz/d, sina=Lx/d, burada d=

Eğer d=0 ise düz çizgi zaten X ekseniyle çakışıyor demektir.

Daha sonra Y ekseni etrafında b açısı kadar döndürün.

Döndürülmüş vektör (Lx,Ly,Lz,1)=(Lx,0,d,1)'dir.

cosb=Lx, sinb=d

3. X ekseni etrafında istenilen açıya döndürün

4. L eksenine dönün,

5. A noktasına transfer

Genel matris şöyle olacaktır:

Orts tarafından belirtilen bir koordinat sistemine dönüştürme

Eğer sistem X*,Y*,Z* karşılıklı dik birim vektörlerin üçlüsü ile veriliyorsa.

, ters dönüşüm– aktarılmış matris [R] T

Tasarım

Gösteriş için her şeyden önce tasarım son derece önemlidir. üç boyutlu nesneler düz ekranda, ancak gölgeler gibi başka uygulamalar da var.

En sık kullanılan iki tasarım türü vardır: paralel ve merkezi (perspektif).

Bir nesneyi bir düzleme yansıtırken, belirli bir çıkıntı yapan ışından nesnenin her noktasından geçen düz bir çizgi çizmeniz ve bu düz çizginin düzlemle kesişimini bulmanız gerekir.

Şu tarihte: paralel tasarımışın, merkezi bir çizginin belirli bir noktadan geçtiği paralel çizgilerden oluşur.

Paralel projeksiyonlar, ışın çizgileri projeksiyon düzlemine dik olduğunda iki türe ayrılabilir - projeksiyonlara aksonometrik denir ve olmadığında eğiktir (bu tür projeksiyonları dikkate almayacağız).

Ancak ekrandaki bir nesnenin aksonometrik paralel projeksiyonunu elde etmek için ışının yönünü eksenlerden biriyle (genellikle Z) birleştirmeniz gerekir. X ve Y eksenleri çakışacak eksenler X,Y ekranda ve Z ekseni ekranın derinliklerine yönlendirilecektir.

Bir noktanın perspektif projeksiyonunu elde etmek için, ışının ufuk noktasını koordinatların başlangıç ​​noktasına yerleştirmek, ekrana olan yönü (ufuk noktasından projeksiyon düzlemine dik) Z ekseniyle hizalamak, ardından son derece önemlidir. Xp=X*d/Z, Yp=Y*d/Z, burada d, başlangıç ​​noktasından projeksiyon düzlemine olan mesafedir.

Bu dönüşüm bir matris olarak yazılabilir. ,

Tek şey, böyle bir dönüşümde derinliğin (z) kaybolmasıdır, ancak vektörün son koordinatından hesaplanabilmektedir.

Bu tasarım dönüşümlerine ek olarak görüntünün ekranda doğru görünmesini sağlamak için birkaç tane daha yapmak son derece önemlidir. Öncelikle pencerenin boyutuna kadar uzatılması gerekiyor, ikinci olarak X ekseni etrafında yansıtılması gerekiyor (çünkü Y ekseni genellikle aşağıya doğru yönlendiriliyor), üçüncü olarak pencerenin merkezine taşınması gerekiyor. pencere.

Genel dönüşüm matrisi aşağıdaki gibidir.

Cx,Cy – ekran merkezinin koordinatları.

oran – farklı ekran çözünürlükleri için farklı olan Y boyutunun X boyutuna oranı. Çözünürlük yüzey birimi başına düşen piksel sayısıdır; bu durumda birim monitör ekranının tamamıdır. Monitör ekranının bir oranı vardır yatay boyut dikey 4/3'e, dolayısıyla bu sayı oranının katı olan yatay ve dikey piksel sayısına sahip çözünürlükler için=1 (örneğin 640/480). Aksi halde oran=(4*boyut)/(3*boyutex) (320x200 =0,83).

S – ölçek faktörü, paralel projeksiyon için manuel olarak seçildi perspektif projeksiyonu S bire eşittir, ancak d (tasarım düzlemine olan mesafe) FOV'a (görüş alanı) göre hesaplanır. FOV, ışındaki düz çizgilerin oluşturduğu maksimum açıdır, yani görüş açısıdır.

FOV genellikle 50° ila 100° arasında değişir, insan gözünün FOV'si 90°'dir.

Dünya, model ve ekran koordinat sistemleri

Dünya, tüm sahne nesnelerinin belirtildiği ana koordinat sistemidir.

Model – koordinat sistemi iç yapı nesneler.

Ekran – gözlemci koordinat sistemi, aynı zamanda kamera koordinat sistemi olarak da adlandırılır.

Model genellikle model sistemine, sistemin merkezi modelin geometrik veya kütle merkeziyle, X ekseni ileri yönle, Y ekseni sağa ve Z ekseni yukarıya doğru.

Model, dünya koordinat sisteminde, modelin merkezi M (vektör) ve oryantasyon (üç ort veya üç dönüş açısı (X), eğim (Y), rota (Z) koordinatları ile belirtilir; matris ​​bir dizi dönüş olarak oluşturulmuştur). Model koordinatlarından dönüştürmek için önce oryantasyon matrisine göre döndürmeniz, sonra da dönüştürmeniz gerekir.

Ders Rulosu Aralığı

Kameranın konumu ve yönü, modelin konumuyla tamamen aynı şekilde ayarlanabilir. Ancak çoğu zaman yalnızca kameranın görüş yönü yeterlidir. Genellikle (içinde gerçek hayat) kameranın rulosu yok, ᴛ.ᴇ. X ekseni (sağda) her zaman yataydır ve YZ düzlemi bu nedenle her zaman dikeydir.

Ayrıca, kameranın Z ekseninin (görüş yönü) dikey olmadığını varsayarsak, X ekseni=Norm(Z'Up)'ı bulabiliriz; burada Up(0,0,1) dikey bir vektördür ( X, yatay anlamına gelen Up dikey vektörüne dik olacaktır). Son olarak Y=X'Z ekseni (yukarı). Sistemin solda kaldığından emin olun.

Noktaları dünya sisteminden ekran noktalarına dönüştürmek için, önce çeviriyi uygulamak ve ardından aktarılan kamera yönlendirme matrisi T ile döndürmek kritik öneme sahiptir.

Ancak bir noktayı model koordinatlarından ekran koordinatlarına dönüştürmek için aşağıdaki T dönüşümünü gerçekleştirmek son derece önemlidir. Bu tür dönüşümlerden sonra Z ekseni görüş yönüne yönlendirilecek ve tasarım yapılabilecektir.

Ders 6-7-8

Düzlemde ve uzayda dönüşümler - kavram ve türleri. "Uçakta ve uzayda dönüşümler" kategorisinin sınıflandırılması ve özellikleri 2017, 2018.

Bölüm 1. Ekleme. Kartezyen dikdörtgen koordinatların düzlemde ve uzayda dönüşümü. Uçakta ve uzayda özel koordinat sistemleri.

Bir düzlemde ve uzayda koordinat sistemleri oluşturma kuralları Bölüm 1'in ana bölümünde tartışılmıştır. Kullanım kolaylığı not edilmiştir. dikdörtgen sistemler koordinatlar Şu tarihte: pratik kullanım Analitik geometri araçlarıyla, benimsenen koordinat sisteminin dönüştürülmesine sıklıkla ihtiyaç duyulur. Bu genellikle kolaylık göz önünde bulundurularak belirlenir: geometrik görüntüler basitleştirilir, hesaplamalarda kullanılan analitik modeller ve cebirsel ifadeler daha net hale gelir.

İnşaat ve kullanım özel sistemler koordinatlar: kutupsal, silindirik ve küresel, çözülen problemin geometrik anlamına göre belirlenir. Özel koordinat sistemleri kullanılarak yapılan modelleme, pratik problemlerin çözümünde analitik modellerin geliştirilmesini ve kullanılmasını sıklıkla kolaylaştırır.

Bölüm 1'in Ekinde elde edilen sonuçlar aşağıdaki amaçlarla kullanılacaktır: doğrusal cebir, en-V matematiksel analiz ve fizikte.

Kartezyen dikdörtgen koordinatların düzlemde ve uzayda dönüşümü.

Düzlemde ve uzayda koordinat sistemi kurma problemi ele alınırken, koordinat sisteminin bir noktada kesişmesiyle oluştuğuna dikkat çekildi. sayı eksenleri: Düzlemde iki, uzayda üç eksen gereklidir. Vektörlerin analitik modellerinin oluşturulmasıyla bağlantılı olarak işlemin tanıtılması nokta çarpım vektörler ve geometrik içerikli problemlerin çözümünde, dikdörtgen koordinat sistemlerinin kullanımının en çok tercih edildiği gösterilmiştir.

Dönüşüm sorununu ele alırsak özel sistem soyut olarak koordine edilirse, genel durumda keyfi harekete izin vermek mümkün olacaktır. verilen alan Eksenleri keyfi olarak yeniden adlandırma hakkı ile eksenleri koordine edin.

Birincil konseptten başlayacağız referans sistemleri fizikte kabul edilir. Vücutların hareketi gözlemlendiğinde hareketin olduğu keşfedildi. izole edilmiş vücut tek başına belirlenemez. Hareketin gözlemlendiğine göre en az bir vücuda daha sahip olmanız, yani onda bir değişiklik olması gerekir. akraba hükümler. Analitik modelleri, yasaları ve hareketi elde etmek için, bu ikinci cisimle bir referans sistemi olarak bir koordinat sistemi ilişkilendirildi ve bu koordinat sistemi şu şekildedir: sağlam !

Keyfi hareketten bu yana sağlam uzayda bir noktadan diğerine iki bağımsız hareketle temsil edilebilir: öteleme ve dönme, bu durumda koordinat sistemini dönüştürme seçenekleri iki hareketle sınırlıydı:

1). Paralel aktarım: Yalnızca bir noktayı takip ederiz; nokta.

2). Koordinat sistemi eksenlerinin bir noktaya göre dönüşü: katı bir cisim olarak.

Düzlemde Kartezyen Dikdörtgen Koordinatları Dönüştürme.

Düzlemde koordinat sistemlerimiz olsun: , ve . Koordinat sistemi sistemin paralel ötelenmesiyle elde edilir. Koordinat sistemi, sistemin bir açıyla döndürülmesiyle elde edilir ve pozitif dönme yönü, eksenin saat yönünün tersine dönmesi olarak alınır.

Kabul edilen koordinat sistemleri için temel vektörleri belirleyelim. Sistem, sistemin paralel aktarımıyla elde edildiğinden, bu sistemlerin her ikisi için de temel vektörleri kabul ediyoruz: , ve birim vektörler ve koordinat eksenleri , yönünde çakışan sırasıyla. Sistem için temel vektörleri alıyoruz birim vektörleri, eksenlerle aynı doğrultudadır , .

Bir koordinat sistemi verilsin ve onun içinde bir nokta = tanımlansın. Dönüşümden önce çakışan koordinat sistemlerine sahip olduğumuzu varsayacağız ve . Koordinat sistemine uygula paralel aktarım, vektör tarafından tanımlanır. Bir noktanın koordinat dönüşümünü tanımlamak gerekir. Vektör eşitliğini kullanalım: = + veya:

Paralel ötelemenin dönüşümünü temel cebirde bilinen bir örnekle açıklayalım.

Örnek D1 : Parabolün denklemi verilmiştir: = = . Bu parabolün denklemini en basit haline indirgeyin.

Çözüm:

1). Tekniği kullanalım deşarj tam kare : = , kolaylıkla şu şekilde temsil edilebilir: –3 = .

2). Koordinat dönüşümünü uygulayalım - paralel aktarım := . Bundan sonra parabolün denklemi şu şekli alır: . Cebirdeki bu dönüşüm şu şekilde tanımlanır: parabol = yer değiştirmeyle elde edilir en basit parabol 2 birim sağa ve 3 birim yukarı.

Cevap: en basit biçim paraboller: .

Bir koordinat sistemi verilsin ve onun içinde bir nokta = tanımlansın. Dönüşümden önce çakışan koordinat sistemlerine sahip olduğumuzu varsayacağız ve . Koordinat sistemine bir dönme dönüşümü uygulayalım, böylece orijinal konumuna göre, yani sisteme göre, bir açıyla döndürülmüş olur. = noktasının koordinat dönüşümünü tanımlamak gerekir. Vektörü koordinat sistemlerinde yazalım ve : = .

Aynı zamanda, herhangi bir açı için elimizde: bu şekilde oldukça basit bir şekilde gözlemlenmektedir. Sonra: = . İkincisi şu şekilde yazılabilir: = . Vektör eşitliğinden şu nokta için koordinat dönüşümünü elde ederiz: .Telif hakkı ihlali ve

Bu sayımızın konusu afin dönüşümlerin matris formunda atanmasıdır. Bu konu aslında daha önce söylenen her şeyin bir özetidir.

Tanım.Düzlem dönüşümü denir afin, Eğer

  • bire birdir;
  • herhangi bir düz çizginin görüntüsü düz bir çizgidir.

Dönüşüm denir bire bir, Eğer

  • farklı noktalar farklı noktalara gider;
  • bir nokta her noktaya gider.

Homojen koordinatlar

Paralel aktarımı düşünürsek, 2x2'lik bir matrisin artık onu tanımlamaya yetmediği ortaya çıkıyor. Ancak 3x3'lük bir matris kullanılarak belirtilebilir. Şu soru ortaya çıkıyor: İki boyutlu bir noktanın üçüncü koordinatı nereden alınır?

Tanım.Homojen koordinatlar - Tanımladıkları nesnenin tüm koordinatlar aynı sayı ile çarpıldığında değişmemesi özelliğine sahip koordinatlar.

Homojen vektör koordinatları(x, y) sayıların üçlüsüdür(x", y", h), burada x = x"/h, y = y"/h ve h - bazı gerçek sayı(durum ne zaman saat = 0 özeldir).

NotBu koordinatlar düzlemde bir noktayı benzersiz şekilde belirtmenize izin vermez. Örneğin,(1, 1, 1) ve (2, 2, 2) aynı noktayı ayarla(1, 1) . Bir set almanız önerilir(x, y, 1) , uçağın tüm noktalarını tanımlayacak.

Homojen koordinatlar için dönüşüm matrisi 3x3 boyutundadır. Homojen koordinatlardaki bazı dönüşümleri ele alalım.

Sıkıştırma/gerilme

Bu dönüşüm, karşılık gelen nokta koordinatlarını eksenel ölçeklendirme faktörleriyle çarpar:(x, y) -> (a x * x, a y * y) . Dönüşüm matrisi aşağıdaki gibi yazılacaktır:

[bir x 0 0]

nerede bir x – eksenel esneme X,

bir e – eksenel esneme y.

NotSıkıştırma/uzama katsayılarının negatif değerlerinde yansımanın karşılık gelen eksenlere göre meydana geldiği not edilebilir. Bu durum bu dönüşüme dahil edilebileceği gibi, ölçeklendirme faktörlerinin sadece pozitif değerler alması söylenerek ayrı bir durum olarak da çıkarılabilir.

Dönüş


2x2 döndürme matrisi daha önce ayrıntılı olarak tartışılmıştı. Şimdi bir satır ve bir sütunla tamamlanıyor:

[-sin(phi)cos(phi) 0]

Not phi = n açısında bu matris, dönmenin özel bir durumu olan, orijin etrafındaki merkezi simetriyi tanımlar. Bu simetrinin bir sıkıştırma/uzatma dönüşümü (negatif ölçeklendirme faktörlerine izin vererek) kullanılarak tanımlanabileceğini fark edeceksiniz.

Paralel aktarım


Orijinal vektör (x, y), (x + t x, y + t y)'ye gider . Dönüşüm matrisi aşağıdaki gibi yazılacaktır:

[ 1 0 0]

[txty1]

Refleks


Squash/stretch dönüşümüne ilişkin notta belirtildiği gibi yansımalar şu şekilde elde edilir:

[-10 0]


x eksenine göre yansıma


eksen etrafında yansıma sen

Afin dönüşümün genel görünümü

Son sütunu (0 0 1) T olan 3x3'lük bir matris, düzlemin afin dönüşümünü tanımlar:

[ * * 0]

[ * * 0]

[ * * 1]

Özelliklerden birine göre afin dönüşüm şu şekilde yazılabilir:

f(x) = x * R + t,

nerede R – ters çevrilebilir matris 2 x2 ve t – keyfi vektör. Homojen koordinatlarda bu şu şekilde yazılacaktır:

[R 1,1 R 1,2 0]

[R 2,1 R 2,2 0]

[ t x t y 1 ]

Satır vektörünü bu matrisle çarparsak dönüşüm sonucunu elde ederiz:

[ xy1 ] *[ R 1,1 R 1,2 0 ]

[R 2,1 R 2,2 0]

[ txty1 ​​]

[ x'y'1 ]+[ t x t y 1 ]

Bu durumda [ x ' y ' ]= R *[ x y ]

NotMeraklı okuyucu zaten kendine şu soruyu sormuştur: R matrisinin determinantının anlamı nedir? Afin dönüşümle tüm şekillerin alanları | R |. (Bunu matematiksel açıdan kesin olarak kanıtlayabilirsiniz, ancak bu gerçek burada kanıtlanmadan verilmiştir.)

O. afin dönüşüm, matris tarafından belirtilen bazı dönüşümlerin bileşimi olarak temsil edilir R ve paralel aktarım. Bu matrisin doğasını ve bize sunduğu fırsatları daha detaylı inceleyelim.

Matris R düzlemin yeni bir temelini tanımlar. Onlar. vektör(1, 0) (R 1,1, R 1,2)'ye gider, vektör (0, 1) (R 2,1, R 2,2)'ye gider ). Yeni temel matrisin satırlarıdır R.

Örnek.


Y eksenine göre yansıtıldığında , ordinat ekseni boyunca temel vektör korunur ve apsis ekseni boyunca şu şekilde olur:(-1, 0) . O. matris R şöyle görünecek:


Artık yukarıdaki dönüşümlere ek olarak, afin dönüşüm kullanarak bir eğim elde edebileceğiniz açıkça ortaya çıkıyor:


Yukarıda afin dönüşüm gibi güçlü bir araç hakkında temel bilgiler verilmektedir. Geriye pek çok soru kalıyor: Afin dönüşümlerin hangi alt sınıfı düz çizgiler arasındaki açıları koruyor? Bir afin dönüşümü birkaç alt sınıfın bileşimi olarak nasıl temsil edebiliriz? Daha karmaşık dönüşümler nasıl belirtilir? Örneğin, eksenel simetri keyfi bir düz çizgiye göre mi?

Bu soruların yanıtları ve afin dönüşümün daha ayrıntılı bir tartışması teorik geometri dersinin bir bölümü olarak ayrıca verilecektir.

Afin dönüşümün formdaki pratik uygulaması üzerinde duralım. gösteri programı. Fare ile düzlemin dönüşünü gösteren uygulamanın yetenekleri, tuşa basıldığında paralel çeviri fonksiyonlarına ekleniyor CTRL .

Çünkü Bu yazı bu bölümdeki son yazıdır, demo başvuru kodunun uygun olması gerekmektedir. Grafiksel bir uygulamada hangi blokların gerekli olduğunu anlamaya çalışalım ve aynı zamanda bunların bu programda nasıl uygulandıklarına bakalım:

  • pencerenin oluşturulduğu ve mesajların işlendiği blok işletim sistemi, bir dosyada uygulandı emain. cpp
  • görüntüleri işleyen grafik motoru, sınıf Motor
  • mantıksal koordinatları pencere koordinatlarına (ve tersini) dönüştürmek için gereken katman, sınıf Görünüm alanı
  • Kullanıcı eylemlerine tepki vermekten sorumlu nesne, sınıf Aksiyon

Aşağıdaki örnek, ayrıntılı yorumlarla birlikte bu işlevsel blokları uygulamaktadır.

5. GEOMETRİK DÖNÜŞÜMLER

Bir görüntüyü bir görüntüleme ekranında görüntülemek ve görsel analiz de dahil olmak üzere onunla çeşitli eylemler yapmak, kullanıcının belirli bir dereceye kadar geometrik okuryazarlık becerisini gerektirir. Geometrik kavramlar problemlerde öncelikle düzlem ve üç boyutlu durumlar ile ilgili formüller ve gerçekler rol oynar bilgisayar grafikleri özel rol. Sürekli genişleyen olanaklarla birleşen geometrik düşünceler, yaklaşımlar ve fikirler bilgisayar teknolojisiöyle tükenmez bir kaynak bilgisayar grafiklerinin geliştirilmesindeki önemli ilerlemeler, etkili kullanım bilimsel ve diğer araştırmalarda. Bazen en basit geometrik teknikler bile büyük bir grafik problemini çözmenin bireysel aşamalarında gözle görülür ilerleme sağlar.

5.1. Uçakta ve uzayda dönüşümler

Nesnelerin ve parçalarının hareketi gibi sorunları çözmek için kamera kontrollerinden yararlanılır. afin dönüşümler(AP), ana özelliklerini göz önünde bulundurun:

1) Aynı doğru üzerinde bulunan noktalar dönüşümden sonra aynı doğru üzerinde yer alır;

2) kesişen çizgiler kesişmeye devam eder ve paralel çizgiler paralel kalır;

3) AP uzayında kesişen düzlemler kesişmeye devam eder, paralel düzlemler paralel kalır ve kesişen düzlemler kesişmeye devam eder;

4) AP ile düzlemdeki iki karenin alanlarının oranı ve uzaydaki iki küpün hacimlerinin oranı korunur.

Düzlemde afin dönüşümler

Düzlemde doğrusal bir çizginin verildiğini varsayalım koordinat sistemi. Daha sonra her M noktası, koordinatlarının sıralı bir sayı çiftine (x, y) karşılık gelir (Şekil 5.1). Düzlemde başka bir doğrusal koordinat sistemi ekleyerek, aynı M noktasını başka bir sayı çifti (x *, y *) ile ilişkilendiririz.

Bir düzlemdeki bir doğrusal koordinat sisteminden diğerine geçiş aşağıdaki ilişkilerle tanımlanır:

x* = α x+ β y+ λ ,

y* = γ x+ δ y+ µ ,

burada α, β, λ, γ, µ, δ – keyfi sayılar eşitsizlikle ilgili

α β ≠ 0.

γ δ

Formüller (1) iki şekilde düşünülebilir: ya nokta korunur ve koordinat sistemi değiştirilir (Şekil 5.2) (bu durumda) keyfi nokta M aynı kalır, yalnızca koordinatları değişir) veya nokta değişir ve koordinat sistemi korunur (Şekil 5.3) (bu durumda formüller (1), keyfi bir M (x, y) noktasını dönüştüren bir eşlemeyi tanımlar Koordinatları aynı koordinat sisteminde tanımlanan M * (x *, y *) noktası.

Pirinç. 5.1. Orijinal

Pirinç. 5.2. Dönüşüm

Pirinç. 5.3. Dönüşüm

koordinat sistemi

nokta

İÇİNDE Aşağıda, belirli bir doğrusal koordinat sisteminde düzlemin hangi noktalarının dönüştürüldüğüne göre formül (1)'i kural olarak ele alacağız.

İÇİNDE Düzlemin afin dönüşümlerinde, iyi izlenebilen geometrik özelliklere sahip birçok önemli özel durum özel bir rol oynar. Araştırma yaparken geometrik anlamı sayısal katsayılar bu durumlar için formül (1)'de şunu varsaymak uygundur: verilen sistem koordinatlar dikdörtgen Kartezyendir.

1. Arkanı dön başlangıç ​​noktası bir açıylaϕ formüllerle tanımlanır

x * = x çünküϕ − y sinϕ ,

y * = x sinϕ + y cosϕ .

2. Koordinat eksenleri boyunca uzatma (sıkıştırma) şu şekilde ayarlanabilir:

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

Apsis ekseni boyunca gerilim, α > 1 ve sıkıştırma – 0 olması koşuluyla sağlanır.<α < 1.

3. Yansıma (x eksenine göre) kullanılarak belirtilir.

x *= x ,y *= − y .

4. İlişkilerle paralel aktarım sağlanıyor

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

Bu dört özel durumun seçimi iki koşul tarafından belirlenir.

1. Yukarıdaki dönüşümlerin her birinin basit ve açık bir geometrik anlamı vardır (yukarıdaki formüllerde yer alan sabit sayılara da geometrik bir anlam verilmiştir).

2. Analitik geometri sürecinde kanıtlandığı gibi, formun (1) herhangi bir dönüşümü her zaman şu şekilde temsil edilebilir:

en basit dönüşümlerin tutarlı bir şekilde yürütülmesi. Bu iyi bilinen formülleri etkili bir şekilde kullanmak için

Bilgisayar grafiklerinde matris gösterimi daha uygundur. A, B ve C durumlarına karşılık gelen matrislerin oluşturulması kolaydır ve aşağıdaki forma sahiptir:

çünkü

günah

− günahϕ

çünkü

−1

Bununla birlikte, aşağıda ele alınan problemleri çözmek için, en basit dört dönüşümün tümünü (çevirme dahil) kapsayan matris yaklaşımının ve dolayısıyla genel afin dönüşümün kullanılması oldukça arzu edilir. Bu, örneğin şu şekilde başarılabilir: düzlemde, yukarıda yapıldığı gibi bir sayı çifti tarafından sıralanmayan, ancak sıralı bir üçlü sayı tarafından sıralanan rastgele bir noktanın tanımına gidin.

Homojen nokta koordinatları

M, koordinatları yy verilen bir doğrusal koordinat sistemine göre hesaplanan düzlem üzerinde rastgele bir nokta olsun. Bu noktanın homojen koordinatları, verilen x ve y sayılarıyla aşağıdaki ilişkilerle ilişkili, aynı anda sıfır olmayan x 1 , x 2 , x 3 sayılarının herhangi bir üçlüsüdür:

x 1/ x 3= x , x 2/ x 3= y .

Bilgisayar grafik problemlerini çözerken, homojen koordinatlar genellikle şu şekilde tanıtılır: düzlemin rastgele bir M (x, y) noktası, uzaydaki bir M * (x, y, 1) noktasıyla ilişkilendirilir (Şekil 5.4).

Başlangıç ​​noktasını, O (0, 0, 0) noktasını M* (x,y, 1) noktasına birleştiren çizgi üzerindeki rastgele bir noktanın, (hx,hy,h) biçimindeki üçlü sayılarla belirtilebileceğini unutmayın. ).

Pirinç. 5.4. Homojen koordinatlar

h ≠ 0 olduğunu varsayacağız. hx , hy , h koordinatlarına sahip vektör, 0 (0, 0, 0) ve M * (x , y , 1) noktalarını birleştiren düz çizginin yön vektörüdür. Bu doğru, z = 1 düzlemini, koordinat düzleminin (x,y) noktasını benzersiz şekilde belirleyen (x,y, 1) noktasında keser.

Böylece, (x,y) koordinatlarına sahip rastgele bir nokta ile h ≠ 0 için (hx,hy,h) formundaki üçlü sayılardan oluşan bir küme arasında (bire bir) bir yazışma kurulur ve bu bize şunları sağlar: hx,hy,h sayılarını bu noktanın yeni koordinatları olarak düşünün.

Projektif geometride, homojen koordinatlar için aşağıdaki gösterim kabul edilir: x : y : 1 veya x 1 : x 2 : x 3 (x 1 , x 2 , x 3 sayıları aynı anda sıfıra dönmedi).

Homojen koordinatların kullanılması, örneğin ölçeklendirme gibi en basit sorunları çözerken bile uygun olduğu ortaya çıkıyor:

1) homojen koordinatlara sahip bir nokta (0,5; 0,1; 2,5) h=1 tamsayı koordinatlarla temsil edilemez, ancak örneğin seçim yaparken h= 10 elde ederiz (5; 1; 25);

2) koordinatları olan bir nokta için dönüşüm sonuçlarının aritmetik taşmaya yol açmaması için

(80000;40000;1000) örneğin h= 0,001 alınabilir. yeniden

Sonuç olarak (80;40;1) elde ederiz.

Verilen örnekler, hesaplamalar yapılırken homojen koordinatların kullanılmasının yararlılığını göstermektedir. Bununla birlikte, bilgisayar grafiklerinde homojen koordinatların kullanılmasının asıl amacı, bunların geometrik dönüşümlere uygulanmasındaki şüphesiz kolaylıklarıdır.

Homojen koordinatların üçlüleri ve üçüncü dereceden matrisler kullanılarak bir düzlemin herhangi bir afin dönüşümü tanımlanabilir.

Aslında, h = 1 olduğunu varsayarak iki girişi karşılaştıralım: * simgesiyle işaretlenmiş olan ve aşağıdaki matris olan:

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

Son ilişkinin sağ tarafındaki ifadeleri çarptıktan sonra hem formül (1)'i hem de doğru sayısal eşitlik olan 1 ≡ 1'i elde ettiğimizi görmek kolaydır. Böylece karşılaştırılan kayıtlar eşdeğer kabul edilebilir.

Rasgele bir afin dönüşüm matrisinin elemanları açık bir geometrik anlam taşımaz. Bu nedenle, şu veya bu haritalamayı uygulamak, yani karşılık gelen matrisin elemanlarını belirli bir geometrik açıklamaya göre bulmak için özel tekniklere ihtiyaç vardır. Tipik olarak, söz konusu problemin karmaşıklığına uygun olarak bu matrisin inşası birkaç aşamaya bölünmüştür.

Her aşamada, iyi tanımlanmış geometrik özelliklere sahip olan yukarıdaki A, B, C veya D durumlarından birine veya diğerine karşılık gelen bir matris bulunur.

Karşılık gelen üçüncü dereceden matrisleri yazalım.

A. Dönme matrisi

B. Esnetme Matrisi

çünkü

günah

(sıkıştırma) (genişleme)

çünkü

= − sinϕ

D. Aktarım matrisi (çeviri)

B. Yansıma matrisi (yeniden

− 1 0 .

Düzlemin afin dönüşümlerinin örneklerini ele alalım.

Örnek 1. Bir döndürme matrisi oluşturun

A(a, b) noktası etrafında ϕ açısıyla (Şekil 5.5).

bir (-a,

merkez hizalaması

dönüm

koordinatlar

2. adım. Açıya göre döndürün.

bir(a,

Pirinç. 5.5. Dönüş

dönme merkezinin önceki konumuna döndürülmesi; karşılık gelen dönüşümün matrisi.

çünkü

günah

= − sinϕ

çünkü

−A

−a

−b

Matrisleri yazıldığı sırayla çarpalım: . Sonuç olarak, istenen dönüşümün (matris gösteriminde) şöyle görüneceğini görüyoruz:

günah

günah

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

− günahϕ

çünkü

− a cosϕ + b sinϕ + a

− a günahϕ − b çünküϕ + b

Ortaya çıkan matrisin elemanlarının (özellikle son satırda) hatırlanması o kadar kolay değildir. Aynı zamanda, çarpılan üç matrisin her biri, karşılık gelen eşlemenin geometrik tanımından kolaylıkla oluşturulabilir.

Örnek 2. Apsis ekseni boyunca α ve ordinat ekseni boyunca β esneme katsayılarına sahip ve A(a, b) noktasında ortalanmış bir esneme matrisi oluşturun.

1. adım. Uzatma merkezini koordinatların orijini ile hizalamak için A (-a, -b) vektörüne aktarın.

2. adım. Sırasıyla α ve β katsayılarıyla koordinat eksenleri boyunca uzanma.

3. adım. Gerilim merkezini önceki konumuna döndürmek için A (a,b) vektörüne aktarın; karşılık gelen dönüşümün matrisi.



Makaleyi beğendin mi? Arkadaşlarınızla paylaşın!