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