【正文】
???112121112121yyyxxxxyxxxyyyyx改寫為: 所以右交點(diǎn) pr 的坐標(biāo)為: 2. 直線與窗口右邊界交點(diǎn)坐標(biāo)的求?。? ? ?????????????112121m a xm a xyyyxxxxyxxrr 0000 0001 1001 1000 1010 0010 01 10 y m a x y m i n x m a x xm i n 0100 0101 1p2pdp111212xxyyxxyy?????根據(jù)直線的兩點(diǎn)式公式,得到直線方程: ? ?? ????????????????????112121112121yyyxxxxyxxxyyyyx改寫為: 所以下交點(diǎn) pd 的坐標(biāo)為: ? ?????????????m i n112121m i nyyxxxyyyyxdd3. 直線與窗口下邊界交點(diǎn)坐標(biāo)的求?。? 0000 0001 1001 1000 1010 0010 01 10 y m a x y m i n x m a x xm i n 0100 0101 1p2ptp111212xxyyxxyy?????根據(jù)直線的兩點(diǎn)式公式,得到直線方程: ? ?? ????????????????????112121112121yyyxxxxyxxxyyyyx改寫為: 所以上交點(diǎn) pt 的坐標(biāo)為: ? ?????????????m a x112121m a xyyxxxyyyyxtt4. 直線與窗口上邊界交點(diǎn)坐標(biāo)的求?。? 0000 0001 1001 1000 1010 0010 01 10 y ma x y min x ma x xmin 0100 0101 1p2pC2=0000 C1=1000 1p2p=0編碼裁剪算法流程圖 左交點(diǎn) 右交點(diǎn) 下交點(diǎn) 上交點(diǎn) 0000 0001 1001 1000 1010 0010 01 10 y ma x y min x ma x xmin 0100 0101 1p2p左交點(diǎn) 右交點(diǎn) 下交點(diǎn) 上交點(diǎn) 圖形消隱技術(shù) 立方體的線框圖和消隱圖 圖 1 要說明的是圖 2 還是圖 3 呢? 1 2 3 兩個(gè)立方體之間的相互遮擋關(guān)系 圖 1 要說明的是圖 2 還是圖 3 呢? 1 2 3 左:線框圖 中:消隱圖 右:真實(shí)感圖 圖形消隱技術(shù) ? 人不能一眼看到一個(gè)三維物體的全部表面 。 1. 如果直線的兩個(gè)端點(diǎn)都在窗口內(nèi)(黑色),這樣的直線是完全可見的; 2. 如果直線的兩個(gè)端點(diǎn)都在窗口外,并且是在窗口某邊框的同一側(cè)(藍(lán)色),這樣的直線是完全不可見的,剔除即可; 3. 如果直線的兩個(gè)端點(diǎn)都在窗口外,并且不在窗口的同側(cè)(綠色),這時(shí)要分析直線與窗口的交點(diǎn)的性質(zhì); 4. 如果直線的一個(gè)端點(diǎn)在窗口內(nèi),一個(gè)端點(diǎn)在窗口外(紫色),求出直線與窗口的交點(diǎn),則該交點(diǎn)和窗口內(nèi)的線段端點(diǎn)是新的可見線段的兩個(gè)端點(diǎn)。 ? 編碼裁剪算法 原理: 1. 由于矩形窗口是凸多邊形,因此一條直線段的可見部分最多為一段,因此可以通過判斷 兩個(gè)端點(diǎn)的可見性 來確定直線段的可見部分。 ? 從理論上講這是一種萬能裁剪法,但是實(shí)際上這種方法沒有實(shí)用價(jià)值,因?yàn)檫@種方法的速度太慢 ,同時(shí)使得 裁剪出來的點(diǎn)列不再保持原來圖形的畫線序列 ,因而給圖形輸出帶來困難。 ),( yxP???????ytybxrxlWyWWxW),( yxP 0 )W,W(ybxl X Y )W,W(ytxr xrW xlW ybW ytW ? 由點(diǎn)的裁剪方法我們會(huì)想到另外一種最簡單的方法 —逐點(diǎn)比較法 ,即把圖形離散為點(diǎn),然后逐點(diǎn)判斷是否滿足上面的不等式。 窗口一 視區(qū) 失真 ? ?窗口二 視區(qū) ?y x ?xyDCS NDCS WCS WCS 從應(yīng)用程序得到 圖形的世界坐標(biāo) 對窗口區(qū) 進(jìn)行裁剪 窗口區(qū)到視圖區(qū) 的規(guī)格化變換 在圖形設(shè)備 上輸出圖形