Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Масштабування фігур | Геометричні перетворення
Геометричне моделювання з Python

Масштабування фігур

Свайпніть щоб показати меню

Масштабування — це фундаментальне геометричне перетворення, яке змінює розмір фігури, зберігаючи її загальну структуру. Під час застосування масштабування до геометричної фігури кожна точка фігури переміщується ближче або далі від фіксованої точки, зазвичай початку координат, на певний коефіцієнт. Цей процес може бути однорідним, коли всі виміри масштабуються на один і той самий коефіцієнт, або неоднорідним, коли різні виміри масштабуються на різні коефіцієнти.

При однорідному масштабуванні кожна координата кожної точки множиться на одне й те саме значення. Це зберігає пропорції фігури, тому квадрат залишається квадратом, а коло — колом, лише більшими або меншими. При неоднорідному масштабуванні кожна координатна вісь може мати свій власний коефіцієнт масштабування. Наприклад, можна розтягнути прямокутник по горизонталі, залишивши його висоту незмінною, перетворивши його на ширший прямокутник.

Масштабування часто використовується в комп'ютерній графіці, моделюванні та дизайні для зміни розмірів об'єктів або коригування їх пропорцій. Під час масштабування фігури її площа та периметр змінюються передбачуваним чином: при однорідному масштабуванні з коефіцієнтом k периметр множиться на k, а площа — на k^2. Однак неоднорідне масштабування може спотворювати фігуру, змінюючи кути та відносні довжини сторін.

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

Яке з наведених тверджень про масштабування є правильним?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 5
some-alt