Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Skalierung von Formen | Geometrische Transformationen
Geometrische Modellierung mit Python

Skalierung von Formen

Swipe um das Menü anzuzeigen

Skalierung ist eine grundlegende geometrische Transformation, die die Größe einer Form verändert, während ihre Gesamtstruktur erhalten bleibt. Bei der Anwendung der Skalierung auf eine geometrische Figur bewegt sich jeder Punkt der Form näher zu oder weiter von einem festen Punkt, meist dem Ursprung, um einen bestimmten Faktor. Dieser Prozess kann uniform sein, wobei alle Dimensionen mit demselben Faktor skaliert werden, oder nicht-uniform, wobei verschiedene Dimensionen mit unterschiedlichen Faktoren skaliert werden.

Bei der uniformen Skalierung wird jede Koordinate jedes Punktes mit demselben Wert multipliziert. Dadurch bleiben die Proportionen der Form erhalten, sodass ein Quadrat ein Quadrat und ein Kreis ein Kreis bleibt – nur größer oder kleiner. Bei der nicht-uniformen Skalierung kann jede Koordinatenachse einen anderen Skalierungsfaktor haben. Beispielsweise kann ein Rechteck horizontal gestreckt werden, während seine Höhe gleich bleibt, wodurch es zu einem breiteren Rechteck wird.

Skalierungstransformationen werden häufig in der Computergrafik, beim Modellieren und im Design verwendet, um Objekte zu vergrößern oder ihre Proportionen anzupassen. Wenn eine Form skaliert wird, ändern sich Fläche und Umfang auf vorhersehbare Weise: Bei einer uniformen Skalierung mit dem Faktor k wird der Umfang mit k multipliziert und die Fläche mit k^2. Nicht-uniforme Skalierung kann jedoch die Form verzerren, indem Winkel und relative Seitenlängen verändert werden.

12345678910111213141516171819202122232425262728
import numpy as np import matplotlib.pyplot as plt def scale_polygon(vertices, scale_x, scale_y): scale_matrix = np.array([[scale_x, 0], [0, scale_y]]) return vertices @ scale_matrix.T # Define a triangle triangle = np.array([[1, 1], [3, 1], [2, 3], [1, 1]]) # Uniform scaling by factor 2 scaled_uniform = scale_polygon(triangle, 2, 2) # Non-uniform scaling: x by 2, y by 0.5 scaled_nonuniform = scale_polygon(triangle, 2, 0.5) # Plot original and scaled triangles plt.figure(figsize=(6, 6)) plt.plot(triangle[:,0], triangle[:,1], 'o-', label='Original') plt.plot(scaled_uniform[:,0], scaled_uniform[:,1], 'o-', label='Uniform scale (2x)') plt.plot(scaled_nonuniform[:,0], scaled_nonuniform[:,1], 'o-', label='Non-uniform scale (2x, 0.5y)') plt.legend() plt.axis('equal') plt.title('Scaling Transformations of a Triangle') plt.xlabel('X') plt.ylabel('Y') plt.show()
question mark

Welche der folgenden Aussagen über Skalierungstransformationen ist korrekt?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 5
some-alt