freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

維圖形變換ppt課件-閱讀頁

2025-05-18 04:27本頁面
  

【正文】 這個(gè)過程是通過一定計(jì)算方法實(shí)現(xiàn)的 。 第四章 二維圖形生成和變換技術(shù) 基本繪圖元素 直線段的生成 曲線的生成 區(qū)域填充 二維圖形變換 二維圖像剪裁 57 在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇到一些大而復(fù)雜的圖形,如集成電路布線圖、建筑結(jié)構(gòu)圖、地形地貌圖等。因此對(duì)復(fù)雜圖形,一般只能顯示它的局部內(nèi)容,我們?cè)谘芯磕硰?fù)雜圖形時(shí),往往對(duì)某特定畫面感興趣,在這種情況下,我們將這一特定區(qū)域放大后顯示出來,而把周圍畫面部分全部擦除,這樣可清晰地觀察其細(xì)節(jié)部分 58 我們假定裁剪是針對(duì)用戶坐標(biāo)中窗口邊界進(jìn)行的 , 裁剪完成后 , 再把窗口內(nèi)圖形映射到視區(qū) 。 例如 ,下圖 ( a) 定義了一個(gè)矩形窗口 A’B’C’D’, 窗口內(nèi)會(huì)有E39。G39。G39。G39。 然后將落在窗口內(nèi)這部分圖形傳送到視圖區(qū)內(nèi)顯示 , 如圖 ( b) 所示 。 59 二 、 窗口區(qū)和視圖區(qū) 用戶域:在進(jìn)行圖形設(shè)計(jì)時(shí) , 圖形輸出程序中的圖形都 是在用戶坐標(biāo)系中定義的 。 窗口區(qū):用戶可以在用戶域中指定任意區(qū)域輸出到屏幕 上 , 這個(gè)指定區(qū)域稱為窗口區(qū) , 簡稱窗口 ( Window) 如圖所示的矩形 ABCD 就是我們定義的一個(gè)窗口 。 因此 , 定義窗口的目的就是選取用戶所定義的圖形中需要觀察的那一部分圖形 。 同樣也是用該矩形左下角和右上角兩點(diǎn)坐標(biāo)來定義大小和位置 。 所以人們利用窗口來選擇需要觀察那一部分圖形 , 而利用視圖區(qū)來指定這一部分圖形在屏幕上顯示位置 。 屏幕 視圖區(qū) 窗口區(qū) 61 在交互式圖形設(shè)計(jì)中 , 通常把一個(gè)屏幕分為幾個(gè)視圖區(qū) , 每個(gè)視圖區(qū)都有各自用途 , 如圖所示 , 視圖區(qū) 1為用戶圖形區(qū) , 視圖區(qū) 2為命令區(qū) , 視圖區(qū) 3是信息區(qū) 。 由于窗口和視圖是在不同坐標(biāo)系中定義的 , 因此 ,在把窗口中圖形信息送到視圖區(qū)之前 , 必須進(jìn)行坐標(biāo)變換 , 即把用戶坐標(biāo)系的坐標(biāo)值轉(zhuǎn)化為設(shè)備 ( 屏幕 ) 坐標(biāo)系的坐標(biāo)值 , 這個(gè)變換稱窗口 ——視圖變換 。 63 由圖可知: 由( 424)式得窗口中一點(diǎn) P(xW,yW)變換到視區(qū)中對(duì)應(yīng)的點(diǎn) V(xV,yV)二者之間的關(guān)系為: 設(shè) : )244( ??????????????????ybytybWybytybVxlxrxlWxlxrxlVWWWyVVVyWWWxVVVx)254()()(??????????????????ybybWybytybytVxlxlWxlxrxlxrVVWyWWVVyVWxWWVVxybybytybytybybytybytxlxlxrxlxrxlxlxrxlxrWWWVVVdWWVVcWWWVVVbWWVVa????????????????64 則( )式可寫成: 寫成矩陣形式: ???????dcyybaxxWVWV? ? ? ?????????????1000011dcbayxyx WWVV65 由此可見窗口 ——視圖變換是比例變換和平移變換的組合變換。 通過窗口 ——視圖變換,我們就實(shí)現(xiàn)了將用戶坐標(biāo)系中窗口區(qū)中任意一點(diǎn)轉(zhuǎn)換成設(shè)備坐標(biāo)系中屏幕視圖區(qū)中一點(diǎn)變換,從而就可以把實(shí)際物體圖形顯示在顯示器上,但要注意:為了使經(jīng)過窗口 ——視圖變換后的圖形在視圖區(qū)中輸出時(shí)不產(chǎn)生失真現(xiàn)象,在定義窗口和視圖時(shí),必須保證使窗口和視圖區(qū)高度和寬度之間比例相同。 裁剪可以在各種不同類型的圖形元素上實(shí)現(xiàn) , 如點(diǎn) 、 向量 、 直線段 、 字符以及多邊形等 。判斷某一點(diǎn)P( x, y) 是否可見,可以利用下列一對(duì)不等式來確定該點(diǎn)是否在窗口范圍內(nèi)。 Wyt Wyb Wxl Wxr 67 直線段與窗口關(guān)系 點(diǎn)的裁剪雖然很簡單 , 但要把所有的圖形元素轉(zhuǎn)換成點(diǎn) , 然后用上述不等式判別是否可見 , 那是很不現(xiàn)實(shí)的。 因此 ,要求一種適合較大的圖形元素 , 比較有效的裁剪方法 。 任何圖形 ( 包括曲線 、 字符和多邊形 ) , 一般都能用不同直線段組合形成 對(duì)于任意一條直線段,它相對(duì)于一個(gè)已定義的窗口位置關(guān)系不外乎有四種可能,如圖所示。因?yàn)橐粭l直線段可以由它的兩個(gè)端點(diǎn)來唯一地確定,所以,要確定一條直線段上位于窗口以內(nèi)的可見段,僅需求得它的兩個(gè)可見端點(diǎn)就行了。 第一位置 l:該端點(diǎn)位于窗口左側(cè) 第二位置 l:該端點(diǎn)位于窗口右側(cè) 第三位置 1:該端點(diǎn)位于窗口下面 第四位置 l:該端點(diǎn)位于窗口上面 否則 , 相應(yīng)位置置 0。 因此 , 要判斷兩端點(diǎn)線段與窗口對(duì)應(yīng)關(guān)系 , 可用兩個(gè)端點(diǎn)編碼逐位取邏輯 “ 與” , 若線段兩端點(diǎn)邏輯 “ 與 ” 不為 0, 必在窗口外 , 根據(jù)圖形中直線兩端點(diǎn) p1, p2按其所在區(qū)域賦予相應(yīng)代碼 , 以C1和 C2表示 , 然后再根據(jù)端點(diǎn)對(duì)直線進(jìn)行可見和不可見判斷 ( 2) 算法步驟 下面給出直線段裁剪編碼算法步驟: ① 當(dāng)兩端點(diǎn) P1 (x1,y1)和 P2 (x2,y2), 在區(qū)域 0000中 , 即滿足點(diǎn)的裁剪不等式 。 即 C1∧C 2 ≠ 0。 ③ 如果直線兩端點(diǎn)不符合上述兩種情況 , 不能簡單地全部保留或全部舍棄直線時(shí) , 則需計(jì)算出直線與窗口邊線的交點(diǎn) , 將直線分段后繼續(xù)進(jìn)行檢查判斷 。 72 如圖所示 , 用編碼裁剪算法對(duì) P1P2線段裁剪 , 可以在C點(diǎn)分割 , 對(duì) P2C, CP1進(jìn)行判別 , 舍棄 P2C, 再分割 CP1于 D點(diǎn) , 對(duì) CD, DP1作判別 , 舍棄 CD, 而 DP1全部位于窗口內(nèi) ,算法即告結(jié)束 。 73 ( 3) 交點(diǎn)的求法 下面介紹交點(diǎn)的求法 。 而中點(diǎn)分割裁剪卻只需用到加法和除 2運(yùn)算 , 而除2在計(jì)算機(jī)中可以簡單地用右移一位來完成 , 從而提高算法的效率 。 77 圖中直線段 e說明 , 該線段處于窗口內(nèi)的可見段部分是線段 S1S2, S1和 S2是可見段的兩個(gè)端點(diǎn) , 其中 S2是距原線段端點(diǎn) P1最遠(yuǎn)的可見點(diǎn);同樣 , S1是距原線段端點(diǎn) P2最遠(yuǎn)的可見點(diǎn) 。 78 算法步驟如下: ( l) 檢驗(yàn)直線段 P1P2是否完全被排斥在窗口之外 。 ( 2) 檢驗(yàn)點(diǎn) P2是否可見 。 如果 P2點(diǎn)是不可見的 ( 如圖中的線段 c或線段 d) , 那么繼續(xù)執(zhí)行下一步 。 如果線段 PmP2被完全排斥在窗口之外 , 那么原估計(jì)還不足 ( 如圖 中的線段 d) , 便以線段 P1Pm作為新的 P1P2線段從算法的第一步重新開始執(zhí)行 。 反復(fù)執(zhí)行上述三步,直至找到離 P1點(diǎn)最遠(yuǎn)的可見點(diǎn)為止。 然后對(duì)調(diào)該線段的兩個(gè)端點(diǎn) , 以線段 P2P1為新的 P1P2線段 , 重新開始實(shí)施該算法過程 , 就可以確定出距離 P2點(diǎn)最遠(yuǎn)的可見點(diǎn) 。 從這個(gè)算法中我們可以看到 , 整個(gè)裁剪過程總是在執(zhí)行第一步或第二步時(shí)結(jié)束 。 這里要注意的是:在判斷中點(diǎn)和窗口邊框相重時(shí) , 一般不需要坐標(biāo)值一定相等 , 也不大可能 , 只要在精度許可前提下 , 給出一個(gè)誤差允許范圍 。 多邊形裁剪要比一條線段裁剪復(fù)雜得多 。 裁剪多邊形要解決兩個(gè)問題 。 其二是矩形窗口的四個(gè)角點(diǎn)在裁剪中是否要與其它交點(diǎn)連線 。 而需要去研究適合多邊形裁剪特點(diǎn)的算法 。 逐邊裁剪法是薩瑟蘭德 ( ) 和霍德曼( Hodglhan) 在 1974年提出的 。 算法的依據(jù)是:簡單地通過對(duì)單一邊或面的裁剪實(shí)現(xiàn)對(duì)多邊形的裁剪 。然后 , 再用第二條邊界對(duì)這個(gè)新的多邊形進(jìn)行裁剪 , 再次生成一個(gè)新的多邊形 。 剪取后結(jié)果是輸出一個(gè)多邊形的頂點(diǎn)表 。 假定取多邊形頂點(diǎn)表中的某一點(diǎn) Pi作為一邊的終點(diǎn) ,表中位于前面的一點(diǎn) Pi1作為該邊的起點(diǎn) ,則邊 Pi- 1 Pi被窗口的一邊界剪取后輸出一個(gè)或兩個(gè)頂點(diǎn) , 或者不輸出頂點(diǎn) , 若邊 Pi1 Pi完全可見 , 則輸點(diǎn) Pi, 需要注意的是這里不必再輸出邊的起點(diǎn) Pi1。 若邊 Pi1 Pi完全不可見 , 則無輸出 。 若進(jìn)入可見區(qū) , 同樣需要計(jì)算并輸出這一邊與窗口邊界的交點(diǎn) , 由于此時(shí)邊的終點(diǎn) Pi可見 , 故應(yīng)輸出點(diǎn) Pi。 若可見 , 則輸出并作為起點(diǎn) P1。 但仍需作為點(diǎn) P1保存 , 以便對(duì)其它邊進(jìn)行處理 。 這時(shí)需將頂點(diǎn)表中第一點(diǎn)記為 F, 于是最后一邊變?yōu)?PnF, 這樣就可同其它邊一樣進(jìn)行處理 。 例如編碼裁剪法 。 需要注意的是最后一個(gè)頂點(diǎn)需要作特殊處理 。 這一算法簡單 , 易于程序?qū)崿F(xiàn) , 但計(jì)算量較大 , 需要比較大的存貯區(qū)來存放剪取過程中待剪取的多邊形 。 由于逼近時(shí)總是將線段取得很短 , 所以 , 為了節(jié)省計(jì)算時(shí)間 , 可以免去計(jì)算剪裁的交點(diǎn) , 只要線段端點(diǎn)中至少有一個(gè)在窗外 , 就將該線段略去不畫 , 達(dá)到剪裁的結(jié)果 。 89 2. 字符裁剪 把每個(gè)字符看作是不可分割的整體 , 對(duì)每一個(gè)字符串就可用逐字裁剪的方法 , 把每個(gè)字符用一矩形 ( 字符框 ) 包圍起來 ( 見圖 ) , 然后檢測(cè)該字符框中的某一點(diǎn)( 如頂點(diǎn)或中心點(diǎn) ) 的可見性 , 把該點(diǎn)與窗口進(jìn)行比較, 如果在窗口內(nèi) , 就顯示該字符 , 否則就舍棄不顯示 ,另外也可以用整個(gè)字符框的界線或其對(duì)角線與窗口進(jìn)行比較 , 當(dāng)字符框或?qū)蔷€完全在窗口內(nèi)時(shí)才顯示該字符, 不過用字符框頂點(diǎn)或用字符框界線 ( 或?qū)蔷€ ) 裁剪的兩種方法 , 只有當(dāng)窗口邊與字符框界線平行時(shí)才等效, 否則必須以字符框界進(jìn)行裁剪 。 91 習(xí)題 作業(yè)題: p163 第 11
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1