一部のアプリケーションでは、クライアント領域に描画されたオブジェクトを反映 (またはミラー) する機能が提供されます。 リフレクション機能を含むアプリケーションでは、SetWorldTransform 関数を使用して、ワールド空間の適切な値をページ空間変換に設定します。 この関数は、適切な値を含む XFORM 構造体へのポインターを受け取ります。 XFORM の eM11 メンバーと eM22 メンバーは、それぞれ水平反射コンポーネントと垂直反射コンポーネントを指定します。
リフレクション変換 は、x 軸または y 軸に対してオブジェクトのミラー イメージを作成します。 つまり、リフレクションは負のスケーリングにすぎません。 水平反射を生成するために、x 座標に -1 を乗算します。 垂直反射を生成するために、y 座標に -1 が乗算されます。
水平反射は、次のアルゴリズムで表すことができます。
x' = -x
ここで、x は x 座標、x' は反射の結果です。
水平反射を生成した 2 バイ 2 マトリックスには、次の値が含まれています。
|-1 0|
|0 1|
垂直反射は、次のアルゴリズムで表すことができます。
y' = -y
ここで、y は y 座標、y' は反射の結果です。
垂直反射を生成した 2 バイ 2 マトリックスには、次の値が含まれています。
|1 0|
|0 -1|
次の 2 バイ 2 マトリックスを使用して、水平反射操作と垂直反射操作を 1 つの操作に組み合わせることができます。
|-1 0|
|0 -1|