世界座標系空間,頁面空間,裝置空間,物理裝置空間

2021-09-30 15:25:41 字數 3005 閱讀 3202

一、座標空間

1、win32

應用程式設計介面

(api)

使用四種座標空間

:世界座標系空間、頁面空間、裝置空間和物理裝置空間。應用程式運用世界座標系空間對圖形輸出進行旋轉,斜切或者反射。

2、win32 api

把世界座標系空間和頁面空間稱為邏輯空間,最後一種座標空間

(即物理裝置空間

)通常指應用程式視窗的客戶區。但是它也包括整個桌面、完整的視窗

(包括框架、標題欄和選單欄

)或印表機的一頁或繪圖儀的一頁紙。物理裝置的尺寸隨顯示器、印表機或繪圖儀所設定的尺寸而變化。

二、轉換

1、如要在物理裝置上繪製輸出,

windows

把乙個矩形區域從乙個座標空間拷貝到

(或對映到

)另乙個座標空間,直至最終完整的輸出呈現在物理裝置上

(通常是螢幕或印表機)。

2、如果該應用程式呼叫了

setworldtransform

函式,那麼對映就從應用程式的世界座標系空間開始。否則,對映在頁面空間中進行.在

windows

把矩形區域的每一點從乙個空間拷貝到另乙個空間,它採用了一種被稱作轉換的演算法,轉換是把物件從乙個座標系空間拷貝到另乙個座標系空間時改變

(或轉變

)這一物件的大小、方位、和形態。儘管轉換把物件看成乙個整體,但它也作用於物件中的每一點或每一條線。

下面是運用setworldtransform

函式而進行的乙個典型轉換

三、頁面空間到裝置空間的轉換

1、頁面空間到裝置空間的轉換是原windows介面的一部分,這種轉換確定與一特定裝置描述表相關的所有圖形輸出的對映方式。

2、所謂對映方式是指確定用於繪圖操作的單位大小的一種量度轉換。對映方式是一種影響幾乎任何客戶區繪圖的裝置環境屬性。另外還有四種裝置環境屬性:視窗原點、視口原點、視窗範圍和視口範圍,這四種屬性與對映方式密切相關。

3、頁面空間到裝置空間的轉換所用的是兩個矩形的寬與高的比率(稱為轉換因子),其中頁面空間中的矩形被稱為視窗,裝置空間中的矩形被稱為視口。windows把視窗原點對映到視口原點,把視窗範圍對映到視口範圍,就完成了這種轉換。如下圖所示:

四、裝置空間到物理空間轉換

1、裝置空間到物理空間的轉換有幾個獨特之處:它只限於平移,並由windows的視窗管理部分控制。這種轉換的唯一用途是確保裝置空間的原點被對映到時物理裝置上的適當點上。沒有函式能設定這種轉換,也沒有函式可以獲取有關資料。

五、預設轉換

1、一旦應用程式建立了裝置描述表,並立即開始呼叫gdi繪圖或輸出函式,則運用預設頁面空間到裝置空間的轉換和裝置空間到時客戶區的轉換(在應用程式呼叫

setworldtransform函式之前,不會出現世界座標空間到頁面空間的轉換)

2、預設頁面空間到裝置空間的轉換結果是一對一的對映,即頁面空間上給出的一點對映到裝置空間的乙個點。這種轉換沒有以矩陣指定,而是通過把視口寬除以視窗寬,把視口高除以視窗高而得到的。在預設的情況下,視口尺寸為1x1個象素,視窗尺寸為1x1頁單位。

3、裝置空間到時物理裝置(客戶區、桌面或印表機)的轉換結果總是一對一的。即裝置空間的乙個單位總是與客戶區、桌面、或印表機上的乙個單位相對應。這一轉換的唯一用途是平移。無論視窗移到桌面的什麼位置,它永遠確保輸出能夠正確無誤地出現在視窗上。

4、預設轉換的乙個獨特之處是裝置空間的應用程式視窗的y軸方向。在預設的狀態

下,y軸正向朝下,負y方向朝下。

六、邏輯座標與裝置座標

1、幾乎所有的gdi函式中使用的座標值都是採用的邏輯單位,windows必須將邏輯單位轉換為"裝置單位",即畫素。這種轉換是由對映方式,視窗和視口的原點以及視窗和視口的範圍所控制的。

2、windows對所有的訊息(如wm_size,wm_mousemove,wm_lbuttondown,wm_lbuttonup),所有的非gdi函式和一些gdi函式(例如getdevicecaps函式),永遠使用裝置座標。

3、"視窗"是基於邏輯座標的,邏輯座標可以是象素、公釐、英吋等單位;"視口"是基於裝置座標(象素)的。通常,視口和客戶區是相同的。

4、預設的對映模式為mm_text。在這種對映模式下,邏輯單位和裝置單位相同。

七、邏輯座標和裝置座標的相互轉換

1、視窗(邏輯)座標轉換為視口(裝置)座標的兩個公式:

2、視口(裝置)座標轉換為視窗(邏輯)座標的兩個公式:

八、在mm_text對映方式下邏輯座標和裝置座標的相互轉換

1、視窗(邏輯)座標轉換為視口(裝置)座標的兩個公式:

2、視口(裝置)座標轉換為視窗(邏輯)座標的兩個公式:

九、視口和視窗原點的改變

1、cdc中提供了兩個成員函式setviewportorg和setwindoworg,用來改變視口和視窗的原點。

2、如果將視口原點設定為(xvieworg,yvieworg),則邏輯點(0,0)被對映為裝置點

(xvieworg,yvieworg)。如果將視窗原點改變為(xwinorg,ywinorg),則邏輯點

(xwinorg,ywin

org)將會被對映為裝置

點(0,0),即左上角。

3、不管對視窗和視口原點作什麼改變,裝置點(0,

0)始始終是客戶區的左上角 。

七引數空間直角座標系座標轉換

一 引言 在測繪領域中,經常遇到不同空間直角座標系之間轉換的問題,比如在空間大地測量,攝影測量以及gis,gps在測量中經常會用到wgs 84座標系與我國北京54座標系或與地方座標系之間的轉換,空間直角座標轉換的七引數模型主要有1.布林莎模型 2.莫洛琴斯基模型 3.武測模型。目前大多實際應用多採用...

ogre 本地空間,父節點空間,世界空間

本地空間就是以物體自己所在的點作為座標系的原點的座標系 父節點空間就是以父節點所在位置為座標系原點的座標系 世界空間就是以 0,0,0 為座標原點的座標系。場景節點在預設的情況下變換空間為父節點空間 ts parent 所以在使用父節點空間變換的時候不需要額外的設定 mscenenode trans...

空間定位中座標系轉換 (1)

從畫素座標系到天球座標系的轉換 1.畫素座標系 畫素座標系通常以左上角為原點,向右,向下分別為i,j方向,數值代表畫素的行列號 2.像平面座標系 像平面座標系原點在探測器焦平面幾何中心,x,y軸分別平行i,j軸,數值代表像點在成像平面的物理位置 3.相機座標系 相機座標系原點位於相機投影中心,x,y...