Aracılığıyla paylaş


Matrix.RotateAtPrepend(Double, Double, Double) Yöntem

Tanım

Belirtilen açının belirtilen noktadaki döndürmesini bu Matrix yapıya önceden ekler.

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)

Parametreler

angle
Double

Döndürme açısı, derece cinsinden.

centerX
Double

Döndürme merkezinin x koordinatı.

centerY
Double

Döndürme merkezinin y koordinatı.

Örnekler

Aşağıdaki örnek, bir döndürmenin başına nasıl ekli Matrixolduğunu gösterir.

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;
}

Açıklamalar

Bileşik dönüştürmede, tek tek dönüştürmelerin sırası önemlidir. Örneğin, önce döndürdükten sonra ölçeklendirdikten sonra çeviri yaparsanız, önce çevirip sonra döndürdüğünüz ve ardından ölçeklendirdiğinizden farklı bir sonuç elde edersiniz. Sıranın önemli olmasının bir nedeni, döndürme ve ölçeklendirme gibi dönüştürmelerin koordinat sisteminin kökenine göre yapılmasıdır. Kaynakta ortalanmış bir nesneyi ölçeklendirmek, kaynaktan uzaklaşmış bir nesneyi ölçeklendirmekten farklı bir sonuç verir. Benzer şekilde, kaynakta ortalanmış bir nesneyi döndürmek, kaynaktan uzaklaşmış bir nesneyi döndürmekten farklı bir sonuç verir.

Şunlara uygulanır