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

Skalering av Former

Sveip for å vise menyen

Skalering er en grunnleggende geometrisk transformasjon som endrer størrelsen på en figur samtidig som dens overordnede struktur bevares. Når skalering brukes på en geometrisk figur, flyttes hvert punkt på figuren nærmere eller lenger fra et fast punkt, vanligvis origo, med en bestemt faktor. Denne prosessen kan være uniform, der alle dimensjoner skaleres med samme faktor, eller ikke-uniform, der ulike dimensjoner skaleres med forskjellige faktorer.

Ved uniform skalering multipliseres hver koordinat av hvert punkt med samme verdi. Dette holder proporsjonene til figuren uendret, slik at et kvadrat forblir et kvadrat, og en sirkel forblir en sirkel—bare større eller mindre. Ved ikke-uniform skalering kan hver koordinatakse ha en ulik skaleringsfaktor. For eksempel kan man strekke et rektangel horisontalt mens høyden forblir den samme, slik at det blir et bredere rektangel.

Skaleringstransformasjoner brukes ofte i datagrafikk, modellering og design for å endre størrelsen på objekter eller justere proporsjoner. Når en figur skaleres, endres arealet og omkretsen på forutsigbare måter: ved uniform skalering med faktor k multipliseres omkretsen med k, og arealet med k^2. Ikke-uniform skalering kan derimot forvrenge figuren, endre vinkler og relative sidelengder.

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 av følgende utsagn om skaleringstransformasjoner er korrekt?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 5
some-alt