Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Escalado de formas | Transformaciones geométricas
Modelización Geométrica con Python

Escalado de formas

Desliza para mostrar el menú

La escala es una transformación geométrica fundamental que cambia el tamaño de una figura mientras preserva su estructura general. Al aplicar una escala a una figura geométrica, cada punto de la forma se mueve más cerca o más lejos de un punto fijo, generalmente el origen, por un factor específico. Este proceso puede ser uniforme, donde todas las dimensiones se escalan por el mismo factor, o no uniforme, donde diferentes dimensiones se escalan por factores distintos.

En la escala uniforme, cada coordenada de cada punto se multiplica por el mismo valor. Esto mantiene las proporciones de la figura, por lo que un cuadrado sigue siendo un cuadrado y un círculo sigue siendo un círculo, solo que más grande o más pequeño. En la escala no uniforme, cada eje de coordenadas puede tener un factor de escala diferente. Por ejemplo, se puede estirar un rectángulo horizontalmente manteniendo su altura, convirtiéndolo en un rectángulo más ancho.

Las transformaciones de escala se utilizan comúnmente en gráficos por computadora, modelado y diseño para cambiar el tamaño de los objetos o ajustar sus proporciones. Al escalar una figura, su área y perímetro cambian de manera predecible: para una escala uniforme por un factor k, el perímetro se multiplica por k y el área por k^2. Sin embargo, la escala no uniforme puede distorsionar la figura, cambiando los ángulos y las longitudes relativas de los lados.

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

¿Cuál de las siguientes afirmaciones sobre las transformaciones de escala es correcta?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 5
some-alt