




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 第5章 觀察變換和裁剪 5.1 2維觀察 5.2 二維圖形裁剪 5.3 3維觀察控制流程 5.4 觀察坐標(biāo)系及其變換 5.5 投影變換 5.6 觀察體 5.7 三維裁剪 好 鼻 碟 賦 氮 朵 蒲 藐 括 晨 負(fù) 窒 宦 孺 娟 那 邢 該 全 耪 儒 香 利 閩 囚 弊 痢 啊 澇 撮 轎 衙 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 2 5.1 2維觀察 用圖形生成算法,結(jié)合幾何變換方法在2維空間構(gòu)造圖形;然后通過圖形物 理設(shè)備(顯示屏、繪圖儀等)輸出圖形的過程, 稱之為觀察。 在有限幅面的屏幕坐標(biāo)系中顯示一張大幅面圖形,會模糊不清達(dá)不到觀察 的目
2、的;反之,假如只對整幅圖形的某些局部感興趣,就只需輸出該圖的局部 內(nèi)容供觀察。 婿 遍 未 氯 苞 冷 蝦 襯 咸 弊 撇 互 麻 駱 雀 痢 反 甩 峨 價(jià) 熙 翱 牌 拷 厚 哆 禱 熔 三 箭 灣 虛 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 3 明確在世界坐標(biāo)系中的哪部分區(qū)域需要被觀察輸出,這部分內(nèi)容又將在顯 示屏坐標(biāo)系中的哪個(gè)范圍顯示,這是觀察變換問題。 坐標(biāo)系是建立圖形與數(shù)之間對應(yīng)聯(lián)系的參考系。 5.1.1 坐標(biāo)系 計(jì)算機(jī)圖形學(xué)中對象的定義及其輸入輸出都在一定的坐標(biāo)系下進(jìn)行。同一對 象在觀察過程的不同階段需用不同的坐標(biāo)系描述,以提高處理效率,方
3、便用戶理 解。 那 拋 牽 羹 等 朽 爾 摩 堪 苗 酬 姻 圈 簾 昧 鷹 掣 協(xié) 翌 投 砂 配 螟 羅 酶 日 攻 叔 袍 盅 扦 碾 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 4 又稱笛卡爾坐標(biāo)系, 是最常用的坐標(biāo)系。在3維空間中, 直角坐標(biāo)系分左手坐標(biāo) 系和右手坐標(biāo)系。 1. 直角坐標(biāo)系 仿射坐標(biāo)系:坐標(biāo)軸之間不垂直 圓柱坐標(biāo)系 球坐標(biāo)系 極坐標(biāo)系 盆 泅 睹 氛 糧 帶 汞 類 汝 譚 涂 悉 遷 確 汛 哨 舒 峰 皆 毛 飽 逮 真 媚 訃 造 膠 貝 衷 建 嘻 潭 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和
4、 裁 剪 5 WC是與物理設(shè)備無關(guān),描述自然界對象時(shí)所用的右手直角坐標(biāo)系。其取值 范圍是整個(gè)實(shí)數(shù)域。 2. 世界坐標(biāo)系( World Coordinate System) 用戶坐標(biāo)系( User Coordinate System) 若由用戶自行確定世界坐標(biāo)系的取值范圍描述對象時(shí),世界坐標(biāo)系又稱為用戶 坐標(biāo)系。 用戶坐標(biāo)系的取值范圍是整個(gè)實(shí)數(shù)域的某個(gè)子域,也可以是整個(gè)實(shí)數(shù)域。 認(rèn) 恍 走 漸 回 封 胳 籌 嵌 閉 伙 荒 它 戊 溉 僵 緊 克 曼 肯 燭 逆 陳 樁 孿 糜 轅 貞 鉻 孝 找 羊 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 6 VC是與
5、物理設(shè)備無關(guān)的,用于設(shè)置觀察窗口觀察和描述用戶感興趣的區(qū)域內(nèi) 部分對象,其取值范圍由用戶確定。 觀察坐標(biāo)系采用左手直角坐標(biāo)系, 可以在用戶坐標(biāo)系中的任何位置、任何方向 定義。其中有一坐標(biāo)軸與 觀察方向重合同向并與觀察平面垂直。 3. 觀察坐標(biāo)系(Viewing Coordinate System) 邯 嬌 壘 扣 延 巧 莢 煥 眾 藉 枕 凍 召 拐 賭 撲 鞭 謬 斑 晚 瘩 四 菩 邏 任 本 帆 允 寨 款 李 濾 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 7 設(shè)備坐標(biāo)系(DC)是與具體物理設(shè)備相關(guān),用于指定輸出圖形的窗口或視區(qū)。 設(shè)備坐標(biāo)系常采用
6、左手直角坐標(biāo)系;其取值范圍受設(shè)備的輸入輸出精度和 有效幅面的限制,是某個(gè)整數(shù)域。 4. 設(shè)備坐標(biāo)系( Device Coordinate System) 造型坐標(biāo)系MC:Modeling Coordinate System 右手系,直角坐標(biāo)系。對于定義的每個(gè)形體或圖素都有各自的坐標(biāo)原點(diǎn)和長度單 位,這樣可以方便形體和圖素的定義。局部坐標(biāo)系( local coordinate ) 汁 擂 簿 澆 佑 醛 措 仁 底 粥 礁 瑚 亭 柴 禍 蘭 糠 郎 錯 腔 舵 凜 蔑 江 霹 孫 譯 翠 彝 眨 和 包 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 8 5.
7、規(guī)范化設(shè)備坐標(biāo)系( Normalized Device Coordinate System ) 規(guī)范化設(shè)備坐標(biāo)系(NDC)是與具體的物理設(shè)備無關(guān)的一種坐標(biāo)系,用 于定義視區(qū),描述來自世界坐標(biāo)系中窗口內(nèi)對象的圖形,取值范圍約定為 的正方形域。 由NDC表示的圖形在任何的DC中都能處于相同的相對位置。正是NDC 的描述,提高了相關(guān)程序的可移植性。 悼 舔 坎 嬌 總 內(nèi) 熊 劉 眺 劑 棺 鐳 滇 欺 又 班 趟 陌 堤 土 嚷 頁 盒 臃 保 劑 哆 握 垣 外 茹 燎 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 9 是指將世界坐標(biāo)系定義的2維對象最終在設(shè)備坐
8、標(biāo)系中顯示的整個(gè)過程。 5.1.2 2維觀察控制流程 窗口 在世界坐標(biāo)系中由用戶指定的一個(gè)區(qū)域; 用來指定要顯示的圖形。 視區(qū) 在設(shè)備坐標(biāo)系(屏幕)上指定的區(qū)域; 用來指定窗口內(nèi)的圖形在屏幕上顯示的大小及位置。 署 幽 垂 胃 餌 萬 投 架 俠 邱 亨 摩 塌 孩 胎 條 允 派 妊 措 駭 恫 澤 燕 汐 約 地 餌 鹼 稅 卒 努 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 10 矩形是最常用的窗口和視區(qū)。 觀察變換:將定義在世界坐標(biāo)系中窗口區(qū)域內(nèi)的圖形變換到設(shè)備坐標(biāo)系中,并 在指定視區(qū)內(nèi)顯示的過程。 在2維空間中的觀察變換又稱為窗口視區(qū)變換。 吼 只
9、 梭 昂 鴿 遣 牧 淀 地 崗 瞪 慰 徽 搓 漾 閑 紐 乍 沼 昨 恥 擦 作 命 恬 鼻 坯 豬 恥 艾 味 梁 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 11 2D觀察控制流程: WC: 定義 2D對 象 WC 到VC 變換 VC: 窗口 裁剪 VC NDC 窗口 視區(qū) 變換 NDC到 DC變換 DC: 2D圖 形顯示 磚 墑 捆 幼 墻 難 救 澆 抄 除 耘 舟 倡 諄 膨 凋 胳 錦 跡 戚 炙 卸 浪 邏 尖 避 凳 舉 矗 窘 操 卞 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 12 5.1.3 WC
10、到VC的變換 是指將對象描述從世界坐標(biāo)系變換到觀察坐標(biāo)系的過程。 xe ye oe(x0,y0) 掇 頰 采 爪 剖 疤 擎 杠 士 纂 蜒 惕 絡(luò) 霞 使 頗 括 崇 吊 求 廳 層 留 澳 繡 社 卻 虞 趙 純 舍 拷 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 13 4.2.3 WC到VC的變換 分兩步: 1) 平移觀察坐標(biāo)系的坐標(biāo)原點(diǎn),與世界坐標(biāo)系的 原點(diǎn)重合; 2) 將xe、ye軸分別旋轉(zhuǎn)(-)角與xw、yw軸重合。 1 0 -x0 cos -sin 0 = 0 1 -y0 T= sin cos 0 0 0 1 0 0 1 WC到VC的變換總矩陣
11、為 T=TRT 臆 殘 侍 描 瞳 雕 壟 秸 推 銘 阮 緯 肥 匈 蝦 梗 氰 央 蜒 塘 劊 跋 長 拂 岡 欠 甘 衰 蔭 級 屬 痔 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 14 窗口位置為 (xwmin,ywmin)和 (xwmax,ywmax); 視區(qū)位置為(xvmin,yvmin)、(xvmax,yvmax)。 窗口到視區(qū)的映射原則:對同一對象,在窗口與視區(qū)中應(yīng)具有相同的相對位置, 兩者不變形。窗口中的物點(diǎn)P(xw,yw)與視區(qū)中的像點(diǎn)P(xv,yv)之間滿足: 5.1.4 窗口到視區(qū)變換 P點(diǎn)到窗口左邊界距離/窗口寬度=點(diǎn)到視區(qū)左邊界距
12、離/視區(qū)寬度 P點(diǎn)到窗口下邊界距離/窗口高度= P點(diǎn)到視區(qū)下邊界距離/視區(qū)高度 營 衡 酚 痛 誰 體 瀉 瘡 輥 扛 數(shù) 攜 搽 拯 趕 寺 栽 三 蝸 歪 信 屁 望 關(guān) 桶 驟 膩 蕭 猾 膳 如 安 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 15 x y o P(xw,yw) (xwmax,ywmax) (xwmin,ywmin) P(xv,yv) (xvmax,yvmax) (xvmin,yvmin) 諒 泄 虱 胯 躲 粱 鈴 廓 爬 工 涅 也 武 宿 衣 缽 磕 贍 迭 遮 系 入 謊 掄 艘 押 獰 氏 嫩 涅 鈴 造 第 5 章 觀 察
13、 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 16 得視區(qū)像點(diǎn)P的坐標(biāo)為 xv=xvmin+sx(xw-xwmin) yv=yvmin+sy(yw-ywmin) (4-10) 其中 sx= (xvmax-xvmin)/(xwmax-xwmin) sy= (yvmax-yvmin)/(ywmax-ywmin) (4-11) sx、sy分別為x和y方向上的比例因子。 擅 鷹 償 種 累 航 濺 傭 含 擲 攆 徘 坍 已 漫 頂 檢 而 惹 螺 坪 陰 搪 端 禿 絲 沃 活 形 靳 肥 城 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 17 改變
14、窗口、視區(qū)大小,在視區(qū)內(nèi)得到大小變化、位置不同的像. 改變視區(qū)大小可改變輸出對象的大小和位置;如果視區(qū)大小不變,窗口擴(kuò)大, 像縮小,窗口縮小、像放大;若視區(qū)為全屏,窗口內(nèi)容將滿屏顯示。 改變視區(qū)位置可獲得不同顯示位置的輸出對象;不在窗口區(qū)域內(nèi)的內(nèi)容不會 在視區(qū)內(nèi)出現(xiàn)。 如果sx=sy, 窗口的寬/高視區(qū)的寬/高,物與像形狀相似,像不產(chǎn)生畸變; 否則 產(chǎn)生畸變。 如果xvmin=yvmin=0,xvmax=yvmax=1,則窗口到視區(qū)的變換將獨(dú)立于輸出設(shè) 備。 魯 仔 愈 瑞 煽 畏 蟄 寺 灼 銑 鹼 葷 牧 喘 慘 盧 短 裂 拒 臍 署 仕 嘯 硬 旋 驟 術(shù) 篡 愿 壩 淹 維 第 5
15、章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 18 5.1.5 規(guī)范化設(shè)備坐標(biāo)系 到設(shè)備坐標(biāo)系的變換 規(guī)范化坐標(biāo)系(0,0)(1,1), 映射到設(shè)備坐標(biāo)系(0,0)( n , m )。 NDC DC (xNDC,yNDC) (xDC,yDC) (Dx,Dy) (dx,dy) 逸 餐 釩 卓 隱 潘 額 仗 柳 僵 柒 潞 筋 乾 齲 詹 癡 鉗 灼 蹤 棕 贓 巨 漏 輝 出 滇 瓢 縫 疵 乞 田 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 19 xDC= n xndc yDC= m yndc 若n:m不等于1,DC中輸出的圖形將
16、產(chǎn)生變形。 如何解決? 擦 口 閨 茫 這 廚 想 遭 拘 效 眨 逼 灼 植 慧 鉑 淵 娶 火 倚 撥 質(zhì) 擒 科 由 爪 陛 預(yù) 鍵 阮 呀 涂 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 20 定義窗口 void gluOrtho2D( GLdouble left, GLdouble right, GLdouble bottom, Ldouble top ); left, right The coordinates for the left and right vertical clipping planes. The coordinates for
17、 the bottom and top horizontal clipping planes. 定義視區(qū) glViewport(GLint x,GLint y,GLsizei width, GLsizei height); 這個(gè)函數(shù)定義一個(gè)視口。函數(shù)參數(shù)(x, y)是視口在屏幕窗口坐標(biāo)系中的左下角點(diǎn)坐標(biāo), 參數(shù)width和height分別是視口的寬度和高度。缺省時(shí),參數(shù)值即(0, 0, winWidth, winHeight) 指的是屏幕窗口的實(shí)際尺寸大小。所有這些值都是以象素為單位,全為整型數(shù) 甥 扳 膚 酪 示 膀 操 忻 敝 或 取 澈 分 探 梗 疏 捷 雄 柔 浮 疤 厘 嗓 走 陡
18、 瞎 膀 謄 隅 嫩 東 架 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 21 SetupViewport( cx, cy ); m_width = cx; m_height = cy; glMatrixMode ( GL_PROJECTION ); glLoadIdentity (); if(m_width = m_height) glOrtho2D( xMin, xMax, yMin *(GLdouble)(GLdouble)m_height/(GLdouble)m_width), yMax*(GLdouble)(GLdouble)m_height/(G
19、Ldouble)m_width); Else glOrtho2D ( xMin* (GLdouble)(GLdouble)m_width/(GLdouble)m_height),xMax* (GLdouble) (GLdouble)m_width/(GLdouble)m_height), yMin, yMax,); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); 蘿 昔 漿 腔 講 膨 鄙 淬 槍 敝 傀 寂 幣 瓢 嘆 撒 閃 淵 遺 娛 脅 幀 逞 釋 紙 呆 衫 鍛 寂 央 粕 疲 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察
20、 變 換 和 裁 剪 22 5.2 二維圖形裁剪 裁剪: 按指定大小和位置開窗口,確定圖形在窗口內(nèi)的予以顯示,在窗口外的不 予顯示的操作。 裁剪實(shí)質(zhì): 確定圖形中哪些圖元在窗口內(nèi)。 裁剪操作基本任務(wù):圖元在窗口內(nèi)外的判斷;圖元與窗口邊界相交時(shí)的求交 計(jì)算。 裁剪處理的速度是衡量裁剪算法性能的重要指標(biāo)。 篩 徘 喜 瘟 競 爺 橇 僧 恰 迭 骨 吞 氈 婉 蹲 氧 墮 撐 彌 札 盟 棗 霸 庇 茨 卑 拙 婪 魔 綸 邁 逢 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 23 5.2.1 點(diǎn)的裁剪 設(shè)矩形窗口左下角點(diǎn)坐標(biāo)為(x,y),右上角點(diǎn)坐標(biāo)為(x,y)
21、,圖形 中的任意一點(diǎn)(x,y)若滿足條件: xxx yyy (4-18) 則,該點(diǎn)在窗內(nèi)應(yīng)為可見被顯示;否則不可見被裁剪掉。 龍 鉆 焊 傘 朝 麻 摹 屢 擋 碗 胚 燥 攫 尤 唇 刨 滑 雞 拼 或 亭 籌 役 托 權(quán) 鹿 杜 歸 碑 燎 徑 噪 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 24 5.2.2 直線段裁剪 1. 直線段與窗口的相對位置 與凸多邊形窗口相交的任何直線段最多只有一段處于其邊界內(nèi)。 線段 與窗口的三種相對位置關(guān)系:完全不可見、完全可見和部分可見。 潤 媚 似 養(yǎng) 則 蠶 簽 足 疵 校 押 留 右 叭 悟 孟 導(dǎo) 更 盜 卸 河
22、 炯 肩 氟 垛 弧 荔 致 鄰 陌 殼 頂 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 25 直線段兩端點(diǎn)與窗口的各種位置關(guān)系 1) 兩端點(diǎn)均在窗口內(nèi)(A);直接判斷完全可見。 2) 兩端點(diǎn)均在窗口邊界線外同側(cè) (B和C);直 接判斷出完全不可見。 3) 一端點(diǎn)在窗口內(nèi),另一個(gè)在窗口外(D);計(jì)算交點(diǎn) S,S內(nèi)側(cè)線段為可見,另 一側(cè)線段不顯示。 A B C D E F A 恐 窘 搖 乳 譜 謂 轅 騙 濺 駭 俏 徹 今 叛 演 佯 窘 早 礦 朝 逞 琉 摧 粱 蹦 芯 丟 賣 錨 癥 陋 征 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察
23、 變 換 和 裁 剪 26 4) 兩端點(diǎn)均在窗口外,但不在窗口邊界線 外同側(cè) (E、F);與窗口邊界求交,分兩 種情形:B C D E F A S1 S2 S 兩交點(diǎn)均處于窗口有效邊界上(E), 兩交點(diǎn)間的線段S12為可見,其余兩側(cè)的線 段舍棄; 兩交點(diǎn)均在窗口有效邊界外(F),完全不可見, 舍棄。 網(wǎng) 遮 鬼 吞 轉(zhuǎn) 爪 倍 奪 攔 猛 巖 撕 眩 杭 鴛 它 且 幢 田 鋇 閃 漸 辭 壓 趾 譴 忍 炒 慣 未 撲 坯 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 27 直線段裁剪算法 Cohen-Sutherland算法(編碼裁剪法) 用四條窗口邊界線
24、把整個(gè)平面分成九個(gè)區(qū)域,每個(gè)區(qū) 域用一個(gè)四位二進(jìn)制代碼表示。 每條線段按其端點(diǎn)所在區(qū)域的代碼標(biāo)識它相對于窗口 的位置屬于哪種類型,確定對該線段是否裁剪。 愧 卵 袋 漬 腹 淹 份 渡 貳 捷 攣 粳 瘤 柵 詫 什 腥 嫂 湛 諜 虎 桌 哨 百 牧 痹 傣 蠻 柿 炒 冰 哪 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 28 0000 100010101001 0001 010101000110 0010 四位代碼CTCBCRCL含義如下: CL=1(端點(diǎn)在XL左); =0(端點(diǎn)在XL右) CR=1(端點(diǎn)在XR右); =0(端點(diǎn)在XR左) CB=1(端點(diǎn)
25、在YB下); =0(端點(diǎn)在YB上) CT=1(端點(diǎn)在YT上); =0(端點(diǎn)在YT下) XLXR YT YB 寢 贖 哀 民 衣 剿 謾 妙 粵 佩 鞋 蟬 軸 霖 壺 章 蜜 吸 斬 鞘 冶 髓 掐 螺 迅 堅(jiān) 離 仆 頃 鋅 嬸 腮 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 29 B C D E F A S1 S2 S 0000 100010101001 0001 010101000110 0010 此圖六條線段的端點(diǎn)代碼特征與可見性的關(guān)系,如下表所示。 俐 燭 閡 余 惟 臆 輛 近 閨 巍 裙 肘 不 堪 欄 宣 擎 秸 必 靠 拒 站 猙 焙 琉
26、愁 蒂 集 憊 宣 靛 盒 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 30 C1、2分別為線段端點(diǎn)代碼, code為C1與C2的邏輯乘。 線段 C1 C2 code 特 征 結(jié)果說明 A 0000 0000 0000 C1=C2=code=0000 完全在窗內(nèi), 全接受 B10001000 1000 完全在窗外同側(cè), C 1001 0001 0001 code0000 全不可見,舍棄 D 0001 0000 0000 C1、C2之一:0000 有一交點(diǎn),部分可見 E/F 0010 01000000 C1與C2均0000 線段與窗口邊界有 且code=000
27、0 兩交點(diǎn),可見性不定 禍 層 株 哲 郎 升 捷 葦 韓 討 洱 懸 臉 拈 仙 奮 救 保 銥 嫁 蘊(yùn) 楞 摯 釁 綿 蹋 扳 窘 敞 婚 喊 妖 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 31 1. 求出線段兩端點(diǎn)P1 和P2 的編碼C1 和C2 ; 2. 若C1 和C2 的按位“與”不等于0,P1 和P2 必定在某 條邊的外側(cè),P1P2不可見。結(jié)束。 3. 若C1 和C2 的按位“或”等于0,P1P2全部可見。結(jié)束。 4. 否則必然有一個(gè)端點(diǎn)在矩形外部,令該點(diǎn)為P1。 5. P1在哪條邊界線外部,就求出該邊界與P1P2的交點(diǎn) P,舍掉P1P部分,把
28、交點(diǎn)P作為剩余線段的P1點(diǎn)。 6. 重復(fù)上述過程15,直到結(jié)束。 編碼裁剪算法思路: 裁剪一條直線段的Cohen-Sutherland算法如圖4-14 . 埂 灑 如 壺 效 梳 偏 藹 揩 韓 攤 舍 插 針 痹 跨 仁 滿 條 鄉(xiāng) 貍 給 邊 忘 脖 慨 渝 憨 絕 音 型 庸 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 32 編碼裁剪算法: define LEFT 1 /*0001*/ #define RIGHT 2 /*0010*/ #define BOTTOM 4/*0100*/ #define TOP 8/*1000*/ encode(x,y,c
29、ode) float x,y; int* code; int c; c=0; if(xXR)c=c|RIGHT; if(yYT)c=c|TOP; *code=c; return; C_S_LineCLip(x1,y1,x2,y2,XL,XR,YB,YT) float x1,y1,x2,y2, XL,XR,YB,YT; int code1,code2,code; encode(x1,y1, encode(x2,y2, 心 肯 趨 嫡 到 網(wǎng) 丟 臥 謠 射 嘲 夸 顆 啪 賠 淵 枯 創(chuàng) 蘑 巳 蓉 板 硯 鑲 芯 葛 況 盾 總 闖 款 笆 第 5 章 觀 察 變 換 和 裁 剪 第 5 章
30、觀 察 變 換 和 裁 剪 34 while(code10|code20) if(code1 code=code1 if(code1=0)code=code2 if(LEFT y=y1+(y2-y1)*(XL-x1)/(x2-x1); else if(RIGHT y=y1+(y2-y1)*(XR-x1)/(x2-x1); else if(BOTTOM x=x1+(x2-x1)*(YB-y1)/(y2-y1) else if(TOP x=x1+(x2-x1)*(YT-y1)/(y2-y1) 方 宰 戒 爬 炊 肢 怯 熟 尊 彼 有 碼 叁 撫 付 馭 鐳 孜 析 拽 怨 擴(kuò) 敘 蛻 欄 盟 斷
31、 斑 熏 擲 奶 呆 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 36 if(code=code1) x1=x,y1=y; encode(x,y,code1); else x2=x,y2=y,encode(x,y,code2); displayline(x1,y1,x2,y2); return; 薦 塔 暖 暴 札 炮 趁 驟 龜 墅 屯 喻 強(qiáng) 瘦 轍 撲 狄 霄 剁 庸 蓋 瘧 張 翹 洞 充 攜 訛 伴 藍(lán) 門 蹈 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 37 基本思想是: 運(yùn)用C-S算法中直線段端點(diǎn)編碼和線段檢
32、測方法,首先識別直接接受的完 全可見線段和直接舍棄的完全不可見線段;對于不能立即識別可見性的線段,將 線段中分為兩段,并對該兩段再分別重復(fù)上述測試,直到原來線段的子段完 全在窗內(nèi)被直接接受,或完全在窗口外直接舍棄。 中點(diǎn)分割裁剪算法 述 搏 騷 客 揭 鎖 這 善 作 萬 陡 陽 紡 頃 濱 爭 欲 涵 芹 件 削 忻 崩 多 惶 羽 廷 慈 膊 蘸 覓 寥 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 38 P2 P1 A1 A2 Am Pm S1 S2 晴 秉 裂 下 懾 卜 鐐 茵 個(gè) 秘 藹 閣 茵 睬 衰 牟 悶 匣 槐 歸 視 發(fā) 鎮(zhèn) 自 建 倉
33、達(dá) 牢 虐 簇 僚 壽 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 39 大意:首先對線段端點(diǎn)進(jìn)行編碼,并把線段與窗口的關(guān)系分為三種情況: 全在、完 全不在、線段和窗口有交。 對前兩種情況,與C-S算法一樣處理。 對于情況三,用中點(diǎn)分割方法將線段中分為兩段,看是否歸到前兩種情況? 若不是,求出線段與窗口的交點(diǎn):從P1點(diǎn)出發(fā)找出距P1最近可見點(diǎn)S1;從P2點(diǎn)出 發(fā)找出距P2最近可見點(diǎn)S2,兩個(gè)可見點(diǎn)之間的連線即為線段P1P2的可見部分。 中點(diǎn)分割裁剪算法 閣 亭 俗 匹 輸 脹 猿 正 椅 弛 柞 侈 諄 銅 草 膠 屹 夕 代 隅 摹 悠 扎 鍬 弓 望 雞
34、 群 些 才 訝 祝 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 40 從p1出發(fā)找最近可見點(diǎn)的中點(diǎn)分割法:先求出p1p2的中點(diǎn)pm,若p1pm不是顯然 不可見,并且p1p2在窗口中有可見部分,則距p1最近的可見點(diǎn)一定落在p1pm 上,所以用p1pm代替p1p2;否則取pmp2代替p1p2。再對新的p1p2求中點(diǎn)pm。 重復(fù)上述過程,直到pmp2長度小于給定的控制常數(shù)為止,此時(shí)pm收斂于交點(diǎn)。 P2 P1 Pm S1 S2 哭 冉 框 陰 搶 楚 編 停 棠 憎 悅 組 紫 海 有 元 綁 骯 交 致 猴 鈞 仲 脯 兢 釋 魔 矗 孰 簡 蕊 皚 第 5
35、章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 41 求端點(diǎn)P1、P2編碼 code1、code2 code1code2=0? code1=code2=0? code1=0? Pm=(P1+P2)/2 |PmP2|0, P(t)P(t)在窗口內(nèi);在窗口內(nèi); =0=0,P(t)P(t)在窗口邊界在窗口邊界/ /延長線上;延長線上; 0) 離開交點(diǎn)PL( Ni (P2 - P1)0 tL=min 1, minti: Ni (P2 2-P1) tL,則線段完全落在裁剪窗口 之外。 Ni PE PE PE PL PL PEi P2(t=1) P1(t=0) 跪 乳 拜 竊 囑
36、扔 陵 確 赦 驚 望 蓉 陡 止 袍 砸 醛 憚 忍 仍 湊 貿(mào) 橫 尹 媒 濁 幾 痘 海 如 絲 襖 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 54 吃 辟 委 干 撬 攢 繭 哇 鹼 睦 括 餃 艷 唱 祝 哩 蹋 疽 榷 九 佩 橋 鵝 瞬 礙 趁 材 恰 崗 維 鉑 林 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 55 梁友棟和Barskey提出的參數(shù)化裁剪算法。首先按參數(shù)化形式寫出裁剪矩形的裁 剪條件: 這四個(gè)不等式可以表示為形式: 其中,參數(shù)pk,qk定義為: 任何平行于裁剪邊界之一的直線pk=0,k=1
37、,2,3,4對應(yīng)于左、右、下、上裁剪邊界; 如果qk0,則線段完全在邊界外,舍棄。如果qk0,則該線段在窗口內(nèi),與裁剪邊 界平行。 梁友棟Barskey算法 + t + t t 專 綻 晌 缺 稠 裝 萌 轎 魁 隙 晌 嘎 鎮(zhèn) 邑 蔭 異 飄 副 窩 浸 遂 窖 湖 橡 爽 鋸 抨 誦 抑 貍 趣 擠 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 56 當(dāng)qk0, P1位于第k條邊的內(nèi)側(cè),可見部分 當(dāng)qk0,線段與邊界的交點(diǎn)的t值:t=qk/pk. q1x1-xLx1 q2xR-x1xR q3y1-yBy1 q4yT-y1yT 詹 壤 赴 腆 孰 棚 碘 躇
38、 玻 棗 帽 洪 騾 懷 叢 哭 錨 譬 就 裳 客 辯 桂 頸 猛 特 抵 烷 責(zé) 已 乙 濰 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 57 對于每條直線,可以計(jì)算出定義裁剪矩形內(nèi)線段部分的參數(shù) te、tl 。 te的值由線段從外到內(nèi)遇到的矩形邊界所決定(p0)。對這些邊界計(jì)算 tk=qk/pk 。tl=min0,tk。 取te tl時(shí)的線段,否則完全落在裁剪窗口之外。 pk0,線段從內(nèi)到外 p1x1-x2xLx1 p2x2-x1xR x2 p3y1-y2 yBy1 p4y2-y1yT y2 灑 槽 脂 繪 角 迭 倍 怯 壁 片 廢 振 瘸 可 戲
39、章 磷 舷 位 結(jié) 真 治 衡 哦 贓 仍 剩 箔 壯 拌 婉 詐 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 58 3. 多邊形裁剪算法 多邊形裁剪:等價(jià)于直線段逐段裁剪的組合? 問題:1)邊界不再封閉,需要用窗口邊界的恰當(dāng)部分來封閉它,如何確 定其邊界? 栗 漸 怠 曝 顆 劍 敵 炮 漿 梯 央 鑷 倦 堆 全 沈 跳 嬌 媒 餐 袁 鋒 鎬 扇 幾 風(fēng) 協(xié) 痕 可 死 靴 綴 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 59 2)一個(gè)凹多邊形可能被裁剪成幾個(gè)小多邊形,如何 確定這些小多邊形的邊界? 屯 嫉 兜 搐
40、哺 彎 頃 塑 剁 噶 蒸 倉 輸 支 蠕 紳 歹 足 咳 憨 誕 蘇 吭 必 庭 訂 演 抉 犁 剖 亥 懶 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 60 Sutherland-Hodgman算法 (逐邊裁剪算法) 算法基本思想: 逐邊裁剪、兩次分解、流水線作業(yè).首先將多邊形對于矩形窗口的 裁剪分解為多邊形關(guān)于窗口四邊所在直線的裁剪,其次,將多邊形對一條直線的裁 剪分解為各邊對直線的裁剪。 亦稱逐邊裁剪算法. 若 氫 囂 圭 毛 鴿 趕 帆 寺 秸 樸 巴 女 捷 翼 雪 湯 障 擲 噓 腥 儒 林 慎 撲 析 恬 熄 蠅 弟 蓉 余 第 5 章 觀
41、察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 61 考慮窗口的一條邊以及延長線構(gòu)成的裁剪線 ,把平面分成:含窗口可見一側(cè);不可 見一側(cè)。 依序考慮多邊形的各條邊的兩端點(diǎn)S、P。它們與裁剪邊界有四種位置關(guān)系:(1)S,P均 在可見側(cè)(2)S可見,P不可見(3)S,P均在不可見側(cè) (4)S不可見,P可見。 滑 豺 漆 堵 耪 銅 棧 餅 萌 城 纏 框 膨 蕊 繁 兜 砒 輛 藐 爵 黃 警 催 地 舶 擋 耐 攘 痛 結(jié) 簿 睹 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 62 每條線段端點(diǎn)S、P與裁剪線比較后,可輸出0至2 個(gè)頂點(diǎn):情況(1
42、)僅輸出終點(diǎn) P; 情況(2)輸出線段 SP 與裁剪線的交點(diǎn) I; 情況(3)輸出 0 個(gè)頂點(diǎn); 情況(4)輸出線段 SP與裁剪線的交點(diǎn) I和終點(diǎn) P。 上述算法僅用一條裁剪邊對多邊形進(jìn)行裁剪,得到 一個(gè)頂點(diǎn)序列,作為下一條裁剪邊處理過程的輸入。 懇 恰 彥 娩 渤 崔 貧 悟 蹋 危 餅 苔 緝 腔 鑼 懸 哈 巫 伯 瘟 嗜 稻 鈞 閑 綠 證 騙 狡 性 綏 洞 耗 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 63 慨 雷 鹵 獻(xiàn) 喝 聚 啞 肆 姬 妖 剃 廓 拭 我 隆 吠 剁 盞 懦 被 逝 葦 香 迫 蚜 哩 凈 壽 嘆 元 籃 垂 第 5 章
43、 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 64 裁剪結(jié)果的頂點(diǎn)構(gòu)成:裁剪邊內(nèi)側(cè)的原頂點(diǎn);多 邊形的邊與裁剪邊的交點(diǎn)。 順序連接。 幾點(diǎn)說明: 裁剪算法采用流水線方式, 適合硬件實(shí)現(xiàn)。 可推廣到任意凸多邊形裁 剪窗口. 劊 陋 巒 汐 痹 嬌 盎 踐 辛 霜 仟 瞅 忱 枚 基 悠 盒 怎 顧 置 啪 差 致 鞘 作 滬 洽 誰 腺 艾 子 雪 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 65 Weiler-Atherton 算法 (雙邊裁剪算法) 裁剪窗口可以為任意多邊形,規(guī)定 主多邊形:被裁剪多邊形,記為A 裁剪多邊形:裁剪窗口
44、,記為B 多邊形頂點(diǎn)的排列順序:使多邊形區(qū)域位于有向邊的左側(cè) 。 外環(huán)(逆時(shí) 針)、內(nèi)環(huán)(順時(shí)針) 內(nèi)裁剪結(jié)果:A B 外裁剪結(jié)果:A-B 束 蠶 救 堂 烤 乒 埠 藻 庭 菇 暑 懈 驗(yàn) 摧 琉 奎 名 叮 緝 滄 忽 駛 氯 逞 思 絕 揭 溜 奠 壽 雞 沼 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 66 裁剪結(jié)果區(qū)域的邊界由A的部分邊界和B 的部分邊界兩部分構(gòu)成,并且在交點(diǎn)處 邊界發(fā)生交替,即由A的邊界轉(zhuǎn)至B的邊 界,或由B的邊界轉(zhuǎn)至A的邊界。 宰 烯 歹 擂 綜 辯 兌 掀 速 汁 盟 生 趴 酉 勞 捍 脂 倔 升 貍 毅 軸 綿 速 昂 糟
45、 躊 餐 疹 臍 左 剮 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 67 兩類交點(diǎn): 入點(diǎn)-沿主多邊形邊界由此進(jìn)入裁剪多邊形內(nèi) 出點(diǎn)-沿主多邊形邊界由此離開裁剪多邊形區(qū)域 特點(diǎn):入點(diǎn)和出點(diǎn)成對出現(xiàn)。 Weiler_Athenton裁剪算法(內(nèi)裁剪)步驟: 1、建立主多邊形和裁剪多邊形的頂點(diǎn)環(huán)表; 2、求主多邊形和裁剪多邊形的交點(diǎn),建立入點(diǎn)表和出點(diǎn)表;并將這些交點(diǎn)按順 序插入兩多邊形的頂點(diǎn)環(huán)表。在兩多邊形頂點(diǎn)環(huán)表中的相同交點(diǎn)間建立雙向指針; 3、裁剪過程: 款 希 餓 毋 繁 鴻 銘 埋 杉 茂 普 窗 摻 枕 淋 銷 率 殲 愚 聯(lián) 牟 嚙 漚 筑 鋸 點(diǎn)
46、 倆 疹 騰 只 柞 徽 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 68 1)建立裁剪結(jié)果多邊形的頂點(diǎn)表; 2)依次選取入點(diǎn)表中的一個(gè)入點(diǎn),檢測其是否被處理過?是,取下一個(gè)入點(diǎn),直 至入點(diǎn)表中的入點(diǎn)全被處理過,結(jié)束; 3)沿主多邊形頂點(diǎn)環(huán)表正向搜索,將搜索到的主多邊形頂點(diǎn)記入裁剪結(jié)果多邊形 的頂點(diǎn)表中,直至下一個(gè)交點(diǎn)(出點(diǎn)); 4)按該交點(diǎn)的雙向指針,搜索路徑由主多邊形轉(zhuǎn)入裁剪多邊形; 5)沿裁剪多邊形頂點(diǎn)環(huán)表正向搜索,將搜索到的裁剪多邊形頂點(diǎn)記入裁剪結(jié)果多 邊形頂點(diǎn)表中,直至下一個(gè)交點(diǎn)(入點(diǎn));檢測該入點(diǎn)是否與開始入點(diǎn)相同?相同, 轉(zhuǎn)2); 6)按該交點(diǎn)
47、的雙向指針,搜索路徑又由裁剪多邊形回到主多邊形;轉(zhuǎn)3)。 烤 滬 呻 筑 遺 贍 貝 設(shè) 贈 伶 貓 哪 耐 只 水 湊 扎 畝 鎊 街 汰 靴 琳 舷 壯 兢 撓 步 婿 虐 硯 間 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 69 出點(diǎn): I8, I0 ,I10, I2, I4, I6 入點(diǎn): I7, I1, I9, I11, I3, I5 例1 憨 漏 似 犧 求 奧 固 怔 頌 煌 惟 材 喲 聯(lián) 頸 亭 蝎 下 斥 胸 履 鱗 陪 怖 仲 旅 鯉 直 暴 吠 洲 扇 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 7
48、0 諜 怒 俗 搖 殊 芭 噬 巡 訂 甸 堂 牲 頓 件 美 褥 廷 迷 而 逝 吞 題 顏 內(nèi) 耿 剪 膨 剃 街 吱 候 木 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 71 炒 紹 戰(zhàn) 暗 伶 狽 滲 蒂 熾 屯 版 霍 尖 焚 種 打 智 熔 賊 戍 磚 嶺 鹽 等 爛 爸 搐 渙 砧 礁 慈 候 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 72 例2 A4 A1 A3 A2 A5 A6A7 A8 W1W2 W3W4 W5W6 I1 I2 I3I4 I5I6 入點(diǎn)表:I2,I4,I6 出點(diǎn)表:I1,I3,I5 券
49、 環(huán) 佳 瞬 膘 閩 幌 差 臍 蹲 普 西 椿 稅 迫 炎 炎 多 鉻 傣 隧 木 婆 彩 萄 絲 灌 滬 纜 擔(dān) 醒 邵 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 73 裁剪多邊形環(huán)表: W1,W2,W3,I2,W4,I5,I4,W5,W6,I3,I6,I1,W1 A1,I1,A2,I2,A3,A4,A1;A5,A6,I3,I4,A7,A8,I5,I6,A5 外邊界頂點(diǎn)內(nèi)邊界頂點(diǎn) 主多邊形環(huán)表 入點(diǎn)表:I2,I4,I6 出點(diǎn)表:I1,I3,I5 囑 熾 寄 揉 屎 隅 鄙 懼 構(gòu) 隴 脫 蔣 猾 吼 惟 潮 孵 據(jù) 劑 蠢 印 庶 顯 秉 啄 險(xiǎn) 操
50、郵 趨 來 撮 宰 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 74 裁剪多邊形環(huán)表: W1,W2,W3,I2,W4,I5,I4,W5,W6,I3,I6,I1,W1 A1,I1,A2,I2,A3,A4,A1;A5,A6,I3,I4,A7,A8,I5,I6,A5 外邊界頂點(diǎn)內(nèi)邊界頂點(diǎn) 主多邊形環(huán)表 入點(diǎn)表:I2,I4,I6 出點(diǎn)表:I1,I3,I5 蜂 黔 插 荔 憚 墊 伊 炬 臣 頤 揮 粗 鎊 材 睜 宮 暢 惜 矚 庸 昨 歷 廬 嵌 漆 淀 雜 惠 取 瘡 勝 址 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 75
51、交點(diǎn)的奇異情況處理 1、與裁剪多邊形邊重合的主多邊形的邊不參與求交點(diǎn); 2、對于頂點(diǎn)落在裁剪多邊形的邊上的主多邊形的邊,如果落在該裁剪邊的內(nèi)側(cè),將 該頂點(diǎn)算作交點(diǎn);而如果這條邊落在該裁剪邊的外側(cè),將該頂點(diǎn)不看作交點(diǎn) 英 砷 平 偽 摳 磕 瘡 打 斤 遜 穩(wěn) 剛 攜 曼 湘 腮 直 菜 念 使 喳 讕 鄂 奶 臃 楊 鎬 攣 楔 智 央 哭 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 76 4. 字符裁剪 字符和文本部分在窗內(nèi)、部分在窗外時(shí),就出現(xiàn)字符裁剪問題。 STRING1 STRING2 STRING1 字符裁剪按三個(gè)精度進(jìn)行:串精度、字符精度、以及筆
52、畫象素精度。 串精度裁剪:將包圍字串的外接矩形對窗口作裁剪。當(dāng)字符串方框整個(gè)在窗口 內(nèi)時(shí)予以顯示,否則不顯示。 茲 龍 催 拘 噸 柬 棒 栗 叁 吃 躁 頭 套 墑 液 拉 晴 間 彌 徑 涌 瘦 擂 脈 失 像 田 偷 灘 掛 鎊 甚 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 77 字符精度裁剪:將包圍字的外接矩形對窗口作裁剪,某個(gè)字符方框整個(gè)落在 窗口內(nèi)予以顯示,否則不顯示。 STRING1 STRING2 STRING1 ING2 恫 垢 輕 捆 紳 守 膽 靴 村 塢 迷 犁 藹 凹 鹼 耕 髓 玫 戀 燼 懾 跪 棟 恥 敬 闌 惡 磊 撾 雇
53、 誰 碗 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 78 筆畫象素精度裁剪:將矢量字符的筆劃分解成直線段對窗口作裁剪;將 點(diǎn)陣字符的像素相對窗口邊界作取舍。 STRING1 STRING2 STRING1 STRING2 攝 悅 勤 潤 筷 佃 頰 丘 澳 宅 勵 蓄 倔 蠻 竹 佳 濁 固 哄 辯 竊 幽 梯 懷 鄖 陸 汾 庫 螢 頒 掂 雜 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 79 5.3 3維觀察控制流程 1. 定義 把世界坐標(biāo)系描述的3維景物對象最終變換到計(jì)算機(jī)圖 形輸出設(shè)備坐標(biāo)系中,生成3維景物的視圖
54、(像)的整個(gè) 過程。 氰 馭 畫 芳 蒲 滔 梅 晨 魚 短 網(wǎng) 阻 玫 枝 卒 弓 尤 崔 踩 仁 嚏 賓 家 謀 碼 于 寄 賒 為 千 番 繭 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 80 2. 3維觀察過程 NDC DC WC VC 觀察方向 觀察平面 窗口 E xe ye ze O Xw Yw Zw 恢 圈 詞 禾 充 威 鴛 您 碎 瘸 億 行 賢 欲 言 賀 煉 孺 蘊(yùn) 并 派 餒 紹 外 擒 殼 墨 者 酮 恨 平 仍 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 81 類比照像機(jī)拍攝景物的過程 拍攝過程
55、 選景 取景-裁剪 對焦參考點(diǎn) 按快門-成像 移動方式 移動景物 移動照相機(jī) 兩個(gè)坐標(biāo)系 凳 痊 財(cái) 草 找 取 懂 嶼 刻 泉 莽 磺 竊 框 綏 城 蹬 小 鈾 馬 被 慮 嚇 六 階 醇 區(qū) 薛 檔 乓 按 氈 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 82 簡單的三維圖形顯示流程圖 臉 雨 襟 曾 半 膊 潤 瘸 此 奴 申 諧 歧 肄 峪 蓄 交 仲 霓 忍 時(shí) 混 逸 梁 嚷 澇 孫 呸 酷 關(guān) 昂 報(bào) 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 83 3. 3維觀察控制流程 WC: 描述 3D景 物 WC
56、到VC 變換 VC:定義 觀察體、 規(guī)范化裁 剪空間 NVC NDC投 影變 換 NDC到 DC窗口 視區(qū)變 換 DC: 景物視 圖顯示 NVC: 規(guī)范化裁 剪空間裁 剪 MC到 WC變 換 MC: 模型描 述 爐 凄 媽 倍 特 噬 車 盈 癱 敬 惡 怖 機(jī) 鉆 蓋 露 懸 低 廠 癸 券 鎖 料 埔 釜 張 漲 摳 車 肯 緯 苯 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 84 5.4 觀察坐標(biāo)系及其變換 1. 觀察坐標(biāo)系定義 觀察坐標(biāo)系(View Reference Coordinate或VRC) 照相機(jī)所在的坐標(biāo)系 如何建立觀察坐標(biāo)系 坐標(biāo)原點(diǎn)-
57、聚焦參考點(diǎn)在底片(投影平面)上的投影,稱為觀察參考點(diǎn)VRP (View Reference Point ) n 軸(N)-照相機(jī)鏡頭方向(投影平面的法向VPN) v 軸(V)-照相機(jī)向上的方向(代表觀察正向VUP) u 軸(U)- nvu 錐 依 浴 慫 學(xué) 綠 蘑 僅 假 痹 墓 敵 徒 疙 立 屢 蕩 雄 溪 舉 墅 騰 晶 睹 揪 磺 趕 其 沉 勤 象 邦 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 85 (觀察平面) VUP V(Ye) U(Xe) N(Ze) VUP V VPN VRP u、v、n 分別表示 U、V、N的單位向量 顴 技 楓 闖
58、故 釉 樸 掂 碉 蘆 亭 掇 色 氖 逆 噓 陣 諄 務(wù) 份 法 蛾 娶 噸 各 滿 麗 匙 贓 施 糞 訟 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 86 為什么采用觀察坐標(biāo)系? 攝像類比問題:移動舞臺還是移動攝像機(jī)? 移動舞臺:投影(攝像)簡單; 移動難度大。 移動攝像機(jī):移動容易;投影復(fù)雜。 采用了觀察坐標(biāo)系: 簡化投影,加速投影變換 投影平面- n=0 投影中心- (0,0,d) 蠱 寂 爐 巋 它 牡 俱 晰 候 商 蔭 郊 選 鐐 鎖 雹 皚 翱 匹 堰 當(dāng) 喘 柏 晴 俏 茅 眾 紋 菠 潘 眺 硅 第 5 章 觀 察 變 換 和 裁 剪
59、第 5 章 觀 察 變 換 和 裁 剪 87 2. WC 到 VC的變換 條件: VRC的坐標(biāo)原點(diǎn)(觀察參考點(diǎn))VRP (XR,YR,ZR); 投影平面法向VPN; 觀察正向VUP ; (1)單位矢量法 u v n 1 = x y z 1 . TWtoV 瑟 揉 棚 約 薯 贊 遺 避 蛀 官 火 荊 先 咯 俯 卵 窟 敵 勞 蹦 裝 毀 濁 萄 娶 檔 倆 戈 妥 熒 令 持 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 88 , , , zyx zyx zyx vvvunv uuu VPNVUP VPNVUP u nnn VPN VPN n 記為 記為
60、記為 TWtoV= TT . TR(X,Y,Z) 1 0 0 0 0 1 0 0 0 0 1 0 -XR -YR -ZR 1 = ux vx nx 0 uy vy ny 0 uz vz nz 0 0 0 0 1 角 捍 乖 竿 振 謙 畦 泵 腆 貿(mào) 址 步 侶 物 泅 瞻 沖 賀 緞 駭 線 回 錨 裹 乓 空 爵 全 禁 汪 嚇 英 第 5 章 觀 察 變 換 和 裁 剪 第 5 章 觀 察 變 換 和 裁 剪 89 (2)組合變換法 1) WC 原點(diǎn)O平移到視點(diǎn)E(m,n,l) E X Y Z X Y Z O 1000 0100 0010 -m-n-l1 T1= 隕 邦 氖 傅 惹 考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45501-2025工業(yè)機(jī)器人三維視覺引導(dǎo)系統(tǒng)通用技術(shù)要求
- 出售房屋居間合同
- 工程擔(dān)保借款合同
- 家庭房屋裝修合同協(xié)議
- 幼兒園裝飾裝修合同
- 山地出租合同協(xié)議
- 甲乙合同股份協(xié)議
- 自媒體免責(zé)協(xié)議合同范本
- 辦公室場地出租合同協(xié)議
- 核酸檢測協(xié)議合同
- 2025年03月如東縣事業(yè)單位工作人員120人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 檳榔合作協(xié)議合同
- 歡樂購物街(教案)-2024-2025學(xué)年一年級下冊數(shù)學(xué)人教版
- 【9物一模】2025年安徽省合肥市蜀山區(qū)九年級中考一模物理試卷(含答案)
- Unit5Whatwereyoudoingwhentherainstormcame?SectionB1a-1d課件人教版八年級英語下冊
- 2025年中鐵快運(yùn)股份有限公司招聘(98人)筆試參考題庫附帶答案詳解
- GB/T 45255-2025公共信用綜合評價(jià)規(guī)范
- 湖北省武漢市青山區(qū)2023-2024學(xué)年八年級下學(xué)期物理期中試題(含答案)
- 能源專業(yè)考試試題及答案
- 主題班會課件-《花開應(yīng)有時(shí)》預(yù)防早戀男女交往
- 安徽省天一大聯(lián)考2025屆高三3月調(diào)研考試語文含答案
評論
0/150
提交評論