Udostępnij za pośrednictwem


Matrix.RotatePrepend(Double) Metoda

Definicja

Poprzedza obrót określonego kąta do tej Matrix struktury.

public:
 void RotatePrepend(double angle);
public void RotatePrepend (double angle);
member this.RotatePrepend : double -> unit
Public Sub RotatePrepend (angle As Double)

Parametry

angle
Double

Kąt obrotu do wstępnego.

Przykłady

W poniższym przykładzie pokazano, jak poprzedzać rotację do elementu 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;
}

Uwagi

W transformacji złożonej kolejność poszczególnych przekształceń jest ważna. Jeśli na przykład najpierw obrócisz, przeprowadź skalowanie, a następnie przetłumaczesz, uzyskasz inny wynik niż w przypadku uprzedniego tłumaczenia, a następnie obrócenia, a następnie skalowania. Jedną z przyczyn jest to, że przekształcenia, takie jak rotacja i skalowanie, są wykonywane w odniesieniu do źródła układu współrzędnych. Skalowanie obiektu, który jest wyśrodkowany na początku, powoduje inny wynik niż skalowanie obiektu, który został przeniesiony z punktu początkowego. Podobnie obracanie obiektu, który jest wyśrodkowany na początku, powoduje inny wynik niż obracanie obiektu, który został przeniesiony z punktu początkowego.

Dotyczy

Zobacz też