lunes, 14 de octubre de 2019

Curvas

Curvas b-Spline

En el subcampo matemático de análisis numérico, una B-spline o Basis spline (o traducido una línea polinómica suave básica), es una función spline que tiene el mínimo soporte con respecto a un determinado grado, suavidad y partición del dominio. Un teorema fundamental establece que cada función spline de un determinado grado, suavidad y partición del dominio, se puede representar como una combinación lineal de B-splines del mismo grado y suavidad, y sobre la misma partición.​ El término B-spline fue acuñado por Isaac Jacob Schoenberg y es la abreviatura de spline básica. Las B-splines pueden ser evaluadas de una manera numéricamente estable por el algoritmo de Boor. De un modo simplificado, se han creado variantes potencialmente más rápidas que el algoritmo de Boor, pero adolecen comparativamente de una menor estabilidad.
En el subcampo de la informática de diseño asistido por computadora y de gráficos por computadora, el término B-spline se refiere con frecuencia a una curva parametrizada por otras funciones spline, que se expresan como combinaciones lineales de B-splines (en el sentido matemático anterior). Una B-spline es simplemente una generalización de una curva de Bézier, que puede evitar el fenómeno Runge sin necesidad de aumentar el grado de la B-spline

Resultado de imagen para curvas de b-spline


Curvas de Fractales

La palabra “fractal” proviene del latín fractus, que significa “fragmentado”, “fracturado”, o simplemente “roto” o “quebrado”, muy apropiado para objetos cuya dimensión es fraccionaria. El término fue acuñado por Benoît Mandelbrot en 1977 aparecido en su libro The Fractal Geometry of Nature. Al estudio de los objetos fractales se le conoce, generalmente, como geometría fractal.
Un fractal es un conjunto matemático que puede gozar de autosimilitud a cualquier escala, su dimensión no es entera o si es entera no es un entero normal. El hecho que goce de autosimilitud significa que el objeto fractal no depende del observador para ser en sí, es decir, si tomamos algunos tipos de fractales podemos comprobar que al hacer un aumento doble el dibujo es exactamente igual al inicial, si hacemos un aumento 1000 comprobaremos la misma característica, así pues si hacemos un aumento n, el dibujo resulta igual luego las partes se parecen al todo.
Un conjunto u objeto es considerado fractal cuando su tamaño se hace arbitrariamente mayor a medida que la escala del instrumento de medida disminuye.  
Hay muchos objetos ordinarios que, debido a su estructura o comportamiento, son considerados fractales naturales, aunque no los reconozcamos. Las nubes, las montañas, las costas, los árboles y los ríos son fractales naturales aunque finitos ergo no ideales; no así como los fractales matemáticos que gozan de infinidad y son ideales.
Algunas definiciones sencillas extraídas de ensayos y libros acerca del tema:
  • Modelos infinitos comprimidos de alguna manera en un espacio finito
  • Bellísimos y fascinantes diseños de estructura y complejidad infinita.
Resumen de las propiedades de los fractales:
  • Dimensión no entera.
    Como se mostrará en el apartado siguiente la dimensión de un fractal no es un número entero sino un número generalmente irracional.
  • Compleja estructura a cualquier escala.
    Los fractales muestran estructuras muy complejas independientemente de la escala a la cual lo observemos.
  • Infinitud.
    Se consideran infinitos ya que a medida que aumentamos la precisión del instrumento de medición observamos que el fractal aumenta en longitud o perímetro.
  • Autosimilitud en algunos casos.
    Existen fractales plenamente autosimilares de manera que el todo está formado por pequeños fragmentos parecidos al todo.


jueves, 10 de octubre de 2019

proyecto


Curvas de Bézier


Las más importantes curvas que se usan actualmente en el diseño computacional son las curvas de Bézier y los B-Splines. Es gracias al trabajo de dos matemáticos franceses, Bézier y de Casteljau, que se desarrollan aplicaciones para el incipiente diseño computacional de los años 60, bajo el alero de la industria automotriz.
El resultado son herramientas que los diseñadores ocupan regularmente, bajo el nombre genérico de «trazados» o diseño vectorial, cuya matemática opera tras bambalinas con las ideas que estos matemáticos franceses, y otros más, desarrollaron.

Esta entrada participa en el Noveno carnaval de matematicas en español, organizado en el Blog Rescoldos en la trébede.
A fines de los cincuenta Pierre Bézier y Paul de Casteljau se dedicaban esencialmente a los mismos problemas, ambos en la industria automotora (Renault y Citroen, respectivamente), y como ha sucedido en otras ocasiones, llegan esencialmente al mismo tipo de curvas, aunque con recursos matemáticos distintos.

Método «Flat spline«
El problema general surge ante la necesidad trazar curvas con mucha precisión, para lograr distintas piezas que puedan ensamblar correctamente.
Para ello, los diseñadores de la época solían ocupar procedimientos de dibujo, por ejemplo, para trazar una aproximación de una curva que une dos puntos, usando las llamadas reglas francesas, o bien curvaban listones para generar lo que ahora se denomina «spline» (astilla, en inglés).
Pero de tal forma, no siempre se lograba la precisión necesaria; aunque ambos métodos ahora tienen su equivalente computacional, respectivamente, las Curvas de Bézier y las Splines, ambos elementos fundantes del diseño vectorial.
Bézier y de Casteljau

Curva de Bézier en un Cubo
La primera versión de las curvas de Bézier fue en realidad tridimensional, un esquema basado en curvas cuadráticas construidas dentro de un cubo, método que le permitirá describir cualquier curva de grado 2 a partir de sólo cuatro puntos.
El método parte por describir una curva usando usando ecuaciones paramétricas de la forma y = x2. Luego, al transformar el cubo en un paralelepípedo cualquiera, la curva se transformará también. Así, los puntos de control son los vértices de un paralelepípedo imaginario. 
Con el tiempo este esquema se simplificará más, de manera que pueda describir curvas cuadráticas a partir de sólo tres puntos, y como veremos más adelante, curvas de grado n con sólo n+1 puntos.
Unos años antes que Bézier, de Casteljau trabaja en esencialmente la misma idea, pero desde una perspectiva numérica. El ahora conocido como algoritmo de de Casteljau, es un método de aproximación numérica de los llamados polinomios de Bernstein, con los que se construye la ecuación de las curvas de Bézier:

La porción en azul de la ecuación corresponde a un polinomio de Bernstein de grado «n», y el resto corresponde a los puntos de control de la curva de Bézier.

lunes, 30 de septiembre de 2019

Gratificación 2D


TRASLACIÓN

Una traslación es el movimiento en línea recta de un objeto de una posición a otra. Movimiento de una figura, sin rotarla ni voltearla. "Deslizar".
La figura sigue viéndose exactamente igual, solo que en un lugar diferente. Se aplica una transformación en un objeto para cambiar su posición a lo largo de la trayectoria de una línea recta de una dirección de coordenadas a otra. 

  • Se traslada un punto de la posición coordenada (X, Y) a una nueva posición (x’, y’) agregando distancias de traslación, Tx y Ty, a las coordenadas originales: x’ = x + Tx, y’ = y + Ty. 
  • El par de distancia de traslación (Tx, Ty) se denomina también vector de traslación o bien vector de cambio. 
  • Los polígonos se trasladan agregando las distancias de traslación especificadas a las coordenadas de cada punto extremo de la línea en el objeto. 
  • Los objetos trazados con curvas se trasladan cambiando las coordenadas definidoras del objeto. Para cambiar la posición de una circunferencia o elipse, se trasladan las coordenadas centrales y se vuelve a trazar la figura en la nueva localidad. 
  • Las distancias de traslación pueden especificarse como cualquier número real (positivo, negativo o cero). Si un objeto se traslada más allá de los límites del despliegue en coordenadas del dispositivo, el sistema podría retornar un mensaje de error, suprimir partes del objeto que sobrepasan los límites del despliegue o presentar una imagen distorsionada.




ESCALACIÓN

Una transformación para alterar el tamaño de un objeto se denomina escalamiento. Dependiendo del factor de escalamiento el objeto sufrirá un cambio en su tamaño pasando a ser mayor, o menor en su segmento de longitud. Esta es la transformación del objeto especialmente interesante, pues con ella se consigue el efecto Zoom.


La operación de escalado modifica la distancia de los puntos sobre los que se aplica, respecto a un punto de referencia. Para definir esta operación son necesarios dos factores de escala, Sx y Sy, según las direcciones x e y, y un punto o eje de referencia.

  • Cualquier valor numérico positivo puede asignarse a los factores de escalación Sx y Sy. 
  • Los valores menores que 1 reducen el tamaño de los objetos; 
  • Los valores mayores que 1 producen un agrandamiento. 
  • Si se especifica un valor de 1 para Sx y Sy se mantiene inalterado el tamaño de los objetos. 
  • Cuando a Sx y Sy se les asigna el mismo valor, se produce una escalación uniforme, la cual mantiene las propiedades relativas del objeto a escala. 

  • Escalado uniforme: El factor de escala es el mismo en las dos coordenadas, es decir Sx=Sy, y por lo tanto varía el tamaño pero no la forma del objeto.
  • Escalado diferencial: El factor de escala es distinto en cada dirección, es decir Sx es distinto de Sy, y se produce una distorsión en la forma del objeto.



ROTACIÓN

La transformación de puntos de un objeto situados en trayectorias circulares es llama rotación. Este tipo de transformación se especifica con un ángulo de rotación, el cual determina la cantidad de rotación de cada vértice de un polígono. 
Se pueden hacer que los objetos giren alrededor de un punto arbitrario o el punto pivote de la transformación de rotación puede colocarse en cualquier parte en el interior o fuera de la frontera exterior de un objeto, el efecto de la rotación consiste en oscilar el objeto con respecto a este punto interno. 
Para rotar un objeto (en este caso bidimensional), se ha de determinar la cantidad de grados en la que ha de rotarse la figura. Para ello, y sin ningún tipo de variación sobre la figura, la cantidad de ángulo ha de ser constante sobre todos los puntos. 

Los puntos también pueden ser rotados un ángulo θ con respecto al origen


En forma matricial



En la figura se muestra la rotación de la casa 45º, con respecto al origen.

  • Para generar una rotación, se especifica el ángulo de rotación 0, y el punto de rotación (pivote) sobre el cual el objeto será rotado. 
  • Los ángulos de rotación positivos definen una rotación en sentido contrario a las manecillas del reloj sobre el punto pivote (del eje X1 al eje X2), entonces los ángulos de rotación negativos producen una rotación en el sentido de las manecillas (del eje X2 al eje X1). 
  • Las Rotaciones son movimientos directos, es decir, mantienen la forma y el tamaño de las figuras. 
  • El sentido de rotación puede ser positivo (en contra del sentido horario) o negativo (a favor del sentido horario).






SESGADO

El sesgado es un tipo de transformación no rígida, pues existe una deformación del objeto original al aplicar dicha transformación. Existen dos tipos de sesgo: sesgo horizontal y sesgo vertical. 
  • Sesgo horizontal. Las coordenadas adyacentes al eje x permanecen fijas, los valores de y no cambian. 
  • Sesgo vertical. Las coordenadas adyacentes al eje y permanecen fijas, los valores de x no cambian.