座標空間の変換
座標空間は、デカルト座標系に基づく平面空間です。 このシステムは、平面上の各点の位置を指定する手段を提供します。 垂直で長さが等しい 2 つの軸が必要です。 次の図は、座標空間を示しています。
システムでは、次の表に示すように、4 つの座標空間がサポートされています。
座標空間 | 説明 |
---|---|
world | 必要に応じて、グラフィックス変換の開始座標空間として使用されます。 これにより、スケーリング、平行移動、回転、せん断、反射が可能になります。 ワールド空間は、高さ 2^32 単位、幅 2^32 単位を測定します。 |
ページ (page) | ワールド空間の後の次のスペースとして、またはグラフィックス変換の開始スペースとして使用されます。 マッピング モードを設定します。 ページ空間では、高さ 2^32 単位、幅 2^32 単位も測定されます。 |
device | ページ領域の後の次のスペースとして使用されます。 変換のみが許可されます。これにより、デバイス空間の原点が物理デバイス空間内の適切な場所にマップされます。 デバイス空間は、高さ 2^27 単位、幅 2^27 単位を測定します。 |
物理デバイス | グラフィックス変換の最終的な (出力) 領域。 通常は、アプリケーション ウィンドウのクライアント領域を参照します。ただし、デバイス コンテキストへのハンドルを取得した機能に応じて、デスクトップ全体、完全なウィンドウ (フレーム、タイトル バー、メニュー バーを含む)、またはプリンターまたはプロッター 用紙のページを含めることもできます。 物理デバイスの寸法は、ディスプレイ、プリンター、またはプロッターテクノロジによって設定された寸法によって異なります。 |
ページ空間は、デバイス空間と連携して、デバイスに依存しない単位 (ミリメートルやインチなど) をアプリケーションに提供します。 この概要では、ワールド空間とページ空間の両方を論理空間と見なします。
物理デバイス上の出力を示すために、システムは変換を使用して四角形領域を 1 つの座標空間から次の座標空間にコピー (またはマップ) し、出力が物理デバイス全体に表示されるまでコピーします。 マッピングは、アプリケーションが SetWorldTransform 関数を呼び出した場合、アプリケーションのワールド空間で開始されます。それ以外の場合、マッピングはページ空間で行われます。 システムは、四角形領域内の各ポイントをある空間から別の空間にコピーする際に、変換と呼ばれるアルゴリズムを適用します。 変換は、ある座標空間から別の座標空間にコピーされるオブジェクトのサイズ、向き、および形状を変更 (または変換) します。 変換はオブジェクト全体に影響しますが、オブジェクト内の各ポイントまたは各行に適用されます。
次の図は、 SetWorldTransform 関数を使用して実行される一般的な変換を示しています。