轉(zhuǎn)http://learn.gxtc.edu.cn/NCourse/jxcamcad/cadcam/Mains/main11-2.htm
2.3.3 基本二維變換
基本二維變換有比例變換(Scaling)、旋轉(zhuǎn)變換(Rotating)、錯切變換(Shearing)和平移變換(Translating)。
1)比例變換
比例變換就是將平面上任意一點(diǎn)的橫坐標(biāo)放大或縮小S11倍,縱坐標(biāo)放大或縮小S22倍,即
其中S稱為比例變換矩陣。圖2.24是比例變換的幾個例子。圖中(b)是S11=S22的情況,(C)是S11≠S21的情況
2)旋轉(zhuǎn)變換
旋轉(zhuǎn)變換就是將平面上任意一點(diǎn)繞原點(diǎn)旋轉(zhuǎn)θ角,一般規(guī)定逆時針方向?yàn)檎?,順時針方向?yàn)樨?fù)。從圖2.25可推出變換公式:
3)錯切變換
在旋轉(zhuǎn)變換矩陣中,非對角線元素有何幾何意義?觀察圖2.26中的例子。變換矩陣中元素S21起作把圖形沿X方向“錯切”的作用,Y值越小,錯切量越小。S12則有將圖形向Y方向“錯切”的作用,同樣其作用的大小與X值成正比。
4)平移變換
平移交換指的是將平面上任意一點(diǎn)沿X方向移動C。,沿Y方向移動ty(圖2.27),其變換公式為
由上式可見,平移交換不能直接用2X2矩陣來表示。下述齊次坐標(biāo)變換矩陣則可解決這個問題。
注意:這句話關(guān)鍵(疑問點(diǎn)在于為什么二位轉(zhuǎn)換需要3x3的矩陣)
2.3.4 齊次坐標(biāo)
如把平面上的點(diǎn)P=[Xy]放到空間去表示為[X Y H],使得x= X/H, y=Y(jié)/H 則稱[X Y H」是點(diǎn) P的齊次坐標(biāo)。如規(guī)定齊次坐標(biāo)的第三個分量H必須是 1,則稱為規(guī)范齊次坐標(biāo)。P=[xy」的規(guī)范齊次坐標(biāo)是[x y 1]。顯然,二維空間中描述的點(diǎn)與齊次坐標(biāo)空間描述的點(diǎn)是一對多的關(guān)系。使用齊次坐標(biāo)之后,平移交換可用矩陣乘法表示如下:
注意:現(xiàn)在可以看到平移的時候x1=x*1+x*0+x*tx,y1=y*0+y*1+y*ty即等于相加的做法,現(xiàn)在所有的轉(zhuǎn)換都可以使用矩陣乘法了
2.3.5 復(fù)合變換
實(shí)際問題中常遇到的是較為復(fù)雜的變換,但這些均可通過一系列的基本變換復(fù)合而成。下面舉例說明。
例1 繞任意點(diǎn)C=[Cx Cy]的旋轉(zhuǎn)變換。圖2.28總的變換可通過三個基本變換復(fù)合而成。先進(jìn)行平移交換,平移量為-Cx和-Cy,然后繞原點(diǎn)旋轉(zhuǎn)θ角,最后再進(jìn)行平移量為Cx和Cy的平移變換。因此,任一點(diǎn)P經(jīng)過逐次變換后的齊次坐標(biāo)為
變換矩陣稱為復(fù)合變換矩陣。
例 2相對于任意點(diǎn) C=[Cx Cy]的比例變換
與例1其復(fù)合變換陣三個變換復(fù)合而成。即為
由上述計算過程知,一個簡單比例變換需要有三個計算步驟。對第一次平移,可看成是將變換物移動到坐標(biāo)系的原點(diǎn),第二次平移則可看成將變換物移回原位。
例3 相對于直線 ax+by+c=0 進(jìn)行對稱變換
此例可由五個基本變換復(fù)合而成,復(fù)合變換矩陣可按下式進(jìn)行計算