Matrix.ScalePrepend(Double, Double) Yöntem

Tanım

Belirtilen ölçek vektörlerini bu Matrix yapıya ekler.

public:
 void ScalePrepend(double scaleX, double scaleY);
public void ScalePrepend (double scaleX, double scaleY);
member this.ScalePrepend : double * double -> unit
Public Sub ScalePrepend (scaleX As Double, scaleY As Double)

Parametreler

scaleX
Double

Bu Matrix yapının x ekseni boyunca ölçeklendirildiği değer.

scaleY
Double

Bu Matrix yapının y ekseni boyunca ölçeklendirildiği değer.

Örnekler

Aşağıdaki örnekte, bir ölçeğin yapıya nasıl ön ekli Matrix olduğu gösterilmektedir.


private Matrix scalePrependExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Prepend a scale ab with a horizontal factor of 2
    // and a vertical factor of 4 about the origin.
    // After this operation,
    // myMatrix is equal to (10, 20, 60, 80, 25, 30)
    myMatrix.ScalePrepend(2, 4);
    
    return myMatrix;
}

private Matrix scalePrependAboutPointExample()
{
    Matrix myMatrix = new Matrix(5, 10, 15, 20, 25, 30);
    
    // Prepend a scale with a horizontal factor of 2
    // and a vertical factor of 4 about the 
    // point (100,100).
    // After this operation,
    // myMatrix is equal to (10, 20, 60, 80, -4975, -6970)
    myMatrix.ScaleAtPrepend(2, 4, 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çeklendikten sonra çeviri yaparsanız, önce çevirip, sonra döndürdükten sonra ölçeklendirmekten farklı bir sonuç elde edersiniz. Sıranın önemli bir nedeni, döndürme ve ölçeklendirme gibi dönüşümlerin koordinat sisteminin kaynağıyla ilgili olarak yapılmasıdır. Kaynakta ortalanmış bir nesneyi ölçeklendirmek, kaynaktan uzağa taşınan bir nesneyi ölçeklendirmekten farklı bir sonuç verir. Benzer şekilde, kaynakta ortalanmış bir nesneyi döndürmek, kaynaktan uzaklaştırılmış bir nesneyi döndürmekten farklı bir sonuç verir.

Şunlara uygulanır

Ayrıca bkz.