二維圖形幾何變換及窗口視區變換


四、基本幾何變換

圖形的幾何變換是指對圖形的幾何信息經過平移、比例、旋轉、等變換后產生新的圖形。

1、平移變換

平移是一種【不產生變形】而移動物體的【剛體變換】,即物體上的每個點移動相同數量的坐標。下圖是點P(x,y)平移到P*(x*,y*).

齊次坐標的計算形式為:



Tx,Ty稱為【平移矢量】

2、比例變換

比例變換是指對P點相對於坐標原點沿x軸方向縮放Sx倍,沿y方向縮放Sy倍,其中Sx,Sy稱為比例系數,可以賦予任何【正整數】,值小於1縮小物體的尺寸,值大於1則放大物體,都指定為1,物體尺寸就不會改變。

齊次坐標的計算形式為:


3、對稱變換

對稱變換也稱為反射變換或鏡像變換,變換后的圖形是原圖形關於一軸線或原點的鏡像。

(1)關於x軸對稱


齊次坐標的計算形式為:

 


(2)關於y軸對稱

 


齊次坐標的計算形式為:

 



4、旋轉變換

 



首先確定當基准點為坐標原點時,點位置P旋轉的變換方程,應用標准三角特性,利用角度α,θ將轉換后的坐標表示為:

 



在極坐標系中點的原始坐標為:


將x,y代入上式,就得到相對於原點將在位置(x,y)處的點旋轉θ角的變換方程

 



二維圖形繞原點【逆】時針旋轉θ角的齊次坐標計算式可寫為:


二維圖形繞原點【順】時針旋轉θ角的齊次坐標計算式可寫為:

5、錯切變換

在圖形學的應用中,有時需要產生彈性物體的變形處理,這就需要用到錯切變換。


變換矩陣中的非對角線元素大都為零,若變換矩陣中的非對角元素不為0,則意味着x,y同時對圖形的變換起作用。也就是說。變換矩陣中非對角線元素起着把圖形沿x方向或y方向錯切的作用。

x值或y值越小,錯切量越小;x值或y值越大,錯切量越大。其變換矩陣為:

(1)沿x方向錯切
當b=0時,有:

 


四、復合變換

復合變換就是指圖形作一次以上的幾何變換,變換結果是每次的【變換矩陣相乘】
——>任何一個復雜的幾何變換都可以看作基本幾何變換的組合形式。

(1)二維復合平移
p點經過兩次【連續】的平移后,其變換矩陣可寫為:

(2)二維復合比例平移
p點經過兩個【連續】比例變換后,其變換矩陣可寫為:

——>兩個連續比例變換是相乘的

(3)二維復合旋轉
p點經過兩個【連續】旋轉變換后,其變換矩陣可寫為:

——>兩個連續旋轉是相加的

【注意:矩陣乘法不滿足交換率】

(4)坐標系之間的變換
eg:下圖顯示了兩個笛卡爾坐標系xoy和x'o'y',而o'點在xoy坐標系的(x0,y0)處,為了將p(xp,yp)點從xoy坐標系變換到x'o'y'坐標系如何進行計算?


可分為兩步進行:
1>將x'o'y'坐標系的原點平移至xoy坐標系的原點——平移變換
2>將x'軸旋轉到x軸上——旋轉變換

 


變換矩陣表示為:


(5)相對任意參考點的二維幾何變換
比例、旋轉變換等均與參考點相關,變換過程如下:
a、將固定點移至坐標原點,此時進行平移變換
b、針對原點進行二維幾何變換
c、進行反平移,將固定點又移回原來的位置

五、二維變換矩陣
二維空間中某點的變化可以表示成點的齊次坐標與3階的二維變換矩陣T2d相乘,即:




六、二維幾何變換的計算

(1)點的變換

(2)直線的變換
直線的變換可以通過對直線兩端點進行變換,從而改變直線的位置和方向


(3)多邊形的變換
多邊形的變換是將變換矩陣作用到【每個頂點】的坐標位置,並按新的頂點坐標值和當前屬性設置來生成新的多邊形。

七、窗口視區變換

1、窗口和視區
【世界坐標系中】要顯示的區域稱為窗口,窗口定義顯示什么。
窗口映射到【顯示器(設備)上】的區域稱為視區,視區定義在何處顯示。


世界坐標系中的一個窗口可以對應於多個視區。

2、觀察變換
(1)變焦距效果


當窗口變小時,由於【視區大小不變】,就可以放大圖形對象的某一部分,從而觀察到在較大的窗口時未顯示出的細節。
——>類似於照相機的變焦處理

(2)整體縮放效果
當窗口大小不變而視區大小發生變化時,得到整體放縮效果,這種放縮【不改變】觀察對象的內容。


若把一個固定大小的窗口在一幅大圖形上移動,視區不變會產生【漫游效果】

3、窗口到視區的變換


窗口到視區的【映射】【基於一個等式】,即對每一個在世界坐標下的點(x,y),產生屏幕坐標系中的一個點(sx,sy)

這個映射是“保持比例”的映射——>使得這個映射有線性形式


其中A、B、C、D是常數

首先考慮x的映射,保持比例的性質說明:



又因為

,可知:A看作放大x的部分,C看作常數

同理,y方向上保持比例性質滿足:


這個映射可用於【任意點(x,y)】,不管它是否在窗口之中。
在窗口【中】的點映射到視區【中】的點,在窗口【外】的點映射到視區【外】的點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM