窗口與視圖
- 窗口::在計算機圖形學中,將在用戶座標系中需要進行觀 察和處理的一個座標區域稱爲窗口(Window)。即用戶在 用戶域中指定的任意區域W。 比如下圖可以是屏幕上的一個窗口,窗口裏的位置都是相對不變的。
- 視圖:將窗口映射到顯示設備上的座標區域稱爲視圖區 (Viewport),視圖區可以在屏幕上隨意改變位置,如下圖中的京香照片。
二維圖形的幾何變換
平移變換
Tx,Ty爲平移矢量
{x′=x+Txy′=y+Ty
比例變換
Sx,Sy爲比例係數
{x′=xSxy′=ySy
旋轉變換
α是p點的原始角度位置與水平線的夾角,θ是旋轉角
{x′=xcosθ−ysinθy′=ysinθ+ycosθ
二維圖形變換的矩陣表示
- 圖形變換就是要變換圖形的頂點座標,同時保持圖形的原拓撲關係不變。
- 二維圖形可看成是一個點集,點的座標可用行向量(x,y)或列向量表示 ,圖形點集可表示成m∗2或2∗m ,圖形的變換⇒點的變換。
三種變換
- 平移(Translation)變換
[x′,y′]=[x,y]+[Tx,Ty]
設T=[Tx,Ty],則p′=p+T
- 比例(Scale)變換
[x′,y′]=[x,y][Sx00Sy]
設S=[x′,y′]=[x,y][Sx00Sy],則p′=p∗S。
- 旋轉(Rotate)變換
[x′,y′]=[x,y][cosθ−sinθsinθcosθ]
齊次座標變換
- 定義:用n+1維的向量表示一個 n 維向量的方法
- 如:n維向量(p1,p2,...,pn)表示爲(hp1,hp2,...,hpn,h),其中h稱爲啞座標,當h=1時稱爲 “規格化座標” ,前n個座標就是普通座標系下的n維座標。
- 使用原因;對於圖形來說,沒有實質性的差別,但是卻給後面的矩陣運算提供了可行性和方便性。
原二維線性變換
將x′=a1x+b1y+c1與y′=a2x+b2y+c2改寫成:
[x′,y′]=[x,y,1]⎣⎡a1b1c1a2b2c2⎦⎤
齊次座標法
[x′,y′]=[x,y,1]⎣⎡a1b1c1a2b2c2001⎦⎤
- 平移(Translation)變換
[x′,y′]=[x,y,1]⎣⎡10Tx01Ty001⎦⎤
- 比例(Scale)變換
Sx=Sy均勻比例變換,Sx=Sy非均勻比例變換
[x′,y′]=[x,y,1]⎣⎡Sx000Sy0001⎦⎤
整體比例變換時,若s>1,整體縮小;若0<s<1, 整體放大;若s<0,發生關於原點的對稱變換。
[x′,y′]=[x,y,1]⎣⎡10001000s⎦⎤
- 旋轉(Rotate)變換
順時針:
[x′,y′]=[x,y,1]⎣⎡cosαsinα0−sinαcosα0001⎦⎤
逆時針:
[x′,y′]=[x,y,1]⎣⎡cosα−sinα0sinαcosα0001⎦⎤
- 鏡像對稱
對稱方式 |
變換矩陣 |
新座標點 |
對稱於y軸 |
⎣⎡−100010001⎦⎤ |
x′=−xy′=y |
對稱於x軸 |
⎣⎡1000−10001⎦⎤ |
x′=xy′=−y |
對稱於原點 |
⎣⎡−1000−10001⎦⎤ |
x′=−xy′=−y |
對稱於直線y=x |
⎣⎡010100001⎦⎤ |
x′=yy′=x |
對稱於直線y=-x |
⎣⎡0−10−100001⎦⎤ |
x′=−yy′=−x |
- 錯切變換:哪個錯切變哪個
⎣⎡1c0b10001⎦⎤
沿x軸方向關於y錯切:x=x+cy
沿y軸方向關於x錯切:y=y+bx
複合變換
作一次以上的幾何變換時,可以將複雜變換轉化成變換矩陣相乘。 不可以交換律可以結合律。平移可交換律。
例題:任意直線的對稱變換
以沿x軸平移使之過原點再旋轉使直線與x軸重合爲例
1.α=90∘時
- 平移: 沿x軸平移L使之過原點,變換矩陣爲:T1=⎣⎡10AC010001⎦⎤
- 旋轉:順時針旋轉α角使L與x軸重合,變換矩陣:R1=⎣⎡cosαsinα0−sinαcosα0001⎦⎤
- 對稱:沿x軸對稱,變換矩陣爲:S1=⎣⎡1000−10001⎦⎤
- 反旋轉:逆時針轉α,使L返回原位置,變換矩陣爲:R1=⎣⎡cosα−sinα0sinαcosα0001⎦⎤
- 反平移:沿x軸平移到原L的初始位置,變換矩陣爲:T2=⎣⎡10−AC010001⎦⎤
- 則總變換矩陣爲:CH=⎣⎡cos2αsin2α−AC(cos2α−1)sin2α−cos2αACsin2α001⎦⎤
- 用直線的A,B,C三個參數替換總變換矩陣中的α,有如下關係:
⎩⎪⎪⎨⎪⎪⎧sin2α=A2+B22ABcos2α=A2+B2B2−A2
新的總變換矩陣爲:CH=⎣⎢⎡A2+B2B2−A2A2+B22AB−A2+B22ACA2+B22ABA2+B2A2−B2A2+B22BC001⎦⎥⎤
2.α=90∘時
求出方程,代入仍滿足總變換矩陣,即上式爲通式。
小結
- 比例、旋轉、錯切、對稱等變換(a,b,c,d)
- 平移變換(l,m)
- 透視變換,產生投影(p,q,三維纔有意義)
- 整體的比例變換(s,全比例變換)它使整個圖形沿x、y軸作等比例均勻變換
相關鏈接
超鏈接
如果你還想了解其他內容:
小白談計算機圖形學(一)如何畫線
小白談計算機圖形學(二)如何畫圓
小白談計算機圖形學(三)二維圖形裁剪
小白談計算機圖形學(四)二維三維圖形變換—1
參考文獻:
齊次座標變化