Sdílet prostřednictvím


Matrix.ScalePrepend(Double, Double) Metoda

Definice

Předem nastaví zadaný vektor měřítka na tuto Matrix strukturu.

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)

Parametry

scaleX
Double

Hodnota, podle které chcete tuto strukturu škálovat Matrix podél osy x.

scaleY
Double

Hodnota, podle které chcete tuto strukturu škálovat Matrix podél osy y.

Příklady

Následující příklad ukazuje, jak předem vytvořit měřítko struktury Matrix .


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

Poznámky

Ve složené transformaci je důležité pořadí jednotlivých transformací. Pokud například poprvé otočíte, pak škálujete a pak přeložíte, získáte jiný výsledek než při prvním překladu, otočte ho a pak škálujte. Jedním z důvodů je důležité, že transformace, jako je otočení a škálování, se provádějí s ohledem na původ souřadnicového systému. Škálování objektu, který je uprostřed původu, vytvoří jiný výsledek než škálování objektu, který byl přesunut od původu. Podobně rotace objektu, který je uprostřed na počátku, vytváří jiný výsledek než otočení objektu, který byl přesunut od původu.

Platí pro

Viz také