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