Representación matricial

En realidad, podemos representar la fórmula de Bézier utilizando la multiplicación matricial, que podría ser útil en otros contextos, por ejemplo para dividir la curva de Bézier. Si volvemos a nuestro ejemplo podemos reescribir P(t) como sigue:

eq. 6

Y así toda la información sobre la curva cuadrática de Bézier se compacta en una matriz, M. Ahora, podríamos querer encontrar los coeficientes de esa matriz sin tener que hacer todos estos pasos, y de una manera que sea fácilmente programable. Como los coeficientes de la matriz son simplemente los coeficientes del polinomio delante de cada Pi, lo que buscamos es la forma expandida del polinomio de Bernstein eq. 2.

Una cosa más: si expandimos Bi(t) obtendremos el polinomio delante de Pi, que corresponde a la columna i(th) de la matriz. Sin embargo, eso no es realmente conveniente y sería más fácil de programar si pudiéramos obtener las filas en su lugar. Dicho esto, puede observar que la fila i(th) de la matriz es exactamente la misma que la columna (n-i)(th) invertida, y los coeficientes de la columna (n-i)(th) invertida no son más que los coeficientes de B(n-i)(t) tomados en potencias decrecientes de t.

eq. 7

Puede que quieras consultar eq. 2 y eq. 3 si tienes algún problema.

Por tanto, los coeficientes de la matriz no son más que los coeficientes delante de t, es decir:

eq. 8

Interpolación

Una aplicación interesante de las curvas de Bézier es dibujar una curva suave que pase por un conjunto predefinido de puntos. La razón por la que es interesante es porque la fórmula de P(t) produce puntos y no es de la forma y=f(x), por lo que una x puede tener múltiples y’s (básicamente una función que puede «ir hacia atrás»). Por ejemplo podríamos dibujar algo así:

Sin embargo, las matemáticas para producir este resultado no son triviales así que he escrito un post dedicado a esto:

admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

lg