Matrix.RotateAtPrepend(Double, Double, Double) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した点における指定した角度の回転を、この Matrix 構造体の前に付加します。
public:
void RotateAtPrepend(double angle, double centerX, double centerY);
public void RotateAtPrepend (double angle, double centerX, double centerY);
member this.RotateAtPrepend : double * double * double -> unit
Public Sub RotateAtPrepend (angle As Double, centerX As Double, centerY As Double)
パラメーター
- angle
- Double
回転角度。
- centerX
- Double
回転の中心の x 座標。
- centerY
- Double
回転の中心の y 座標。
例
次の例は、回転の前に .Matrix
private Matrix prependRotateExample()
{
Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
// Prepend a 90 degree rotation about the origin.
// myMatrix is now equal to (15,20,-5,-10,25,30).
myMatrix.RotatePrepend(90);
return myMatrix;
}
private Matrix prependRotateAboutPointExample()
{
Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
// Prepend a 90 degree rotation about the
// point (100,100).
// myMatrix is now equal to (15,20,-5,-10,1025,2030).
myMatrix.RotateAtPrepend(90, 100, 100);
return myMatrix;
}
注釈
複合変換では、個々の変換の順序が重要になります。 たとえば、最初に回転し、拡大縮小してから、平行移動する場合と、最初に平行移動し、回転してから、拡大縮小する場合では、得られる結果が異なります。 順序が重要である理由の 1 つは、回転や拡大縮小などの変換が、座標系の原点に対して行われるということです。 原点を中心にして配置されているオブジェクトの拡大縮小と、原点から離れた位置に移動されたオブジェクトの拡大縮小では、異なる結果が生成されます。 同様に、原点を中心にして配置されているオブジェクトの回転と、原点から離れた位置に移動されたオブジェクトの回転でも、異なる結果になります。