Matrix.RotateAtPrepend(Double, Double, Double) Método

Definición

Antepone un giro del ángulo especificado en el punto especificado a esta Matrix estructura.

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)

Parámetros

angle
Double

Ángulo de rotación, en grados.

centerX
Double

Coordenada x del centro de rotación.

centerY
Double

Coordenada y del centro de rotación.

Ejemplos

En el ejemplo siguiente se muestra cómo anteponer una rotación a .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;
}

Comentarios

En una transformación compuesta, el orden de las transformaciones individuales es importante. Por ejemplo, si primero gira, luego escala y después traduce, obtiene un resultado diferente al que si primero traduce, luego gira y, a continuación, escala. Una razón por la que el orden es significativo es que las transformaciones como la rotación y el escalado se realizan en relación con el origen del sistema de coordenadas. El escalado de un objeto centrado en el origen genera un resultado diferente al de escalar un objeto que se ha movido fuera del origen. Del mismo modo, la rotación de un objeto centrado en el origen genera un resultado diferente al de girar un objeto que se ha movido fuera del origen.

Se aplica a