5 votos

Ampliar (o reducir) una forma

Si quiero ampliar o reducir una forma, ¿qué métodos matemáticos existen para hacerlo?

Me gustaría entender el escalamiento que parece bastante simple. Utilizando mis limitados conocimientos, lo haría midiendo el ángulo y la distancia de cada punto desde un punto de anclaje determinado, y luego volver a trazarlos multiplicando la distancia por un factor de escala.

scale shape

No tengo ni idea de lo óptimo que es este método, ni de cómo expresarlo mediante notación matemática, así que me gustaría saberlo.

También me gustaría mucho entender cómo hacer que una forma se expanda o reduzca alrededor de su interior . Por ejemplo, pensé que sería algo así...

enter image description here

Utilizo un círculo de un radio determinado en cada punto, y en cada punto creo una línea bisectriz, luego construyo la forma más grande o más pequeña utilizando los puntos de intersección de los círculos. Sin embargo, como puedes ver este método tiene numerosos errores, forma B obviamente tiene ángulos que difieren de forma A ¿Cuál es la forma correcta de expandir/encoger una forma de esta manera?

Se agradecen las respuestas en inglés sencillo y en notación matemática, todavía estoy aprendiendo mucha notación.

Actualización

No estoy seguro de que el segundo ejemplo sea lo suficientemente claro, así que he hecho esta imagen para describir lo que estoy buscando.

enter image description here

Utilizando este ejemplo, está claro que el escalado de la proyección no va a producir la forma requerida. ¿cómo se llama este método de dimensionamiento y cómo se hace matemáticamente?

2voto

Shabaz Puntos 403

Puede seguir su enfoque de punto de anclaje (proyección) utilizando un punto en el interior. Eso preservará los ángulos. No está claro cómo has llegado de A a B en el segundo dibujo. Las líneas entre los vértices correspondientes no se encuentran en un punto, por lo que los ángulos cambian.

1voto

joshbaptiste Puntos 131

Entiendo que esta es una pregunta vieja y que ya tiene una respuesta aceptada, pero para cualquiera que aterrice aquí hay ahora una gran librería de código abierto (gratuita para uso comercial) que hará la compensación de polígonos (entre otras cosas) llamada Clipper: http://www.angusj.com/delphi/clipper.php

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X