Recientemente he estado mirando las curvas de Bézier y tratando de entender cómo funcionan. Sé que en general una curva de Bézier es dada por la ecuación
$$ \vec{\mathbf{B}}(t) = \sum_{k=0}^n{b_{k,\ n}(t)\vec{\mathbf{P}}}_k $$ donde $b_{k,\ n}(t)$ son Bernstein Base de polinomios $$ b_{k,\ n}(t) = {n \elegir k}t^k(1 - t)^{n-k}. $$ En un nivel intuitivo entiendo por qué este constructor crea una curva suave. Básicamente, lo que sucede es que como $t$ rangos de$0$$1$, va más de la maxima de los polinomios de Bernstein. Esto hace que los diferentes puntos en la suma a recibir a diferentes valores de peso, y al $t = k/n$, el punto con mayor peso es $\vec{\mathbf{P}}_k$, por lo que la curva tiende hacia ese punto. Esto es lo que hace que las curvas de Bézier a ser tan suave.
Ahora, pensé, podría utilizar esta comprensión intuitiva de una curva de Bézier para la construcción de otros tipos de curvas de Bezier? La cosa principal que tenía en mente era hacer una "Curva" que pasa a través de todos los puntos de control. Para ello, en lugar de utilizar Bernstein base de polinomios, he creado mi propia polinomios: $$ P_{r\ n}(t) = \begin{cases} (-1)^n\left(\frac{2}{r}\right)^{2n}t^n(t - r)^n, & 0 < x < r \\ 0, & \text{otherwise} \end{casos} $$ Estos polinomios tienen la propiedad de que han maxima en $r/2$ igual a $1$, tiene una doble raíz en$0$$r$, y se $C^\infty$ continuo. Pensé que si se define una curva de Bézier como $$ \vec{\mathbf{B}}(t) = \sum_{k=0}^n{P_{r\ n}\left(t + \frac{k-1}{n}\right)\vec{\mathbf{P}}_k} $$ con $r = \frac{2}{n-1}$, entonces la curva sin problemas interpolar entre cada uno de los puntos. El resultado fue menos que satisfactorio.
Que "curva" se formó con los puntos $P_0 = \{0,\ 0\}$, $P_1 = \{1,\ 3\}$, $P_2 = \{3,\ 2\}$, $P_3 = \{4,\ 5\}$, y $P_4 = \{5,\ 0\}$.
Bueno, a lo mejor el de Bernstein base de los polinomios de la forma de una curva suave, porque no son 0 en todas partes otro que el intervalo de $(0, r)$. Así que he editado los polinomios: $$ P_{r\ n}(x) = \begin{cases} (-1)^n\left(\frac{2}{r}\right)^{2n}x^n(x-r)^n, & x \in [0, r] \\ (-1)^n\left(\frac{2}{r}\right)^{2n}2^{-\left|\left\lfloor\frac{x}{r}\right\rfloor\right|}\left(x-2r\left\lfloor\frac{2x}{r}\right\rfloor\right)^n\left(x - 2r\left\lfloor\frac{2x}{r}\right\rfloor-\frac{r}{2}\right)^n, & \text{otherwise} \end{casos} $$
La siguiente imagen ilustra $P_{\frac12,\ 4}(x)$ en el intervalo de $[0, 1]$ (observe que el eje x es escalado por $1000$).
Lo que hace la curva parecen ahora?
Uff. Creo que no fue la solución.
La última cosa que quería probar era la escala Bernstein base de polinomios por lo que su máximo fue en $y=1$.
$b_{v,\ n}(t)$ máximo local en $x = \frac{v}{n}$, $y = {n\choose v}\left(\frac{v}{n}\right)^v(1-\frac{v}{n})^{n-v}$. Así que si queremos aumentar la escala de la Bernstein base de polinomios, sólo tenemos que escala por la inversa de a $y$. Definir $$ \vec{\mathbf{B}}(t) = \sum_{k=0}^n{C_{k,\ n}b_{k,\ n}(t)\vec{\mathbf{P}}_k} $$ con $$ C_{k,\ n} = \begin{cases} 1, & \text{if %#%#%}\\ \left[{n\choose k}\left(\frac{k}{n}\right)\right]^{-n}(1-\frac{k}{n})^{k-n}, & \text{otherwise} \end{casos} $$
Lo que hace de nuestra curva parecen ahora?
Lo que en la tierra? Eso no es ni de cerca!
Así que, es mi primera intuición equivocada o incompleta? ¿Qué Bernstein base de polinomios que hace que la curva de Bezier para ser tan suave?
Como un apéndice, ¿por qué no alguno de mis curvas (excepto la última) continua, incluso a pesar de que la base de los polinomios de se $k = 0$ continua?
EDIT: ahora que lo pienso, la segunda curva he creado esto me recuerda a algún tipo de Kochanek-Bartels spline variante con extraños $C^\infty$, $t$, y $b$ parámetros. Hice accidentalmente tropieza a través de uno?