5 votos

Más pequeño que encierra la forma de curvas de Bézier

Es bien sabido que una curva Bézier está contenida en el casco convexo de sus puntos de control. Esto es básicamente una consecuencia del hecho de que los polinomios de Bernstein son no negativos y suma a $1$. La propiedad es útil en una variedad de formas, como se explicó en estas respuestas.

Sin embargo, el convex hull es a menudo un poco más grande que el de la curva de sí mismo, y no es una "apretada" de ajuste. Esto conduce a ineficiencias, cuando se utiliza el casco convexo en los cálculos (por ejemplo, la intersección de los cálculos).

Existe alguna otra simple, adjuntando de forma que es un mejor ajuste y es razonablemente fácil de calcular?

Por ejemplo, para una curva cuadrática de Bézier con los puntos de control $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$, el quadilateral con esquinas $\mathbf{P}_0$, $\tfrac12(\mathbf{P}_0 + \mathbf{P}_1)$, $\tfrac12(\mathbf{P}_1 + \mathbf{P}_2)$, $\mathbf{P}_2$ es mucho más estrecha en forma que el triángulo con vértices $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$. De hecho, el cuadrilátero es sólo dos tercios del tamaño del triángulo (medido por la zona).

Para una curva cúbica con los puntos de control $\mathbf{P}_0$, $\mathbf{P}_1$, $\mathbf{P}_2$, $\mathbf{P}_3$, es razonable tratar el cuadrangular con esquinas $\mathbf{P}_0$, $\tfrac14\mathbf{P}_0 + \tfrac34\mathbf{P}_1$, $\tfrac34\mathbf{P}_2 + \tfrac14\mathbf{P}_3$, $\mathbf{P}_3$. Esto funciona casi, pero no del todo -- la curva se arrastra un poco fuera del cuadrilátero.

Edit:quiero un adjuntando de forma que es un único polígono convexo. Obviamente, usted puede obtener arbitrariamente un apretado delimitador forma por la subdivisión de la curva y la construcción de delimitación de las formas de las piezas individuales (como en Yves Daoust la respuesta de abajo). Pero eso no es lo que quiero.

1voto

JiminyCricket Puntos 143

Tales cuadros delimitadores pueden ser obtenidos a partir de la iterativo de construcción de curvas de Bézier de curvas de Bézier de orden inferior.

En el cuadrática caso, la construcción muestra que el cuadrilátero $\mathbf P_0$, $\lambda\mathbf P_0+(1-\lambda)\mathbf P_1$, $\lambda\mathbf P_1+(1-\lambda)\mathbf P_2$, $\mathbf P_2$ los límites de la curva; tanto el triángulo (para $\lambda=0$ o $\lambda=1$) y su cuadrilátero ($\lambda=1/2$) son casos especiales de este.

En el cúbicos caso, las cosas son más complicadas ya que la curva puede cruzar la línea de $\mathbf P_0$$\mathbf P_3$. En ese caso, la delimitación de la forma necesita para cuidar de ambos lados de la línea. En uno o ambos lados de la línea, podemos usar los puntos de la construcción iterativa para acotar la curva: $\mathbf P_0$, $\lambda\mathbf P_0+(1-\lambda)\mathbf P_1$, $\lambda(\lambda\mathbf P_0+(1-\lambda)\mathbf P_1)+(1-\lambda)(\lambda\mathbf P_1+(1-\lambda)\mathbf P_2)$, $\lambda(\lambda\mathbf P_1+(1-\lambda)\mathbf P_2)+(1-\lambda)(\lambda\mathbf P_2+(1-\lambda)\mathbf P_3)$, $\lambda\mathbf P_2+(1-\lambda)\mathbf P_3$, $\mathbf P_3$. En el simétrica caso, con $\lambda=1/2$, esto se convierte en $\mathbf P_0$, $\frac12\left(\mathbf P_0+\mathbf P_1\right)$, $\frac14\left(\mathbf P_0+2\mathbf P_1+\mathbf P_2\right)$, $\frac14\left(\mathbf P_1+2\mathbf P_2+\mathbf P_3\right)$, $\frac12\left(\mathbf P_2+\mathbf P_3\right)$, $\mathbf P_3$.

1voto

bubba Puntos 16773

He encontrado la respuesta, cuadráticas y cúbicas curvas, al menos: "Polinomio bases para cuadrática y cúbica de polinomios que el rendimiento de los puntos de control con los pequeños cascos convexos", por Gary Herron, Asistido por Computadora, Diseño Geométrico, Vol. 6, Nº 1 (1989), páginas 1-9.

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