標籤: 暫無標籤

1簡介

坐標空間
zuòbiāo kōngjiān
[coordinate space] 通常意義下三維幾何空間的名稱,以區別於各種符號相空間

2VC中的坐標空間

Microsoft Windows下的程序運用坐標空間和轉換來對圖形輸出進行縮放、旋轉、平移、斜切和反射。
一個坐標空間是一個平面的空間,通過使用兩個相互垂直並且長度相等的軸來定位二維對象。Win32應用程序設計介面(API)使用四種坐標空間:世界坐標系空間、頁面空間、設備空間、和物理設備空間。應用程序運用世界坐標系空間對圖形輸出進行旋轉、斜切或者反射。
Win32 API把世界坐標系空間和頁面空間稱為邏輯空間;最後一種坐標空間(即物理設備空間)通常指應用程序窗口的客戶區;但是它也包括整個桌面、完整的窗口(包括框架、標題欄和菜單欄)或印表機的一頁或繪圖儀的一頁紙。物理設備的尺寸隨顯示器、印表機或繪圖儀所設置的尺寸而變化。
默認轉換
一旦應用程序建立了設備描述表,並立即開始調用GDI繪圖或輸出函數,則運用默認頁面空間到設備空間的轉換和設備空間到客戶區的轉換(在應用程序調用SetWorldTransform函數之前,不會出現世界坐標空間到頁面空間的轉換)。
默認頁面空間到設備空間的轉換結果是一對一的映射;即頁面空間上給出的一點映射到設備空間的一個點。正如前文講到的,這種轉換沒有以矩陣指定,而是通過把視口寬除以窗口寬,把視口高除以窗口高而得出的。在默認的情況下,視口尺寸為1x1個象素,窗口尺寸為1x1頁單位。
設備空間到物理設備(客戶區、桌面或印表機)的轉換結果總是一對一的;即設備空間的一個單位總是與客戶區、桌面、或印表機上的一個單位相對應。這一轉換的唯一用途是平移。無論窗口移到桌面的什麼位置,它永遠確保輸出能夠正確無誤地出現在窗口上。
默認轉換的一個獨特之處是設備空間和應用程序窗口的y軸方向。在默認的狀態下,y軸正向朝下,負y方向朝上。 

邏輯坐標和設備坐標

幾乎在所有的GDI函數中使用的坐標值都是採用的邏輯單位。Windows必須將邏輯單位轉換為「設備單位」,即像素。這種轉換是由映射方式、窗口和視口的原點以及窗口和視口的範圍所控制的。
Windows對所有的消息(如WM_SIZE、WM_MOUSEMOVE、WM_LBUTTONDOWN、WM_LBUTTONUP),所有的非GDI函數和一些GDI函數(例如GetDeviceCaps函數),永遠使用設備坐標。
「窗口」是基於邏輯坐標的,邏輯坐標可以是象素、毫米、英寸等單位;「視口」是基於設備坐標(象素)的。通常,視口和客戶區是相同的。
預設的映射模式為MM_TEXT。在這種映射模式下,邏輯單位和設備單位相同。

相關評論

同義詞:暫無同義詞