Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Skalering af Former | Geometriske Transformationer
Geometrisk Modellering med Python

Skalering af Former

Stryg for at vise menuen

Skalering er en grundlæggende geometrisk transformation, der ændrer størrelsen på en figur, mens dens overordnede struktur bevares. Når du anvender skalering på en geometrisk figur, bevæger hvert punkt på figuren sig tættere på eller længere væk fra et fast punkt, som oftest er origo, med en bestemt faktor. Denne proces kan være uniform, hvor alle dimensioner skaleres med samme faktor, eller ikke-uniform, hvor forskellige dimensioner skaleres med forskellige faktorer.

Ved uniform skalering multipliceres hver koordinat for hvert punkt med den samme værdi. Dette bevarer figurens proportioner, så en firkant forbliver en firkant, og en cirkel forbliver en cirkel—bare større eller mindre. Ved ikke-uniform skalering kan hver koordinatakse have en forskellig skaleringsfaktor. For eksempel kan man strække et rektangel horisontalt, mens højden forbliver den samme, hvilket gør det til et bredere rektangel.

Skaleringstransformationer bruges ofte i computer grafik, modellering og design til at ændre størrelsen på objekter eller justere deres proportioner. Når du skalerer en figur, ændres dens areal og omkreds på forudsigelige måder: ved uniform skalering med en faktor k multipliceres omkredsen med k, og arealet med k^2. Dog kan ikke-uniform skalering forvride figuren, så vinkler og relative sidelængder ændres.

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

Hvilket af følgende udsagn om skaleringstransformationer er korrekt?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 5
some-alt