If you're seeing this message, it means we're having trouble loading external resources on our website.

Wenn du hinter einem Webfilter bist, stelle sicher, dass die Domänen *. kastatic.org und *. kasandbox.org nicht blockiert sind.

Hauptinhalt

Skalierung

Die letzte Transformation im Koordinatensystem ist die Skalierung, bei der die Größe des Rasters geändert wird. Schau dir dieses Programm an, das erst ein Quadrat zeichnet, dann das Raster um das Doppelte hochskaliert, und anschließend das Quadrat noch einmal zeichnet.
Zunächst wirst du bemerken, dass sich das Quadrat anscheinend verschoben hat. Das stimmt so natürlich nicht. Seine linke obere Ecke befindet sich immer noch bei (20, 20) auf dem hochskalierten Raster, aber dieser Punkt ist nun doppelt so weit weg vom Ursprung wie beim ursprünglichen Koordinatensystem.
Wenn du wolltest, dass das große Quadrat an derselben Ecke beginnt wie das kleine Quadrat, könntest du es zuerst verschieben und dann skalieren:
Du wirst vielleicht auch beim Vergleich der beiden Programme bemerken, dass die Linien beim großen Quadrat dicker sind. Das ist keine optische Täuschung—die Linien sind tatsächlich doppelt so dick, weil das Koordinatensystem auf seine doppelte Größe hochskaliert wurde. Du könntest dafür nun direkt den Wert von strokeWeight() ändern, oder von Vornherein scale() nicht verwenden.
Der Befehl scale() nimmt nicht nur einen, sondern zwei optionale Parameter auf, daher kannst du die x- und die y-Abmessungen getrennt verschieben. Versuche, im obenstehenden Programm den Befehl scale(3{,}0, 0{,}5) zu verwenden, um die x-Dimension drei mal so groß und die y-Dimension halb so groß zu machen.

Dieser Artikel ist eine Bearbeitung von 2D Transformations von J. David Eisenberg und wird unter einer Creative Commons Attribution-NonCommercial-ShareAlike-Lizenz verwendet.

Willst du an der Diskussion teilnehmen?

Noch keine Beiträge.
Verstehst du Englisch? Klick hier, um weitere Diskussionen auf der englischen Khan Academy Seite zu sehen.