1 votos

dado un polinomio cómo se puede derivar su representación bezier

Estoy desarrollando una aplicación que renderiza ritmos de ECG que necesitan ser animables en respuesta a la entrada del usuario. Esa parte no es relevante para este sitio3, sin embargo estoy empezando con ritmos dibujados a mano, determinando su representación polinómica y necesito determinar una representación bezier de esos polinomios, que es la razón por la que estoy haciendo la pregunta aquí. (Puedo dibujar los ritmos usando software como adobe illustrator, sin embargo la representación no es predecible y para animarlos la representación bezier tiene que ajustarse a un determinado formato, por lo que illustrator y similares no son una opción, sólo dibujarlos a mano lo es).

Así que la pregunta con la que necesito ayuda es, dada una curva ¿cómo se pueden derivar los puntos de control de su representación bezier? por ejemplo, si quisiera derivar la representación bezier de una parábola:

$$F(x) = x^2, \:\: \{-2 \leq x \geq 2\}$$

con una parametrización como:

$$F(t) = (4t -2)^2, \:\: \{0 \leq t \geq 1\} $$

cuál es el método para obtener los coeficientes de Bézier para $F(t)$ ?

1voto

Peter Taylor Puntos 5221

La ecuación de una curva de Bézier es $$P(t) = \sum_{k=0}^n \binom{n}{k} (1-t)^{n-k} t^k P_k = \sum_{k=0}^n \binom{n}{k} \sum_{j=0}^{n-k} \binom{n-k}{j} (-t)^j t^k P_k $$ Así que si tienes una expresión para $P(t)$ en la forma $$P(t) = \sum_{i=0}^n t^i A_i$$ se pueden equiparar los coeficientes de las potencias de $t$ para obtener ecuaciones lineales simultáneas que puedes resolver para el $P_k$ .


Tu ejemplo es un cuadrático, así que $n = 2$ y $$\begin{eqnarray} P(t) &=& \binom{2}{0}(1-t)^2 t^0 P_0 + \binom{2}{1}(1-t)^1 t^1 P_1 + \binom{2}{2}(1-t)^0 t^2 P_2 \\ &=& (1-2t+t^2) P_0 + (2t-2t^2) P_1 + t^2 P_2 \\ &=& t^2 (P_0 - 2 P_1 + P_2) + t(-2 P_0 + 2 P_1) + P_0 \\ \end{eqnarray}$$ Si equiparamos los coeficientes con la cuadrática general $P(t) = t^2 A_2 + t A_1 + A_0$ obtenemos $$\begin{eqnarray} P_0& & &=& A_0 \\ -2P_0& + 2P_1& &=& A_1 \\ P_0& - 2P_1& + P_2 &=& A_2 \\ \end{eqnarray}$$ que podemos resolver por eliminación gaussiana sin pivotar para obtener $$\begin{eqnarray} P_0 &=& A_0 \\ P_1 &=& A_0 + \tfrac12 A_1 \\ P_2 &=& A_0 + A_1 + A_2 \\ \end{eqnarray}$$

Ahora se puede aplicar por separado en el $x$ - y $y$ -coordenadas: $$\begin{eqnarray} x(t) &=& 4t-2 & \implies & x_0 = -2, & x_1 = 0, & x_2 = 2 \\ y(t) &=& (4t-2)^2 & \implies & y_0 = 4, & y_1 = -4, & y_2 = 4 \\ \end{eqnarray}$$ Así, los puntos de control de Bézier son $(-2, 4), (0, -4), (2, 4)$ .

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