反射

一部のアプリケーションでは、クライアント領域に描画されたオブジェクトを反映 (またはミラー) する機能が提供されます。 リフレクション機能を含むアプリケーションでは、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|