Matrix.RotateAtPrepend(Double, Double, Double) Метод

Определение

Добавляет поворот на заданный угол относительно заданной точки в начало этой структуры 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;
}

Комментарии

В составном преобразовании важен порядок отдельных преобразований. Например, если сначала повернуть, затем масштабировать, а затем перевести, вы получите другой результат, чем при первом переводе, а затем повороте, а затем масштабирование. Одной из причин является то, что преобразования, такие как поворот и масштабирование, выполняются в отношении начала системы координат. Масштабирование объекта, расположенного по центру в источнике, дает результат, отличный от масштабирования объекта, который был перемещен от источника. Аналогичным образом поворот объекта, центрированного по центру источника, создает другой результат, чем поворот объекта, который был перемещен от источника.

Применяется к