视口和窗口的理解方法
首先,視口坐標(biāo)是表示物理坐標(biāo)的,窗口坐標(biāo)是表示邏輯坐標(biāo)的,并且,任何時(shí)候視口坐標(biāo)和窗口坐標(biāo)都是一一對應(yīng)的(即:左上角坐標(biāo)和右下角坐標(biāo)是一一對應(yīng)的)。比如:設(shè)置視口坐標(biāo)(0,0,50,50)(表示:(左上角X,左上角X,寬度,高度)),設(shè)置窗口坐標(biāo)為(-100,-100,100,100),那么,窗口坐標(biāo)(-100,-100)對應(yīng)視口坐標(biāo)(0,0),窗口坐標(biāo)(0,0)對應(yīng)視口坐標(biāo)(50,50),第二,在我們繪制圖形或文字時(shí),是以邏輯坐標(biāo)為參考的。所以,只要記住,這兩點(diǎn)就應(yīng)該能理解坐標(biāo)系統(tǒng)了,實(shí)際上就是個(gè)坐標(biāo)的轉(zhuǎn)換,當(dāng)然,最終的圖形顯示實(shí)際都會(huì)變換為對應(yīng)的視口坐標(biāo)來顯示,不過窗口坐標(biāo)到視口坐標(biāo)的轉(zhuǎn)換是系統(tǒng)自動(dòng)進(jìn)行的,不用設(shè)計(jì)者處理,這就讓我們的圖形顯示與設(shè)備無關(guān)了,為什么要引入這兩種坐標(biāo)概念,主要是因?yàn)檫壿嬜鴺?biāo)可以讓程序設(shè)計(jì)不用考慮具體的設(shè)備,使繪圖與設(shè)備無關(guān)了,而且當(dāng)使用邏輯坐標(biāo)時(shí),我們很容易的對圖形的放大、縮小等操作進(jìn)行處理,比如:我們在放大圖形時(shí)只需要重新設(shè)置更大區(qū)域的視口坐標(biāo)(物理坐標(biāo)),而不需要改變?nèi)魏蔚某绦虼a,縮小也是同樣的道理。當(dāng)然,還有一個(gè)世界變換的概念,世界變換主要用于放大、縮小、移位、旋轉(zhuǎn)等操作,有了世界變換對這些操作的處理就非常容易了,總之,引入各種坐標(biāo)的概念和設(shè)計(jì),主要是為了更容易設(shè)計(jì)圖形系統(tǒng),概念上也更加的清晰易懂。
?
總結(jié)
以上是生活随笔為你收集整理的视口和窗口的理解方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ON_NOTIFY消息中的id坑了我一天
- 下一篇: stm32f102 SPI口重复初始化引