cad二維圖形變換.ppt_第1頁
cad二維圖形變換.ppt_第2頁
cad二維圖形變換.ppt_第3頁
cad二維圖形變換.ppt_第4頁
cad二維圖形變換.ppt_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章圖形變換 計(jì)算機(jī)圖形學(xué)的基礎(chǔ)理論知識(shí) 第一節(jié)矩陣及其運(yùn)算一 矩陣的基本概念 說明 1 m n個(gè)數(shù)排成行列的數(shù)表叫做m n階矩陣 當(dāng)m n時(shí) 又叫做n階方陣 矩陣 是一組元素所排成的數(shù)表 例如 2 矩陣與行列式是兩個(gè)不同的概念 n階行列式是一個(gè)數(shù) 而n階矩陣不是一個(gè)數(shù) 而是n個(gè)數(shù)排列的數(shù)表 二 矩陣的運(yùn)算1 加法和減法 運(yùn)算條件 兩個(gè)矩陣的行和列都相同 運(yùn)算原則 每對(duì)對(duì)應(yīng)元素實(shí)行加法或減法 如 二 矩陣的運(yùn)算2 乘法 運(yùn)算規(guī)則 矩陣A中的第i行元素與矩陣B中的第j列對(duì)應(yīng)元素乘積之和就是矩陣C中第i行第j列元素 運(yùn)算條件 第一個(gè)矩陣的列數(shù)必須等于第二個(gè)矩陣的行數(shù) 乘法方可進(jìn)行 矩陣乘法實(shí)例 一個(gè)m n階矩陣乘以一個(gè)n q階矩陣產(chǎn)生一個(gè)m q階矩陣 矩陣乘法規(guī)則 適應(yīng)結(jié)合律 A BC AB C適應(yīng)分配律 A B C AB AC A B C AC BC交換律不成立 AB BA在進(jìn)行級(jí)聯(lián) 矩陣連乘 時(shí) 特別注意矩陣的前后次序 第二節(jié)二維圖形的矩陣變換 二維空間 平面 的一個(gè)點(diǎn)P 可以用它的坐標(biāo) X Y 來表示 也可以用一個(gè)的矩陣 XY 來表示 點(diǎn)由某一位置 X Y 變換到另一個(gè)位置 如右圖所示 可以利用矩陣乘法來實(shí)現(xiàn) 即 變換矩陣 矩陣 稱為變換矩陣 變換后 點(diǎn)的新坐標(biāo)取決于A B C D的值 二維圖形變換程序 畫一個(gè)的矩形 鍵入不同的A B C D值 觀看其對(duì)圖形的影響 頭文件 intmain void requestautodetection intgdriver DETECT gmode errorcode inti xmax ymax floatA B C D floatpx 10 py 10 x 10 y 10 initializegraphicsandlocalvariables initgraph include include include include 主程序入口 變量 數(shù)組定義 繪圖初始化 二維圖形變換程序 續(xù) printf A B C D scanf f f f f readresultofinitialization errorcode graphresult anerroroccurred if errorcode grOk printf Graphicserror s n grapherrormsg errorcode printf Pressanykeytohalt getch exit 1 對(duì)繪圖初始化的結(jié)果進(jìn)行判別 如有錯(cuò)誤 則退出 讀入A B C D 對(duì)矩形的四個(gè)角點(diǎn)進(jìn)行賦值 二維圖形變換程序 續(xù) i 1 do x i A px i C py i y i B px i D py i x i 1 A px i 1 C py i 1 y i 1 B px i 1 D py i 1 獲得屏幕的最大象素點(diǎn)的x y的坐標(biāo) 畫出屏幕的四邊框 對(duì)前面賦值的矩形進(jìn)行圖形變換 setcolor getmaxcolor xmax getmaxx ymax getmaxy drawadiagonalline line 0 0 0 ymax line 0 ymax xmax ymax line xmax ymax xmax 0 line xmax 0 0 0 二維圖形變換程序 續(xù) 設(shè)置繪圖的顏色 cleanup getch closegraph return0 繪原矩形 繪變換后的矩形 關(guān)閉繪圖方式 setcolor 5 line 160 px i 300 py i 160 px i 1 300 py i 1 setcolor 11 line 160 x i 300 y i 160 x i 1 300 y i 1 i while i 5 一 恒等變換 若想使圖形按原位置 原大小顯示出來 則應(yīng)A D 1 B C 0 變換矩陣為 顯然 新坐標(biāo)與舊坐標(biāo)相等 點(diǎn)的位置在變化前后沒發(fā)生變動(dòng) 所以此時(shí)變換矩陣T稱為恒等變換矩陣 這種變換即為恒等變換 二 比例變換 要對(duì)一個(gè)圖形進(jìn)行放大或縮小 可通過比例變換來實(shí)現(xiàn) 使B C 0 則比例變換矩陣為 A為X方向的比例因子 D為Y方向的比例因子 例 A 1 B 0 C 0 D 2所顯示的圖形 三 反射變換 變換前后的圖形對(duì)稱于X軸或Y軸 或?qū)ΨQ于某一特定的直線 如45 線 45 線 或某一特定的點(diǎn) 如原點(diǎn) 1 對(duì)Y軸的反射 變換矩形為 右圖為A 1 B 0 C 0 D 1時(shí)所顯示的對(duì)Y軸反射的圖形 2 對(duì)X軸的反射 變換矩形為 右圖為A 1 B 0 C 0 D 1時(shí)所顯示的對(duì)X軸反射的圖形 3 對(duì)45 軸的反射 變換矩形為 右圖為A 0 B 1 C 1 D 0時(shí)所顯示的對(duì)45 線反射的圖形 4 對(duì) 45 軸的反射 變換矩形為 右圖為A 0 B 1 C 1 D 0時(shí)所顯示的對(duì) 45 線反射的圖形 5 對(duì)原點(diǎn)的反射 變換矩形為 變換結(jié)果是對(duì)原點(diǎn)的反射 右圖是A 1 B 0 C 0 D 1時(shí)所顯示的圖形 四 錯(cuò)切變換1 沿X方向的錯(cuò)切 變換矩形為 錯(cuò)切結(jié)果如右圖所示 在圖中 CY 沿X正負(fù)方向的錯(cuò)切 若C 0 圖形沿X軸正方向錯(cuò)切 如圖13 10所示 若C 0 圖形沿X軸負(fù)方向錯(cuò)切 如圖13 11所示 2 沿Y方向的錯(cuò)切 變換矩形為 若B 0 圖形沿Y軸正方向錯(cuò)切 如圖13 12所示 若B 0 圖形沿Y軸負(fù)方向錯(cuò)切 如圖13 13所示 五 旋轉(zhuǎn)變換 平面圖形的旋轉(zhuǎn) 是指圖形繞坐標(biāo)原點(diǎn)旋轉(zhuǎn)一個(gè) 角度 此時(shí)變換矩形為 注意 這個(gè)旋轉(zhuǎn)矩陣是特指圖形繞原點(diǎn) 0 0 旋轉(zhuǎn)的變換矩陣 并且規(guī)定逆時(shí)針方向旋轉(zhuǎn)時(shí) 旋轉(zhuǎn)角 取正值 反之 按順時(shí)針方向旋轉(zhuǎn)時(shí) 旋轉(zhuǎn)角 取負(fù)值 旋轉(zhuǎn)變換實(shí)例 將程序稍作修改 用ZJ表示旋轉(zhuǎn)角 將數(shù)據(jù)輸入改為 printf ZJ scanf f A COS ZJ B SIN ZJ C B D A輸入旋轉(zhuǎn)角ZJ 即可按要求畫出圖形了 六 平移變換及齊次坐標(biāo) 平移變換是二維變換中最基本的一種 但是 一般的矩陣不能完成平移變換 原因是平移為 一般矩陣的任何積都不能找到上述關(guān)系 在此引入一個(gè)附加坐標(biāo) 使 平移變換矩陣 平移變換矩陣為 M為沿X方向的平移量 N為沿Y方向的平移量 二維圖形的變換矩陣 前面所講的幾種變換 都可以表示為 用3 3階矩陣 表示包括平移在內(nèi)的各種線性變換了 齊次坐標(biāo) 用三維向量表示二維向量或者說用n 1維向量表示一個(gè)n維向量的方法 稱為齊次坐標(biāo)表示法 一般地把稱為點(diǎn)的齊次坐標(biāo) 其中H為任意實(shí)數(shù) 當(dāng)H 1時(shí) 就是點(diǎn)的正?;?或標(biāo)準(zhǔn)化 的齊次坐標(biāo) 例 齊次坐標(biāo) 正?;R次坐標(biāo)為 它表示二維空間點(diǎn) 點(diǎn)的齊次坐標(biāo)并不是唯一的 例如 2 5 的齊次坐標(biāo)可認(rèn)為是 4 10 2 20 50 10 2 1 5 25 1 05 或者 2 5 1 等等 2 5 1 就是點(diǎn)的正?;R次坐標(biāo) 二維變換圖形的性質(zhì) 前面所講比例 反射 錯(cuò)切 旋轉(zhuǎn) 平移等變換都具有仿射變換的性質(zhì) 即變換前后的圖形之間仍保持 1 從屬性 變換前一直線上的每一點(diǎn)在變換后的直線上都有一確定的對(duì)應(yīng)點(diǎn) 2 同屬性 變換前的點(diǎn)或直線 變換后仍是一個(gè)點(diǎn)或直線 即點(diǎn)對(duì)應(yīng)點(diǎn) 直線對(duì)應(yīng)直線 3 平行性 兩平行直線經(jīng)過變換后仍保持平行 4 定比性 變換前兩線段之比等于變換后對(duì)應(yīng)之比 第三節(jié)組合變換 很多變換是不能用上述的某個(gè)矩陣進(jìn)行單一的變換來實(shí)現(xiàn)的 而要用幾個(gè)變換組合起來方可完成 這種變換稱為組合變換或級(jí)聯(lián)變換 一 平面圖形繞任意點(diǎn)旋轉(zhuǎn)的變換 1 將旋轉(zhuǎn)中心點(diǎn)P m n 移到原點(diǎn) 原圖形隨之一起平移 這可用一個(gè)平移矩陣來實(shí)現(xiàn) 平移量X方向?yàn)?m Y方向?yàn)?n 一般情況下圖形繞平面上任意點(diǎn)P m n 的旋轉(zhuǎn) 可按下述步驟進(jìn)行 2 繞原點(diǎn)旋轉(zhuǎn)所需要的轉(zhuǎn)角 這用一個(gè)旋轉(zhuǎn)矩陣來實(shí)現(xiàn) 3 將旋轉(zhuǎn)后的圖形再移回原位置 這用一個(gè)平移矩陣來實(shí)現(xiàn) 平移量為m n 三個(gè)變換矩陣T1 T2 T3的級(jí)聯(lián) 就是平面圖形繞任意點(diǎn)旋轉(zhuǎn)的變換矩陣T 平面圖形繞任意點(diǎn)旋轉(zhuǎn)的變換 平面圖形繞任意點(diǎn)旋轉(zhuǎn)的變換矩陣T 這樣只要知道了旋轉(zhuǎn)中心的坐標(biāo) m n 和旋轉(zhuǎn)角 即可進(jìn)行圖形變換 平面圖形繞任意點(diǎn)旋轉(zhuǎn)的變換實(shí)例 例使三角形A 6 4 B 9 4 C 6 6 繞點(diǎn)P 5 3 旋轉(zhuǎn)60 求變換后的圖形 二 平面圖形以任意點(diǎn)為中心的比例變換 我們前面所講的比例變換 是專指以原點(diǎn)為中心的比例變換 如果以任意點(diǎn)為中心進(jìn)行比例變換 圖形不僅大小或形狀發(fā)生了變化 而且其位置也隨比例發(fā)生了變化 以任意點(diǎn)P m n 為中心的比例變換則較好地解決了定位問題 以任意點(diǎn)為中心的比例組合變換步驟 1 將比例中心P m n 即變換后的不動(dòng)點(diǎn) 平移到原點(diǎn) 圖形隨之一同平移 這可以用一個(gè)平移矩陣來實(shí)現(xiàn) 平移量X方向?yàn)?m Y方向?yàn)?n 2 將平移后的圖形按要求的比例進(jìn)行縮放變換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論