Sdílet prostřednictvím


Matrix.RotateAtPrepend(Double, Double, Double) Metoda

Definice

Předsadí otočení zadaného úhlu v zadaném bodě na tuto Matrix strukturu.

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)

Parametry

angle
Double

Úhel otočení ve stupních.

centerX
Double

Souřadnice x středu otáčení.

centerY
Double

Souřadnice y středu otáčení.

Příklady

Následující příklad ukazuje, jak předvést otočení na 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;
}

Poznámky

Ve složené transformaci je důležité pořadí jednotlivých transformací. Pokud například poprvé otočíte, pak škálujete a pak přeložíte, získáte jiný výsledek než při prvním překladu, otočte ho a pak škálujte. Jedním z důvodů je důležité, že transformace, jako je otočení a škálování, se provádějí s ohledem na původ souřadnicového systému. Škálování objektu, který je uprostřed původu, vytvoří jiný výsledek než škálování objektu, který byl přesunut od původu. Podobně rotace objektu, který je uprostřed na počátku, vytváří jiný výsledek než otočení objektu, který byl přesunut od původu.

Platí pro